# AMX Mod X API Reference

Generated: 2026-04-27T02:20:44+00:00
Format: Pawn include files parsed into HTML, JSON and Markdown surfaces.

## Machine Access

- Compact guide: https://amxx-api.csrevo.com/llms.txt
- Search JSON: https://amxx-api.csrevo.com/search.json?q=register_plugin
- Structured JSON: https://amxx-api.csrevo.com/api.json

## amxconst.inc

- HTML: https://amxx-api.csrevo.com/amxconst
- Group: Base includes
- Functions: 0
- Documented constants: 56

### Constants

#### MAX_STRING_LENGTH

Internal AMXX buffer size for string retrieval.

```pawn
#define MAX_STRING_LENGTH 16384
```

##### Note

This is the buffer size AMX Mod X uses internally to retrieve strings
from plugins. Most natives that take strings as arguments will
implicitly truncate them to this maximum length. This has been raised
to the current value with AMXX 1.8.3. Previously the limit was 3072.

##### Note

This is here mainly for documentation purposes. By default plugins
don't have enough memory available to allocate an array of this size.
You probably should not use this to actually declare a buffer unless
you *absolutely* have to. Look at #pragma dynamic to increase a plugins
available memory.

#### MAX_MAPNAME_LENGTH

The maximum buffer size required to store a map's name.

```pawn
#define MAX_MAPNAME_LENGTH 64
```

#### MAX_PLAYERS

Defines and constants related to the maximum number of clients.

```pawn
#define MAX_PLAYERS 32 /* Maximum number of players AMX Mod X supports */
```

##### Note

MAX_PLAYERS is not the same as MaxClients. MAX_PLAYERS is a hardcoded
value as an upper limit, used mainly to declare arrays big enough for
all possible server situations. MaxClients changes based on the
server the plugin is deployed on..

#### MaxClients

Maximum number of players the server supports

```pawn
public stock const MaxClients;
```

#### MapName

Current map name

```pawn
public stock const MapName[MAX_MAPNAME_LENGTH];
```

#### NULL_STRING

Pass this into certain functions to act as a C++ NULL

```pawn
public stock const NULL_STRING[1];
```

#### NULL_VECTOR

Pass this into certain functions to act as a C++ NULL

```pawn
public stock const Float:NULL_VECTOR[3];
```

#### MAX_NAME_LENGTH

The maximum buffer size required to store a client's name.

```pawn
#define MAX_NAME_LENGTH 32
```

#### MAX_IP_LENGTH

The maximum buffer size required to store a client's IP address without a port.

```pawn
#define MAX_IP_LENGTH 16
```

#### MAX_IP_WITH_PORT_LENGTH

The maximum buffer size required to store a client's IP address with a port.

```pawn
#define MAX_IP_WITH_PORT_LENGTH 22
```

#### MAX_AUTHID_LENGTH

The maximum buffer size required to store a client's AuthID.

```pawn
#define MAX_AUTHID_LENGTH 64
```

#### MAX_RESOURCE_PATH_LENGTH

The maximum buffer size required to store a resource path.

```pawn
#define MAX_RESOURCE_PATH_LENGTH 64
```

#### MAX_MOTD_LENGTH

The maximum buffer size that can be displayed in a MOTD.

```pawn
#define MAX_MOTD_LENGTH 1536
```

#### MAX_USER_INFO_LENGTH

The maximum size accepted by the user info buffer.

```pawn
#define MAX_USER_INFO_LENGTH 256
```

#### MAX_MENU_LENGTH

The maximum buffer size that can be displayed in a menu.

```pawn
#define MAX_MENU_LENGTH 512
```

#### M_PI

π

```pawn
#define M_PI 3.1415926535
```

#### Admin privilege and authentication constants

Admin privilege and authentication constants

#### ADMIN_ALL

Admin level constants

```pawn
#define ADMIN_ALL           0       /* everyone */
#define ADMIN_IMMUNITY      (1<<0)  /* flag "a" */
#define ADMIN_RESERVATION   (1<<1)  /* flag "b" */
#define ADMIN_KICK          (1<<2)  /* flag "c" */
#define ADMIN_BAN           (1<<3)  /* flag "d" */
#define ADMIN_SLAY          (1<<4)  /* flag "e" */
#define ADMIN_MAP           (1<<5)  /* flag "f" */
#define ADMIN_CVAR          (1<<6)  /* flag "g" */
#define ADMIN_CFG           (1<<7)  /* flag "h" */
#define ADMIN_CHAT          (1<<8)  /* flag "i" */
#define ADMIN_VOTE          (1<<9)  /* flag "j" */
#define ADMIN_PASSWORD      (1<<10) /* flag "k" */
#define ADMIN_RCON          (1<<11) /* flag "l" */
#define ADMIN_LEVEL_A       (1<<12) /* flag "m" */
#define ADMIN_LEVEL_B       (1<<13) /* flag "n" */
#define ADMIN_LEVEL_C       (1<<14) /* flag "o" */
#define ADMIN_LEVEL_D       (1<<15) /* flag "p" */
#define ADMIN_LEVEL_E       (1<<16) /* flag "q" */
#define ADMIN_LEVEL_F       (1<<17) /* flag "r" */
#define ADMIN_LEVEL_G       (1<<18) /* flag "s" */
#define ADMIN_LEVEL_H       (1<<19) /* flag "t" */
#define ADMIN_MENU          (1<<20) /* flag "u" */
#define ADMIN_BAN_TEMP      (1<<21) /* flag "v" */
#define ADMIN_ADMIN         (1<<24) /* flag "y" */
#define ADMIN_USER          (1<<25) /* flag "z" */
```

#### FLAG_KICK

Admin authentication behavior flags

```pawn
#define FLAG_KICK           (1<<0)  /* flag "a" */
#define FLAG_TAG            (1<<1)  /* flag "b" */
#define FLAG_AUTHID         (1<<2)  /* flag "c" */
#define FLAG_IP             (1<<3)  /* flag "d" */
#define FLAG_NOPASS         (1<<4)  /* flag "e" */
#define FLAG_CASE_SENSITIVE (1<<10) /* flag "k" */
```

#### PLUGIN_CONTINUE

Return codes

```pawn
#define PLUGIN_CONTINUE     0   /* Results returned by public functions */
#define PLUGIN_HANDLED      1   /* stop other plugins */
#define PLUGIN_HANDLED_MAIN 2   /* to use in client_command(), continue all plugins but stop the command */
```

#### HIW_BERETTA

HI weapon constants

```pawn
#define HIW_BERETTA     1
#define HIW_SPAS12      2
#define HIW_M4A1        3
#define HIW_MP5A4       4
#define HIW_MP5SD5      5
#define HIW_AK47        6
#define HIW_AKS74U      7
#define HIW_GLOCK       8
#define HIW_M11         9
#define HIW_M11SD       10
#define HIW_PSG1        11
#define HIW_ZASTAVA     12
#define HIW_M16A2       13
#define HIW_REMINGTON   14
#define HIW_NATOGREN    15
#define HIW_TANGOGREN   16
#define HIW_FLASHBANG   17
```

#### HIT_GENERIC

Parts of body for hits

```pawn
#define HIT_GENERIC     0   /* none */
#define HIT_HEAD        1
#define HIT_CHEST       2
#define HIT_STOMACH     3
#define HIT_LEFTARM     4
#define HIT_RIGHTARM    5
#define HIT_LEFTLEG     6
#define HIT_RIGHTLEG    7
#define HIT_SHIELD      8 // CS only
#define MAX_BODYHITS    8
```

#### emit_sound() constants

emit_sound() constants

#### CHAN_AUTO

Channels

```pawn
#define CHAN_AUTO       0
#define CHAN_WEAPON     1
#define CHAN_VOICE      2
#define CHAN_ITEM       3
#define CHAN_BODY       4
#define CHAN_STREAM     5   /* allocate stream channel from the static or dynamic area */
#define CHAN_STATIC     6   /* allocate channel from the static area  */
#define CHAN_NETWORKVOICE_BASE  7   /* voice data coming across the network */
#define CHAN_NETWORKVOICE_END   500 /* network voice data reserves slots (CHAN_NETWORKVOICE_BASE through CHAN_NETWORKVOICE_END). */
```

#### ATTN_NONE

Attenuation values

```pawn
#define ATTN_NONE       0.00
#define ATTN_NORM       0.80
#define ATTN_IDLE       2.00
#define ATTN_STATIC     1.25
```

#### PITCH_NORM

Pitch values

```pawn
#define PITCH_NORM      100 /* non-pitch shifted */
#define PITCH_LOW       95  /* other values are possible - 0-255, where 255 is very high */
#define PITCH_HIGH      120
```

#### VOL_NORM

Volume values

```pawn
#define VOL_NORM        1.0
```

#### SND_SPAWNING

Sound behavior constants

```pawn
#define SND_SPAWNING        (1<<8)      // we're spawing, used in some cases for ambients
#define SND_STOP            (1<<5)      // stop sound
#define SND_CHANGE_VOL      (1<<6)      // change sound vol
#define SND_CHANGE_PITCH    (1<<7)      // change sound pitch
```

#### MENU_KEY_1

Menu keys

```pawn
#define MENU_KEY_1      (1<<0)
#define MENU_KEY_2      (1<<1)
#define MENU_KEY_3      (1<<2)
#define MENU_KEY_4      (1<<3)
#define MENU_KEY_5      (1<<4)
#define MENU_KEY_6      (1<<5)
#define MENU_KEY_7      (1<<6)
#define MENU_KEY_8      (1<<7)
#define MENU_KEY_9      (1<<8)
#define MENU_KEY_0      (1<<9)
```

#### LANG_SERVER

Language constants

```pawn
#define LANG_SERVER     0
#define LANG_PLAYER     -1
```

#### Client print native constants

Client print native constants

#### Destination types for client_print()

Destination types for client_print()

```pawn
enum
{
	print_notify = 1,
	print_console,
	print_chat,
	print_center,
	print_radio     /* Counter-Strike only */
};
```

#### Color types for client_print_color()

Color types for client_print_color()

```pawn
enum
{
	print_team_default = 0,
	print_team_grey = -1,
	print_team_red = -2,
	print_team_blue = -3,
};
```

#### Destination types for engclient_print()

Destination types for engclient_print()

```pawn
enum
{
	engprint_console = 0,
	engprint_center,
	engprint_chat,
};
```

#### Entity rendering constants

Entity rendering constants

#### Rendering modes (i.e. for set_user_rendering())

Rendering modes (i.e. for set_user_rendering())

```pawn
enum
{
	kRenderNormal = 0,      /* src */
	kRenderTransColor,      /* c*a+dest*(1-a) */
	kRenderTransTexture,    /* src*a+dest*(1-a) */
	kRenderGlow,            /* src*a+dest -- No Z buffer checks */
	kRenderTransAlpha,      /* src*srca+dest*(1-srca) */
	kRenderTransAdd,        /* src*a+dest */
};
```

#### Rendering fx (i.e. for set_user_rendering())

Rendering fx (i.e. for set_user_rendering())

```pawn
enum
{
	kRenderFxNone = 0,
	kRenderFxPulseSlow,
	kRenderFxPulseFast,
	kRenderFxPulseSlowWide,
	kRenderFxPulseFastWide,
	kRenderFxFadeSlow,
	kRenderFxFadeFast,
	kRenderFxSolidSlow,
	kRenderFxSolidFast,
	kRenderFxStrobeSlow,
	kRenderFxStrobeFast,
	kRenderFxStrobeFaster,
	kRenderFxFlickerSlow,
	kRenderFxFlickerFast,
	kRenderFxNoDissipation,
	kRenderFxDistort,           /* Distort/scale/translate flicker */
	kRenderFxHologram,          /* kRenderFxDistort + distance fade */
	kRenderFxDeadPlayer,        /* kRenderAmt is the player index */
	kRenderFxExplode,           /* Scale up really big! */
	kRenderFxGlowShell,         /* Glowing Shell */
	kRenderFxClampMinScale,     /* Keep this sprite from getting very small (SPRITES only!) */
	kRenderFxLightMultiplier,   /* CTM !!!CZERO added to tell the studiorender that the value in iuser2 is a lightmultiplier */
};
```

#### Type for force_unmodified()

Type for force_unmodified()

```pawn
enum
{
	force_exactfile = 0,        /* File on client must exactly match server's file */
	force_model_samebounds,     /* For model files only, the geometry must fit in the same bbox */
	force_model_specifybounds,  /* For model files only, the geometry must fit in the specified bbox */
};
```

#### Status for get_module()

Status for get_module()

```pawn
enum
{
	module_none = 0,
	module_query,
	module_badload,
	module_loaded,
	module_noinfo,
	module_noquery,
	module_noattach,
	module_old,
};
```

#### AMX_FLAG_DEBUG

AMX flag constants

```pawn
#define AMX_FLAG_DEBUG      0x02    /* symbolic info. available */
#define AMX_FLAG_COMPACT    0x04    /* compact encoding */
#define AMX_FLAG_BYTEOPC    0x08    /* opcode is a byte (not a cell) */
#define AMX_FLAG_NOCHECKS   0x10    /* no array bounds checking; no STMT opcode */
#define AMX_FLAG_NTVREG     0x1000  /* all native functions are registered */
#define AMX_FLAG_JITC       0x2000  /* abstract machine is JIT compiled */
#define AMX_FLAG_BROWSE     0x4000  /* busy browsing */
#define AMX_FLAG_RELOC      0x8000  /* jump/call addresses relocated */
```

#### INVALID_PLUGIN_ID

Invalid plugin id

```pawn
#define INVALID_PLUGIN_ID   -1
```

#### MENU_TIMEOUT

Menu and menu item status codes

```pawn
#define MENU_TIMEOUT    -4
#define MENU_EXIT       -3
#define MENU_BACK       -2
#define MENU_MORE       -1
#define ITEM_IGNORE     0
#define ITEM_ENABLED    1
#define ITEM_DISABLED   2
```

#### AMX_ERR_NATIVE

AMX error codes

```pawn
#define AMX_ERR_NATIVE      10
#define AMX_ERR_MEMACCESS   5
#define AMX_ERR_NONE        0
#define AMX_ERR_BOUNDS      4
#define AMX_ERR_STACKERR    3
#define AMX_ERR_STACKLOW    7
#define AMX_ERR_HEAPLOW     8
#define AMX_ERR_DIVIDE      11
#define AMX_ERR_NOTFOUND    19
#define AMX_ERR_PARAMS      25
#define AMX_ERR_GENERAL     27
```

#### INVALID_HANDLE

Generic invalid handle value

```pawn
#define INVALID_HANDLE      -1
```

#### Plugin forward related constants

Plugin forward related constants

#### ET_IGNORE

Stop types for plugin forwards

```pawn
#define ET_IGNORE       0   //ignore return val
#define ET_STOP         1   //stop on PLUGIN_HANDLED
#define ET_STOP2        2   //same, except return biggest
#define ET_CONTINUE     3   //no stop, return biggest
```

#### FP_CELL

Parameter types for plugin forwards

```pawn
#define FP_CELL         0
#define FP_FLOAT        1
#define FP_STRING       2
#define FP_ARRAY        4
#define FP_VAL_BYREF    5   //cell & float are handled in the same way
```

#### LibType

LibType constants

```pawn
enum LibType
{
	LibType_Library,
	LibType_Class
};
```

#### AdminProp

AdminProp constants

```pawn
enum AdminProp
{
	AdminProp_Auth = 0,
	AdminProp_Password,
	AdminProp_Access,
	AdminProp_Flags
};
```

#### HashType

HashType constants
To be used on hash_file() and hash_string()

```pawn
enum HashType
{
	Hash_Crc32 = 0,  // Provides CRC32 hashing
	Hash_Md5,        // Provides MD5 hashing
	Hash_Sha1,       // Provides SHA1 hashing
	Hash_Sha256,     // Provides SHA256 hashing

	Hash_Sha3_224,   // Provides SHA3 224 bit hashing
	Hash_Sha3_256,   // Provides SHA3 256 bit hashing
	Hash_Sha3_384,   // Provides SHA3 384 bit hashing
	Hash_Sha3_512,   // Provides SHA3 512 bit hashing

	Hash_Keccak_224, // Provides Keccak 224 bit hashing
	Hash_Keccak_256, // Provides Keccak 256 bit hashing
	Hash_Keccak_384, // Provides Keccak 384 bit hashing
	Hash_Keccak_512  // Provides Keccak 512 bit hashing
};
```

#### SetTaskFlags

SetTaskFlags constants for set_task_ex()

```pawn
enum SetTaskFlags (<<= 1)
{
	SetTask_Once = 0,          // None; execute callback after the specified amount of time (Default)
	SetTask_RepeatTimes = 1,   // Repeat timer a set amount of times
	SetTask_Repeat,            // Loop indefinitely until timer is stopped
	SetTask_AfterMapStart,     // Time interval is treated as absolute time after map start
	SetTask_BeforeMapChange    // Time interval is treated as absolute time before map change
};
```

#### RegisterEventFlags

RegisterEventFlags constants for register_event_ex()

```pawn
enum RegisterEventFlags (<<= 1)
{
	RegisterEvent_None = 0,        // None
	RegisterEvent_Global = 1,      // Global event (sent to every client)
	RegisterEvent_Single,          // Event sent to single client
	RegisterEvent_OnceForMultiple, // Call only once when repeated to multiple clients
	RegisterEvent_OnlyDead,        // Call only if sent to dead client
	RegisterEvent_OnlyAlive,       // Call only if sent to alive client
	RegisterEvent_OnlyHuman,       // Call only if sent to human client (RegisterEvent_Single required)
	RegisterEvent_OnlyBots         // Call only if sent to bot (RegisterEvent_Single required)
};
```

#### GetPlayersFlags

GetPlayerFlags constants for get_players_ex()

```pawn
enum GetPlayersFlags (<<= 1)
{
	GetPlayers_None = 0,           // No filter (Default)
	GetPlayers_ExcludeDead = 1,    // Do not include dead clients
	GetPlayers_ExcludeAlive,       // Do not include alive clients
	GetPlayers_ExcludeBots,        // Do not include bots
	GetPlayers_ExcludeHuman,       // Do not include human clients
	GetPlayers_MatchTeam,          // Match with team
	GetPlayers_MatchNameSubstring, // Match with part of name
	GetPlayers_CaseInsensitive,    // Match case insensitive
	GetPlayers_ExcludeHLTV,        // Do not include HLTV proxies
	GetPlayers_IncludeConnecting   // Include connecting clients
};
```

#### FindPlayerFlags

FindPlayerFlags constants for find_player_ex()

```pawn
enum FindPlayerFlags (<<= 1)
{
	FindPlayer_None = 0,           // None
	FindPlayer_MatchName = 1,      // Match with name
	FindPlayer_MatchNameSubstring, // Match with name substring
	FindPlayer_MatchAuthId,        // Match with authid
	FindPlayer_MatchIP,            // Match with ip
	FindPlayer_MatchTeam,          // Match with team name
	FindPlayer_ExcludeDead,        // Do not include dead clients
	FindPlayer_ExcludeAlive,       // Do not include alive clients
	FindPlayer_ExcludeBots,        // Do not include bots
	FindPlayer_ExcludeHuman,       // Do not include human clients
	FindPlayer_LastMatched,        // Return last matched client instead of the first
	FindPlayer_MatchUserId,        // Match with userid
	FindPlayer_CaseInsensitive,    // Match case insensitively
	FindPlayer_IncludeConnecting   // Include connecting clients
}
```

#### Constants for client statistics

Constants for client statistics

```pawn
enum
{
	STATSX_KILLS = 0,
	STATSX_DEATHS,
	STATSX_HEADSHOTS,
	STATSX_TEAMKILLS,
	STATSX_SHOTS,
	STATSX_HITS,
	STATSX_DAMAGE,
	STATSX_RANK,
	STATSX_MAX_STATS
}
```

#### Constants for get_user_origin()

Constants for get_user_origin()

```pawn
enum
{
	Origin_Client = 0,      // Client's Origin
	Origin_Eyes,            // Eyes (and Weapon) Origin
	Origin_AimEndClient,    // Aim End Origin from Client's Position
	Origin_AimEndEyes,      // Aim End Origin from Eyes Position
	Origin_CS_LastBullet    // Last Bullet's Origin (Counter-Strike)
}
```

## amxmisc.inc

- HTML: https://amxx-api.csrevo.com/amxmisc
- Group: Base includes
- Functions: 25
- Documented constants: 2

### Constants

#### CMDTARGET_OBEY_IMMUNITY

cmd_target flags

```pawn
#define CMDTARGET_OBEY_IMMUNITY (1<<0) // Obey immunity
#define CMDTARGET_ALLOW_SELF    (1<<1) // Allow self targeting
#define CMDTARGET_ONLY_ALIVE    (1<<2) // Target must be alive
#define CMDTARGET_NO_BOTS       (1<<3) // Target can't be a bot
```

#### Alias to get_configsdir provided for backwards compatibility. Originally intended to retrieve the AMXX custom directory.

Alias to get_configsdir provided for backwards compatibility. Originally
intended to retrieve the AMXX custom directory.

```pawn
#pragma deprecated The concept of a custom directory no longer exists in AMXX. Do not use.
```

##### Deprecated

Should not be used as the concept of a custom directory does no
longer exists in AMXX.

##### Return

Number of cells written to buffer

### Functions

#### AddClientMenuItem

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/AddClientMenuItem
- Line: 671

##### Syntax

```pawn
stock AddClientMenuItem(const MENU_TEXT[], const MENU_CMD[], const MENU_ACCESS, const MENU_PLUGIN[])
```

##### Description

Adds a menu item/command to the client menu (amx_menu) handled by the
"Menus Front-End" plugin, if it is loaded. Items should be accessible by
non-admins.

##### Parameters

- `MENU_TEXT`: Item text that will be displayed in the menu
- `MENU_CMD`: Command that will be executed on the client
- `MENU_ACCESS`: Admin access required for menu command
- `MENU_PLUGIN`: Case-insensitive name or filename of plugin providing
the menu command

##### Return

This function has no return value.

#### AddMenuItem

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/AddMenuItem
- Line: 653

##### Syntax

```pawn
stock AddMenuItem(const MENU_TEXT[], const MENU_CMD[], const MENU_ACCESS, const MENU_PLUGIN[])
```

##### Description

Adds a menu item/command to the admin menu (amxmodmenu) handled by the
"Menus Front-End" plugin, if it is loaded.

##### Parameters

- `MENU_TEXT`: Item text that will be displayed in the menu
- `MENU_CMD`: Command that will be executed on the client
- `MENU_ACCESS`: Admin access required for menu command
- `MENU_PLUGIN`: Case-insensitive name or filename of plugin providing
the menu command

##### Return

This function has no return value.

#### AddMenuItem_call

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/AddMenuItem_call
- Line: 689

##### Syntax

```pawn
stock AddMenuItem_call(const MENU_TEXT[], const MENU_CMD[], const MENU_ACCESS, const MENU_PLUGIN[], const bool:ADD_TO_CLIENT_MENU)
```

##### Description

Helper function used by AddMenuItem() and AddClientMenuItem()

##### Parameters

- `MENU_TEXT`: Item text that will be displayed in the menu
- `MENU_CMD`: Command that will be executed on the client
- `MENU_ACCESS`: Admin access required for menu command
- `MENU_PLUGIN`: Case-insensitive name or filename of plugin
providing the menu command
- `ADD_TO_CLIENT_MENU`: If true adds command to client menu, false adds
to admin menu

##### Return

This function has no return value.

#### access

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/access
- Line: 104

##### Syntax

```pawn
stock access(id, level)
```

##### Description

Returns if the client has the specified admin flags.

##### Parameters

- `id`: Client index
- `level`: Required admin flags

##### Return

1 if client has the admin flags, 0 otherwise

#### cmd_access

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/cmd_access
- Line: 48

##### Syntax

```pawn
stock cmd_access(id, level, cid, num, bool:accesssilent = false)
```

##### Description

Returns if the user can execute the current command by checking the necessary
admin flags and parameter count. Displays a denied access message to the user
if missing privileges or a usage example if too few parameters are provided.

##### Parameters

- `id`: Client index
- `level`: Required admin flags
- `cid`: Command id
- `num`: Required number of parameters
- `acesssilent`: If true no denied access message will be printed

##### Note

This should be used inside of a command forward as it uses read_argc()
to check the parameter count.

##### Return

1 if access granted and parameters provided, 0 otherwise

#### cmd_target

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/cmd_target
- Line: 148

##### Syntax

```pawn
stock cmd_target(id, const arg[], flags = CMDTARGET_OBEY_IMMUNITY)
```

##### Description

Processes a generic target pattern and tries to match it to a client based
on filtering flags. If no unique target is found an appropriate message is
displayed to the admin.

##### Parameters

- `id`: Client index of admin performing an action
- `arg`: Target pattern
- `flags`: Filtering flags, see CMDTARGET_* constants above

##### Note

The pattern is first matched case insensitively against client names.
If no match is found it is matched against client authids. If still no
match is found and the pattern starts with '#' it is finally matched
against client userids.

##### Note

Since client names are matched by substring the pattern can potentially
match multiple targets. In that case the function will return 0 and ask
the admin to provide a unique pattern.

##### Note

The filtering flags are applied after the pattern matching has
finished. That means the pattern has to be unique against all clients
on the server even if some of them are not eligible.

##### Return

Client index, or 0 if no or multiple clients matched

#### colored_menus

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/colored_menus
- Line: 508

##### Syntax

```pawn
stock colored_menus()
```

##### Description

Returns if the mod running on the server supports colored menus.

##### Note

The full list of mods supporting colored menus:
Counter-Strike, Counter-Strike: Condition Zero, Deathmatch Classic,
Day of Defeat, Team Fortress Classic and Half-Life: Deathmatch.

##### Note

Since this is a stock and compiled into the plugin, the list of
supported mods will not update and require recompilation of the plugin
if the list ever changed.

##### Return

1 if colored menus are supported, 0 otherwise

#### constraint_offset

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/constraint_offset
- Line: 755

##### Syntax

```pawn
stock constraint_offset(low, high, seed, offset)
```

##### Description

Computes an offset from a given value while constraining it between the
specified bounds, rolling over if necessary.

##### Parameters

- `low`: Lower bound
- `high`: Higher bound
- `seed`: Base value
- `offset`: Offset to move

##### Note

Example: The range is 1-5 and the base value (seed) is 3, the offset
that the value should be moved by is also 3. Offsetting the value by 3
would result in 6, but it is to be constrained between 1 and 5. With
clamp() this would result in 5, but this function rolls the value over
and returns 1 instead.

##### Return

Computed offset value between specified bounds

#### cstrike_running

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/cstrike_running
- Line: 541

##### Syntax

```pawn
stock cstrike_running()
```

##### Description

Returns if the mod running on the server is a version of Counter-Strike.

##### Return

1 if mod is Counter-Strike, 0 otherwise

#### get_basedir

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/get_basedir
- Line: 572

##### Syntax

```pawn
stock get_basedir(name[], len)
```

##### Description

Retrieves the path to the AMXX base directory.

##### Parameters

- `name`: Buffer to copy path to
- `len`: Maximum buffer size

##### Return

Number of cells written to buffer

#### get_configsdir

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/get_configsdir
- Line: 585

##### Syntax

```pawn
stock get_configsdir(name[], len)
```

##### Description

Retrieves the path to the AMXX configs directory.

##### Parameters

- `name`: Buffer to copy path to
- `len`: Maximum buffer size

##### Return

Number of cells written to buffer

#### get_customdir

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/get_customdir
- Line: 636

##### Syntax

```pawn
stock get_customdir(name[], len)
```

##### Description

This function has no description.

#### get_datadir

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/get_datadir
- Line: 598

##### Syntax

```pawn
stock get_datadir(name[], len)
```

##### Description

Retrieves the path to the AMXX data directory.

##### Parameters

- `name`: Buffer to copy path to
- `len`: Maximum buffer size

##### Return

Number of cells written to buffer

#### get_players_ex

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/get_players_ex
- Line: 869

##### Syntax

```pawn
stock get_players_ex(players[MAX_PLAYERS] = {}, &num, GetPlayersFlags:flags = GetPlayers_None, const team[] = "")
```

##### Description

Stores a filtered list of client indexes to an array.

##### Parameters

- `players`: Array to store indexes to
- `num`: Variable to store number of indexes to
- `flags`: Optional filtering flags (enum GetPlayersFlags); valid flags are:
GetPlayers_None - No filter (Default)
GetPlayers_ExcludeDead - do not include dead clients
GetPlayers_ExcludeAlive - do not include alive clients
GetPlayers_ExcludeBots - do not include bots
GetPlayers_ExcludeHuman - do not include human clients
GetPlayers_MatchTeam - match with team
GetPlayers_MatchNameSubstring - match with part of name
GetPlayers_CaseInsensitive - match case insensitive
GetPlayers_ExcludeHLTV - do not include HLTV proxies
GetPlayers_IncludeConnecting - include connecting clients
- `team`: String to match against if the "e" or "f" flag is specified

##### Note

Example retrieving all alive CTs:
get_players_ex(players, num, GetPlayers_ExcludeDead | GetPlayers_MatchTeam, "CT")

##### Return

This function has no return value.

#### get_playersnum_ex

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/get_playersnum_ex
- Line: 897

##### Syntax

```pawn
stock get_playersnum_ex(GetPlayersFlags:flags = GetPlayers_None, const team[] = "")
```

##### Description

Returns the number of clients on the server that match the specified flags.

##### Parameters

- `flags`: Optional filtering flags (enum GetPlayersFlags); valid flags are:
GetPlayers_None - No filter (Default)
GetPlayers_ExcludeDead - do not include dead clients
GetPlayers_ExcludeAlive - do not include alive clients
GetPlayers_ExcludeBots - do not include bots
GetPlayers_ExcludeHuman - do not include human clients
GetPlayers_MatchTeam - match with team
GetPlayers_MatchNameSubstring - match with part of name
GetPlayers_CaseInsensitive - match case insensitive
GetPlayers_ExcludeHLTV - do not include HLTV proxies
GetPlayers_IncludeConnecting - include connecting clients
- `team`: String to match against if the GetPlayers_MatchTeam or GetPlayers_MatchNameSubstring flag is specified

##### Note

Example retrieving all alive CTs:
new AliveCt = get_playersnum_ex(GetPlayers_ExcludeDead | GetPlayers_MatchTeam, "CT")

##### Return

Number of clients on the server that match the specified flags

#### has_all_flags

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/has_all_flags
- Line: 789

##### Syntax

```pawn
stock has_all_flags(id, const flags[])
```

##### Description

Returns if the client has all of the specified admin flags.

##### Parameters

- `id`: Client index
- `flags`: Flag string

##### Return

1 if the user has all of the specified flags, 0 otherwise

#### has_flag

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/has_flag
- Line: 776

##### Syntax

```pawn
stock has_flag(id, const flags[])
```

##### Description

Returns if the client has any of the specified admin flags.

##### Parameters

- `id`: Client index
- `flags`: Flag string

##### Return

1 if the user has any of the specified flags, 0 otherwise

#### is_running

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/is_running
- Line: 556

##### Syntax

```pawn
stock is_running(const mod[])
```

##### Description

Returns if the server is running a specific mod.

##### Parameters

- `mod`: Mod name to check for

##### Return

1 if mod name matches, 0 otherwise

#### is_user_admin

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/is_user_admin
- Line: 26

##### Syntax

```pawn
stock is_user_admin(id)
```

##### Description

Returns if the client has any admin flags set

##### Parameters

- `id`: Client index

##### Return

1 if client has any admin flags, 0 otherwise

#### register_menu

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/register_menu
- Line: 618

##### Syntax

```pawn
stock register_menu(const title[], keys, const function[], outside = 0)
```

##### Description

Provides a shorthand to register a working menu.

##### Parameters

- `title`: Menu name
- `keys`: Key flags
- `function`: Callback function
- `outside`: Catch menus outside the calling plugin

##### Note

Combines the necessary calls to register_menuid() and
register_menucmd() into a single function.

##### Return

This function has no return value.

##### Error

If an invalid callback function is specified, an error will
be thrown.

#### reset_menu

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/reset_menu
- Line: 804

##### Syntax

```pawn
stock reset_menu(index)
```

##### Description

Resets the client's menu.

##### Parameters

- `index`: Client to reset menu of, 0 to reset all clients

##### Note

This is a wrapper around show_menu() for the sake of readability.

##### Return

This function has no return value.

#### set_task_ex

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/set_task_ex
- Line: 839

##### Syntax

```pawn
stock set_task_ex(Float:time, const function[], id = 0, const any:parameter[] = "", len = 0, SetTaskFlags:flags = SetTask_Once, repeat = 0)
```

##### Description

Calls a function after a specified time has elapsed.

##### Parameters

- `time`: Time interval to assign
- `function`: Function to execute
- `id`: Task id to assign
- `parameter`: Data to pass through to callback
- `len`: Size of data
- `flags`: Optional flags (enum SetTaskFlags); valid flags are:
SetTask_Once - Execute callback once (Default)
SetTask_RepeatTimes - repeat timer a set amount of times
SetTask_Repeat - loop indefinitely until timer is stopped
SetTask_AfterMapStart - time interval is treated as absolute
time after map start
SetTask_BeforeMapChange - time interval is treated as absolute
time before map change
- `repeat`: If the SetTask_RepeatTimes flag is set, the task will be repeated this
many times

##### Note

The function is called in the following manner if data is passed:
data[]          - Data passed
id              - Task index

##### Note

The function is called in the following manner if no data is passed:
id              - Task index

##### Return

This function has no return value.

##### Error

If an invalid callback function is provided, an error is
thrown.

#### show_activity

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/show_activity
- Line: 213

##### Syntax

```pawn
stock show_activity(id, const name[], const fmt[], any:...)
```

##### Description

Standard method to show admin activity to clients connected to the server.
This depends on the amx_show_activity cvar. See documentation for more details.

##### Parameters

- `id`: Client index performing the action
- `name`: Name of client performing the action
- `fmt`: Formatting rules
- `...`: Variable number of formatting parameters

##### Return

This function has no return value.

#### show_activity_id

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/show_activity_id
- Line: 307

##### Syntax

```pawn
stock show_activity_id(idtarget, idadmin, const name[], const fmt[], any:...)
```

##### Description

Standard method to show admin activity to a single client.
This depends on the amx_show_activity cvar. See documentation for more details.

##### Parameters

- `idtarget`: Client index to display message to
- `id`: Client index performing the action
- `name`: Name of client performing the action
- `fmt`: Formatting rules
- `...`: Variable number of formatting parameters

##### Return

This function has no return value.

#### show_activity_key

- Include: `amxmisc.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmisc/function/show_activity_key
- Line: 391

##### Syntax

```pawn
stock show_activity_key(const KeyWithoutName[], const KeyWithName[], const ___AdminName[], any:...)
```

##### Description

Standard method to show activity to one single client with normal language keys.
These keys need to be in the format of standard AMXX keys:
  eg: ADMIN_KICK_1 = ADMIN: kick %s
      ADMIN_KICK_2 = ADMIN %s: kick %s
This depends on the amx_show_activity cvar.  See documentation for more details.

##### Parameters

- `KeyWithoutName`: The language key that does not have the name field.
- `KeyWithName`: The language key that does have the name field.
- `__AdminName`: The name of the person doing the action.
- `...`: Pass any extra format arguments for the language key in the variable arguments list.

##### Return

This function has no return value.

## amxmodx.inc

- HTML: https://amxx-api.csrevo.com/amxmodx
- Group: Base includes
- Functions: 229
- Documented constants: 6

### Constants

#### Untitled constant

Untitled constant

```pawn
#pragma deprecated Use client_disconnected() instead.
```

##### Deprecated

This function does not catch all cases.

#### Calculates the MD5 keysum of a string.

Calculates the MD5 keysum of a string.

```pawn
#pragma deprecated Use hash_string() function. Also, see Hash_* constants.
```

##### Return

Number of cells written to the buffer (always 32)

#### Calculates the MD5 keysum of a file.

Calculates the MD5 keysum of a file.

```pawn
#pragma deprecated Use hash_file() function. Also, see Hash_* constants.
```

##### Return

Number of cells written to the buffer (always 32)

##### Error

If the file can not be opened, and error is thrown.

#### Allows plugins to declare module dependencies using require_module()

Allows plugins to declare module dependencies using require_module()

```pawn
#pragma deprecated Module dependency is now automatically handled by the compiler. This forward is no longer called.
```

##### Deprecated

Module dependency has been automatically handled by the compiler
since AMXX 1.50, released in 2005. This forward is no longer
called.

##### Return

This function has no return value.

#### Adds a module dependency.

Adds a module dependency.

```pawn
#pragma deprecated Module dependency is now automatically handled by the compiler. This native has no effect.
```

##### Deprecated

Module dependency has been automatically handled by the compiler
since AMXX 1.50, released in 2005. This native has no effect.

##### Return

This function has no return value.

#### Returns if the server is 64 bit.

Returns if the server is 64 bit.

```pawn
#pragma deprecated AMXX is not shipping 64bits builds anymore. This native is basically guaranteed to return 0.
```

##### Deprecated

As a result of Valve dropping support for 64bit binaries, AMXX is
also not shipping 64bit builds anymore. This native is basically
guaranteed to return 0.

##### Return

1 if the server is 64 bit, 0 otherwise

### Functions

#### OnAutoConfigsBuffered

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/OnAutoConfigsBuffered
- Line: 3413

##### Syntax

```pawn
forward OnAutoConfigsBuffered();
```

##### Description

Called when the map has loaded, right after plugin_cfg() but any time
before OnConfigsExecuted.  It's called after amxx.cfg and  all
AutoExecConfig() exec commands have been added to the server command buffer.

##### Note

This will always be called once and only once per map.

##### Return

This function has no return value.

#### OnConfigsExecuted

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/OnConfigsExecuted
- Line: 3402

##### Syntax

```pawn
forward OnConfigsExecuted();
```

##### Description

Called when the map has loaded, and all configs are done executing.
This includes servercfgfile (server.cfg), amxx.cfg, plugin's config, and
per-map config.

##### Note

This is best place to initialize plugin functions which are based on cvar data.

##### Note

This will always be called once and only once per map.  It will be
called few seconds after plugin_cfg().

##### Return

This function has no return value.

#### client_authorized

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_authorized
- Line: 173

##### Syntax

```pawn
forward client_authorized(id, const authid[]);
```

##### Description

Called when the client gets a valid SteamID.

##### Parameters

- `id`: Client index
- `authid`: Client auth

##### Note

This may occur before or after client_putinserver has been called.

##### Note

This is called for bots, and the SteamID will be "BOT".

##### Return

This function has no return value.

#### client_command

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_command
- Line: 225

##### Syntax

```pawn
forward client_command(id);
```

##### Description

Called when a client attempts to execute a command.

##### Parameters

- `id`: Client index

##### Note

The command and its arguments can be read using the read_arg* set of
functions.

##### Return

PLUGIN_CONTINUE to let the client execute the command
PLUGIN_HANDLED or higher to stop the command

#### client_connect

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_connect
- Line: 144

##### Syntax

```pawn
forward client_connect(id);
```

##### Description

Called when a client is connecting.

##### Parameters

- `id`: Client index

##### Note

This forward is called too early to do anything that directly affects
the client.

##### Return

This function has no return value.

#### client_connectex

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_connectex
- Line: 160

##### Syntax

```pawn
forward client_connectex(id, const name[], const ip[], reason[128]);
```

##### Description

Called when a client is connecting.

##### Parameters

- `id`: Client index
- `name`: Client name
- `ip`: Client ip address with port
- `reason`: A reason that will be displayed when player gets rejected (can be overwritten)

##### Note

This forward is called too early to do anything that directly affects
the client.

##### Return

PLUGIN_CONTINUE to let a client join to the server
PLUGIN_HANDLED or higher to prevent a client to join

#### client_disconnect

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_disconnect
- Line: 179

##### Syntax

```pawn
forward client_disconnect(id);
```

##### Description

This function has no description.

#### client_disconnected

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_disconnected
- Line: 197

##### Syntax

```pawn
forward client_disconnected(id, bool:drop, message[], maxlen);
```

##### Description

Called when a client is disconnected from the server.

##### Parameters

- `id`: Client index
- `drop`: If true, the game has explicitly dropped the client
- `message`: If drop is true, a writable buffer containing the disconnect info message
- `maxlen`: Maximum size of buffer

##### Note

This will be called in some additional cases that client_disconnect doesn't cover,
most notably when a client aborts the connection process. It is guaranteed to pair
with the client_connect() forward.

##### Note

When this fires the player entity is still valid (e.g. is_user_connected(id) will
return true), but no networked commands will reach the client.

##### Return

This function has no return value.

#### client_infochanged

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_infochanged
- Line: 132

##### Syntax

```pawn
forward client_infochanged(id);
```

##### Description

Called when a clients info has changed.

##### Parameters

- `id`: Client index

##### Return

This function has no return value.

#### client_putinserver

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_putinserver
- Line: 238

##### Syntax

```pawn
forward client_putinserver(id);
```

##### Description

Called when a client is entering the game.

##### Parameters

- `id`: Client index

##### Note

It is not defined whether the client already has a SteamID when this
forward is called. client_authorized may occur either before or after
this.

##### Return

This function has no return value.

#### client_remove

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_remove
- Line: 211

##### Syntax

```pawn
forward client_remove(id, bool:drop, const message[]);
```

##### Description

Called when a client entity has been removed from the server.

##### Parameters

- `id`: Client index
- `drop`: If true, the game has explicitly dropped the client
- `message`: If drop is true, contains the disconnect info message

##### Note

This fires after the client_disconnected() forward, when the player entity has been
removed (e.g. is_user_connected(id) will return false).

##### Return

This function has no return value.

#### inconsistent_file

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/inconsistent_file
- Line: 2556

##### Syntax

```pawn
forward inconsistent_file(id, const filename[], reason[64]);
```

##### Description

Called when an inconsistent file is encountered by the engine.

##### Parameters

- `id`: Client index
- `filename`: Detected file
- `reason`: Buffer storing the disconnect reason (can be overwritten)

##### Return

PLUGIN_CONTINUE to let the engine kick the client
PLUGIN_HANDLED to block the inconsistency kick

#### plugin_cfg

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_cfg
- Line: 86

##### Syntax

```pawn
forward plugin_cfg();
```

##### Description

Called when all plugins went through plugin_init()

##### Note

When this forward is called, most plugins should have registered their
cvars and commands already.

##### Return

This function has no return value.

#### plugin_end

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_end
- Line: 98

##### Syntax

```pawn
forward plugin_end();
```

##### Description

Called just before server deactivation and subsequent unloading of the
plugin.

##### Note

The plugin is required to manually free Handles it has acquired, such
as those from dynamic data structures. Failing to do that will result
in the plugin and AMXX leaking memory.

##### Return

This function has no return value.

#### plugin_init

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_init
- Line: 44

##### Syntax

```pawn
forward plugin_init();
```

##### Description

Called just after server activation.

##### Note

Good place to initialize most of the plugin, such as registering
cvars, commands or forwards, creating data structures for later use, or
generating and loading other required configurations.

##### Return

This function has no return value.

#### plugin_log

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_log
- Line: 109

##### Syntax

```pawn
forward plugin_log();
```

##### Description

Called when a message is about to be logged.

##### Note

Message data and information can be retrieved using the read_log* set
of functions.

##### Return

PLUGIN_CONTINUE to let the log message through
PLUGIN_HANDLED or higher to stop the log message

#### plugin_modules

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_modules
- Line: 2643

##### Syntax

```pawn
forward plugin_modules();
```

##### Description

This function has no description.

#### plugin_natives

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_natives
- Line: 2684

##### Syntax

```pawn
forward plugin_natives();
```

##### Description

Called before plugin_init(), allows the plugin to register natives.

##### Return

This function has no return value.

#### plugin_pause

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_pause
- Line: 51

##### Syntax

```pawn
forward plugin_pause();
```

##### Description

Called just before the plugin is paused from execution.

##### Return

This function has no return value.

#### plugin_precache

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_precache
- Line: 123

##### Syntax

```pawn
forward plugin_precache();
```

##### Description

This forward allows plugins to add models, sounds and generic files to the
precache tables using the precache_* set of functions.

##### Note

Adding files to the precaching tables will trigger the client to
download them to its local filesystem.

##### Note

There is a hard upper limit of entries in the precaching tables for
every game, this limit is 512 in most cases. The entries will be filled
and indexed incrementally. Going over this limit will crash the server.

##### Return

This function has no return value.

#### plugin_unpause

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_unpause
- Line: 58

##### Syntax

```pawn
forward plugin_unpause();
```

##### Description

Called just after the plugin is unpaused.

##### Return

This function has no return value.

#### server_changelevel

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/server_changelevel
- Line: 76

##### Syntax

```pawn
forward server_changelevel(map[]);
```

##### Description

Called when the mod tries to change the map.

##### Parameters

- `map`: Map that the mod tries to change to

##### Note

This is *only* called if the mod itself handles the map change. The
server command "changelevel", which is used by many plugins, will not
trigger this forward. Unfortunately, this means that in practice this
forward can be unreliable and will not be called in many situations.

##### Note

AMXX 1.8.3 has added the engine_changelevel() function, which will utilize
the correct engine function to change the map, and therefore trigger
this forward.

##### Return

PLUGIN_CONTINUE to let the mod change the map
PLUGIN_HANDLED or higher to prevent the map change

#### AutoExecConfig

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/AutoExecConfig
- Line: 3431

##### Syntax

```pawn
native AutoExecConfig(bool:autoCreate = true, const name[] = "", const folder[] = "");
```

##### Description

Specifies that the given config file should be executed after plugin load.

##### Parameters

- `autoCreate`: If true, and the config file does not exist, such a config
file will be automatically created and populated with
information from the plugin's registered cvars.
- `name`: Name of the config file, excluding the .cfg extension.
If empty, <plugin.filename.cfg> is assumed.
- `folder`: Folder under plugins/ to use.

##### Note

OnConfigsExecuted() will not be called until the config file has executed,
but it will be called if the execution fails.

##### Note

The name parameter should not contain dots, otherwise file will not be executed.

##### Return

This function has no return value.

#### ClearSyncHud

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/ClearSyncHud
- Line: 3167

##### Syntax

```pawn
native ClearSyncHud(target, syncObj);
```

##### Description

Clears the display on a HUD sync object.

##### Parameters

- `target`: Client index, use 0 to display to all clients
- `syncObj`: HUD sync object handle

##### Note

This sends an empty message to the previously occupied HUD channel.
It is not quite the same as manually sending an empty message to the
sync object as that would send out two separate messages, one for
clearing the occupied channel and another using a new channel, which
will subsequently not mark the sync object as cleared.

##### Return

This function has no return value.

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### CreateHudSyncObj

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/CreateHudSyncObj
- Line: 3122

##### Syntax

```pawn
native CreateHudSyncObj(num = 0, ...);
```

##### Description

Creates a HUD synchronization object.

##### Parameters

- `num`: Unused and ignored
- `...`: Unused and ignored

##### Note

Create one of these for each section of the screen that contains
overlapping HUD messages. For example, if using both sides of the
screen to display three messages that could potentially overlap,
each side is considered a synchronizable area. You can then use
ShowSyncHudMsg() to correctly synchronize displaying the HUD message
with any other messages potentially in its class.

##### Note

This does not do anything like reserving screen area. Its sole
purpose is to be able to wipe an old message on an auto-channel and
ensure that it will not clear a message from another plugin.

##### Return

HUD sync object handle

#### CreateMultiForward

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/CreateMultiForward
- Line: 3251

##### Syntax

```pawn
native CreateMultiForward(const name[], stop_type, ...);
```

##### Description

Creates a global forward that will be called in all plugins.

##### Parameters

- `name`: Function name to call
- `stop_type`: Treatment of the plugin return values
- `...`: List of parameter types

##### Note

For a list of valid stop types, see the ET_* constants in amxconst.inc

##### Note

For a list of valid parameter types, see the FP_* constants in
amxconst.inc

##### Return

Forward handle, -1 on failure

#### CreateOneForward

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/CreateOneForward
- Line: 3268

##### Syntax

```pawn
native CreateOneForward(plugin_id, const name[], ...);
```

##### Description

Creates a private forward that will be called in a single plugin.

##### Parameters

- `plugin_id`: Plugin to call forward in. The plugin id can be
retrieved using find_plugin_byfile()
- `name`: Function name to call
- `...`: List of parameter types

##### Note

Unlike other natives expecting a plugin id, specifying -1 will not
select the calling plugin, and instead throw an error.

##### Return

Forward handle, -1 on failure

##### Error

If an invalid plugin id is specified, an error will be
thrown.

#### DestroyForward

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/DestroyForward
- Line: 3308

##### Syntax

```pawn
native DestroyForward(forward_handle);
```

##### Description

Destroys and deallocates a forward.

##### Parameters

- `forward_handle`: Forward handle

##### Note

Does not distinguish between private and global forwards.

##### Return

This function has no return value.

#### ExecuteForward

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/ExecuteForward
- Line: 3297

##### Syntax

```pawn
native ExecuteForward(forward_handle, &ret = 0, any:...);
```

##### Description

Executes a forward.

##### Parameters

- `forward_handle`: Forward handle
- `ret`: Optional variable to store return value in
- `...`: Variable number of parameters to pass through

##### Note

Passing arrays requires them to be prepared using PrepareArray()

##### Return

1 on success, 0 if forward can't be executed

##### Error

If the number of parameters mismatch from the number
of parameters that the forward was declared with,
an error is thrown.

#### LibraryExists

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/LibraryExists
- Line: 3088

##### Syntax

```pawn
native LibraryExists(const library[], LibType:type);
```

##### Description

Returns if a specific library or class is loaded.

##### Parameters

- `library`: Library/Class shortname
- `type`: Type to search for

##### Note

This is the newer version of module_exists(), enabling users to
distinguish between libraries and classes, while module_exists() always
checks for both types.

##### Note

For a list of possible types, see the LibType enum in amxconst.inc

##### Return

1 if module is loaded, 0 otherwise

#### PrepareArray

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/PrepareArray
- Line: 3281

##### Syntax

```pawn
native PrepareArray(const array[], size, copyback = 0);
```

##### Description

Prepares an array for use in a forward. Pass the result ExecuteForward()
instead of the array itself.

##### Parameters

- `array`: Array to prepare
- `size`: Size of array
- `copyback`: If nonzero, modifications made by the called plugin(s)
will be copied back to the caller

##### Return

Special handle for use in ExecuteForward()

#### RequestFrame

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/RequestFrame
- Line: 3444

##### Syntax

```pawn
native RequestFrame(const callback[], any:data = 0);
```

##### Description

Creates a single use hook for the next frame.

##### Parameters

- `callback`: Function to be executed on the next frame.
- `data`: Optional data to be passed to the callback function.

##### Note

Callback function prototype:
public function(data)

##### Return

This function has no return value.

#### ShowSyncHudMsg

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/ShowSyncHudMsg
- Line: 3149

##### Syntax

```pawn
native ShowSyncHudMsg(target, syncObj, const fmt[], any:...);
```

##### Description

Displays a synchronized HUD message.

##### Parameters

- `target`: Client index, use 0 to display to all clients
- `syncObj`: HUD sync object handle
- `fmt`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

This will check that the HUD object has its previous display on the
screen cleared before it proceeds to write another message. It will
only do this in the case of that channel not having been cleared
already.

##### Note

This uses the display parameters set with set_hudmessage(), ignoring
the selected channel in favor of its own synchronization.

##### Note

This functions return value behaves differently depending on what is
used as the client index: If 0 is specified, then the function will
return 0 if nothing has been sent (no client connected). If either a
single client is specified, or there is at least one client connected,
the number of printed characters will refer to the message that is sent
last, to the client with the highest index.

##### Return

Number of printed characters

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### abort

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/abort
- Line: 3060

##### Syntax

```pawn
native abort(error, const fmt[] = "", any:...);
```

##### Description

Aborts execution of the current callback by throwing an error.

##### Parameters

- `error`: Error code
- `fmt`: Formatting rules
- `...`: Variable list of formatting parameters

##### Note

Warning: This function should not be used inside error filters, module
filters (native filters are safe if trap equals 1) or the
plugin_natives() forward.

##### Note

The message will automatically be tagged with the plugin's name and the
log will include a timestamp with the message.

##### Note

For a list of possible error codes, see AMX_* constants in amxconst.inc

##### Return

This function has no return value.

##### Error

The function is guaranteed to throw an error, using the
specified custom log message.

#### admins_flush

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/admins_flush
- Line: 3379

##### Syntax

```pawn
native admins_flush();
```

##### Description

Clears the list of dynamically stored admins.

##### Return

This function has no return value.

#### admins_lookup

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/admins_lookup
- Line: 3372

##### Syntax

```pawn
native admins_lookup(num, AdminProp:Property, Buffer[] = "", BufferSize = 0);
```

##### Description

Retrieves information about a dynamically stored admin.

##### Parameters

- `num`: Admin storage index
- `Property`: Admin property to retrieve
- `Buffer`: Buffer to copy property information to, if AdminProp_Auth
or AdminProp_Password is specified
- `BufferSize`: Maximum buffer size

##### Note

For a list of possible props, see the AdminProp enum in amxconst.inc

##### Return

Property value if AdminProp_Access or AdminProp_Flags
is requested, 0 otherwise

##### Error

If an invalid storage index is specified, an error will
be thrown.

#### admins_num

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/admins_num
- Line: 3354

##### Syntax

```pawn
native admins_num();
```

##### Description

Returns the number of admins in the dynamic admin storage.

##### Return

Number of admins

#### admins_push

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/admins_push
- Line: 3347

##### Syntax

```pawn
native admins_push(const AuthData[], const Password[], Access, Flags);
```

##### Description

Adds an admin to the dynamic admin storage for lookup at a later time.

##### Parameters

- `AuthData`: Auth information to set (can be name, IP or SteamID)
- `Password`: Password to set
- `Access`: Admin access flags
- `Flags`: Auth behavior flags

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Note

For a list of possible auth flags, see the FLAG_* constants in
amxconst.inc

##### Return

This function has no return value.

#### amxclient_cmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/amxclient_cmd
- Line: 1629

##### Syntax

```pawn
native amxclient_cmd(index, const command[], const arg1[] = "", const arg2[] = "");
```

##### Description

Execute a command from the client without actually sending it to the client's
DLL. This triggers plugin command hooks.

##### Parameters

- `index`: Client index, use 0 to execute from all clients
- `command`: Client command to execute on
- `arg1`: Optional command arguments
- `arg2`: Optional command arguments

##### Note

This emulates a client command on the server side, and is an excellent
tool to force a client to do certain actions related to the game.

##### Note

The command has to stand alone in the command parameter, only add
arguments using the designated parameters.

##### Note

Commands emulated using this function will trigger other plugin's
command hooks. For an alternative that doesn't, see engclient_cmd()

##### Return

This function has no return value.

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### arrayset

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/arrayset
- Line: 3319

##### Syntax

```pawn
native arrayset(any:array[], any:value, size);
```

##### Description

Sets all elements of array to a specified value.

##### Parameters

- `array`: Array to modify
- `value`: Value to set each element to
- `size`: Size of array

##### Return

This function has no return value.

#### callfunc_begin

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/callfunc_begin
- Line: 2419

##### Syntax

```pawn
native callfunc_begin(const func[], const plugin[] = "");
```

##### Description

Initiates a function call to this or another plugin by function name.

##### Parameters

- `func`: Function name
- `plugin`: Plugin filename, if empty the calling plugin is targeted
The filename has to be the full exact name (e.g. stats.amxx)

##### Note

This only sets up the function call and covers the pre-requisites.
Push parameters using the callfunc_push_* set of functions. The call
will be executed only upon using callfunc_end()

##### Return

1 on success
0 on runtime error
-1 if plugin was not found
-2 if function was not found

##### Error

If called while another callfunc has not yet been finished,
an error is thrown.

#### callfunc_begin_i

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/callfunc_begin_i
- Line: 2439

##### Syntax

```pawn
native callfunc_begin_i(func, plugin = -1);
```

##### Description

Initiates a function call to this or another plugin by function id.

##### Parameters

- `func`: Function id
- `plugin`: Plugin filename, if empty the calling plugin is targeted
The filename has to be the full exact name (e.g. stats.amxx)

##### Note

This only sets up the function call and covers the pre-requisites.
Push parameters using the callfunc_push_* set of functions. The call
will be executed only upon using callfunc_end()

##### Note

The function id can be retrieved by get_func_id()

##### Return

1 on success
-1 if plugin was not found
-2 if function is not executable

##### Error

If called while another callfunc has not yet been finished,
or the specified function is invalid, an error is thrown.

#### callfunc_end

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/callfunc_end
- Line: 2544

##### Syntax

```pawn
native callfunc_end();
```

##### Description

Completes the call to a function.

##### Return

1 on success
-1 if the plugin was not found
-2 if the function was not found

##### Error

If called without initiating a callfunc, an error is thrown.

#### callfunc_push_array

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/callfunc_push_array
- Line: 2534

##### Syntax

```pawn
native callfunc_push_array(const VALUE[], array_size, bool:copyback = true);
```

##### Description

Pushes an array onto the current call.

##### Parameters

- `VALUE`: Array to push
- `array_size`: Size of the array
- `copyback`: If true, any changes made in the called function will be
copied back to the calling plugin

##### Note

This will defy the "const" specifier if copyback is true, which is
only kept for special backwards compatibility.

##### Return

This function has no return value.

##### Error

If called without initiating a callfunc, or the maximum
amount of parameters is reached, an error is thrown.

#### callfunc_push_float

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/callfunc_push_float
- Line: 2473

##### Syntax

```pawn
native callfunc_push_float(Float: value);
```

##### Description

Pushes a float value onto the current call.

##### Parameters

- `value`: Float value to push

##### Return

This function has no return value.

##### Error

If called without initiating a callfunc, or the maximum
amount of parameters is reached, an error is thrown.

#### callfunc_push_floatrf

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/callfunc_push_floatrf
- Line: 2501

##### Syntax

```pawn
native callfunc_push_floatrf(&Float:value);
```

##### Description

Pushes a float value reference onto the current call.

##### Parameters

- `value`: Float value to push

##### Note

Changes made to this value by the called function will be reflected
in the calling plugin.

##### Return

This function has no return value.

##### Error

If called without initiating a callfunc, or the maximum
amount of parameters is reached, an error is thrown.

#### callfunc_push_int

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/callfunc_push_int
- Line: 2462

##### Syntax

```pawn
native callfunc_push_int(value);
```

##### Description

Pushes an int value onto the current call.

##### Parameters

- `value`: Int value to push

##### Return

This function has no return value.

##### Error

If called without initiating a callfunc, or the maximum
amount of parameters is reached, an error is thrown.

#### callfunc_push_intrf

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/callfunc_push_intrf
- Line: 2487

##### Syntax

```pawn
native callfunc_push_intrf(&value);
```

##### Description

Pushes an int value reference onto the current call.

##### Parameters

- `value`: Int value to push

##### Note

Changes made to this value by the called function will be reflected
in the calling plugin.

##### Return

This function has no return value.

##### Error

If called without initiating a callfunc, or the maximum
amount of parameters is reached, an error is thrown.

#### callfunc_push_str

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/callfunc_push_str
- Line: 2517

##### Syntax

```pawn
native callfunc_push_str(const VALUE[], bool:copyback = true);
```

##### Description

Pushes a string onto the current call.

##### Parameters

- `VALUE`: String to push
- `copyback`: If true, any changes made in the called function will be
copied back to the calling plugin

##### Note

This will defy the "const" specifier if copyback is true, which is
only kept for special backwards compatibility.

##### Return

This function has no return value.

##### Error

If called without initiating a callfunc, or the maximum
amount of parameters is reached, an error is thrown.

#### change_task

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/change_task
- Line: 1814

##### Syntax

```pawn
native change_task(id = 0, Float:newTime = 1.0, outside = 0);
```

##### Description

Modifies the time interval of all tasks with the specified id.

##### Parameters

- `id`: Task id to search for
- `newTime`: New time interval to set
- `outside`: Will affect tasks set by other plugins if nonzero

##### Return

Number of affected tasks

#### client_cmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_cmd
- Line: 1585

##### Syntax

```pawn
native client_cmd(index, const command[], any:...);
```

##### Description

Executes a command on the client.

##### Parameters

- `index`: Client index, use 0 to execute on all clients
- `command`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

Executing malicious commands on the client ("slowhacking") is frowned
upon.

##### Note

Valve has introduced a command filter to Counter-Strike 1.6. It is not
possible to execute many commands if the client has opted in to this.

##### Return

Length of formatted command string

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### client_print

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_print
- Line: 413

##### Syntax

```pawn
native client_print(index, type, const message[], any:...);
```

##### Description

Sends a message to the client.

##### Parameters

- `index`: Client index, use 0 to display to all clients
- `type`: Message type, see print_* destination constants in
amxconst.inc
- `message`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

This functions return value behaves differently depending on what is
used as the client index: If 0 is specified, then the function will
return 0 if nothing has been sent (no client connected). If either a
single client is specified or there is at least one client connected,
the number of printed characters will refer to the message that is sent
last, to the client with the highest index.

##### Return

Number of printed characters

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### client_print_color

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/client_print_color
- Line: 451

##### Syntax

```pawn
native client_print_color(index, sender, const message[], any:...);
```

##### Description

Sends colored chat messages to clients.

##### Parameters

- `index`: Client index, use 0 to display to all clients
- `sender`: Client index used as the message sender
- `fmt`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

This only works in Counter-Strike 1.6 and Condition Zero.

##### Note

The colors can be modified inside of the format string using special
characters. These characters can be included using the escape character
green           x04   ; use location color from this point forward
red/blue/grey   x03   ; use team color from this point forward
red/blue/grey   x02   ; use team color to the end of the client name
; This only works at the start of the string,
; and precludes using other control characters
default         x01   ; use default color from this point forward

##### Note

The team color is defined by the sender's index. Alternatively, a
specific team color can be enforced using the print_team_* constants in
amxconst.inc

##### Note

Usage examples:
client_print_color(id, print_team_red, "^4Green ^3Red ^1Default")
client_print_color(id, id2, "^4Green ^3id2's team color, ^1Default")

##### Note

Including colors in ML can be done using the same escaping method:
EXAMPLE_ML_KEY = ^4Green ^3Team color ^1Default

##### Note

This functions return value behaves differently depending on what is
used as the client index: If 0 is specified, then the function will
return 0 if nothing has been sent (no client connected). If either a
single client is specified, or there is at least one client connected,
the number of printed characters will refer to the message that is sent
last, to the client with the highest index.

##### Return

Number of printed characters

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### console_cmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/console_cmd
- Line: 497

##### Syntax

```pawn
native console_cmd(id, const cmd[], any:...);
```

##### Description

Executes a command from the specified client or the server console.

##### Parameters

- `id`: Client index, or 0 to execute from the server console
- `cmd`: Formatting rules
- `...`: Variable number of formatting parameters

##### Return

Length of the formatted command

#### console_print

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/console_print
- Line: 486

##### Syntax

```pawn
native console_print(id, const message[], any:...);
```

##### Description

Sends a message to the console of a client or the server.

##### Parameters

- `index`: Client index, or 0 to print to the server console
- `message`: Formatting rules
- `...`: Variable number of formatting parameters

##### Return

Number of printed characters

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### dbg_fmt_error

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/dbg_fmt_error
- Line: 2978

##### Syntax

```pawn
native dbg_fmt_error(buffer[], maxLength);
```

##### Description

Retrieves the formatted error string from a trace.

##### Parameters

- `buffer`: Buffer to copy error message to
- `maxLength`: Maximum buffer size

##### Note

The string format is generally: "Run time error <errno>: <description>"

##### Return

1 on success, 0 if no trace data is available

#### dbg_trace_begin

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/dbg_trace_begin
- Line: 2943

##### Syntax

```pawn
native dbg_trace_begin();
```

##### Description

Returns a trace handle for the item at the top of the traced call stack.

##### Note

Intended for use inside an error handler set with set_error_filter()

##### Return

Trace handle, 0 if no debugging information is available

#### dbg_trace_info

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/dbg_trace_info
- Line: 2966

##### Syntax

```pawn
native dbg_trace_info(trace, &line, function[], maxLength1, file[], maxLength2);
```

##### Description

Retrieves the call stack info for a trace.

##### Parameters

- `trace`: Trace handle
- `line`: Variable to set line at which plugin failed to
- `function`: Buffer to copy function to
- `maxLength1`: Maximum function buffer size
- `file`: Buffer to copy filename to
- `maxLength2`: Maximum filename buffer size

##### Return

1 on success, 0 if no trace data is available

#### dbg_trace_next

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/dbg_trace_next
- Line: 2952

##### Syntax

```pawn
native dbg_trace_next(trace);
```

##### Description

Returns the next item in a traced call stack.

##### Parameters

- `trace`: Trace handle

##### Return

New trace handle, 0 if no more traces exist

#### disable_event

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/disable_event
- Line: 607

##### Syntax

```pawn
native disable_event(handle);
```

##### Description

Disables a function hook of a game event which has been previously registered with register_event_ex().

##### Parameters

- `handle`: Value returned from register_event() or register_event_ex()

##### Return

This function has no return value.

##### Error

If an invalid handle is provided, an error will be thrown.

#### disable_logevent

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/disable_logevent
- Line: 654

##### Syntax

```pawn
native disable_logevent(handle);
```

##### Description

Disables a function hook of a game log event which has been previously registered with register_logevent().

##### Parameters

- `handle`: Value returned from register_logevent()

##### Return

This function has no return value.

##### Error

If an invalid handle is provided, an error will be thrown.

#### elog_message

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/elog_message
- Line: 1368

##### Syntax

```pawn
native elog_message(const message[], any:...);
```

##### Description

Logs a message hookable by plugins to the current server log file.

##### Parameters

- `string`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

The log will include a timestamp with the message.

##### Note

The message can be hooked using "register_logevent".

##### Return

Number of printed characters

#### emit_sound

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/emit_sound
- Line: 2144

##### Syntax

```pawn
native emit_sound(index, channel, const sample[], Float:vol, Float:att, flags, pitch);
```

##### Description

Emits a sound from an entity from the engine.

##### Parameters

- `index`: Entity index, use 0 to emit from all clients
- `channel`: Channel to emit from
- `sample`: Sound file to emit
- `vol`: Volume in percent
- `att`: Sound attenuation
- `flags`: Emit flags
- `pitch`: Sound pitch

##### Note

The sample must be precached using precache_sound() so it is available
in the engine's sound table.

##### Note

For a list of available channels, see CHAN_* constants in amxconst.inc,
sounds emitted from the same channel will override each other.

##### Note

There are helpful reference constants in amxconst.inc for sound volume
(VOL_*), attenuation (ATTN_*), flags (SND_*), and pitch (PITCH_*).

##### Return

This function has no return value.

#### enable_event

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/enable_event
- Line: 597

##### Syntax

```pawn
native enable_event(handle);
```

##### Description

Enables a function hook of a game event which has been previously registered with register_event_ex().

##### Parameters

- `handle`: Value returned from register_event() or register_event_ex()

##### Return

This function has no return value.

##### Error

If an invalid handle is provided, an error will be thrown.

#### enable_logevent

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/enable_logevent
- Line: 644

##### Syntax

```pawn
native enable_logevent(handle);
```

##### Description

Enables a function hook of a game log event which has been previously registered with register_logevent().

##### Parameters

- `handle`: Value returned from register_logevent()

##### Return

This function has no return value.

##### Error

If an invalid handle is provided, an error will be thrown.

#### engclient_cmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/engclient_cmd
- Line: 1607

##### Syntax

```pawn
native engclient_cmd(index, const command[], const arg1[] = "", const arg2[] = "");
```

##### Description

Execute a command from the client without actually sending it to the client's
DLL.

##### Parameters

- `index`: Client index, use 0 to execute from all clients
- `command`: Client command to execute on
- `arg1`: Optional command arguments
- `arg2`: Optional command arguments

##### Note

This emulates a client command on the server side, and is an excellent
tool to force a client to do certain actions related to the game.

##### Note

The command has to stand alone in the command parameter, only add
arguments using the designated parameters.

##### Note

Commands emulated using this function will not trigger plugin command
hooks. For an alternative that does, see amxclient_cmd()

##### Return

This function has no return value.

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### engclient_print

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/engclient_print
- Line: 473

##### Syntax

```pawn
native engclient_print(player, type, const message[], any:...);
```

##### Description

Sends a message to the client via the engine.

##### Parameters

- `player`: Client index, use 0 to display to all clients
- `type`: Message type, see engprint_* destination constants in
amxconst.inc
- `message`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

This functions return value behaves differently depending on what is
used as the client index: If 0 is specified, then the function will
return 0 if nothing has been sent (no client connected). If either a
single client is specified, or there is at least one client connected,
the number of printed characters will refer to the message that is sent
last, to the client with the highest index.

##### Return

Number of printed characters

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### engine_changelevel

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/engine_changelevel
- Line: 330

##### Syntax

```pawn
native engine_changelevel(const map[]);
```

##### Description

Changes the map.

##### Parameters

- `map`: Map name to change to

##### Note

This calls the pfnChangelLevel engine function.

##### Note

This has the same behavior as using the "changelevel" server command,
but will also trigger the server_changelevel() forward in AMXX
plugins. It will also notify any Metamod plugins that are hooking
the pfnChangeLevel function.

##### Return

This function has no return value.

#### find_player

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/find_player
- Line: 1525

##### Syntax

```pawn
native find_player(const flags[], ...);
```

##### Description

Find a player given a filter.

##### Parameters

- `flags`: List of filtering flags:
"a" - match with name
"b" - match with name substring
"c" - match with authid
"d" - match with ip
"e" - match with team name
"f" - do not include dead clients
"g" - do not include alive clients
"h" - do not include bots
"i" - do not include human clients
"j" - return last matched client instead of the first
"k" - match with userid
"l" - match case insensitively
"m" - include connecting clients
- `...`: String to match against (integer if "k" flag is specified)

##### Note

Please consider using find_player_ex() instead which allows you to
use named constants for flags instead of letters.

##### Note

If matching by userid, do not also specify the "a", "b" or "c" flags,
or the function may not return a correct result.

##### Return

Client index, or 0 if no client was found

#### find_player_ex

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/find_player_ex
- Line: 1551

##### Syntax

```pawn
native find_player_ex(FindPlayerFlags:flags, ...);
```

##### Description

Find a player given a filter.

##### Parameters

- `flags`: Filtering flags (enum FindPlayerFlags); valid flags are:
FindPlayer_MatchName - match with name
FindPlayer_MatchNameSubstring - match with name substring
FindPlayer_MatchAuthId - match with authid
FindPlayer_MatchIP - match with ip
FindPlayer_MatchTeam - match with team name
FindPlayer_ExcludeDead - do not include dead clients
FindPlayer_ExcludeAlive - do not include alive clients
FindPlayer_ExcludeBots - do not include bots
FindPlayer_ExcludeHuman - do not include human clients
FindPlayer_LastMatched - return last matched client instead of the first
FindPlayer_MatchUserId - match with userid
FindPlayer_CaseInsensitive - match case insensitively
FindPlayer_IncludeConnecting - include connecting clients
- `...`: String to match against (integer if FindPlayer_MatchUserId is specified)

##### Note

If matching by userid, do not also specify FindPlayer_MatchName, FindPlayer_MatchNameSubstring
or FindPlayer_MatchAuthId, or the function may not return a correct result.

##### Return

Client index, or 0 if no client was found

#### find_plugin_byfile

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/find_plugin_byfile
- Line: 2677

##### Syntax

```pawn
native find_plugin_byfile(const filename[], ignoreCase = 1);
```

##### Description

Returns plugin id by filename.

##### Parameters

- `filename`: Filename to match
- `ignoreCase`: If nonzero matches case insensitively, case sensitively
otherwise

##### Return

Plugin id, -1 (INVALID_PLUGIN_ID) on failure

#### force_unmodified

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/force_unmodified
- Line: 2572

##### Syntax

```pawn
native force_unmodified(force_type, const mins[3], const maxs[3], const filename[]);
```

##### Description

Forces the clients and server to be running with the same version of a
specified file.

##### Parameters

- `force_type`: Enforcement type
- `mins`: Bounding box mins vector
- `maxs`: Bounding box maxs vector
- `filename`: Filename

##### Note

For a list of possible enforcement types, see the force_* constants
in amxconst.inc

##### Return

1 on success, 0 otherwise

#### format_time

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/format_time
- Line: 1729

##### Syntax

```pawn
native format_time(output[], len, const format[], time = -1);
```

##### Description

Retrieves the provided time using the specified format string.

##### Parameters

- `output`: Buffer to copy formatted time string to
- `len`: Maximum size of buffer
- `format`: Format string
- `time`: Unix timestamp, use -1 to use the current time

##### Note

Uses the strftime C function. For a list of valid format parameters,
see: http://cplusplus.com/reference/clibrary/ctime/strftime.html
A common example for a format string would be: "%m/%d/%Y - %H:%M:%S"

##### Return

Number of cells written to buffer

##### Error

If the conversion process fails, an error will be thrown.

#### get_addr_val

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_addr_val
- Line: 3222

##### Syntax

```pawn
native get_addr_val(addr);
```

##### Description

Returns the value of an address.

##### Parameters

- `addr`: Variable address

##### Note

Addresses can be acquired using get_var_addr()

##### Return

Value at address

##### Error

If the plugin attempts to access an address outside of the
stack or heap limits of the plugin, an error will be thrown.

#### get_amxx_verstring

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_amxx_verstring
- Line: 1005

##### Syntax

```pawn
native get_amxx_verstring(buffer[], length);
```

##### Description

Retrieves the version string of the AMXX installation.

##### Parameters

- `buffer`: Buffer to copy version to
- `length`: Maximum buffer size

##### Return

Number of cells written to the buffer

#### get_array

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_array
- Line: 2871

##### Syntax

```pawn
native get_array(param, dest[], size);
```

##### Description

Retrieves an array from the plugin calling the native.

##### Parameters

- `param`: Argument to retrieve, starting from 1
- `dest`: Buffer to copy array to
- `maxlen`: Size of buffer

##### Return

This function has no return value.

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### get_array_f

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_array_f
- Line: 2884

##### Syntax

```pawn
native get_array_f(param, Float:dest[], size);
```

##### Description

Retrieves a float array from the plugin calling the native.

##### Parameters

- `param`: Argument to retrieve, starting from 1
- `dest`: Buffer to copy array to
- `maxlen`: Size of buffer

##### Return

This function has no return value.

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### get_clcmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_clcmd
- Line: 1971

##### Syntax

```pawn
native get_clcmd(index, command[], len1, &flags, info[], len2, flag, &bool:info_ml = false);
```

##### Description

Retrieves information about a client command.

##### Parameters

- `index`: Command index
- `command`: Buffer to copy command name to
- `len1`: Maximum name buffer size
- `flags`: Variable to store privilege flags to
- `info`: Buffer to copy command description to
- `len2`: Maximum description buffer size
- `flag`: Only considers commands that can be accessed with
the specified privilege flags
- `info_ml`: Variable to store whether the parameter "info" is a multilingual key

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Return

1 on success, 0 if command was not found

#### get_clcmdsnum

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_clcmdsnum
- Line: 1984

##### Syntax

```pawn
native get_clcmdsnum(flag);
```

##### Description

Returns number of registered client commands.

##### Parameters

- `flag`: Only considers commands that can be accessed with
the specified privilege flags

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Return

Number of registered client commands

#### get_concmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_concmd
- Line: 2040

##### Syntax

```pawn
native get_concmd(index, cmd[], len1, &flags, info[], len2, flag, id = -1, &bool:info_ml = false);
```

##### Description

Retrieves information about a console command.

##### Parameters

- `index`: Command index
- `command`: Buffer to copy command name to
- `len1`: Maximum name buffer size
- `flags`: Variable to store privilege flags to
- `info`: Buffer to copy command description to
- `len2`: Maximum description buffer size
- `flag`: Only considers commands that can be accessed with
the specified privilege flags
- `id`: If set to 0 only server commands will be considered,
positive will only consider client commands, otherwise
all console commands will be considered
- `info_ml`: Variable to store whether the parameter "info" is a multilingual key

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Return

1 on success, 0 if command was not found

#### get_concmd_plid

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_concmd_plid
- Line: 2057

##### Syntax

```pawn
native get_concmd_plid(cid, flag_mask, id_type);
```

##### Description

Returns the parent plugin id of a console command.

##### Parameters

- `cid`: Command index
- `flag_mask`: Only considers commands that can be accessed with
the specified privilege flags.
- `id_type`: If set to 0 only server commands will be considered,
positive will only consider client commands, otherwise
all console commands will be considered.

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Return

Plugin id

#### get_concmdsnum

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_concmdsnum
- Line: 2073

##### Syntax

```pawn
native get_concmdsnum(flag, id = -1);
```

##### Description

Returns number of registered console commands.

##### Parameters

- `flag`: Only considers commands that can be accessed with
the specified privilege flags
- `id`: If set to 0 only server commands will be considered,
positive will only consider client commands, otherwise
all console commands will be considered

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Return

Number of registered console commands

#### get_flags

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_flags
- Line: 1497

##### Syntax

```pawn
native get_flags(flags, output[], len);
```

##### Description

Converts a bitflag value to a flag string.

##### Parameters

- `flags`: Bitflag value to convert
- `output`: Buffer to copy flag string to
- `len`: Maximum buffer size

##### Note

Example: The value 3 will yield the string "ab"

##### Return

Number of cells written to buffer

#### get_float_byref

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_float_byref
- Line: 2832

##### Syntax

```pawn
native Float:get_float_byref(param);
```

##### Description

Returns the float value of a by-reference parameter from the plugin calling
the native.

##### Parameters

- `param`: Argument to retrieve, starting from 1

##### Return

Float value

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### get_func_id

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_func_id
- Line: 2451

##### Syntax

```pawn
native get_func_id(const funcName[], pluginId = -1);
```

##### Description

Retrieves a functions id for use with callfunc_begin_i()

##### Parameters

- `funcName`: Function name
- `pluginId`: Plugin id, if -1 the calling plugin is targeted
The plugin id can be retrieved using find_plugin_byfile()

##### Return

>=0 Function id on success
-1 if plugin or function was not found

#### get_gametime

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_gametime
- Line: 1673

##### Syntax

```pawn
native Float:get_gametime();
```

##### Description

Returns the game time based on the game tick.

##### Note

This time is counted up from map start. If the engine is not processing
this function will return the same value between calls, which makes it
unusable for profiling purposes.

##### Return

Game time, in seconds

#### get_localinfo

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_localinfo
- Line: 378

##### Syntax

```pawn
native get_localinfo(const info[], output[], len);
```

##### Description

Gets info from the server.

##### Parameters

- `info`: Info key
- `output`: Buffer to copy value to
- `len`: Maximum size of the buffer

##### Return

Number of cells written to buffer

#### get_mapname

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_mapname
- Line: 1655

##### Syntax

```pawn
native get_mapname(name[], len);
```

##### Description

Retrieves the name of the currently played map.

##### Parameters

- `name`: Buffer to copy map name to
- `len`: Maximum buffer size

##### Return

Number of cells written to buffer

#### get_maxplayers

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_maxplayers
- Line: 1684

##### Syntax

```pawn
native get_maxplayers();
```

##### Description

Returns the maxplayers setting of the current server, that is how many
clients it supports.

##### Note

As of AMXX 1.8.3, this value is also exposed through a dynamic constant
via the MaxClients variable, declared in amxconst.inc

##### Return

Maxplayers setting

#### get_modname

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_modname
- Line: 1697

##### Syntax

```pawn
native get_modname(name[], len);
```

##### Description

Retrieves the name of the currently played mod.

##### Parameters

- `name`: Buffer to copy mod name to
- `len`: Maximum size of the buffer

##### Note

This retrieves the short name of the mod. Example: for Counter-Strike,
it will copy "cstrike" to the buffer.

##### Return

Number of cells written to buffer

#### get_module

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_module
- Line: 2302

##### Syntax

```pawn
native get_module(id, name[], nameLen, author[], authorLen, version[], versionLen, &status);
```

##### Description

Retrieves info about a module by module index.

##### Parameters

- `id`: Module id
- `name`: Buffer to copy module name to
- `nameLen`: Maximum name buffer size
- `author`: Buffer to copy module author to
- `authorLen`: Maximum author buffer size
- `version`: Buffer to copy module version to
- `versionLen`: Maximum version buffer size
- `status`: Variable to store module status to

##### Note

For a list of possible status flags, see module_* constants in
amxconst.inc

##### Return

Module id on success, -1 on invalid module

#### get_modulesnum

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_modulesnum
- Line: 2309

##### Syntax

```pawn
native get_modulesnum();
```

##### Description

Returns the number of currently registered modules.

##### Return

Number of modules

#### get_param

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_param
- Line: 2797

##### Syntax

```pawn
native get_param(param);
```

##### Description

Returns the integer value of a parameter from the plugin calling the native.

##### Parameters

- `param`: Argument to retrieve, starting from 1

##### Return

Integer value

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### get_param_byref

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_param_byref
- Line: 2820

##### Syntax

```pawn
native get_param_byref(param);
```

##### Description

Returns the integer value of a by-reference parameter from the plugin calling
the native.

##### Parameters

- `param`: Argument to retrieve, starting from 1

##### Return

Integer value

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### get_param_f

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_param_f
- Line: 2808

##### Syntax

```pawn
native Float:get_param_f(param);
```

##### Description

Returns the float value of a parameter from the plugin calling the native.

##### Parameters

- `param`: Argument to retrieve, starting from 1

##### Return

Float value

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### get_players

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_players
- Line: 1414

##### Syntax

```pawn
native get_players(players[MAX_PLAYERS], &num, const flags[] = "", const team[] = "");
```

##### Description

Stores a filtered list of client indexes to an array.

##### Parameters

- `players`: Array to store indexes to
- `num`: Variable to store number of indexes to
- `flags`: Optional list of filtering flags:
"a" - do not include dead clients
"b" - do not include alive clients
"c" - do not include bots
"d" - do not include human clients
"e" - match with team
"f" - match with part of name
"g" - match case insensitive
"h" - do not include HLTV proxies
"i" - include connecting clients
- `team`: String to match against if the "e" or "f" flag is specified

##### Note

Please consider using get_players_ex() instead which allows you to
use named constants for flags instead of letters.

##### Note

Example retrieving all alive CTs: get_players(players, num "ae", "CT")

##### Return

This function has no return value.

#### get_playersnum

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_playersnum
- Line: 1389

##### Syntax

```pawn
native get_playersnum(flag = 0);
```

##### Description

Returns the number of clients on the server.

##### Parameters

- `flag`: Count clients still in the connecting process if nonzero

##### Return

Number of clients on the server

#### get_plugin

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_plugin
- Line: 2351

##### Syntax

```pawn
native get_plugin(index, filename[] = "", len1 = 0, name[] = "", len2 = 0, version[] = "", len3 = 0, author[] = "", len4 = 0, status[] = "", len5 = 0, url[] = "", len6 = 0, desc[] = "", len7 = 0);
```

##### Description

Retrieves info about a plugin by plugin index.

##### Parameters

- `index`: Plugin index, -1 to target calling plugin
- `filename`: Buffer to copy plugin filename to
- `len1`: Maximum filename buffer size
- `name`: Buffer to copy plugin name to
- `len2`: Maximum name buffer size
- `version`: Buffer to copy plugin version to
- `len3`: Maximum version buffer size
- `author`: Buffer to copy plugin author to
- `len4`: Maximum author buffer size
- `status`: Buffer to copy plugin status flags to
- `len5`: Maximum status buffer size
- `url`: Buffer to copy plugin url to
- `len6`: Maximum url buffer size
- `desc`: Buffer to copy plugin description to
- `len7`: Maximum description buffer size

##### Return

Plugin index on success, -1 if there is no plugin with given
index

#### get_pluginsnum

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_pluginsnum
- Line: 2358

##### Syntax

```pawn
native get_pluginsnum();
```

##### Description

Returns the number of loaded AMXX plugins.

##### Return

Number of loaded plugins

#### get_srvcmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_srvcmd
- Line: 2004

##### Syntax

```pawn
native get_srvcmd(index, server_cmd[], len1, &flags, info[], len2, flag, &bool:info_ml = false);
```

##### Description

Retrieves information about a server command.

##### Parameters

- `index`: Command index
- `command`: Buffer to copy command name to
- `len1`: Maximum name buffer size
- `flags`: Variable to store privilege flags to
- `info`: Buffer to copy command description to
- `len2`: Maximum description buffer size
- `flag`: Only considers commands that can be accessed with
the specified privilege flags
- `info_ml`: Variable to store whether the parameter "info" is a multilingual key

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Return

1 on success, 0 if command was not found

#### get_srvcmdsnum

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_srvcmdsnum
- Line: 2017

##### Syntax

```pawn
native get_srvcmdsnum(flag);
```

##### Description

Returns number of registered server commands.

##### Parameters

- `flag`: Only considers commands that can be accessed with
the specified privilege flags

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Return

Number of registered server commands

#### get_string

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_string
- Line: 2773

##### Syntax

```pawn
native get_string(param, dest[], maxlen);
```

##### Description

Retrieves a string from the plugin calling the native.

##### Parameters

- `param`: Argument to retrieve, starting from 1
- `dest`: Buffer to copy string to
- `maxlen`: Maximum size of buffer

##### Return

Number of cells copied to buffer

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### get_systime

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_systime
- Line: 1739

##### Syntax

```pawn
native get_systime(offset = 0);
```

##### Description

Returns the system time as a unix timestamp (number of seconds since unix
epoch).

##### Parameters

- `offset`: Optional offset value in seconds

##### Return

Unix time stamp

#### get_time

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_time
- Line: 1712

##### Syntax

```pawn
native get_time(const format[], output[], len);
```

##### Description

Retrieves the current time using the specified format string.

##### Parameters

- `format`: Format string
- `output`: Buffer to copy formatted time string to
- `len`: Maximum size of buffer

##### Note

Uses the strftime C function. For a list of valid format parameters,
see: http://cplusplus.com/reference/clibrary/ctime/strftime.html
A common example for a format string would be: "%m/%d/%Y - %H:%M:%S"

##### Return

Number of cells written to buffer

#### get_timeleft

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_timeleft
- Line: 1662

##### Syntax

```pawn
native get_timeleft();
```

##### Description

Returns time remaining on map.

##### Return

Time left on map, in seconds

#### get_user_aiming

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_aiming
- Line: 1041

##### Syntax

```pawn
native Float:get_user_aiming(index, &id, &body = HIT_GENERIC, dist = 9999);
```

##### Description

Traces the client's current aim vector to see if it hits something.

##### Parameters

- `index`: Client index to trace aim from
- `id`: Variable to store hit client index (if applicable)
- `body`: Variable to store hit client body part (if applicable)
- `dist`: Maximum distance of the trace

##### Note

If the trace does not hit a client, id and body will be set to 0.

##### Note

If the trace hits nothing within the specified distance, 0 is returned.

##### Note

For a list of possible body hitplaces see the HIT_* constants in amxconst.inc.

##### Return

Distance between the trace start and end point

##### Error

If the client index is not within the range of 1 to
MaxClients, an error will be thrown.

#### get_user_ammo

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_ammo
- Line: 1164

##### Syntax

```pawn
native get_user_ammo(index, weapon, &clip, &ammo);
```

##### Description

Retrieves ammo in the clip and backpack of the specified weapon.

##### Parameters

- `index`: Client index
- `weapon`: Weapon index
- `clip`: Variable to store clip ammo to
- `ammo`: Variable to store backpack ammo to

##### Return

1 on success or 0 if the client is not connected

##### Error

If the client index is not within the range of 1 to
MaxClients or the weapon index is invalid, an error will
be thrown.

#### get_user_armor

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_armor
- Line: 1071

##### Syntax

```pawn
native get_user_armor(index);
```

##### Description

Returns the client's armor value.

##### Parameters

- `index`: Client index

##### Note

While this is mod-independent, the mod may track armor data differently,
so it can only be retrieved using another native or other methods.

##### Return

Amount of armor the client has. Also returns 0 if the client
is not connected or the index is not within the range of
1 to MaxClients

#### get_user_attacker

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_attacker
- Line: 1023

##### Syntax

```pawn
native get_user_attacker(index, ...);
```

##### Description

Returns the last known attacker of a client.

##### Parameters

- `index`: Client index
- `...`: If provided, the attacker weapon will be stored in an
optional second parameter, and the body hit place will be
stored in an optional third parameter

##### Note

As of AMXX 1.75 this can return a non-client entity index if the client
was attacked by a non-client entity.

##### Return

Attacker client index, a non-client entity or 0 if no
attacker was found

##### Error

If the client index is not within the range of 1 to
MaxClients, an error will be thrown.

#### get_user_authid

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_authid
- Line: 1291

##### Syntax

```pawn
native get_user_authid(index, authid[], len);
```

##### Description

Retrieves the SteamID of a client.

##### Parameters

- `index`: Client index
- `authid`: Buffer to copy auth to
- `len`: Maximum buffer size

##### Note

The SteamID is only available once the client_authorized() forward has
been called for the client.

##### Return

Number of cells written to buffer

#### get_user_deaths

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_deaths
- Line: 1085

##### Syntax

```pawn
native get_user_deaths(index);
```

##### Description

Returns the client's death count.

##### Parameters

- `index`: Client index

##### Note

While this is mod-independent, the mod may track death count differently,
so it can only be retrieved using another native or other methods.

##### Return

Amount of deaths the client has. Also returns 0 if the
client is not connected or the index is not within the range
of 1 to MaxClients

#### get_user_flags

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_flags
- Line: 1861

##### Syntax

```pawn
native get_user_flags(index, id = 0);
```

##### Description

Returns the client's admin flags as a bitflag sum.

##### Parameters

- `index`: Client index, 0 to get flags of server
- `id`: Flag set id, ranging from 0 to 31

##### Note

For a list of possible flags, see the ADMIN_* constants in amxconst.inc

##### Note

AMXX stores multiple sets of flags internally, but only flag set
0 is actively used. You should not change the value of the second
parameter from the default.

##### Return

Bitflag sum of client's admin flags

##### Error

If the index is not within the range of 0 to MaxClients, an
error will be thrown.

#### get_user_frags

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_frags
- Line: 1057

##### Syntax

```pawn
native get_user_frags(index);
```

##### Description

Returns the client's frags.

##### Parameters

- `index`: Client index

##### Note

While this is mod-independent, the mod may track frag count differently,
so it can only be retrieved using another native or other methods.

##### Note

This will actually return the client's overall score, which may or may
not be equal to their scored frags depending on the mod.

##### Return

Frags/Score of the client. Also returns 0 if the client is
not connected or the index is not within the range of
1 to MaxClients

#### get_user_health

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_health
- Line: 1100

##### Syntax

```pawn
native get_user_health(index);
```

##### Description

Returns the client's health points.

##### Parameters

- `index`: Client index

##### Note

While this is mod-independent, the mod may track health points
differently, so it can only be retrieved using another native or other
methods.

##### Return

Amount of health points the client has. Also returns 0 if
the client is not connected or the index is not within the
range of 1 to MaxClients

#### get_user_index

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_index
- Line: 1109

##### Syntax

```pawn
native get_user_index(const name[]);
```

##### Description

Retrieves a client's index by name.

##### Parameters

- `name`: Name to search for

##### Return

Client index on success, 0 otherwise

#### get_user_info

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_info
- Line: 357

##### Syntax

```pawn
native get_user_info(index, const info[], output[], len);
```

##### Description

Gets info from the client.

##### Parameters

- `index`: Client index
- `info`: Info key
- `output`: Buffer to copy value to
- `len`: Maximum size of the buffer

##### Return

Number of cells written to buffer

##### Error

If the index is not within the range of 1 to MaxClients or
the client is not connected, an error will be thrown.

#### get_user_ip

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_ip
- Line: 1121

##### Syntax

```pawn
native get_user_ip(index, ip[], len, without_port = 0);
```

##### Description

Retrieves the IP of a client or the server.

##### Parameters

- `index`: Client index, use 0 to retrieve the server IP
- `ip`: Buffer to copy IP to
- `len`: Maximum buffer size
- `without_port`: Remove the port from the IP if nonzero

##### Return

Number of cells written to the buffer

#### get_user_menu

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_menu
- Line: 2113

##### Syntax

```pawn
native get_user_menu(index, &id, &keys);
```

##### Description

Returns if the client is watching a menu.

##### Parameters

- `index`: Client index
- `id`: Variable to store menu id to
- `keys`: Variable to store menu keys to

##### Note

If there is no menu, the id is 0. If the id is negative, then the client
views a VGUI menu. Otherwise, the id is an id acquired from the
register_menuid() function.

##### Return

1 if client views a menu, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, an error will be thrown.

#### get_user_msgid

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_msgid
- Line: 2180

##### Syntax

```pawn
native get_user_msgid(const name[]);
```

##### Description

Returns unique id of a client message.

##### Parameters

- `name`: Client message name

##### Note

Example usage: get_user_msgid("TextMsg")

##### Note

The message id is unique as long as the server is running, but might
change between updates. They should not be hardcoded into plugins.

##### Note

On first server start, this function will return 0 if used inside
plugin_precache(). Consider hooking RegUserMsg in order to retrieve
the correct message id.

##### Return

Message id, 0 if message was not found

#### get_user_msgname

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_msgname
- Line: 2191

##### Syntax

```pawn
native get_user_msgname(msgid, name[], len);
```

##### Description

Retrieves the client message name from a message id.

##### Parameters

- `msgid`: Client message id
- `name`: Buffer to copy message name to
- `len`: Maximum buffer size

##### Return

Number of cells written to buffer, 0 on invalid message id

#### get_user_name

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_name
- Line: 1277

##### Syntax

```pawn
native get_user_name(index, name[], len);
```

##### Description

Retrieves the name of a client or the server.

##### Parameters

- `index`: Client index, or 0 to retrieve the server hostname
- `name`: Buffer to copy name to
- `len`: Maximum buffer size

##### Return

Number of cells written to buffer

#### get_user_origin

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_origin
- Line: 1238

##### Syntax

```pawn
native get_user_origin(index, origin[3], mode = 0);
```

##### Description

Retrieves an origin related to the client.

##### Parameters

- `index`: Client index
- `origin`: Array to store origin in
- `mode`: What type of origin to retrieve:
Origin_Client - current position
Origin_Eyes - position of eyes (and weapon)
Origin_AimEndClient - aim end position from client position
Origin_AimEndEyes - aim end position from eyes (hit point for weapon)
Origin_CS_LastBullet - position of last bullet hit (only for Counter-Strike)

##### Note

For a list of possible modes see the Origin_* constants in amxconst.inc.

##### Return

1 on success, 0 if client is not connected

##### Error

If the client index is not within the range of 1 to
MaxClients, an error will be thrown.

#### get_user_ping

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_ping
- Line: 1218

##### Syntax

```pawn
native get_user_ping(index, &ping, &loss);
```

##### Description

Retrieves the ping and loss of a client.

##### Parameters

- `index`: Client index
- `ping`: Variable to store ping in
- `loss`: Variable to store loss in

##### Return

1 on success, 0 if client index is invalid or the client
is not connected

#### get_user_team

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_team
- Line: 1194

##### Syntax

```pawn
native get_user_team(index, team[] = "", len = 0);
```

##### Description

Returns the team id of the client, and optionally retrieves the name of
the team.

##### Parameters

- `index`: Client index
- `team`: Buffer to copy team name to
- `len`: Maximum size of buffer

##### Return

Team index on success, -1 if client index is invalid or
the client is not connected

#### get_user_time

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_time
- Line: 1206

##### Syntax

```pawn
native get_user_time(index, flag = 0);
```

##### Description

Returns client's playing time in seconds.

##### Parameters

- `index`: Client index
- `flag`: If nonzero, the result will not include the time it took
the client to connect.

##### Return

Connection time in seconds, 0 if client index is invalid or
client is not connected

#### get_user_userid

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_userid
- Line: 1301

##### Syntax

```pawn
native get_user_userid(index);
```

##### Description

Returns the userid of a client.

##### Parameters

- `index`: Client index

##### Return

Client userid, 0 if the userid is not available or the
client index is invalid

#### get_user_weapon

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_weapon
- Line: 1149

##### Syntax

```pawn
native get_user_weapon(index, &clip = 0, &ammo = 0);
```

##### Description

Returns weapon index of the currently carried weapon. Also allows retrieval
of ammo in the clip and backpack.

##### Parameters

- `index`: Client index
- `clip`: Optional variable to store clip ammo to
- `ammo`: Optional variable to store backpack ammo to

##### Return

Weapon index on success or 0 if the client is not connected

##### Error

If the client index is not within the range of 1 to
MaxClients, an error will be thrown.

#### get_user_weapons

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_user_weapons
- Line: 1255

##### Syntax

```pawn
native get_user_weapons(index, weapons[32], &num);
```

##### Description

Retrieves all weapons in the client inventory, stores them in an array, and
returns the inventory as a bitflag sum.

##### Parameters

- `index`: Client index
- `weapons`: Array to store weapon indexes in
- `num`: Variable to store number of weapons in the inventory to

##### Note

Make sure that num has an initial value of 0 or the native will not
work correctly.

##### Return

Bitflag sum of weapon indexes, 0 if client is not connected

##### Error

If the client index is not within the range of 1 to
MaxClients, an error will be thrown.

#### get_var_addr

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_var_addr
- Line: 3209

##### Syntax

```pawn
native get_var_addr(any:...);
```

##### Description

Returns the reference address of the variable passed in.

##### Parameters

- `...`: Variable to retrieve address from

##### Note

Addresses are local to the plugin and do not represent a full CPU
address.

##### Return

Variable address

#### get_weaponid

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_weaponid
- Line: 3330

##### Syntax

```pawn
native get_weaponid(const name[]);
```

##### Description

Returns the weapon id associated with a weapon name.

##### Parameters

- `name`: Weapon name

##### Note

The weapon name is case sensitive and has the weapon_* form.

##### Return

Weapon id, or 0 if no id was found

#### get_weaponname

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_weaponname
- Line: 1266

##### Syntax

```pawn
native get_weaponname(id, weapon[], len);
```

##### Description

Retrieves the full name of a weapon.

##### Parameters

- `id`: Weapon index
- `weapon`: Buffer to copy name to
- `len`: Maximum buffer size

##### Return

Number of cells written to buffer

#### get_xvar_float

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_xvar_float
- Line: 2242

##### Syntax

```pawn
native Float:get_xvar_float(id);
```

##### Description

Returns the float value of a public variable.

##### Parameters

- `id`: Xvar id, an xvar id can be retrieved using get_xvar_id()

##### Note

If multiple plugins declare the same public variable, they are not
automatically synchronized. The xvar system accesses only one of all
public variables directly. Xvars have to be read through the natives or
the value will be incorrect.

##### Return

Xvar float value

#### get_xvar_id

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_xvar_id
- Line: 2205

##### Syntax

```pawn
native get_xvar_id(const name[]);
```

##### Description

Returns a unique id for a public variable.

##### Parameters

- `name`: Variable name

##### Note

Variables declared with the "public" specifier are accessible by-name
from outside of the declaring plugin.

##### Note

If multiple plugins declare the same public variable, this native will
still return a unique id.

##### Return

Xvar id on success, -1 on failure

#### get_xvar_num

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/get_xvar_num
- Line: 2228

##### Syntax

```pawn
native get_xvar_num(id);
```

##### Description

Returns the integer value of a public variable.

##### Parameters

- `id`: Xvar id, an xvar id can be retrieved using get_xvar_id()

##### Note

If multiple plugins declare the same public variable, they are not
automatically synchronized. The xvar system accesses only one of all
public variables directly. Xvars have to be read through the natives or
the value will be incorrect.

##### Return

Xvar integer value

#### has_map_ent_class

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/has_map_ent_class
- Line: 3388

##### Syntax

```pawn
native bool:has_map_ent_class(const classname[]);
```

##### Description

Returns if a map contains at least one entity with the provided class name.

##### Parameters

- `classname`: Entity classname to match

##### Return

True if an entity is found, false otherwise

#### hash_file

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/hash_file
- Line: 2620

##### Syntax

```pawn
native hash_file(const fileName[], const HashType:type, output[], const outputSize);
```

##### Description

Generate a hash value using the contents of a given file

##### Parameters

- `fileName`: Path of file to be hashed.
- `type`: Type of selected hashing algorithm. See Hash_* constants in amxconst.inc file.
- `output`: Output string to store hash in.
- `outputSize`: The maximum size of the output string to store hash in.

##### Return

Number of written bytes.

##### Error

If the file couldn't be opened, an error is thrown.

#### hash_string

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/hash_string
- Line: 2607

##### Syntax

```pawn
native hash_string(const string[], const HashType:type, output[], const outputSize);
```

##### Description

Generate a hash value (message digest)

##### Parameters

- `string`: String to be hashed.
- `type`: Type of selected hashing algorithm. See Hash_* constants in amxconst.inc file.
- `output`: Output string to store hash in.
- `outputSize`: The maximum size of the output string to store hash in.

##### Return

Number of written bytes.

#### int3

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/int3
- Line: 3180

##### Syntax

```pawn
native int3();
```

##### Description

Triggers the software interrupt 3, used for breaking into an attached
debugger.

##### Note

Warning: This is a debugging function that is not intended for general
plugin use. Using this function will either halt the server and break
into the attached debugger, or outright crash the server if no
debugger is attached.

##### Return

This function has no return value.

#### is_amd64_server

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_amd64_server
- Line: 2666

##### Syntax

```pawn
native is_amd64_server();
```

##### Description

This function has no description.

#### is_dedicated_server

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_dedicated_server
- Line: 981

##### Syntax

```pawn
native is_dedicated_server();
```

##### Description

Returns if the server is a dedicated server.

##### Return

1 if server is a dedicated server, 0 otherwise

#### is_jit_enabled

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_jit_enabled
- Line: 995

##### Syntax

```pawn
native is_jit_enabled();
```

##### Description

Returns if the AMXX installation has the JIT enabled.

##### Return

1 if JIT is enabled, 0 otherwise

#### is_linux_server

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_linux_server
- Line: 988

##### Syntax

```pawn
native is_linux_server();
```

##### Description

Returns if the server is running on Linux.

##### Return

1 if server is running on Linux, 0 otherwise

#### is_map_valid

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_map_valid
- Line: 908

##### Syntax

```pawn
native is_map_valid(const mapname[]);
```

##### Description

Returns if the given mapname is deemed valid by the engine.

##### Parameters

- `mapname`: Name of the map

##### Return

1 if the map name is valid, 0 otherwise

#### is_module_loaded

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_module_loaded
- Line: 2283

##### Syntax

```pawn
native is_module_loaded(const name[]);
```

##### Description

Returns if a module is loaded.

##### Parameters

- `name`: Module name

##### Return

Module id of the matching module, -1 otherwise

#### is_plugin_loaded

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_plugin_loaded
- Line: 2327

##### Syntax

```pawn
native is_plugin_loaded(const name[], bool:usefilename = false);
```

##### Description

Returns if a plugin is loaded by registered name or filename.

##### Parameters

- `name`: Plugin name or filename
- `usefilename`: If true searches for plugin filename, false searches for
plugin name

##### Note

An example for a registered name would be "Admin Base", while a possible
filename would be "admin.amxx".

##### Note

Prior to AMXX 1.80, this function would only search for plugins
registered names, not the filename.

##### Note

The plugin name matching is case insensitive, while the filename
matching is case sensitive.

##### Return

Plugin id of the matching plugin, -1 otherwise

#### is_user_alive

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_user_alive
- Line: 974

##### Syntax

```pawn
native is_user_alive(index);
```

##### Description

Returns if the client is alive.

##### Parameters

- `index`: Client index

##### Note

This will never return true if a client is not connected. If you need
to know whether a client is alive, an additional call to
is_user_connected() is unnecessary.

##### Return

1 if client is alive, 0 otherwise

#### is_user_authorized

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_user_authorized
- Line: 939

##### Syntax

```pawn
native is_user_authorized(index);
```

##### Description

Returns if the client is authorized.

##### Parameters

- `index`: Client index

##### Note

This does not throw an error if the provided index is out of the
1 to MaxClients range. That means you can safely use this native
without manually verifying that the index is a valid client index.

##### Return

1 if client is authorized, 0 otherwise

#### is_user_bot

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_user_bot
- Line: 917

##### Syntax

```pawn
native is_user_bot(index);
```

##### Description

Returns if the client is a bot.

##### Parameters

- `index`: Client index

##### Return

1 if client is a bot, 0 otherwise

#### is_user_connected

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_user_connected
- Line: 952

##### Syntax

```pawn
native is_user_connected(index);
```

##### Description

Returns if the client is connected.

##### Parameters

- `index`: Client index

##### Note

This does not throw an error if the provided index is out of the
1 to MaxClients range. That means you can safely use this native
without manually verifying that the index is a valid client index.

##### Return

1 if client is connected, 0 otherwise

#### is_user_connecting

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_user_connecting
- Line: 961

##### Syntax

```pawn
native is_user_connecting(index);
```

##### Description

Returns if the client is connecting.

##### Parameters

- `index`: Client index

##### Return

1 if client is connecting, 0 otherwise

#### is_user_hltv

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/is_user_hltv
- Line: 926

##### Syntax

```pawn
native is_user_hltv(index);
```

##### Description

Returns if the client is a HLTV proxy.

##### Parameters

- `index`: Client index

##### Return

1 if client is a HLTV proxy, 0 otherwise

#### log_amx

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/log_amx
- Line: 1343

##### Syntax

```pawn
native log_amx(const string[], any:...);
```

##### Description

Logs a message to the current AMXX log file.

##### Parameters

- `string`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

The message will automatically be tagged with the plugin's name and the
log will include a timestamp with the message.

##### Return

This function has no return value.

#### log_error

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/log_error
- Line: 2742

##### Syntax

```pawn
native log_error(error, const fmt[], any:...);
```

##### Description

Logs an error in the native and breaks into the AMXX debugger.

##### Parameters

- `error`: Error number
- `fmt`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

This acts as if the calling plugin - the plugin that is calling the
native, not the plugin calling this function - triggered the error,
just like when AMXX natives error.

##### Return

This function has no return value.

##### Error

The function is guaranteed to throw an error, but will make
it appear as if the plugin calling the native triggered it.

#### log_message

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/log_message
- Line: 1355

##### Syntax

```pawn
native log_message(const message[], any:...);
```

##### Description

Logs a message to the current server log file.

##### Parameters

- `string`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

The log will include a timestamp with the message.

##### Return

Number of printed characters

#### log_to_file

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/log_to_file
- Line: 1380

##### Syntax

```pawn
native log_to_file(const file[], const message[], any:...);
```

##### Description

Logs a message to the specified file

##### Parameters

- `string`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

The log will include a timestamp with the message.

##### Return

This function has no return value.

#### md5

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/md5
- Line: 2583

##### Syntax

```pawn
native md5(const szString[], md5buffer[34]);
```

##### Description

This function has no description.

#### md5_file

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/md5_file
- Line: 2595

##### Syntax

```pawn
native md5_file(const file[], md5buffer[34]);
```

##### Description

This function has no description.

#### module_exists

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/module_exists
- Line: 3073

##### Syntax

```pawn
native module_exists(const logtag[]);
```

##### Description

Returns if a specific module is loaded.

##### Parameters

- `logtag`: Module shortname

##### Note

This uses the same method AMXX uses internally to see if a module is
required by a plugin.

##### Note

Example usage: module_exists("cstrike")

##### Return

1 if module is loaded, 0 otherwise

#### next_hudchannel

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/next_hudchannel
- Line: 3102

##### Syntax

```pawn
native next_hudchannel(player);
```

##### Description

Returns the next valid hudchannel for the client.

##### Parameters

- `player`: Client index

##### Note

This function uses the same method set_hudmessage() uses to determine
the next channel if it is set to auto-select.

##### Return

Valid hudchannel (1-4)

##### Error

If the index is not within the range of 1 to MaxClients or
the client is not connected, an error will be thrown.

#### num_to_word

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/num_to_word
- Line: 1181

##### Syntax

```pawn
native num_to_word(num, output[], len);
```

##### Description

Converts an integer to a text string.

##### Parameters

- `num`: Integer to convert
- `output`: Buffer to copy string to
- `len`: Maximum buffer size

##### Note

The conversion algorithm is limited to a certain range of numbers, but
is guaranteed to work correctly for all numbers from 0 to 999. Outside
of that range, the conversion will result in an incorrect string, but
will not fail.

##### Note

The conversion is to english text, there is no way to change this.

##### Return

Number of cells written to buffer

#### param_convert

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/param_convert
- Line: 2760

##### Syntax

```pawn
native param_convert(num);
```

##### Description

Converts a parameter to work as a by-reference parameter.

##### Parameters

- `num`: Argument to convert, starting from 1

##### Deprecated

Style 1 natives are deprecated and should be converted to
style 0. This should not be used.

##### Note

This only needs to be called if the native was registered with style 1.

##### Note

Remember that arrays (and strings) are always by-reference and need to
be converted.

##### Return

This function has no return value.

##### Error

If used outside of a native callback, or the native was
created with style 0, an error will be thrown.

#### parse_loguser

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/parse_loguser
- Line: 889

##### Syntax

```pawn
native parse_loguser(const text[], name[], nlen, &userid =-2, authid[] = "", alen = 0, team[] = "", tlen = 0);
```

##### Description

Parse log data about client.

##### Parameters

- `text`: String to process
- `name`: Buffer to copy client name to
- `nlen`: Maximum name buffer size
- `userid`: Variable to store userid in
- `authid`: Buffer to copy client authid to
- `alen`: Maximum auth buffer size
- `team`: Buffer to copy client team to
- `tlen`: Maximum team buffer size

##### Note

When client actions are logged, they appear in the the format
"Name<#userid><SteamID><teamname>", this native extracts the individual
pieces of information.

##### Return

This function has no return value.

##### Error

If the provided string is not valid client log data, an
error will be thrown.

#### parse_time

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/parse_time
- Line: 1759

##### Syntax

```pawn
native parse_time(const input[], const format[], time = -1);
```

##### Description

Converts time strings to unix time stamp.

##### Parameters

- `input`: Time string to convert
- `format`: Formatting information for conversion
- `time`: If different from -1, the converted time will be added to
this time stamp

##### Note

Uses the strptime C function. For a list of valid format parameters,
see: http://www.cplusplus.com/reference/ctime/strftime/
An example for a input/format combination would be:
Input: "10:32:54 04/02/2013"  Format: "%H:%M:%S %m:%d:%Y"

##### Note

Information missing from the input will be filled with the current
time and date.

##### Return

Unix time stamp

##### Error

If the conversion process fails, an error will be thrown.

#### pause

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/pause
- Line: 2378

##### Syntax

```pawn
native pause(const flag[], const param1[] = "", const param2[] = "");
```

##### Description

Pauses a plugin so it will not be executed until it is unpaused.

##### Parameters

- `flag`: Pause flags
"a" - pause plugin
"c" - search for other plugins using param1
"d" - stop plugin, making it unavailable to unpause
- `param1`: Plugin filename
- `param2`: Unused and ignored

##### Note

This used to be able to pause specific functions, but this functionality
(along with the flags "b" and "e") has been deprecated.

##### Note

If used without flag "c" this will pause the calling plugin.

##### Return

1 on success, 0 otherwise

##### Error

If it is attempted to use the deprecated functionality,
an error is thrown.

#### plugin_flags

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/plugin_flags
- Line: 2631

##### Syntax

```pawn
native plugin_flags(hdr = 0, plid = -1);
```

##### Description

Returns the internal flags set on the plugin's state.

##### Parameters

- `hdr`: If nonzero, the function will return the pcode rather than
state flags
- `plid`: Plugin id, -1 to target calling plugin

##### Return

Plugin flags

#### precache_event

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/precache_event
- Line: 315

##### Syntax

```pawn
native precache_event(type, const Name[], any:...);
```

##### Description

Precaches an event file.

##### Parameters

- `type`: Event type
- `Name`: Formatting rules, path to the event file
- `...`: Variable number of formatting parameters

##### Note

The event type should always be 1.

##### Note

Contrary to the other precache_* natives, this can be used outside of
the plugin_precache() forward, e.g. in plugin_init() or plugin_cfg().
A bug in some clients makes this necessary, as plugin_precache() is
called before the mod has precached its own, default event files. This
can cause the event table to be misaligned on the client, leading to
visual and audio bugs that are hard to diagnose.

##### Return

Unique cache id of the event

#### precache_generic

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/precache_generic
- Line: 296

##### Syntax

```pawn
native precache_generic(const szFile[]);
```

##### Description

Precaches a generic file.

##### Parameters

- `szFile`: Path to the file

##### Note

Can only be used inside of the plugin_precache() forward.

##### Note

Precaching sounds with this will not add them to the engine sound table.

##### Return

Unique cache id of the file

##### Error

If called outside of the plugin_precache() forward, an error
is thrown.

#### precache_model

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/precache_model
- Line: 264

##### Syntax

```pawn
native precache_model(const name[]);
```

##### Description

Precaches a model file.

##### Parameters

- `name`: Path to the model file

##### Note

Can only be used inside of the plugin_precache() forward.

##### Return

Unique cache id of the model

##### Error

If called outside of the plugin_precache() forward, an error is
thrown.

#### precache_sound

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/precache_sound
- Line: 282

##### Syntax

```pawn
native precache_sound(const name[]);
```

##### Description

Precaches a sound file.

##### Parameters

- `name`: Path to the sound file

##### Note

Can only be used inside of the plugin_precache() forward.

##### Note

The filepath is always relative to the "sound" folder, and the file has
to be a wav file. Precaching a file with this will add it to the engine
sound table, making it available for usage in emit_sound() for example.

##### Note

Precaching other filetypes (such as mp3 music), optionally in different
locations, has to be done with precache_generic()

##### Return

Unique cache id of the sound

##### Error

If called outside of the plugin_precache() forward, an error is
thrown.

#### random_float

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/random_float
- Line: 2154

##### Syntax

```pawn
native Float:random_float(Float:a, Float:b);
```

##### Description

Returns a random floating point value generated by the engine.

##### Parameters

- `a`: Minimum value (inclusive)
- `b`: Maximum value (inclusive)

##### Return

Generated random value

#### random_num

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/random_num
- Line: 2164

##### Syntax

```pawn
native random_num(a, b);
```

##### Description

Returns a random integer value generated by the engine.

##### Parameters

- `a`: Minimum value (inclusive)
- `b`: Maximum value (inclusive)

##### Return

Generated random value

#### read_argc

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_argc
- Line: 1472

##### Syntax

```pawn
native read_argc();
```

##### Description

Returns number of client command arguments.

##### Note

Should only be used inside of the client_command() forward.

##### Note

This count includes the command itself. I.e. in a command with 4
arguments, this will return 5.

##### Return

Number of arguments in the command

#### read_args

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_args
- Line: 1461

##### Syntax

```pawn
native read_args(output[], len);
```

##### Description

Retrieves full client command string.

##### Parameters

- `output`: Buffer to copy command line to
- `len`: Maximum buffer size

##### Note

Should only be used inside of the client_command() forward.

##### Return

Number of cells written to buffer

#### read_argv

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_argv
- Line: 1427

##### Syntax

```pawn
native read_argv(id, output[], len);
```

##### Description

Retrieves argument of client command as string.

##### Parameters

- `id`: Argument index starting from 1, 0 returns the command itself
- `output`: Buffer to copy command argument to
- `len`: Maximum buffer size

##### Note

Should only be used inside of the client_command() forward.

##### Return

Number of cells written to buffer

#### read_argv_float

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_argv_float
- Line: 1449

##### Syntax

```pawn
native Float:read_argv_float(id);
```

##### Description

Retrieves argument of client command as float value.

##### Parameters

- `id`: Argument index starting from 1

##### Note

Should only be used inside of the client_command() forward.

##### Return

Float value

#### read_argv_int

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_argv_int
- Line: 1438

##### Syntax

```pawn
native read_argv_int(id);
```

##### Description

Retrieves argument of client command as integer value.

##### Parameters

- `id`: Argument index starting from 1

##### Note

Should only be used inside of the client_command() forward.

##### Return

Integer value

#### read_data

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_data
- Line: 815

##### Syntax

```pawn
native read_data(value, any:...);
```

##### Description

Retrieves values from a client message.

##### Parameters

- `value`: Argument number to retrieve value from
- `...`: Changes the native's behavior depending on how many
additional parameters are provided:
0 - Return the argument integer value directly
1 - Store the argument float value in the variable passed
as the second parameter
2 - Copy the argument string value to the buffer provided
in the second parameter, using the third as the
maximum buffer size

##### Note

For use within callbacks registered with register_event_ex()

##### Note

Usage examples:
value = read_data(1);
read_data(2, floatvalue);
written = read_data(3, buffer, buffersize);

##### Return

Changes depending on how many additional parameters are
provided:
0 - Returns the argument integer value
1 - Returns the argument float value, converted
(truncated) to an integer
2 - Returns the number of cells written to the buffer

#### read_datanum

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_datanum
- Line: 824

##### Syntax

```pawn
native read_datanum();
```

##### Description

Returns the number of values in the client message.

##### Note

For use within callbacks registered with register_event_ex()

##### Return

Number of values in client message

#### read_datatype

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_datatype
- Line: 833

##### Syntax

```pawn
native read_datatype();
```

##### Description

Returns the message id of the client message.

##### Note

For use within callbacks registered with register_event_ex()

##### Return

Message id of the client message

#### read_flags

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_flags
- Line: 1484

##### Syntax

```pawn
native read_flags(const flags[]);
```

##### Description

Converts a flag string to a bitflag value.

##### Parameters

- `flags`: Flag string to convert

##### Note

Example: The string "abcd" represents the sum of 1, 2, 4, and 8 - or
(1<<0)|(1<<1)|(1<<2)|(1<<3). The function will return 15.

##### Return

Bitflag value

#### read_logargc

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_logargc
- Line: 854

##### Syntax

```pawn
native read_logargc();
```

##### Description

Returns number of log message arguments.

##### Note

Should only be used inside of the plugin_log() forward.

##### Return

Number of arguments in the log message

#### read_logargv

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_logargv
- Line: 867

##### Syntax

```pawn
native read_logargv(id, output[], len);
```

##### Description

Retrieves argument of log message.

##### Parameters

- `id`: Argument index, starting from 0
- `output`: Buffer to copy log argument to
- `len`: Maximum buffer size

##### Note

Should only be used inside of the plugin_log() forward.

##### Return

Number of cells written to buffer

#### read_logdata

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/read_logdata
- Line: 845

##### Syntax

```pawn
native read_logdata(output[], len);
```

##### Description

Retrieves current log message.

##### Parameters

- `output`: Buffer to copy log message to
- `len`: Maximum buffer size

##### Note

Should only be used inside of the plugin_log() forward.

##### Return

Number of cells written to buffer

#### register_clcmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_clcmd
- Line: 1906

##### Syntax

```pawn
native register_clcmd(const client_cmd[], const function[], flags = -1, const info[] = "", FlagManager = -1, bool:info_ml = false);
```

##### Description

Registers a callback to be called when the client executes a command from the
console.

##### Parameters

- `client_cmd`: Command to register
- `function`: Callback function
- `flags`: Admin privilege flags required
- `info`: Command description
- `FlagManager`: 0 opts out of flag manager, 1 opts in, -1 selects
automatically
- `info_ml`: If true, the parameter "info" will be looked up as multilingual key

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Note

Opting in to FlagManager enables the admin privileges to be overwritten
by the end user via the cmdaccess.ini config file.

##### Note

Automatic detection for FlagManager will only include a command if it
has required privileges (flags is not -1) and it is not a command
starting with "say".

##### Return

Command id, 0 on failure

##### Error

If an invalid callback function is specified, an error
will be thrown.

#### register_concmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_concmd
- Line: 1932

##### Syntax

```pawn
native register_concmd(const cmd[], const function[], flags = -1, const info[] = "", FlagManager = -1, bool:info_ml = false);
```

##### Description

Registers a callback to be called when the client or server executes a
command from the console.

##### Parameters

- `client_cmd`: Command to register
- `function`: Callback function
- `flags`: Admin privilege flags required
- `info`: Command description
- `FlagManager`: 0 opts out of flag manager, 1 opts in, -1 selects
automatically
- `info_ml`: If true, the parameter "info" will be looked up as multilingual key

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Note

Opting in to FlagManager enables the admin privileges to be overwritten
by the end user via the cmdaccess.ini config file.

##### Note

Automatic detection for FlagManager will only include a command if it
has required privileges (flags is not -1) and it is not a command
starting with "say".

##### Return

Command id, 0 on failure

##### Error

If an invalid callback function is specified, an error
will be thrown.

#### register_event

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_event
- Line: 543

##### Syntax

```pawn
native register_event(const event[], const function[], const flags[], const cond[] = "", ...);
```

##### Description

Registers a function to be called on a given game event.

##### Parameters

- `event`: Name of event that should be hooked
- `function`: Name of callback function
- `flags`: Flags used for filtering events, the valid flags are:
"a" - Global event (sent to every client)
"b" - Event sent to single client
"c" - Call only once when repeated to multiple clients
"d" - Call only if sent to dead client
"e" - Call only if sent to alive client
"f" - Call only if sent to human client ("b" flag required)
"g" - Call only if sent to bot ("b" flag required)
- `cond`: Condition string used for filtering events, built as:
"<argument number><comparison operator><value>"
Argument number is the argument position to be filtered
The comparison operator may be:
- "=" for equality comparison (all argument types)
- "!" for inequality comparison (all argument types)
- "&" for bitwise and (int argument) or substring
comparison (string argument)
- "<" for less than comparison (int/float arguments)
- ">" for greater than comparison (int/float arguments)
The argument is compared to the specified value accordingly
- `...`: Any number of additional conditions

##### Note

Please consider using register_event_ex() instead which allows you to
use named constants for flags instead of letters.

##### Note

Examples for event conditions:
"2=c4" - Second parameter of message must be the string "c4"
"3>10" - Third parameter of message must be greater than 10
"3!4" - Third parameter of message must not be equal to 4
"2&Buy" - Second parameter of message must contain "Buy" substring
"2!Buy" - Second parameter of message must not equal "Buy"

##### Note

Due to a long-standing bug that would break compatibility with older
plugins, the client id should be checked for alive/dead state if using
flags "d" or "e".

##### Note

If multiple conditions are specified for a single parameter, only one
of them has to hold true for the event function to be called.

##### Return

Event handle

##### Error

If an invalid event name or callback function is provided,
an error will be thrown.

#### register_event_ex

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_event_ex
- Line: 587

##### Syntax

```pawn
native register_event_ex(const event[], const function[], RegisterEventFlags:flags, const cond[] = "", ...);
```

##### Description

Registers a function to be called on a given game event.

##### Parameters

- `event`: Name of event that should be hooked
- `function`: Name of callback function
- `flags`: Flags used for filtering events (enum RegisterEventFlags); the valid flags are:
RegisterEvent_Global - Global event (sent to every client)
RegisterEvent_Single - Event sent to single client
RegisterEvent_OnceForMultiple - Call only once when repeated to multiple clients
RegisterEvent_OnlyDead - Call only if sent to dead client
RegisterEvent_OnlyAlive - Call only if sent to alive client
RegisterEvent_OnlyHuman - Call only if sent to human client (RegisterEvent_Single required)
RegisterEvent_OnlyBots - Call only if sent to bot (RegisterEvent_Single required)
- `cond`: Condition string used for filtering events, built as:
"<argument number><comparison operator><value>"
Argument number is the argument position to be filtered
The comparison operator may be:
"=" for equality comparison (all argument types)
"!" for inequality comparison (all argument types)
"&" for bitwise and (int argument) or substring
comparison (string argument)
"<" for less than comparison (int/float arguments)
">" for greater than comparison (int/float arguments)
The argument is compared to the specified value accordingly
- `...`: Any number of additional conditions

##### Note

Examples for event conditions:
"2=c4" - Second parameter of message must be the string "c4"
"3>10" - Third parameter of message must be greater than 10
"3!4" - Third parameter of message must not be equal to 4
"2&Buy" - Second parameter of message must contain "Buy" substring
"2!Buy" - Second parameter of message must not equal "Buy"

##### Note

Due to a long-standing bug that would break compatibility with older
plugins, the client id should be checked for alive/dead state if using
flags "d" or "e".

##### Note

If multiple conditions are specified for a single parameter, only one
of them has to hold true for the event function to be called.

##### Return

Event handle

##### Error

If an invalid event name or callback function is provided,
an error will be thrown.

#### register_library

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_library
- Line: 2725

##### Syntax

```pawn
native register_library(const library[]);
```

##### Description

Registers the plugin as a library.

##### Note

To mark a library as required, place the following in the include
file:
#pragma reqlib <name>
#if !defined AMXMODX_NOAUTOLOAD
#pragma loadlib <name>
#endif

##### Return

This function has no return value.

#### register_logevent

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_logevent
- Line: 634

##### Syntax

```pawn
native register_logevent(const function[], argsnum, ...);
```

##### Description

Registers a function to be called on a given log event.

##### Parameters

- `function`: Name of callback function
- `argsnum`: Number of arguments of the log event
- `...`: Any number of conditions used for filtering events
A condition string is built as:
"<argument number><comparison operator><string>"
Argument number is the argument position to be filtered
The comparison operator may be:
- "=" for equality comparison
- "&" for substring comparison
The argument is compared to the specified string accordingly

##### Note

Examples for log conditions:
"0 = World triggered" "1 = Game_Commencing"
"1 = say"
"3 = Terrorists_Win"
"1 = entered the game"
"0 = Server cvar"

##### Return

Log event handle

##### Error

If an invalid callback function is provided, an error will
be thrown.

#### register_menucmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_menucmd
- Line: 2096

##### Syntax

```pawn
native register_menucmd(menuid, keys, const function[]);
```

##### Description

Registers a callback function to a menu id and keys.

##### Parameters

- `menuid`: Menu id
- `keys`: Key flags
- `function`: Callback function

##### Return

This function has no return value.

##### Error

If an invalid callback function is specified, an error
will be thrown.

#### register_menuid

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_menuid
- Line: 2083

##### Syntax

```pawn
native register_menuid(const menu[], outside = 0);
```

##### Description

Returns unique menu id of a menu.

##### Parameters

- `menu`: Menu name
- `outside`: Catch menus outside the calling plugin

##### Return

Menu id

#### register_native

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_native
- Line: 2711

##### Syntax

```pawn
native register_native(const name[], const handler[], style = 0);
```

##### Description

Registers a native.

##### Parameters

- `name`: Native name
- `handler`: Callback function
- `style`: Native style

##### Note

Style 0 natives call the handler in the following manner:
public native_handler(plugin_id, argc)
plugin_id    - plugin calling the native
argc         - number of parameters

##### Note

Style 1 natives are deprecated. Plugins should not use them, they might
break.

##### Note

Style 1 natives work a little different. Instead of passing plugin id
and number of parameters, the handler should be prototyped just like the
native would be called. For each by-reference parameter, the plugin
then has to use param_convert() to properly use them.

##### Note

A native should *never* recurse. Bad things will happen.

##### Return

This function has no return value.

##### Error

If an invalid callback is specified, an error is thrown.

#### register_plugin

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_plugin
- Line: 251

##### Syntax

```pawn
native register_plugin(const plugin_name[], const version[], const author[], const url[] = "", const description[] = "");
```

##### Description

Sets informations about the calling plugin.

##### Parameters

- `plugin_name`: Name of the plugin
- `version`: Version of the plugin
- `author`: Author of the plugin
- `url`: URL of the plugin
- `description`: Description of the plugin

##### Return

Plugin id of the calling plugin

#### register_srvcmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/register_srvcmd
- Line: 1951

##### Syntax

```pawn
native register_srvcmd(const server_cmd[], const function[], flags = -1, const info[] = "", bool:info_ml = false);
```

##### Description

Registers a callback to be called when the server executes a command from the
console.

##### Parameters

- `client_cmd`: Command to register
- `function`: Callback function
- `flags`: Admin privilege flags required
- `info`: Command description
- `info_ml`: If true, the parameter "info" will be looked up as multilingual key

##### Note

For a list of possible access flags, see the ADMIN_* constants in
amxconst.inc

##### Return

Command id, 0 on failure

##### Error

If an invalid callback function is specified, an error
will be thrown.

#### remove_quotes

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/remove_quotes
- Line: 1567

##### Syntax

```pawn
native remove_quotes(text[]);
```

##### Description

Removes double-quotes from the beginning and end of a string.

##### Parameters

- `text`: String to remove double-quotes from

##### Note

If the string only has a double-quote at either the start *or* the end,
and not both, the function will do nothing.

##### Note

The function does not perform any trimming per-se. But if a
double-quote is found at the beginning of the string, it will remove
one ^r (carriage return) character at the end of the string if present,
even if no matching double-quote is found. This is for convenience.

##### Return

1 if matching double-quotes have been removed, 0 otherwise

#### remove_task

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/remove_task
- Line: 1803

##### Syntax

```pawn
native remove_task(id = 0, outside = 0);
```

##### Description

Removes all tasks with the specified id.

##### Parameters

- `id`: Task id to search for
- `outside`: Will remove tasks set by other plugins if nonzero

##### Return

Number of removed tasks

#### remove_user_flags

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/remove_user_flags
- Line: 1880

##### Syntax

```pawn
native remove_user_flags(index, flags = -1, id = 0);
```

##### Description

Removes the specified admin flags from a client.

##### Parameters

- `index`: Client index, 0 to set flags of server
- `flags`: Admin flags
- `id`: Flag set id, ranging from 0 to 31

##### Note

For a list of possible flags, see the ADMIN_* constants in amxconst.inc

##### Note

This function just removes the flags using a bitwise-and operation.

##### Note

AMXX stores multiple sets of flags internally, but only flag set
0 is actively used. You should not change the value of the third
parameter from the default.

##### Return

This function has no return value.

##### Error

If the index is not within the range of 0 to MaxClients, an
error will be thrown.

#### require_module

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/require_module
- Line: 2654

##### Syntax

```pawn
native require_module(const module[]);
```

##### Description

This function has no description.

#### server_cmd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/server_cmd
- Line: 1645

##### Syntax

```pawn
native server_cmd(const command[], any:...);
```

##### Description

Queues a command to be executed from the server console.

##### Parameters

- `command`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

Warning: This is a potential source of command injection. Do not feed
client-controlled input (including client names) to this function
without sanitizing it first.

##### Note

The queued commands will be executed by the engine on the next frame.
If you require them to be executed immediately, see server_exec()

##### Return

This function has no return value.

#### server_exec

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/server_exec
- Line: 2122

##### Syntax

```pawn
native server_exec();
```

##### Description

Forces the server to execute the command queue immediately.

##### Note

Commands can be added to the queue using server_cmd()

##### Return

This function has no return value.

#### server_print

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/server_print
- Line: 899

##### Syntax

```pawn
native server_print(const message[], any:...);
```

##### Description

Sends a message to the console of the server.

##### Parameters

- `message`: Formatting rules
- `...`: Variable number of formatting parameters

##### Return

Number of printed characters

#### set_addr_val

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_addr_val
- Line: 3236

##### Syntax

```pawn
native set_addr_val(addr, val);
```

##### Description

Sets the value of an address.

##### Parameters

- `addr`: Variable address
- `val`: Value to set

##### Note

Addresses can be acquired using get_var_addr()

##### Return

This function has no return value.

##### Error

If the plugin attempts to access an address outside of the
stack or heap limits of the plugin, an error will be thrown.

#### set_array

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_array
- Line: 2897

##### Syntax

```pawn
native set_array(param, const source[], size);
```

##### Description

Copies an array to the plugin calling the native.

##### Parameters

- `param`: Argument to set, starting from 1
- `source`: Buffer to copy array from
- `maxlen`: Size of buffer

##### Return

This function has no return value.

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### set_array_f

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_array_f
- Line: 2910

##### Syntax

```pawn
native set_array_f(param, const Float:source[], size);
```

##### Description

Copies a float array to the plugin calling the native.

##### Parameters

- `param`: Argument to set, starting from 1
- `source`: Buffer to copy array from
- `maxlen`: Size of buffer

##### Return

This function has no return value.

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### set_dhudmessage

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_dhudmessage
- Line: 735

##### Syntax

```pawn
native set_dhudmessage(red = 200, green = 100, blue = 0, Float:x = -1.0, Float:y = 0.35, effects = 0, Float:fxtime = 6.0, Float:holdtime = 12.0, Float:fadeintime = 0.1, Float:fadeouttime = 0.2);
```

##### Description

Sets display parameters for director hudmessages.

##### Parameters

- `red`: Red component of hudmessage color
- `green`: Green component of hudmessage color
- `blue`: Blue component of hudmessage color
- `x`: Location of the message on the x axis in percent
- `y`: Location of the message on the y axis in percent
- `effects`: Display effect
- `fxtime`: Duration of the effect
- `holdtime`: Time the message stays on screen
- `fadeintime`: Time it takes the message to fully appear (fade-in)
- `fadeouttime`: Time it takes the message to fully disappear (fade-out)

##### Note

For the hudmessage coordinates x and y, -1.0 will center the message
on the respective axis.

##### Note

These parameters stay until the next call to set_dhudmessage overwrites
them. Multiple calls to show_dhudmessage will therefore re-use the same
parameters. The parameters are not stored per-plugin, so other plugins
can overwrite them.

##### Return

This function has no return value.

#### set_error_filter

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_error_filter
- Line: 2934

##### Syntax

```pawn
native set_error_filter(const handler[]);
```

##### Description

Allows to trap error messages that occur in a plugin.

##### Parameters

- `handler`: Function name to call

##### Note

This can be used to override the debug messages that occur when the
plugin causes some kind of runtime error.

##### Note

The handler will be called in the following manner:
public error_filter(error_code, bool:debugging, message[])
error_code      - AMX_ERR_* code.
debugging       - True if the plugin is in debug mode, false otherwise
message[]       - Message sent along with the error

##### Note

The handler should return PLUGIN_CONTINUE to let the error through the
filter, or PLUGIN_HANDLED to block the error from displaying.

##### Return

This function has no return value.

##### Error

If an invalid callback function is provided, an error
is thrown.

#### set_fail_state

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_fail_state
- Line: 3197

##### Syntax

```pawn
native set_fail_state(const fmt[], any:...);
```

##### Description

Sets the calling plugin to a failed state.

##### Parameters

- `fmt`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

Calling this will cause the calling plugin to completely cease
operation. It is not possible to recover.

##### Note

This should be used to gracefully handle fatal errors. The log message
will appear in the AMXX error log.

##### Return

This function has no return value.

##### Error

The function is guaranteed to throw a fatal error, ceasing
further operation of the plugin.

#### set_float_byref

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_float_byref
- Line: 2858

##### Syntax

```pawn
native set_float_byref(param, Float:value);
```

##### Description

Sets the float value of a by-reference parameter to the plugin calling the
native.

##### Parameters

- `param`: Argument to set, starting from 1
- `value`: Value to set parameter to

##### Return

This function has no return value.

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### set_hudmessage

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_hudmessage
- Line: 689

##### Syntax

```pawn
native set_hudmessage(red = 200, green = 100, blue = 0, Float:x = -1.0, Float:y = 0.35, effects = 0, Float:fxtime = 6.0, Float:holdtime = 12.0, Float:fadeintime = 0.1, Float:fadeouttime = 0.2, channel = -1, alpha1 = 0, color2[4] = {255, 255, 250, 0});
```

##### Description

Sets display parameters for hudmessages.

##### Parameters

- `red`: Red component of hudmessage color
- `green`: Green component of hudmessage color
- `blue`: Blue component of hudmessage color
- `x`: Location of the message on the x axis in percent
- `y`: Location of the message on the y axis in percent
- `effects`: Display effect
- `fxtime`: Duration of the effect
- `holdtime`: Time the message stays on screen
- `fadeintime`: Time it takes the message to fully appear (fade-in)
- `fadeouttime`: Time it takes the message to fully disappear (fade-out)
- `channel`: Channel to use on the client
- `alpha1`: Alpha component of hudmessage color
- `color2[4]`: Color 2 array {r,g,b,a}

##### Note

As of AMXX 1.61, setting the channel to -1 will automatically choose
the next available HUD channel for the client.

##### Note

There are four different HUD channels available on the client (1-4).
Sending a hudmessage to a channel will overwrite any existing messages
already displaying on that channel.

##### Note

If you plan to create a permanent message, don't forget to specify a
specific channel to avoid possible flickering due to auto-channeling.

##### Note

For the hudmessage coordinates x and y, -1.0 will center the message
on the respective axis.

##### Note

These parameters stay until the next call to set_hudmessage overwrites
them. Multiple calls to show_hudmessage will therefore re-use the same
parameters. The parameters are not stored per-plugin, so other plugins
can overwrite them.

##### Return

This function has no return value.

#### set_localinfo

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_localinfo
- Line: 367

##### Syntax

```pawn
native set_localinfo(const info[], const value[]);
```

##### Description

Sets info on the server.

##### Parameters

- `info`: Info key
- `value`: New value

##### Return

This function has no return value.

#### set_module_filter

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_module_filter
- Line: 3040

##### Syntax

```pawn
native set_module_filter(const handler[]);
```

##### Description

Sets a module/library filter, letting the plugin intercept and handle an
automatic module requirement.

##### Note

This has to be used inside the plugin_native() forward, otherwise it
has no effect.

##### Note

This is useful for creating plugins that can dynamically decide which
modules or features to use at runtime, often necessary for cross-mod
plugins. It allows to deploy a single version of the plugin instead
of compiling multiple versions for each use-case.

##### Note

For a list of possible libtypes see the LibType enum in amxconst.inc

##### Note

The handler will be called in the following manner:
public module_filter(const library[], LibType:type)
library     - Shortname of library or class that is required
libtrype    - Type of requirement being checked (library/module or class)

##### Note

The handler should return PLUGIN_CONTINUE to let the error through the
filter (which will result in the plugin failing to load), or
PLUGIN_HANDLED to imply that load can continue without the module.

##### Note

Errors occuring inside the handler will not be filtered and cause the
plugin to fail load as if the handler returned PLUGIN_CONTINUE.

##### Return

0 on success, -1 if filtering is not available, -2 if handler
could not be found.

#### set_native_filter

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_native_filter
- Line: 3011

##### Syntax

```pawn
native set_native_filter(const handler[]);
```

##### Description

Sets a native filter, letting the plugin intercept and handle an
automatic native requirement.

##### Parameters

- `handler`: Function name to call

##### Note

This has to be used inside the plugin_native() forward, otherwise it
has no effect.

##### Note

This is useful for creating plugins that can dynamically decide which
modules or features to use at runtime, often necessary for cross-mod
plugins. It allows to deploy a single version of the plugin instead
of compiling multiple versions for each use-case.

##### Note

The handler will be called in the following manner:
public native_filter(const native[], index, trap)
native      - Native name
index       - Native index
trap        - 0 if native couldn't be found, 1 if native use was attempted

##### Note

The handler should return PLUGIN_CONTINUE to let the error through the
filter (which will throw a run-time error), or return PLUGIN_HANDLED
to continue operation.

##### Note

Returning PLUGIN_CONTINUE if trap is 0 will result in the plugin
failing to load!

##### Return

1 if handler is set successfully, 0 otherwise (called
outside of plugin_native() forward)

##### Error

If an invalid callback function is provided, an error is
thrown.

#### set_param_byref

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_param_byref
- Line: 2845

##### Syntax

```pawn
native set_param_byref(param, value);
```

##### Description

Sets the integer value of a by-reference parameter to the plugin calling the
native.

##### Parameters

- `param`: Argument to set, starting from 1
- `value`: Value to set parameter to

##### Return

This function has no return value.

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### set_string

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_string
- Line: 2786

##### Syntax

```pawn
native set_string(param, dest[], maxlen);
```

##### Description

Copies a string to the plugin calling the native.

##### Parameters

- `param`: Argument to set, starting from 1
- `dest`: Buffer to copy string from
- `maxlen`: Maximum size of buffer

##### Return

Number of cells copied from buffer

##### Error

If used outside of a native callback, or the native was
created with style 1, an error will be thrown.

#### set_task

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_task
- Line: 1793

##### Syntax

```pawn
native set_task(Float:time, const function[], id = 0, const any:parameter[] = "", len = 0, const flags[] = "", repeat = 0);
```

##### Description

Calls a function after a specified time has elapsed.

##### Parameters

- `time`: Time interval to assign
- `function`: Function to execute
- `id`: Task id to assign
- `parameter`: Data to pass through to callback
- `len`: Size of data
- `flags`: Optional set of flags:
"a" - repeat timer a set amount of times
"b" - loop indefinitely until timer is stopped
"c" - time interval is treated as absolute time after
map start
"d" - time interval is treated as absolute time before
map change
- `repeat`: If the "a" flag is set, the task will be repeated this
many times

##### Note

Please consider using set_task_ex() instead which allows you to
use named constants for flags instead of letters.

##### Note

The function is called in the following manner if data is passed:
data[]          - Data passed
id              - Task index

##### Note

The function is called in the following manner if no data is passed:
id              - Task index

##### Return

This function has no return value.

##### Error

If an invalid callback function is provided, an error is
thrown.

#### set_user_flags

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_user_flags
- Line: 1844

##### Syntax

```pawn
native set_user_flags(index, flags = -1, id = 0);
```

##### Description

Sets the specified admin flags to a client.

##### Parameters

- `index`: Client index, 0 to set flags of server
- `flags`: Admin flags
- `id`: Flag set id, ranging from 0 to 31

##### Note

For a list of possible flags, see the ADMIN_* constants in amxconst.inc

##### Note

This function just adds the flags using a bitwise-or operation. After it
has run, the flags may not exactly equal the specified bitflag sum.

##### Note

AMXX stores multiple sets of flags internally, but only flag set
0 is actively used. You should not change the value of the third
parameter from the default.

##### Return

This function has no return value.

##### Error

If the index is not within the range of 0 to MaxClients, an
error will be thrown.

#### set_user_info

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_user_info
- Line: 343

##### Syntax

```pawn
native set_user_info(index, const info[], const value[]);
```

##### Description

Sets info on the client.

##### Parameters

- `index`: Client index
- `info`: Info key
- `value`: New value

##### Return

This function has no return value.

##### Error

If the index is not within the range of 1 to MaxClients or
the client is not connected, an error will be thrown.

#### set_xvar_float

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_xvar_float
- Line: 2274

##### Syntax

```pawn
native set_xvar_float(id, Float:value = 0.0);
```

##### Description

Sets the float value of a public variable.

##### Parameters

- `id`: Xvar id, an xvar id can be retrieved using get_xvar_id()
- `value`: Value to set

##### Note

If multiple plugins declare the same public variable, they are not
automatically synchronized. The xvar system accesses only one of all
public variables directly. Xvars have to be set through the natives or
the xvar will not be updated.

##### Return

This function has no return value.

##### Error

If an invalid xvar id is specified, an error will be thrown.

#### set_xvar_num

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/set_xvar_num
- Line: 2258

##### Syntax

```pawn
native set_xvar_num(id, value = 0);
```

##### Description

Sets the integer value of a public variable.

##### Parameters

- `id`: Xvar id, an xvar id can be retrieved using get_xvar_id()
- `value`: Value to set

##### Note

If multiple plugins declare the same public variable, they are not
automatically synchronized. The xvar system accesses only one of all
public variables directly. Xvars have to be set through the natives or
the xvar will not be updated.

##### Return

This function has no return value.

##### Error

If an invalid xvar id is specified, an error will be thrown.

#### show_dhudmessage

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/show_dhudmessage
- Line: 762

##### Syntax

```pawn
native show_dhudmessage(index, const message[], any:...);
```

##### Description

Displays a director message on the client HUD.

##### Parameters

- `index`: Client index, use 0 to display to all clients
- `message`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

Use set_dhudmessage to define how the message should look on screen.

##### Note

Unlike the classic HUD message, which is channel-based, director
messages are stack-based. You can have up to 8 messages displaying at
once. If more are added, they will be overwritten in the order they were
sent. There is no way to clear a specific message.

##### Note

The message has a maximum length of 128 characters which this function
will automatically enforce.

##### Note

This functions return value behaves differently depending on what is
used as the client index: If 0 is specified, then the function will
return 0 if nothing has been sent (no client connected). If either a
single client is specified, or there is at least one client connected,
the number of printed characters will refer to the message that is sent
last, to the client with the highest index.

##### Return

Number of printed characters

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### show_hudmessage

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/show_hudmessage
- Line: 710

##### Syntax

```pawn
native show_hudmessage(index, const message[], any:...);
```

##### Description

Displays a message on the client HUD.

##### Parameters

- `index`: Client index, use 0 to display to all clients
- `message`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

Use set_hudmessage to define how the message should look on screen.

##### Note

This functions return value behaves differently depending on what is
used as the client index: If 0 is specified, then the function will
return 0 if nothing has been sent (no client connected). If either a
single client is specified, or there is at least one client connected,
the number of printed characters will refer to the message that is sent
last, to the client with the highest index.

##### Return

Number of printed characters

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### show_menu

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/show_menu
- Line: 787

##### Syntax

```pawn
native show_menu(index, keys, const menu[], time = -1, const title[] = "");
```

##### Description

Displays a menu to the client.

##### Parameters

- `index`: Client to display menu to, use 0 to display to all clients
- `keys`: Enabled keys
- `menu`: Menu body
- `time`: Menu timeout in seconds, -1 to disable
- `title`: Name of the menu for internal tracking purposes

##### Note

Keys is a bitflag value that represents which keys the user can press
on the menu. If you want to display disabled menu options, or skip
certain number slots, you should exclude that key from the bitflag.
amxconst.inc provides MENU_KEY_* constants for convenience.

##### Note

The title parameter is not displayed to the client and is only used for
identifying menus internally and assigning them to their callbacks.
The title corresponds to the menu name that you register with
register_menuid()

##### Return

1 on success, 0 if menu could not be displayed (client not
connected)

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error will be thrown.

#### show_motd

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/show_motd
- Line: 391

##### Syntax

```pawn
native show_motd(player, const message[], const header[] = "");
```

##### Description

Shows text or a file in MOTD window.

##### Parameters

- `player`: Client index, use 0 to display to all clients
- `message`: Message to display inside the MOTD window, if this is a
filename the contents of this file will be displayed
- `header`: Text for the MOTD header, if empty the servers hostname will
be displayed instead

##### Return

This function has no return value.

#### task_exists

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/task_exists
- Line: 1824

##### Syntax

```pawn
native task_exists(id = 0, outside = 0);
```

##### Description

Returns if a task with the specified id exists.

##### Parameters

- `id`: Task id to search for
- `outside`: Search for tasks set by other plugins if nonzero

##### Return

1 if a task was found, 0 otherwise

#### unpause

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/unpause
- Line: 2399

##### Syntax

```pawn
native unpause(const flag[], const param1[] = "", const param2[] = "");
```

##### Description

Unpauses a plugin so it will resume execution if it was previously paused.

##### Parameters

- `flag`: Pause flags
"a" - pause plugin
"c" - search for other plugins using param1
- `param1`: Plugin filename
- `param2`: Unused and ignored

##### Note

This used to be able to unpause specific functions, but this
functionality (along with the flags "b" and "e") has been deprecated.

##### Note

Without specifying flag "c" this function will do nothing, as a plugin
is incapable of unpausing itself. This is a relict of the deprecated
functionality.

##### Return

1 on success, 0 otherwise

##### Error

If it is attempted to use the deprecated functionality,
an error is thrown.

#### user_has_weapon

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/user_has_weapon
- Line: 1135

##### Syntax

```pawn
native user_has_weapon(index, weapon, setweapon = -1);
```

##### Description

Returns if the client has the specified weapon in their inventory.

##### Parameters

- `index`: Client index
- `weapon`: Weapon index
- `setweapon`: If zero the weapon bit will be removed from the client's
inventory, if 1 it will be set

##### Return

1 if the weapon is present, 0 if it is not

##### Error

If the client index is not within the range of 1 to
MaxClients, an error will be thrown.

#### user_kill

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/user_kill
- Line: 1330

##### Syntax

```pawn
native user_kill(index, flag = 0);
```

##### Description

Kills a client.

##### Parameters

- `index`: Client index
- `flag`: If nonzero, the death will not affect the client's score

##### Return

1 on success, 0 if client index is invalid or the client
is not connected

#### user_slap

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/user_slap
- Line: 1319

##### Syntax

```pawn
native user_slap(index, power, rnddir = 1);
```

##### Description

Slaps the client with specified power. Killing the client if applicable.

##### Parameters

- `index`: Client index
- `power`: Power of the slap
- `rnddir`: If set to zero the player will be slapped along it's aim
vector, otherwise the direction will be randomized

##### Note

This removes "power" amount of health from the client, performing
a kill if they have no health left after the slap.

##### Note

The function will apply a velocity to the client that is independent
of the slap power. The slap direction can be influenced by the third
parameter.

##### Return

1 if user is alive and slap succeeded, 0 otherwise

#### xvar_exists

- Include: `amxmodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx/function/xvar_exists
- Line: 2214

##### Syntax

```pawn
native xvar_exists(const name[]);
```

##### Description

Returns if a public variable exists in any loaded plugin.

##### Parameters

- `name`: Variable name

##### Return

1 if public cvar exists, 0 otherwise

## amxmodx 1.8.2 hg65 / amxconst.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxconst
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 180

### Constants

#### M_PI

M_PI

```pawn
#define M_PI 3.1415926535
```

#### ADMIN_ALL

ADMIN_ALL

```pawn
#define ADMIN_ALL		0	/* everyone */
```

#### ADMIN_IMMUNITY

ADMIN_IMMUNITY

```pawn
#define ADMIN_IMMUNITY		(1<<0)	/* flag "a" */
```

#### ADMIN_RESERVATION

ADMIN_RESERVATION

```pawn
#define ADMIN_RESERVATION	(1<<1)	/* flag "b" */
```

#### ADMIN_KICK

ADMIN_KICK

```pawn
#define ADMIN_KICK		(1<<2)	/* flag "c" */
```

#### ADMIN_BAN

ADMIN_BAN

```pawn
#define ADMIN_BAN		(1<<3)	/* flag "d" */
```

#### ADMIN_SLAY

ADMIN_SLAY

```pawn
#define ADMIN_SLAY		(1<<4)	/* flag "e" */
```

#### ADMIN_MAP

ADMIN_MAP

```pawn
#define ADMIN_MAP		(1<<5)	/* flag "f" */
```

#### ADMIN_CVAR

ADMIN_CVAR

```pawn
#define ADMIN_CVAR		(1<<6)	/* flag "g" */
```

#### ADMIN_CFG

ADMIN_CFG

```pawn
#define ADMIN_CFG		(1<<7)	/* flag "h" */
```

#### ADMIN_CHAT

ADMIN_CHAT

```pawn
#define ADMIN_CHAT		(1<<8)	/* flag "i" */
```

#### ADMIN_VOTE

ADMIN_VOTE

```pawn
#define ADMIN_VOTE		(1<<9)	/* flag "j" */
```

#### ADMIN_PASSWORD

ADMIN_PASSWORD

```pawn
#define ADMIN_PASSWORD		(1<<10)	/* flag "k" */
```

#### ADMIN_RCON

ADMIN_RCON

```pawn
#define ADMIN_RCON		(1<<11)	/* flag "l" */
```

#### ADMIN_LEVEL_A

ADMIN_LEVEL_A

```pawn
#define ADMIN_LEVEL_A		(1<<12)	/* flag "m" */
```

#### ADMIN_LEVEL_B

ADMIN_LEVEL_B

```pawn
#define ADMIN_LEVEL_B		(1<<13)	/* flag "n" */
```

#### ADMIN_LEVEL_C

ADMIN_LEVEL_C

```pawn
#define ADMIN_LEVEL_C		(1<<14)	/* flag "o" */
```

#### ADMIN_LEVEL_D

ADMIN_LEVEL_D

```pawn
#define ADMIN_LEVEL_D		(1<<15)	/* flag "p" */
```

#### ADMIN_LEVEL_E

ADMIN_LEVEL_E

```pawn
#define ADMIN_LEVEL_E		(1<<16)	/* flag "q" */
```

#### ADMIN_LEVEL_F

ADMIN_LEVEL_F

```pawn
#define ADMIN_LEVEL_F		(1<<17)	/* flag "r" */
```

#### ADMIN_LEVEL_G

ADMIN_LEVEL_G

```pawn
#define ADMIN_LEVEL_G		(1<<18)	/* flag "s" */
```

#### ADMIN_LEVEL_H

ADMIN_LEVEL_H

```pawn
#define ADMIN_LEVEL_H		(1<<19)	/* flag "t" */
```

#### ADMIN_MENU

ADMIN_MENU

```pawn
#define ADMIN_MENU		(1<<20)	/* flag "u" */
```

#### ADMIN_ADMIN

ADMIN_ADMIN

```pawn
#define ADMIN_ADMIN		(1<<24)	/* flag "y" */
```

#### ADMIN_USER

ADMIN_USER

```pawn
#define ADMIN_USER		(1<<25)	/* flag "z" */
```

#### FLAG_KICK

FLAG_KICK

```pawn
#define FLAG_KICK		(1<<0)	/* flag "a" */
```

#### FLAG_TAG

FLAG_TAG

```pawn
#define FLAG_TAG		(1<<1)	/* flag "b" */
```

#### FLAG_AUTHID

FLAG_AUTHID

```pawn
#define FLAG_AUTHID		(1<<2)	/* flag "c" */
```

#### FLAG_IP

FLAG_IP

```pawn
#define FLAG_IP			(1<<3)	/* flag "d" */
```

#### FLAG_NOPASS

FLAG_NOPASS

```pawn
#define FLAG_NOPASS		(1<<4)	/* flag "e" */
```

#### FLAG_CASE_SENSITIVE

FLAG_CASE_SENSITIVE

```pawn
#define FLAG_CASE_SENSITIVE	(1<<10) /* flag "k" */
```

#### PLUGIN_CONTINUE

PLUGIN_CONTINUE

```pawn
#define PLUGIN_CONTINUE		0	/* Results returned by public functions */
```

#### PLUGIN_HANDLED

PLUGIN_HANDLED

```pawn
#define PLUGIN_HANDLED		1	/* stop other plugins */
```

#### PLUGIN_HANDLED_MAIN

PLUGIN_HANDLED_MAIN

```pawn
#define PLUGIN_HANDLED_MAIN	2	/* to use in client_command(), continue all plugins but stop the command */
```

#### FCVAR_ARCHIVE

FCVAR_ARCHIVE

```pawn
#define	FCVAR_ARCHIVE		1	/* set to cause it to be saved to vars.rc */
```

#### FCVAR_USERINFO

FCVAR_USERINFO

```pawn
#define	FCVAR_USERINFO		2	/* changes the client's info string */
```

#### FCVAR_SERVER

FCVAR_SERVER

```pawn
#define	FCVAR_SERVER		4	/* notifies players when changed */
```

#### FCVAR_EXTDLL

FCVAR_EXTDLL

```pawn
#define FCVAR_EXTDLL		8	/* defined by external DLL */
```

#### FCVAR_CLIENTDLL

FCVAR_CLIENTDLL

```pawn
#define FCVAR_CLIENTDLL		16	/* defined by the client dll */
```

#### FCVAR_PROTECTED

FCVAR_PROTECTED

```pawn
#define FCVAR_PROTECTED		32	/* It's a server cvar, but we don't send the data since it's a password, etc.  Sends 1 if it's not bland/zero, 0 otherwise as value */
```

#### FCVAR_SPONLY

FCVAR_SPONLY

```pawn
#define FCVAR_SPONLY		64	/* This cvar cannot be changed by clients connected to a multiplayer server. */
```

#### FCVAR_PRINTABLEONLY

FCVAR_PRINTABLEONLY

```pawn
#define FCVAR_PRINTABLEONLY	128	/* This cvar's string cannot contain unprintable characters ( e.g., used for player name etc ). */
```

#### FCVAR_UNLOGGED

FCVAR_UNLOGGED

```pawn
#define FCVAR_UNLOGGED		256	/* If this is a FCVAR_SERVER, don't log changes to the log file / console if we are creating a log */
```

#### CSW_P228

CSW_P228

```pawn
#define CSW_P228		1
```

#### CSW_SCOUT

CSW_SCOUT

```pawn
#define CSW_SCOUT		3
```

#### CSW_HEGRENADE

CSW_HEGRENADE

```pawn
#define CSW_HEGRENADE		4
```

#### CSW_XM1014

CSW_XM1014

```pawn
#define CSW_XM1014		5
```

#### CSW_C4

CSW_C4

```pawn
#define CSW_C4			6
```

#### CSW_MAC10

CSW_MAC10

```pawn
#define CSW_MAC10		7
```

#### CSW_AUG

CSW_AUG

```pawn
#define CSW_AUG			8
```

#### CSW_SMOKEGRENADE

CSW_SMOKEGRENADE

```pawn
#define CSW_SMOKEGRENADE	9
```

#### CSW_ELITE

CSW_ELITE

```pawn
#define CSW_ELITE		10
```

#### CSW_FIVESEVEN

CSW_FIVESEVEN

```pawn
#define CSW_FIVESEVEN		11
```

#### CSW_UMP45

CSW_UMP45

```pawn
#define CSW_UMP45		12
```

#### CSW_SG550

CSW_SG550

```pawn
#define CSW_SG550		13
```

#### CSW_GALI

CSW_GALI

```pawn
#define CSW_GALI		14
```

#### CSW_GALIL

CSW_GALIL

```pawn
#define CSW_GALIL		14
```

#### CSW_FAMAS

CSW_FAMAS

```pawn
#define CSW_FAMAS		15
```

#### CSW_USP

CSW_USP

```pawn
#define CSW_USP			16
```

#### CSW_GLOCK18

CSW_GLOCK18

```pawn
#define CSW_GLOCK18		17
```

#### CSW_AWP

CSW_AWP

```pawn
#define CSW_AWP			18
```

#### CSW_MP5NAVY

CSW_MP5NAVY

```pawn
#define CSW_MP5NAVY		19
```

#### CSW_M249

CSW_M249

```pawn
#define CSW_M249		20
```

#### CSW_M3

CSW_M3

```pawn
#define CSW_M3			21
```

#### CSW_M4A1

CSW_M4A1

```pawn
#define CSW_M4A1		22
```

#### CSW_TMP

CSW_TMP

```pawn
#define CSW_TMP			23
```

#### CSW_G3SG1

CSW_G3SG1

```pawn
#define CSW_G3SG1		24
```

#### CSW_FLASHBANG

CSW_FLASHBANG

```pawn
#define CSW_FLASHBANG		25
```

#### CSW_DEAGLE

CSW_DEAGLE

```pawn
#define CSW_DEAGLE		26
```

#### CSW_SG552

CSW_SG552

```pawn
#define CSW_SG552		27
```

#### CSW_AK47

CSW_AK47

```pawn
#define CSW_AK47		28
```

#### CSW_KNIFE

CSW_KNIFE

```pawn
#define CSW_KNIFE		29
```

#### CSW_P90

CSW_P90

```pawn
#define CSW_P90			30
```

#### CSW_VEST

CSW_VEST

```pawn
#define CSW_VEST		31
```

#### CSW_VESTHELM

CSW_VESTHELM

```pawn
#define CSW_VESTHELM	32
```

#### HIW_BERETTA

HIW_BERETTA

```pawn
#define HIW_BERETTA		1
```

#### HIW_SPAS12

HIW_SPAS12

```pawn
#define HIW_SPAS12		2
```

#### HIW_M4A1

HIW_M4A1

```pawn
#define HIW_M4A1		3
```

#### HIW_MP5A4

HIW_MP5A4

```pawn
#define HIW_MP5A4		4
```

#### HIW_MP5SD5

HIW_MP5SD5

```pawn
#define HIW_MP5SD5		5
```

#### HIW_AK47

HIW_AK47

```pawn
#define HIW_AK47		6
```

#### HIW_AKS74U

HIW_AKS74U

```pawn
#define HIW_AKS74U		7
```

#### HIW_GLOCK

HIW_GLOCK

```pawn
#define HIW_GLOCK		8
```

#### HIW_M11

HIW_M11

```pawn
#define HIW_M11			9
```

#### HIW_M11SD

HIW_M11SD

```pawn
#define HIW_M11SD		10
```

#### HIW_PSG1

HIW_PSG1

```pawn
#define HIW_PSG1		11
```

#### HIW_ZASTAVA

HIW_ZASTAVA

```pawn
#define HIW_ZASTAVA		12
```

#### HIW_M16A2

HIW_M16A2

```pawn
#define HIW_M16A2		13
```

#### HIW_REMINGTON

HIW_REMINGTON

```pawn
#define HIW_REMINGTON		14
```

#### HIW_NATOGREN

HIW_NATOGREN

```pawn
#define HIW_NATOGREN		15
```

#### HIW_TANGOGREN

HIW_TANGOGREN

```pawn
#define HIW_TANGOGREN		16
```

#### HIW_FLASHBANG

HIW_FLASHBANG

```pawn
#define HIW_FLASHBANG		17
```

#### HIT_GENERIC

HIT_GENERIC

```pawn
#define HIT_GENERIC		0	/* none */
```

#### HIT_HEAD

HIT_HEAD

```pawn
#define HIT_HEAD		1
```

#### HIT_CHEST

HIT_CHEST

```pawn
#define HIT_CHEST		2
```

#### HIT_STOMACH

HIT_STOMACH

```pawn
#define HIT_STOMACH		3
```

#### HIT_LEFTARM

HIT_LEFTARM

```pawn
#define HIT_LEFTARM		4
```

#### HIT_RIGHTARM

HIT_RIGHTARM

```pawn
#define HIT_RIGHTARM		5
```

#### HIT_LEFTLEG

HIT_LEFTLEG

```pawn
#define HIT_LEFTLEG		6
```

#### HIT_RIGHTLEG

HIT_RIGHTLEG

```pawn
#define HIT_RIGHTLEG		7
```

#### CHAN_AUTO

CHAN_AUTO

```pawn
#define CHAN_AUTO		0
```

#### CHAN_WEAPON

CHAN_WEAPON

```pawn
#define CHAN_WEAPON		1
```

#### CHAN_VOICE

CHAN_VOICE

```pawn
#define	CHAN_VOICE		2
```

#### CHAN_ITEM

CHAN_ITEM

```pawn
#define CHAN_ITEM		3
```

#### CHAN_BODY

CHAN_BODY

```pawn
#define	CHAN_BODY		4
```

#### CHAN_STREAM

CHAN_STREAM

```pawn
#define CHAN_STREAM		5	/* allocate stream channel from the static or dynamic area */
```

#### CHAN_STATIC

CHAN_STATIC

```pawn
#define CHAN_STATIC		6	/* allocate channel from the static area  */
```

#### CHAN_NETWORKVOICE_BASE

CHAN_NETWORKVOICE_BASE

```pawn
#define CHAN_NETWORKVOICE_BASE	7	/* voice data coming across the network */
```

#### CHAN_NETWORKVOICE_END

CHAN_NETWORKVOICE_END

```pawn
#define CHAN_NETWORKVOICE_END	500	/* network voice data reserves slots (CHAN_NETWORKVOICE_BASE through CHAN_NETWORKVOICE_END). */
```

#### ATTN_NONE

ATTN_NONE

```pawn
#define ATTN_NONE		0.00
```

#### ATTN_NORM

ATTN_NORM

```pawn
#define	ATTN_NORM		0.80
```

#### ATTN_IDLE

ATTN_IDLE

```pawn
#define ATTN_IDLE		2.00
```

#### ATTN_STATIC

ATTN_STATIC

```pawn
#define ATTN_STATIC		1.25
```

#### PITCH_NORM

PITCH_NORM

```pawn
#define	PITCH_NORM		100	/* non-pitch shifted */
```

#### PITCH_LOW

PITCH_LOW

```pawn
#define PITCH_LOW		95	/* other values are possible - 0-255, where 255 is very high */
```

#### PITCH_HIGH

PITCH_HIGH

```pawn
#define PITCH_HIGH		120
```

#### VOL_NORM

VOL_NORM

```pawn
#define VOL_NORM		1.0
```

#### MENU_KEY_1

MENU_KEY_1

```pawn
#define MENU_KEY_1		(1<<0)
```

#### MENU_KEY_2

MENU_KEY_2

```pawn
#define MENU_KEY_2		(1<<1)
```

#### MENU_KEY_3

MENU_KEY_3

```pawn
#define MENU_KEY_3		(1<<2)
```

#### MENU_KEY_4

MENU_KEY_4

```pawn
#define MENU_KEY_4		(1<<3)
```

#### MENU_KEY_5

MENU_KEY_5

```pawn
#define MENU_KEY_5		(1<<4)
```

#### MENU_KEY_6

MENU_KEY_6

```pawn
#define MENU_KEY_6		(1<<5)
```

#### MENU_KEY_7

MENU_KEY_7

```pawn
#define MENU_KEY_7		(1<<6)
```

#### MENU_KEY_8

MENU_KEY_8

```pawn
#define MENU_KEY_8		(1<<7)
```

#### MENU_KEY_9

MENU_KEY_9

```pawn
#define MENU_KEY_9		(1<<8)
```

#### MENU_KEY_0

MENU_KEY_0

```pawn
#define MENU_KEY_0		(1<<9)
```

#### LANG_SERVER

LANG_SERVER

```pawn
#define LANG_SERVER		0
```

#### LANG_PLAYER

LANG_PLAYER

```pawn
#define LANG_PLAYER		-1
```

#### Destination types for client_print()

Destination types for client_print()

```pawn
enum {
	print_notify = 1,
	print_console,
	print_chat,
	print_center,
};
```

#### Destination types for engclient_print()

Destination types for engclient_print()

```pawn
enum {
	engprint_console = 0,
	engprint_center,
	engprint_chat,
};
```

#### Render for set_user_rendering()

Render for set_user_rendering()

```pawn
enum {
	kRenderNormal = 0,		/* src */
	kRenderTransColor,		/* c*a+dest*(1-a) */
	kRenderTransTexture,		/* src*a+dest*(1-a) */
	kRenderGlow,			/* src*a+dest -- No Z buffer checks */
	kRenderTransAlpha,		/* src*srca+dest*(1-srca) */
	kRenderTransAdd,		/* src*a+dest */
};
```

#### Fx for set_user_rendering()

Fx for set_user_rendering()

```pawn
enum {
	kRenderFxNone = 0,
	kRenderFxPulseSlow,
	kRenderFxPulseFast,
	kRenderFxPulseSlowWide,
	kRenderFxPulseFastWide,
	kRenderFxFadeSlow,
	kRenderFxFadeFast,
	kRenderFxSolidSlow,
	kRenderFxSolidFast,
	kRenderFxStrobeSlow,
	kRenderFxStrobeFast,
	kRenderFxStrobeFaster,
	kRenderFxFlickerSlow,
	kRenderFxFlickerFast,
	kRenderFxNoDissipation,
	kRenderFxDistort,		/* Distort/scale/translate flicker */
	kRenderFxHologram,		/* kRenderFxDistort + distance fade */
	kRenderFxDeadPlayer,		/* kRenderAmt is the player index */
	kRenderFxExplode,		/* Scale up really big! */
	kRenderFxGlowShell,		/* Glowing Shell */
	kRenderFxClampMinScale,		/* Keep this sprite from getting very small (SPRITES only!) */
};
```

#### Type for force_unmodified()

Type for force_unmodified()

```pawn
enum {
	force_exactfile = 0,		/* File on client must exactly match server's file */
	force_model_samebounds,		/* For model files only, the geometry must fit in the same bbox */
	force_model_specifybounds,	/* For model files only, the geometry must fit in the specified bbox */
};
```

#### Status for get_module()

Status for get_module()

```pawn
enum {
	module_none = 0,
	module_query,
	module_badload,
	module_loaded,
	module_noinfo,
	module_noquery,
	module_noattach,
	module_old,
};
```

#### AMX_FLAG_DEBUG

AMX_FLAG_DEBUG

```pawn
#define AMX_FLAG_DEBUG    0x02  /* symbolic info. available */
```

#### AMX_FLAG_COMPACT

AMX_FLAG_COMPACT

```pawn
#define AMX_FLAG_COMPACT  0x04  /* compact encoding */
```

#### AMX_FLAG_BYTEOPC

AMX_FLAG_BYTEOPC

```pawn
#define AMX_FLAG_BYTEOPC  0x08  /* opcode is a byte (not a cell) */
```

#### AMX_FLAG_NOCHECKS

AMX_FLAG_NOCHECKS

```pawn
#define AMX_FLAG_NOCHECKS 0x10  /* no array bounds checking; no STMT opcode */
```

#### AMX_FLAG_OLDFILE

AMX_FLAG_OLDFILE

```pawn
#define AMX_FLAG_OLDFILE  0x20	/* Old AMX Mod plugin */
```

#### AMX_FLAG_NTVREG

AMX_FLAG_NTVREG

```pawn
#define AMX_FLAG_NTVREG 0x1000  /* all native functions are registered */
```

#### AMX_FLAG_JITC

AMX_FLAG_JITC

```pawn
#define AMX_FLAG_JITC   0x2000  /* abstract machine is JIT compiled */
```

#### AMX_FLAG_BROWSE

AMX_FLAG_BROWSE

```pawn
#define AMX_FLAG_BROWSE 0x4000  /* busy browsing */
```

#### AMX_FLAG_RELOC

AMX_FLAG_RELOC

```pawn
#define AMX_FLAG_RELOC  0x8000  /* jump/call addresses relocated */
```

#### INVALID_PLUGIN_ID

INVALID_PLUGIN_ID

```pawn
#define INVALID_PLUGIN_ID	-1
```

#### MENU_EXIT

MENU_EXIT

```pawn
#define MENU_EXIT	-3
```

#### MENU_BACK

MENU_BACK

```pawn
#define	MENU_BACK	-2
```

#### MENU_MORE

MENU_MORE

```pawn
#define MENU_MORE	-1
```

#### ITEM_IGNORE

ITEM_IGNORE

```pawn
#define	ITEM_IGNORE		0
```

#### ITEM_ENABLED

ITEM_ENABLED

```pawn
#define	ITEM_ENABLED	1
```

#### ITEM_DISABLED

ITEM_DISABLED

```pawn
#define ITEM_DISABLED	2
```

#### AMX_ERR_NATIVE

AMX_ERR_NATIVE

```pawn
#define	AMX_ERR_NATIVE		10
```

#### AMX_ERR_MEMACCESS

AMX_ERR_MEMACCESS

```pawn
#define	AMX_ERR_MEMACCESS	5
```

#### AMX_ERR_NONE

AMX_ERR_NONE

```pawn
#define	AMX_ERR_NONE		0
```

#### AMX_ERR_BOUNDS

AMX_ERR_BOUNDS

```pawn
#define AMX_ERR_BOUNDS		4
```

#### AMX_ERR_STACKERR

AMX_ERR_STACKERR

```pawn
#define AMX_ERR_STACKERR	3
```

#### AMX_ERR_STACKLOW

AMX_ERR_STACKLOW

```pawn
#define AMX_ERR_STACKLOW	7
```

#### AMX_ERR_HEAPLOW

AMX_ERR_HEAPLOW

```pawn
#define AMX_ERR_HEAPLOW		8
```

#### AMX_ERR_DIVIDE

AMX_ERR_DIVIDE

```pawn
#define AMX_ERR_DIVIDE		11
```

#### AMX_ERR_NOTFOUND

AMX_ERR_NOTFOUND

```pawn
#define AMX_ERR_NOTFOUND	19
```

#### AMX_ERR_PARAMS

AMX_ERR_PARAMS

```pawn
#define AMX_ERR_PARAMS		25
```

#### AMX_ERR_GENERAL

AMX_ERR_GENERAL

```pawn
#define AMX_ERR_GENERAL		27
```

#### INVALID_HANDLE

INVALID_HANDLE

```pawn
#define	INVALID_HANDLE		-1
```

#### ET_IGNORE

ET_IGNORE

```pawn
#define ET_IGNORE		0	//ignore return val
```

#### ET_STOP

ET_STOP

```pawn
#define ET_STOP			1	//stop on PLUGIN_HANDLED
```

#### ET_STOP2

ET_STOP2

```pawn
#define ET_STOP2		2	//same, except return biggest
```

#### ET_CONTINUE

ET_CONTINUE

```pawn
#define ET_CONTINUE		3	//no stop, return biggest
```

#### FP_CELL

FP_CELL

```pawn
#define FP_CELL			0
```

#### FP_FLOAT

FP_FLOAT

```pawn
#define FP_FLOAT		1
```

#### FP_STRING

FP_STRING

```pawn
#define FP_STRING		2
```

#### FP_ARRAY

FP_ARRAY

```pawn
#define FP_ARRAY		4
```

#### FORWARD_ONLY_OLD

FORWARD_ONLY_OLD

```pawn
#define FORWARD_ONLY_OLD	1
```

#### FORWARD_ONLY_NEW

FORWARD_ONLY_NEW

```pawn
#define FORWARD_ONLY_NEW	2
```

#### FORWARD_ALL

FORWARD_ALL

```pawn
#define FORWARD_ALL		3
```

#### SND_SPAWNING

SND_SPAWNING

```pawn
#define SND_SPAWNING		(1<<8)		// we're spawing, used in some cases for ambients
```

#### SND_STOP

SND_STOP

```pawn
#define SND_STOP		(1<<5)		// stop sound
```

#### SND_CHANGE_VOL

SND_CHANGE_VOL

```pawn
#define SND_CHANGE_VOL		(1<<6)		// change sound vol
```

#### SND_CHANGE_PITCH

SND_CHANGE_PITCH

```pawn
#define SND_CHANGE_PITCH	(1<<7)		// change sound pitch
```

#### LibType

LibType

```pawn
enum LibType
{
	LibType_Library,
	LibType_Class
};
```

#### AdminProp

AdminProp

```pawn
enum AdminProp
{
	AdminProp_Auth = 0,
	AdminProp_Password,
	AdminProp_Access,
	AdminProp_Flags
};
```

## amxmodx 1.8.2 hg65 / amxmisc.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc
- Group: amxmodx 1.8.2 hg65
- Functions: 21
- Documented constants: 5

### Constants

#### SIMPLE_T

SIMPLE_T

```pawn
#define SIMPLE_T(%1)	_T(%1)
```

#### CMDTARGET_OBEY_IMMUNITY

CMDTARGET_OBEY_IMMUNITY

```pawn
#define CMDTARGET_OBEY_IMMUNITY (1<<0)
```

#### CMDTARGET_ALLOW_SELF

CMDTARGET_ALLOW_SELF

```pawn
#define CMDTARGET_ALLOW_SELF	(1<<1)
```

#### CMDTARGET_ONLY_ALIVE

CMDTARGET_ONLY_ALIVE

```pawn
#define CMDTARGET_ONLY_ALIVE	(1<<2)
```

#### CMDTARGET_NO_BOTS

CMDTARGET_NO_BOTS

```pawn
#define CMDTARGET_NO_BOTS		(1<<3)
```

### Functions

#### AddClientMenuItem

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/AddClientMenuItem
- Line: 548

##### Syntax

```pawn
stock AddClientMenuItem(const MENU_TEXT[], const MENU_CMD[], const MENU_ACCESS, const MENU_PLUGIN[])
```

##### Description

Just like above, but add menu item to "amx_menu", that should also be accessible by non-admins.

#### AddMenuItem

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/AddMenuItem
- Line: 542

##### Syntax

```pawn
stock AddMenuItem(const MENU_TEXT[], const MENU_CMD[], const MENU_ACCESS, const MENU_PLUGIN[])
```

##### Description

Add a menu item to Menus Front-End plugin ("amxmodmenu"):
MENU_TEXT: Text that will be shown for this item in menu
MENU_CMD: Command that should be executed to start menu
MENU_ACCESS: Access required for menu
MENU_PLUGIN: The exact case-insensitive name of plugin holding the menu command

#### AddMenuItem_call

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/AddMenuItem_call
- Line: 554

##### Syntax

```pawn
stock AddMenuItem_call(const MENU_TEXT[], const MENU_CMD[], const MENU_ACCESS, const MENU_PLUGIN[], const bool:ADD_TO_CLIENT_MENU)
```

##### Description

This function has no description.

#### access

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/access
- Line: 86

##### Syntax

```pawn
stock access(id,level)
```

##### Description

This function has no description.

#### cmd_access

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/cmd_access
- Line: 36

##### Syntax

```pawn
stock cmd_access(id, level, cid, num, bool:accesssilent = false)
```

##### Description

This function has no description.

#### cmd_target

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/cmd_target
- Line: 109

##### Syntax

```pawn
stock cmd_target(id,const arg[],flags = CMDTARGET_OBEY_IMMUNITY)
```

##### Description

This function has no description.

#### colored_menus

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/colored_menus
- Line: 485

##### Syntax

```pawn
stock colored_menus()
```

##### Description

This function has no description.

#### constraint_offset

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/constraint_offset
- Line: 591

##### Syntax

```pawn
stock constraint_offset(low, high, seed, offset)
```

##### Description

This function has no description.

#### cstrike_running

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/cstrike_running
- Line: 493

##### Syntax

```pawn
stock cstrike_running()
```

##### Description

This function has no description.

#### get_basedir

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/get_basedir
- Line: 509

##### Syntax

```pawn
stock get_basedir(name[],len)
```

##### Description

This function has no description.

#### get_configsdir

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/get_configsdir
- Line: 514

##### Syntax

```pawn
stock get_configsdir(name[],len)
```

##### Description

This function has no description.

#### get_customdir

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/get_customdir
- Line: 531

##### Syntax

```pawn
stock get_customdir(name[],len)
```

##### Description

Backwards Compatibility
don't use it!

#### get_datadir

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/get_datadir
- Line: 519

##### Syntax

```pawn
stock get_datadir(name[],len)
```

##### Description

This function has no description.

#### has_all_flags

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/has_all_flags
- Line: 618

##### Syntax

```pawn
stock has_all_flags(id, const flags[])
```

##### Description

Returns true if the user has ALL of the provided flags
false otherwise

#### has_flag

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/has_flag
- Line: 611

##### Syntax

```pawn
stock has_flag(id, const flags[])
```

##### Description

Returns true if the user has ANY of the provided flags
false if they have none

#### is_running

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/is_running
- Line: 501

##### Syntax

```pawn
stock is_running(const mod[])
```

##### Description

This function has no description.

#### is_user_admin

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/is_user_admin
- Line: 30

##### Syntax

```pawn
stock is_user_admin(id)
```

##### Description

This function has no description.

#### register_menu

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/register_menu
- Line: 524

##### Syntax

```pawn
stock register_menu(const title[],keys,const function[],outside=0)
```

##### Description

This function has no description.

#### show_activity

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/show_activity
- Line: 191

##### Syntax

```pawn
stock show_activity( id, const name[], const fmt[], any:... )
```

##### Description

Standard method to show activity to clients connected to the server.
This depends on the amx_show_activity cvar.  See documentation for more details.

##### Parameters

- `id`: The user id of the person doing the action.
- `name`: The name of the person doing the action.
- `fmt`: The format string to display.  Do not put the "ADMIN:" prefix in this.

#### show_activity_id

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/show_activity_id
- Line: 304

##### Syntax

```pawn
stock show_activity_id(idtarget, idadmin, const name[], const fmt[], any:...)
```

##### Description

Standard method to show activity to one single client.
This is useful for messages that get pieced together by many language keys.
This depends on the amx_show_activity cvar.  See documentation for more details.

##### Parameters

- `idtarget`: The user id of the person to display to.  0 is invalid.
- `idadmin`: The user id of the person doing the action.
- `name`: The name of the person doing the action.
- `fmt`: The format string to display.  Do not put the "ADMIN:" prefix in this.

#### show_activity_key

- Include: `amxmisc.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmisc/function/show_activity_key
- Line: 387

##### Syntax

```pawn
stock show_activity_key(const KeyWithoutName[], const KeyWithName[], const ___AdminName[], any:...)
```

##### Description

Standard method to show activity to one single client with normal language keys.
These keys need to be in the format of standard AMXX keys:
  eg: ADMIN_KICK_1 = ADMIN: kick %s
      ADMIN_KICK_2 = ADMIN %s: kick %s
This depends on the amx_show_activity cvar.  See documentation for more details.

##### Parameters

- `KeyWithoutName`: The language key that does not have the name field.
- `KeyWithName`: The language key that does have the name field.
- `__AdminName`: The name of the person doing the action.
- `...`: Pass any extra format arguments for the language key in the variable arguments list.

## amxmodx 1.8.2 hg65 / amxmod.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod
- Group: amxmodx 1.8.2 hg65
- Functions: 17
- Documented constants: 9

### Constants

#### AMXMOD_BCOMPAT

AMXMOD_BCOMPAT

```pawn
	#define AMXMOD_BCOMPAT
```

#### ADMIN_PERMBAN

ADMIN_PERMBAN

```pawn
#define ADMIN_PERMBAN       ADMIN_BAN		//AMX Mod admin flag for permanent ban
```

#### ADMIN_UNBAN

ADMIN_UNBAN

```pawn
#define ADMIN_UNBAN         ADMIN_BAN		//AMX Mod admin flag for unbanning
```

#### ADMIN_SUPREME

ADMIN_SUPREME

```pawn
#define ADMIN_SUPREME       ADMIN_IMMUNITY	//AMX Mod admin flag for "super admin" (can kick, slap, ban, slay admins with Immunity)
```

#### ANGLEVECTORS_FORWARD

ANGLEVECTORS_FORWARD

```pawn
#define ANGLEVECTORS_FORWARD      1
```

#### ANGLEVECTORS_RIGHT

ANGLEVECTORS_RIGHT

```pawn
#define ANGLEVECTORS_RIGHT        2
```

#### ANGLEVECTORS_UP

ANGLEVECTORS_UP

```pawn
#define ANGLEVECTORS_UP           3
```

#### Whoever wrote this was a bit confused about the type stuff...

Whoever wrote this was a bit confused about the type stuff...

```pawn
	if (type == 1) {
		our_type = 1;
	} else if (type == 4) {
		our_type = 0;
	} else {
		our_type = -1;
	}
	
	new found = 0;
	new total = get_concmdsnum(-1, our_type);
	for (new i=0; i<total; i++)
	{
		if (plid == get_concmd_plid(i, -1, our_type))
		{
			found++;
		}
	}
	
	return found;
}
```

#### Whoever wrote this was a bit confused about the type stuff...

Whoever wrote this was a bit confused about the type stuff...

```pawn
	if (type == 1) {
		our_type = 1;
	} else if (type == 4) {
		our_type = 0;
	} else {
		our_type = -1;
	}
	
	new found_iter = 0;
	new total = get_concmdsnum(-1, our_type);
	for (new i=0; i<total; i++)
	{
		if (plid == get_concmd_plid(i, -1, our_type))
		{
			if (found_iter == index)
			{
				new flags, result;
				result = get_concmd(i, cmd, len1, flags, info, len3, -1, our_type);
				get_flags(flags, accessflags, len2);
				return result;
			}
			found_iter++;
		}
	}
```

### Functions

#### angle_to_vector

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/angle_to_vector
- Line: 159

##### Syntax

```pawn
stock angle_to_vector(Float:vector[3], FRU, Float:ret[3])
```

##### Description

This function has no description.

#### build_path

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/build_path
- Line: 55

##### Syntax

```pawn
stock build_path(path[], len, {Float,_}:... )
```

##### Description

This function has no description.

#### get_cmdaccess

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/get_cmdaccess
- Line: 164

##### Syntax

```pawn
stock get_cmdaccess(cmd[], accessflags[], len)
```

##### Description

This function has no description.

#### get_logfile

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/get_logfile
- Line: 40

##### Syntax

```pawn
stock get_logfile( name[], len )
```

##### Description

This function has no description.

#### get_plugincmd

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/get_plugincmd
- Line: 217

##### Syntax

```pawn
stock get_plugincmd(plugin[], index, cmd[], len1, accessflags[], len2, info[], len3, destid=-1, type=7)
```

##### Description

This function has no description.

#### get_plugincmdsnum

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/get_plugincmdsnum
- Line: 188

##### Syntax

```pawn
stock get_plugincmdsnum(plugin[], type=7)
```

##### Description

This function has no description.

#### get_plugincvar

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/get_plugincvar
- Line: 255

##### Syntax

```pawn
stock get_plugincvar(plugin[], index, cvar[], len1, value[], len2, flags=0)
```

##### Description

This function has no description.

#### get_plugincvarsnum

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/get_plugincvarsnum
- Line: 280

##### Syntax

```pawn
stock get_plugincvarsnum(plugin[], flags=0)
```

##### Description

This function has no description.

#### get_user_money

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/get_user_money
- Line: 43

##### Syntax

```pawn
stock get_user_money(index)
```

##### Description

This function has no description.

#### is_module_running

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/is_module_running
- Line: 300

##### Syntax

```pawn
stock is_module_running(const module[])
```

##### Description

This function has no description.

#### is_plugin_running

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/is_plugin_running
- Line: 308

##### Syntax

```pawn
stock is_plugin_running(const plugin[])
```

##### Description

This function has no description.

#### is_translated

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/is_translated
- Line: 183

##### Syntax

```pawn
stock is_translated(const sentence[])
```

##### Description

This function has no description.

#### is_user_authorized

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/is_user_authorized
- Line: 141

##### Syntax

```pawn
stock is_user_authorized(id)
```

##### Description

This function has no description.

#### numtostr

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/numtostr
- Line: 49

##### Syntax

```pawn
stock numtostr(num,string[],len)
```

##### Description

This function has no description.

#### set_user_money

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/set_user_money
- Line: 46

##### Syntax

```pawn
stock set_user_money(index,money,flash=1)
```

##### Description

This function has no description.

#### strtonum

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/strtonum
- Line: 52

##### Syntax

```pawn
stock strtonum(const string[])
```

##### Description

This function has no description.

#### user_spawn

- Include: `amxmod.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmod/function/user_spawn
- Line: 37

##### Syntax

```pawn
stock user_spawn(index)
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / amxmodx.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx
- Group: amxmodx 1.8.2 hg65
- Functions: 226
- Documented constants: 1

### Constants

#### The following two natives are useful for creating cross-mod plugins  where instead of #define flags to compile separate versions, you can  filter out the natives and modules depending on the current mod. Examples of this usage are in plmenu.sma, which filters out the cstrike module.

The following two natives are useful for creating cross-mod plugins
 where instead of #define flags to compile separate versions, you can
 filter out the natives and modules depending on the current mod.
Examples of this usage are in plmenu.sma, which filters out the cstrike module.

### Functions

#### client_authorized

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/client_authorized
- Line: 62

##### Syntax

```pawn
forward client_authorized(id);
```

##### Description

Called when client gets valid STEAM id (usually
between client_connect() and client_putinserver()).

#### client_command

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/client_command
- Line: 68

##### Syntax

```pawn
forward client_command(id);
```

##### Description

Called when client is sending command.

#### client_connect

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/client_connect
- Line: 58

##### Syntax

```pawn
forward client_connect(id);
```

##### Description

Called on client connection.

#### client_disconnect

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/client_disconnect
- Line: 65

##### Syntax

```pawn
forward client_disconnect(id);
```

##### Description

Called when client is disconnecting from server.

#### client_infochanged

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/client_infochanged
- Line: 55

##### Syntax

```pawn
forward client_infochanged(id);
```

##### Description

Whenever player info is changed, this function is called.

#### client_putinserver

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/client_putinserver
- Line: 71

##### Syntax

```pawn
forward client_putinserver(id);
```

##### Description

Called when client is entering to a game.

#### inconsistent_file

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/inconsistent_file
- Line: 711

##### Syntax

```pawn
forward inconsistent_file(id,const filename[], reason[64] );
```

##### Description

Called on inconsistent file. You can put any text
into reason to change an original message.

#### plugin_cfg

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_cfg
- Line: 43

##### Syntax

```pawn
forward plugin_cfg();
```

##### Description

Function is called when all plugin_init from plugins
were called, so all commmands and cvars should be already registered.

#### plugin_end

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_end
- Line: 46

##### Syntax

```pawn
forward plugin_end();
```

##### Description

Function called before plugin unloading (server deactivation)

#### plugin_init

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_init
- Line: 30

##### Syntax

```pawn
forward plugin_init();
```

##### Description

Function is called just after server activation.
Good place for configuration loading, commands and cvars registration.

#### plugin_log

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_log
- Line: 49

##### Syntax

```pawn
forward plugin_log();
```

##### Description

Called on log message.

#### plugin_modules

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_modules
- Line: 734

##### Syntax

```pawn
forward plugin_modules();
```

##### Description

This function has no description.

##### Deprecated

Do not use!

#### plugin_natives

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_natives
- Line: 744

##### Syntax

```pawn
forward plugin_natives();
```

##### Description

This is called before plugin_init and allows you to register natives.

#### plugin_pause

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_pause
- Line: 33

##### Syntax

```pawn
forward plugin_pause();
```

##### Description

Called when the plugin is paused.

#### plugin_precache

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_precache
- Line: 52

##### Syntax

```pawn
forward plugin_precache();
```

##### Description

Use here model_precache() and sound_precache() functions.

#### plugin_unpause

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_unpause
- Line: 36

##### Syntax

```pawn
forward plugin_unpause();
```

##### Description

Called when the plugin is unpaused.

#### server_changelevel

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/server_changelevel
- Line: 39

##### Syntax

```pawn
forward server_changelevel(map[]);
```

##### Description

Called when the mod tries to change the map.

#### ClearSyncHud

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/ClearSyncHud
- Line: 960

##### Syntax

```pawn
native ClearSyncHud(target, syncObj);
```

##### Description

Clears the display on a HudSync Object.  This is essentially the same
 thing as: ShowSyncHudMsg(x, y, ""), except doing that would send
 out two messages and use up another channel.  This re-uses the last
 channel and clears it at the same time.
Note: for this you do not have to use set_hudmessage().
Note: target can be 0 for all players.

#### CreateHudSyncObj

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/CreateHudSyncObj
- Line: 939

##### Syntax

```pawn
native CreateHudSyncObj(num=0, ...);
```

##### Description

Creates a HUD Synchronization Object.  Create one of these
 for each section of the screen that contains overlapping HUD messages.
For example, if you use both sides of the screen to display three messages
 that can potentially overlap, each side counts as a synchronizable area.
You can then use ShowSyncHudMsg() to correctly synchronize displaying the
 HUD message with any other messages potentially in its class.  Note that this
 does not yet do anything like reserve screen area, its sole purpose is to be
 able to wipe an old message on an auto-channel and ensure that it will not
 clear a message from another plugin.
The parameters are kept blank for future use.

#### CreateMultiForward

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/CreateMultiForward
- Line: 990

##### Syntax

```pawn
native CreateMultiForward(const name[], stop_type, ...);
```

##### Description

Creates a multi-plugin forward.
Stop type must be one of the ET_ values in amxconst.inc
results will be > 0 for success

#### CreateMultiForwardEx

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/CreateMultiForwardEx
- Line: 998

##### Syntax

```pawn
native CreateMultiForwardEx(const name[], stop_type, forward_type, ...);
```

##### Description

Creates a multi-forward plugin that can filter between old/new plugins.
Old plugins are used by the AMX Mod backwards compatibility layer.
Stop type must be one of the ET_ values in amxconst.inc
Forward type must be one of the FORWARD_ values in amxconst.inc.

#### CreateOneForward

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/CreateOneForward
- Line: 1006

##### Syntax

```pawn
native CreateOneForward(plugin_id, const name[], ...);
```

##### Description

Creates a forward for one plugin.
Results will be > 0 for success.
id should be an id such as returned by find_plugin_byfile.
Unlike get_plugin(), negative numbers will not work.

#### DestroyForward

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/DestroyForward
- Line: 1023

##### Syntax

```pawn
native DestroyForward(forward_handle);
```

##### Description

Destroys/deallocates any type of forward

#### ExecuteForward

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/ExecuteForward
- Line: 1018

##### Syntax

```pawn
native ExecuteForward(forward_handle, &ret, any:...);
```

##### Description

executes a forward.  returns result in ret.
returns 1 for success, 0 for failure.

#### LibraryExists

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/LibraryExists
- Line: 920

##### Syntax

```pawn
native LibraryExists(const library[], LibType:type);
```

##### Description

Checks if a library/class is loaded.  This is the newer version of module_exists.

#### PrepareArray

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/PrepareArray
- Line: 1012

##### Syntax

```pawn
native PrepareArray(const array[], size, copyback=0);
```

##### Description

prepares an array.  use this and pass the result into
ExecuteForward() instead of the array itself.

#### ShowSyncHudMsg

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/ShowSyncHudMsg
- Line: 950

##### Syntax

```pawn
native ShowSyncHudMsg(target, syncObj, const fmt[], any:...);
```

##### Description

Displays a synchronized HUD message.  This will check that your
 HUD object has its previous display on the screen cleared before
 it proceeds to write another.  It will only do this in the case
 of that channel not having been cleared already.
Target can be 0 for all players or 1-get_maxplayers().
You must use set_hudmessage, although the channel parameter is
 entirely ignored.

#### abort

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/abort
- Line: 907

##### Syntax

```pawn
native abort(error, const fmt[]="", any:...);
```

##### Description

Aborts execution of the current callback.  Your script will throw a run time error.
You can also specify an optional message.
You should NOT call this function inside:
 - Error or module filters (native filters are safe if trap is 1)
 - plugin_natives()
Note that the plugin's filename is prepending to your message:
 [myplugin.amxx] MESSAGE

#### admins_flush

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/admins_flush
- Line: 1079

##### Syntax

```pawn
native admins_flush();
```

##### Description

Clears the list of dynamically stored admins

#### admins_lookup

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/admins_lookup
- Line: 1074

##### Syntax

```pawn
native admins_lookup(num, AdminProp:Property, Buffer[]="", BufferSize=0);
```

##### Description

Gets information about a dynamically stored admin
Use the enum AdminProp
Returns an integer value: AdminProp_Access, AdminProp_Flags
Sets the buffer string: AdminProp_Auth, AdminProp_Password

#### admins_num

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/admins_num
- Line: 1066

##### Syntax

```pawn
native admins_num();
```

##### Description

Gets the number of admins in the dynamic admin
storage list

#### admins_push

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/admins_push
- Line: 1060

##### Syntax

```pawn
native admins_push(const AuthData[], const Password[], Access, Flags);
```

##### Description

Adds an admin to the dynamic admin storage
for lookup at a later time

#### arrayset

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/arrayset
- Line: 1048

##### Syntax

```pawn
native arrayset(array[], value, size);
```

##### Description

Sets a whole array to a certain value.

#### callfunc_begin

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/callfunc_begin
- Line: 670

##### Syntax

```pawn
native callfunc_begin(const func[], const plugin[]="");
```

##### Description

Call a function in this / an another plugin by name.
Parameters:
 plugin - plugin filename; if "", the caller plugin is used.
          If specified, it has to be the exact filename (for example stats.amxx)
 func   - function name
Return value:
  1     - Success
  0     - Runtime error
 -1     - Plugin not found
 -2     - Function not found

#### callfunc_begin_i

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/callfunc_begin_i
- Line: 681

##### Syntax

```pawn
native callfunc_begin_i(func, plugin = -1);
```

##### Description

Call a function in this / an another plugin by id.
Parameters:
 plugin - plugin id; the id you would pass to get_plugin
          If < 0, the current plugin is taken
 func   - function id
Return value:
  1     - Success
 -1     - Plugin not found
 -2     - Function not executable

#### callfunc_end

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/callfunc_end
- Line: 707

##### Syntax

```pawn
native callfunc_end();
```

##### Description

Make the actual call.
Return value of the function called.

#### callfunc_push_array

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/callfunc_push_array
- Line: 703

##### Syntax

```pawn
native callfunc_push_array(const VALUE[], array_size, bool:copyback=true);
```

##### Description

This function has no description.

#### callfunc_push_float

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/callfunc_push_float
- Line: 694

##### Syntax

```pawn
native callfunc_push_float(Float: value);
```

##### Description

This function has no description.

#### callfunc_push_floatrf

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/callfunc_push_floatrf
- Line: 696

##### Syntax

```pawn
native callfunc_push_floatrf(& Float: value);
```

##### Description

This function has no description.

#### callfunc_push_int

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/callfunc_push_int
- Line: 693

##### Syntax

```pawn
native callfunc_push_int(value);
```

##### Description

Push a parameter (integer, string, float)
Note that none of these values are const.
Anything pushed by intrf, floatrf, array, or str
 can be modified by the called function.

#### callfunc_push_intrf

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/callfunc_push_intrf
- Line: 695

##### Syntax

```pawn
native callfunc_push_intrf(&value);
```

##### Description

This function has no description.

#### callfunc_push_str

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/callfunc_push_str
- Line: 702

##### Syntax

```pawn
native callfunc_push_str(const VALUE[], bool:copyback=true);
```

##### Description

If copyback is 1 (default), any changes are copied back.
Note that this will defy the 'const' specifier for push_str(),
 which is only kept for special backwards compatibility.

#### change_task

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/change_task
- Line: 466

##### Syntax

```pawn
native change_task(id = 0, Float:newTime=1.0, outside = 0);
```

##### Description

Changes the time of a task

#### client_cmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/client_cmd
- Line: 375

##### Syntax

```pawn
native client_cmd(index,const command[],any:...);
```

##### Description

Executes command on player.

#### client_print

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/client_print
- Line: 103

##### Syntax

```pawn
native client_print(index,type,const message[],any:...);
```

##### Description

Sends message to player. Set index to 0 to send text globaly.

#### console_cmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/console_cmd
- Line: 112

##### Syntax

```pawn
native console_cmd(id,const cmd[],any:...);
```

##### Description

Sends command to console.

#### console_print

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/console_print
- Line: 109

##### Syntax

```pawn
native console_print(id,const message[],any:...);
```

##### Description

Sends message to console.

#### cvar_exists

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/cvar_exists
- Line: 390

##### Syntax

```pawn
native cvar_exists(const cvar[]);
```

##### Description

If a cvar exists returns 1, in other case 0

#### dbg_fmt_error

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/dbg_fmt_error
- Line: 849

##### Syntax

```pawn
native dbg_fmt_error(buffer[], maxLength);
```

##### Description

Gets the formatted error string, which looks like "Run time error X: (description)"

#### dbg_trace_begin

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/dbg_trace_begin
- Line: 834

##### Syntax

```pawn
native dbg_trace_begin();
```

##### Description

Gets a trace handle for the item at the top of the traced call stack.
Returns 0 if no debugging information is available.

#### dbg_trace_info

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/dbg_trace_info
- Line: 844

##### Syntax

```pawn
native dbg_trace_info(trace, &line, function[], maxLength1, file[], maxLength2);
```

##### Description

Gets the call stack info for a trace.

#### dbg_trace_next

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/dbg_trace_next
- Line: 839

##### Syntax

```pawn
native dbg_trace_next(trace);
```

##### Description

Gets the next item in a traced call stack.  Returns 0 if no more traces exist.

#### emit_sound

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/emit_sound
- Line: 545

##### Syntax

```pawn
native emit_sound(index, channel, const sample[], Float:vol, Float:att,flags, pitch);
```

##### Description

Emits sound. Sample must be precached.

#### engclient_cmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/engclient_cmd
- Line: 381

##### Syntax

```pawn
native engclient_cmd(index,const command[],const arg1[]="",const arg2[]="");
```

##### Description

This is an emulation of a client command (commands aren't send to client!).
It allows to execute some commands on players and bots.
Function is excellent for forcing to do an action related to a game (not settings!).
The command must stand alone but in arguments you can use spaces.

#### engclient_print

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/engclient_print
- Line: 106

##### Syntax

```pawn
native engclient_print(player,type,const message[],any:...);
```

##### Description

Sends message to player by engine. Set index to 0 to send text globaly.

#### find_player

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/find_player
- Line: 369

##### Syntax

```pawn
native find_player(const flags[], ... );
```

##### Description

Find player.
Flags:
"a" - with given name.
"b" - with given part of name.
"c" - with given authid.
"d" - with given ip.
"e" - with given team name.
"f" - don't look in dead players.
"g" - don't look in alive players.
"h" - skip bots.
"i" - skip real players.
"j" - return index of last found player.
"k" - with given userid.
"l" - ignore case sensitivity.

#### find_plugin_byfile

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/find_plugin_byfile
- Line: 741

##### Syntax

```pawn
native find_plugin_byfile(const filename[], ignoreCase=1);
```

##### Description

Returns plugin id searched by file/name.  Returns INVALID_PLUGIN_ID on failure.

#### force_unmodified

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/force_unmodified
- Line: 715

##### Syntax

```pawn
native force_unmodified(force_type, const mins[3] , const maxs[3], const filename[]);
```

##### Description

Forces the client and server to be running with the same
version of the specified file ( e.g., a player model ).

#### format_time

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/format_time
- Line: 438

##### Syntax

```pawn
native format_time(output[],len, const format[],time = -1);
```

##### Description

Returns time in given format. The most popular is: "%m/%d/%Y - %H:%M:%S".
Last parameter sets time to format.

#### get_addr_val

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_addr_val
- Line: 979

##### Syntax

```pawn
native get_addr_val(addr);
```

##### Description

This function has no description.

#### get_amxx_verstring

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_amxx_verstring
- Line: 209

##### Syntax

```pawn
native get_amxx_verstring(buffer[], length);
```

##### Description

Returns AMXX's version string of the current gameserver

#### get_array

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_array
- Line: 800

##### Syntax

```pawn
native get_array(param, dest[], size);
```

##### Description

This function has no description.

#### get_array_f

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_array_f
- Line: 801

##### Syntax

```pawn
native get_array_f(param, Float:dest[], size);
```

##### Description

This function has no description.

#### get_clcmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_clcmd
- Line: 500

##### Syntax

```pawn
native get_clcmd(index, command[], len1, &flags, info[], len2, flag);
```

##### Description

Gets info about client command.

#### get_clcmdsnum

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_clcmdsnum
- Line: 503

##### Syntax

```pawn
native get_clcmdsnum(flag);
```

##### Description

Returns number of registered client commands.

#### get_concmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_concmd
- Line: 514

##### Syntax

```pawn
native get_concmd(index,cmd[],len1,&flags, info[],len2, flag, id = -1);
```

##### Description

Gets info about console command. If id is set to 0,
then function returns only server cmds, if positive then
returns only client cmds. in other case returns all console commands.

#### get_concmd_plid

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_concmd_plid
- Line: 517

##### Syntax

```pawn
native get_concmd_plid(cid, flag_mask, id_type);
```

##### Description

Gets the parent plugin id of a console command.

#### get_concmdsnum

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_concmdsnum
- Line: 520

##### Syntax

```pawn
native get_concmdsnum(flag,id = -1);
```

##### Description

Returns number of registered console commands.

#### get_cvar_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_cvar_flags
- Line: 401

##### Syntax

```pawn
native get_cvar_flags(const cvar[]);
```

##### Description

Returns a cvar flags.

#### get_cvar_float

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_cvar_float
- Line: 407

##### Syntax

```pawn
native Float:get_cvar_float(const cvarname[]);
```

##### Description

Gets a cvar float.

#### get_cvar_num

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_cvar_num
- Line: 410

##### Syntax

```pawn
native get_cvar_num(const cvarname[]);
```

##### Description

Gets a cvar integer value.

#### get_cvar_pointer

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_cvar_pointer
- Line: 1034

##### Syntax

```pawn
native get_cvar_pointer(const cvar[]);
```

##### Description

Get a cvar pointer.  Returns 0 if not found.

#### get_cvar_string

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_cvar_string
- Line: 416

##### Syntax

```pawn
native get_cvar_string(const cvarname[],output[],iLen);
```

##### Description

Reads a cvar value.

#### get_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_flags
- Line: 353

##### Syntax

```pawn
native get_flags(flags,output[],len);
```

##### Description

Converts sum of bits to string.
Example: 3 will return "ab".

#### get_float_byref

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_float_byref
- Line: 794

##### Syntax

```pawn
native Float:get_float_byref(param);
```

##### Description

This function has no description.

#### get_func_id

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_func_id
- Line: 686

##### Syntax

```pawn
native get_func_id(const funcName[], pluginId = -1);
```

##### Description

Get a function id (for callfunc_begin_i)
   To get the plugin id, use the find_plugin stock

#### get_gametime

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_gametime
- Line: 425

##### Syntax

```pawn
native Float:get_gametime();
```

##### Description

Returns a game time.

#### get_localinfo

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_localinfo
- Line: 95

##### Syntax

```pawn
native get_localinfo(const info[],output[],len);
```

##### Description

Gets info from server.

#### get_mapname

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_mapname
- Line: 419

##### Syntax

```pawn
native get_mapname(name[],len);
```

##### Description

Returns a name of currently played map.

#### get_maxplayers

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_maxplayers
- Line: 428

##### Syntax

```pawn
native get_maxplayers();
```

##### Description

Returns maxplayers setting.

#### get_modname

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_modname
- Line: 431

##### Syntax

```pawn
native get_modname(name[],len);
```

##### Description

Returns a name of currently played mod.

#### get_module

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_module
- Line: 606

##### Syntax

```pawn
native get_module(id, name[], nameLen, author[], authorLen, version[], versionLen, &status);
```

##### Description

Gets info about a module.
Parameters:
 id         - the id of the module
 name[]     - The name of the module will be stored here
 nameLen    - maximal length of the name
 author[]   - the author will be stored here
 authorLen  - maximal length of the author
 version[]  - the version of the module will be stored here
 versionLen - maximal length of the version
 status - the status of the module will be stored here
Return value:
 id         - success
 -1         - module not found

#### get_modulesnum

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_modulesnum
- Line: 609

##### Syntax

```pawn
native get_modulesnum();
```

##### Description

Returns number of currently registered modules

#### get_param

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_param
- Line: 789

##### Syntax

```pawn
native get_param(param);
```

##### Description

This function has no description.

#### get_param_byref

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_param_byref
- Line: 793

##### Syntax

```pawn
native get_param_byref(param);
```

##### Description

This function has no description.

#### get_param_f

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_param_f
- Line: 790

##### Syntax

```pawn
native Float:get_param_f(param);
```

##### Description

This function has no description.

#### get_pcvar_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_pcvar_flags
- Line: 1036

##### Syntax

```pawn
native get_pcvar_flags(pcvar);
```

##### Description

This function has no description.

#### get_pcvar_float

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_pcvar_float
- Line: 1040

##### Syntax

```pawn
native Float:get_pcvar_float(pcvar);
```

##### Description

This function has no description.

#### get_pcvar_num

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_pcvar_num
- Line: 1038

##### Syntax

```pawn
native get_pcvar_num(pcvar);
```

##### Description

This function has no description.

#### get_pcvar_string

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_pcvar_string
- Line: 1042

##### Syntax

```pawn
native get_pcvar_string(pcvar, string[], maxlen);
```

##### Description

This function has no description.

#### get_players

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_players
- Line: 336

##### Syntax

```pawn
native get_players(players[32], &num ,const flags[]="", const team[]="");
```

##### Description

Sets indexes of players.
Flags:
"a" - don't collect dead players.
"b" - don't collect alive players.
"c" - skip bots.
"d" - skip real players.
"e" - match with team.
"f" - match with part of name.
"g" - ignore case sensitivity.
"h" - skip HLTV.
Example: Get all alive CTs: get_players(players,num,"ae","CT")

#### get_playersnum

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_playersnum
- Line: 323

##### Syntax

```pawn
native get_playersnum(flag=0);
```

##### Description

Returns number of players put in server.
If flag is set then also connecting are counted.

#### get_plugin

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_plugin
- Line: 634

##### Syntax

```pawn
native get_plugin(index,filename[]="",len1=0,name[]="",len2=0,version[]="",len3=0,author[]="",len4=0,status[]="",len5=0,...);
```

##### Description

Gets info about plugin by given index.
Function returns -1 if plugin doesn't exist with given index.
Note: the [...] portion should not be used, and is only for backward compatibility.
Use index of -1 to use the calling plugin's ID.

#### get_plugins_cvar

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_plugins_cvar
- Line: 526

##### Syntax

```pawn
native get_plugins_cvar(num, name[], namelen, &flags=0, &plugin_id=0, &pcvar_handle=0);
```

##### Description

Returns information about a plugin-registered cvar.

#### get_plugins_cvarsnum

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_plugins_cvarsnum
- Line: 523

##### Syntax

```pawn
native get_plugins_cvarsnum();
```

##### Description

Returns the number of plugin-registered cvars.

#### get_pluginsnum

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_pluginsnum
- Line: 637

##### Syntax

```pawn
native get_pluginsnum();
```

##### Description

Returns number of all loaded plugins.

#### get_srvcmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_srvcmd
- Line: 506

##### Syntax

```pawn
native get_srvcmd(index,server_cmd[],len1,&flags, info[],len2, flag);
```

##### Description

Gets info about server command.

#### get_srvcmdsnum

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_srvcmdsnum
- Line: 509

##### Syntax

```pawn
native get_srvcmdsnum(flag);
```

##### Description

Returns number of registered server commands.

#### get_string

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_string
- Line: 783

##### Syntax

```pawn
native get_string(param, dest[], maxlen);
```

##### Description

This function has no description.

#### get_systime

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_systime
- Line: 442

##### Syntax

```pawn
native get_systime(offset = 0);
```

##### Description

Returns system time in seconds elapsed since 00:00:00 on January 1, 1970.
Offset is given in seconds.

#### get_time

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_time
- Line: 434

##### Syntax

```pawn
native get_time(const format[],output[],len);
```

##### Description

Returns time in given format. The most popular is: "%m/%d/%Y - %H:%M:%S".

#### get_timeleft

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_timeleft
- Line: 422

##### Syntax

```pawn
native get_timeleft();
```

##### Description

Returns time remaining on map in seconds.

#### get_user_aiming

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_aiming
- Line: 221

##### Syntax

```pawn
native Float:get_user_aiming(index,&id,&body,dist=9999);
```

##### Description

If player doesn't hit at anything function returns 0.0,
in other case the distance between hit point and player is returned.
If player is aiming at another player then the id and part of body are set.

#### get_user_ammo

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_ammo
- Line: 250

##### Syntax

```pawn
native get_user_ammo(index,weapon,&clip,&ammo);
```

##### Description

Gets ammo and clip from current weapon.

#### get_user_armor

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_armor
- Line: 227

##### Syntax

```pawn
native get_user_armor(index);
```

##### Description

Returns player armor.

#### get_user_attacker

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_attacker
- Line: 216

##### Syntax

```pawn
native get_user_attacker(index,...);
```

##### Description

If player is not attacked function returns 0, in other
case returns index of attacking player. On second and third
parameter you may get info about weapon and body hit place.
As of 1.75, get_user_attacker can return a non-player index if the player was attacked by a non-player entity.

#### get_user_authid

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_authid
- Line: 296

##### Syntax

```pawn
native get_user_authid(index, authid[] ,len);
```

##### Description

Gets player authid.

#### get_user_deaths

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_deaths
- Line: 230

##### Syntax

```pawn
native get_user_deaths(index);
```

##### Description

Returns player deaths.

#### get_user_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_flags
- Line: 475

##### Syntax

```pawn
native get_user_flags(index,id=0);
```

##### Description

Gets flags from player. Set index to 0 if you want to read flags from server.

#### get_user_frags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_frags
- Line: 224

##### Syntax

```pawn
native get_user_frags(index);
```

##### Description

Returns player frags.

#### get_user_health

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_health
- Line: 233

##### Syntax

```pawn
native get_user_health(index);
```

##### Description

Returns player health.

#### get_user_index

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_index
- Line: 236

##### Syntax

```pawn
native get_user_index(const name[]);
```

##### Description

Returns index.

#### get_user_info

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_info
- Line: 89

##### Syntax

```pawn
native get_user_info(index,const info[],output[],len);
```

##### Description

Gets info from player.

#### get_user_ip

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_ip
- Line: 239

##### Syntax

```pawn
native get_user_ip(index,ip[],len, without_port = 0);
```

##### Description

Returns ip.

#### get_user_menu

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_menu
- Line: 538

##### Syntax

```pawn
native get_user_menu(index,&id,&keys);
```

##### Description

Gets what menu the player is watching and what keys for menu he have.
When there is no menu the index is 0. If the id is negative then the menu
is VGUI in other case the id is from register_menuid() function.

#### get_user_msgid

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_msgid
- Line: 560

##### Syntax

```pawn
native get_user_msgid(const name[]);
```

##### Description

Returns id of client message.
Example: get_user_msgid("TextMsg").

#### get_user_msgname

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_msgname
- Line: 564

##### Syntax

```pawn
native get_user_msgname(msgid, name[], len);
```

##### Description

Gets name of client message index. Return value is number of
characters copied into name. Returns 0 on invalid msgid.

#### get_user_name

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_name
- Line: 293

##### Syntax

```pawn
native get_user_name(index,name[],len);
```

##### Description

Returns player name.

#### get_user_origin

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_origin
- Line: 273

##### Syntax

```pawn
native get_user_origin(index, origin[3], mode = 0);
```

##### Description

Gets origin from player.
Modes:
0 - current position.
1 - position from eyes (weapon aiming).
2 - end position from player position.
3 - end position from eyes (hit point for weapon).
4 - position of last bullet hit (only CS).

#### get_user_ping

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_ping
- Line: 264

##### Syntax

```pawn
native get_user_ping(index, &ping, &loss);
```

##### Description

Gets ping and loss at current time.

#### get_user_team

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_team
- Line: 257

##### Syntax

```pawn
native get_user_team(index, team[]="", len = 0);
```

##### Description

Returns team id. When length is greater then 0
then a name of team is set.

#### get_user_time

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_time
- Line: 261

##### Syntax

```pawn
native get_user_time(index, flag = 0);
```

##### Description

Returns player playing time in seconds.
If flag is set then result is without connection time.

#### get_user_userid

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_userid
- Line: 299

##### Syntax

```pawn
native get_user_userid(index);
```

##### Description

Returns player userid.

#### get_user_weapon

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_weapon
- Line: 247

##### Syntax

```pawn
native get_user_weapon(index,&clip=0,&ammo=0);
```

##### Description

Returns id of currently carried weapon. Gets also
ammount of ammo in clip and backpack.

#### get_user_weapons

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_user_weapons
- Line: 287

##### Syntax

```pawn
native get_user_weapons(index,weapons[32],&num);
```

##### Description

Returns all carried weapons as bit sum. Gets
 also theirs indexes.
Note that num is incremental - if you pass 0, you get
 32 weapons towards the total.  Afterwards, num will
 will contain the number of weapons retrieved.
However, subsequent calls to get_user_weapons() will
 return the next batch of weapons, in case the mod
 supports more than 32 weapons.
This means to call get_user_weapons() on the same
 inputs twice, you must reset num to 0 to get the
 original output again.

#### get_var_addr

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_var_addr
- Line: 974

##### Syntax

```pawn
native get_var_addr(any:...);
```

##### Description

This function has no description.

#### get_weaponid

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_weaponid
- Line: 1054

##### Syntax

```pawn
native get_weaponid(const name[]);
```

##### Description

Returns the weapon id, otherwise 0 when no id found.
The weapon name is case sensitive, and has the weapon_* form.

#### get_weaponname

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_weaponname
- Line: 290

##### Syntax

```pawn
native get_weaponname(id,weapon[],len);
```

##### Description

Returns weapon name.

#### get_xvar_float

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_xvar_float
- Line: 579

##### Syntax

```pawn
native Float:get_xvar_float( id );
```

##### Description

Returns a float value of a public variable. Id is a value
returned by get_xvar_id(...) native.

#### get_xvar_id

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_xvar_id
- Line: 571

##### Syntax

```pawn
native get_xvar_id( const name[] );
```

##### Description

Returns an unique id for public variable specified by name. If such
variable doesn't exist then returned value is -1.

#### get_xvar_num

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/get_xvar_num
- Line: 575

##### Syntax

```pawn
native get_xvar_num( id );
```

##### Description

Returns an integer value of a public variable. Id is a value
returned by get_xvar_id(...) native.

#### int3

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/int3
- Line: 963

##### Syntax

```pawn
native int3();
```

##### Description

This function has no description.

#### is_amd64_server

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_amd64_server
- Line: 738

##### Syntax

```pawn
native is_amd64_server();
```

##### Description

This function has no description.

#### is_dedicated_server

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_dedicated_server
- Line: 200

##### Syntax

```pawn
native is_dedicated_server();
```

##### Description

Returns 1 or 0.

#### is_jit_enabled

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_jit_enabled
- Line: 206

##### Syntax

```pawn
native is_jit_enabled();
```

##### Description

Returns 1 or 0.

#### is_linux_server

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_linux_server
- Line: 203

##### Syntax

```pawn
native is_linux_server();
```

##### Description

Returns 1 or 0.

#### is_map_valid

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_map_valid
- Line: 182

##### Syntax

```pawn
native is_map_valid(const mapname[]);
```

##### Description

Returns 1 or 0.

#### is_module_loaded

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_module_loaded
- Line: 591

##### Syntax

```pawn
native is_module_loaded(const name[]);
```

##### Description

Checks whether a module is loaded. If it is not, the return value is -1, otherwise
the return value is the module id. The function is case insensitive.

#### is_plugin_loaded

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_plugin_loaded
- Line: 627

##### Syntax

```pawn
native is_plugin_loaded(const name[], bool:usefilename=false);
```

##### Description

Checks whether a plugin is loaded by the given registered name (such as "Admin Base"), or, optionally
the given filename ("admin.amxx").

##### Parameters

- `name`: Either the plugin name to lookup, or the plugin filename to lookup.
- `usefilename`: Set to true if you want to search for the plugin by the filename, false to search
by the plugin's registered name.

##### Return

Plugin ID of the matching plugin on a successful search, -1 on a failed search.

##### Note

Prior to 1.8, this function would only search for plugins registered names, not
the filename.

##### Note

The plugin registered name search is a case insensitive search, however, the plugin
filename search is case sensitive.

#### is_user_alive

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_user_alive
- Line: 197

##### Syntax

```pawn
native is_user_alive(index);
```

##### Description

Returns 1 or 0.

#### is_user_bot

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_user_bot
- Line: 185

##### Syntax

```pawn
native is_user_bot(index);
```

##### Description

Returns 1 or 0.

#### is_user_connected

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_user_connected
- Line: 191

##### Syntax

```pawn
native is_user_connected(index);
```

##### Description

Returns 1 or 0.

#### is_user_connecting

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_user_connecting
- Line: 194

##### Syntax

```pawn
native is_user_connecting(index);
```

##### Description

Returns 1 or 0.

#### is_user_hltv

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/is_user_hltv
- Line: 188

##### Syntax

```pawn
native is_user_hltv(index);
```

##### Description

Returns 1 or 0.

#### log_amx

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/log_amx
- Line: 313

##### Syntax

```pawn
native log_amx(const string[], any:...);
```

##### Description

Logs something into the current amx logfile
Parameters:
 string[] - format string
 ...      - optional parameters
Return value:
 always 0

#### log_error

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/log_error
- Line: 769

##### Syntax

```pawn
native log_error(error, const fmt[], any:...);
```

##### Description

Logs an error in your native, and breaks into the debugger.
Acts as if the calling plugin had the error.

#### log_message

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/log_message
- Line: 316

##### Syntax

```pawn
native log_message(const message[],any:...);
```

##### Description

Sends message to standard HL logs.

#### log_to_file

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/log_to_file
- Line: 319

##### Syntax

```pawn
native log_to_file(const file[],const message[],any:...);
```

##### Description

Sends log message to specified file.

#### md5

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/md5
- Line: 718

##### Syntax

```pawn
native md5(const szString[], md5buffer[34]);
```

##### Description

Calculates the md5 keysum of a string

#### md5_file

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/md5_file
- Line: 721

##### Syntax

```pawn
native md5_file(const file[], md5buffer[34]);
```

##### Description

Calculates the md5 keysum of a file

#### module_exists

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/module_exists
- Line: 915

##### Syntax

```pawn
native module_exists(const logtag[]);
```

##### Description

Checks if a specific module is loaded.  This is the exact same method AMX Mod X
 uses to see if a module is required by a plugin.  For example:
 module_exists("cstrike")
 module_exists("dbi")

#### next_hudchannel

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/next_hudchannel
- Line: 925

##### Syntax

```pawn
native next_hudchannel(player);
```

##### Description

Returns the next valid hudchannel for a user, from 1-4.

#### num_to_word

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/num_to_word
- Line: 253

##### Syntax

```pawn
native num_to_word(num,output[],len);
```

##### Description

Converts numbers from range 0 - 999 to words.

#### param_convert

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/param_convert
- Line: 780

##### Syntax

```pawn
native param_convert(num);
```

##### Description

This function has no description.

#### parse_loguser

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/parse_loguser
- Line: 175

##### Syntax

```pawn
native parse_loguser(const text[], name[], nlen, &userid = -2, authid[] = "", alen = 0, team[]="", tlen=0);
```

##### Description

Parse log data about user ( "Butcher<5><BOT><TERRORIST>" etc. ).

#### parse_time

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/parse_time
- Line: 450

##### Syntax

```pawn
native parse_time(const input[],const format[], time = -1);
```

##### Description

Returns time in input and additionaly fills missing information
with current time and date. If time is different than -1 then parsed
time is added to given time.
Example:
parset_time( "10:32:54 04/02/2003", "%H:%M:%S %m:%d:%Y" )
For more information see strptime(...) function from C libraries.

#### pause

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/pause
- Line: 652

##### Syntax

```pawn
native pause(const flag[], const param1[]="",const param2[]="");
```

##### Description

Pauses function or plugin so it won't be executed.
In most cases param1 is name of function and
param2 name of plugin (all depends on flags).
Flags:
"a" - pause whole plugin.
"c" - look outside the plugin (by given plugin name).
"d" - set "stopped" status when pausing whole plugin.
      In this status plugin is unpauseable.
Example: pause("ac","myplugin.amxx")

Note: There used to be the b and e flags as well,
which have been deprecated and are no longer used.

#### plugin_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/plugin_flags
- Line: 728

##### Syntax

```pawn
native plugin_flags(hdr=0, plid=-1);
```

##### Description

Returns the internal flags set on the plugin's state
If hdr is 1, it will return the pcode flags rather than state flags.

Use a plid of -1 to get the flags for the calling plugin.

#### precache_generic

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/precache_generic
- Line: 83

##### Syntax

```pawn
native precache_generic(const szFile[]);
```

##### Description

Precaches any file.

#### precache_model

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/precache_model
- Line: 77

##### Syntax

```pawn
native precache_model(const name[]);
```

##### Description

Precache model. Can be used only in plugin_precache() function.

#### precache_sound

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/precache_sound
- Line: 80

##### Syntax

```pawn
native precache_sound(const name[]);
```

##### Description

Precache sound. Can be used only in plugin_precache() function.

#### query_client_cvar

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/query_client_cvar
- Line: 814

##### Syntax

```pawn
native query_client_cvar(id, const cvar[], const resultFunc[], paramlen=0, const params[] = "");
```

##### Description

This function has no description.

#### random_float

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/random_float
- Line: 553

##### Syntax

```pawn
native Float:random_float(Float:a,Float:b);
```

##### Description

Generates random floating point number from a to b.

#### random_num

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/random_num
- Line: 556

##### Syntax

```pawn
native random_num(a,b);
```

##### Description

Generates random integer from a to b.

#### read_argc

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/read_argc
- Line: 345

##### Syntax

```pawn
native read_argc();
```

##### Description

Returns number of arguments (+ one as command).

#### read_args

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/read_args
- Line: 342

##### Syntax

```pawn
native read_args(output[],len);
```

##### Description

Gets line of all arguments.

#### read_argv

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/read_argv
- Line: 339

##### Syntax

```pawn
native read_argv(id,output[],len);
```

##### Description

Gets argument from command.

#### read_data

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/read_data
- Line: 158

##### Syntax

```pawn
native read_data(value, any:... );
```

##### Description

Gets value from client messages.
When you are asking for string the array and length is needed (read_data(2,name,len)).
Integer is returned by function (new me = read_data(3)).
Float is set in second parameter (read_data(3,value)).

#### read_datanum

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/read_datanum
- Line: 161

##### Syntax

```pawn
native read_datanum();
```

##### Description

Returns number of values in client message.

#### read_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/read_flags
- Line: 349

##### Syntax

```pawn
native read_flags(const flags[]);
```

##### Description

Converts string to sum of bits.
Example: "abcd" is a sum of 1, 2, 4 and 8.

#### read_logargc

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/read_logargc
- Line: 168

##### Syntax

```pawn
native read_logargc();
```

##### Description

Returns number of log arguments.
Can be called only in plugin_log() forward function.

#### read_logargv

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/read_logargv
- Line: 172

##### Syntax

```pawn
native read_logargv(id,output[],len);
```

##### Description

Gets log argument indexed from 0.
Can be called only in plugin_log() forward function.

#### read_logdata

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/read_logdata
- Line: 164

##### Syntax

```pawn
native read_logdata(output[],len);
```

##### Description

Gets log message. Can be called only in plugin_log() forward function.

#### register_clcmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_clcmd
- Line: 485

##### Syntax

```pawn
native register_clcmd(const client_cmd[],const function[],flags=-1, const info[]="", FlagManager=-1);
```

##### Description

Registers function which will be called from client console.
Set FlagManager to 1 to make FlagManager always include this command
Set FlagManager to 0 to make FlagManager never include this command
Returns the command ID.

#### register_concmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_concmd
- Line: 492

##### Syntax

```pawn
native register_concmd(const cmd[],const function[],flags=-1, const info[]="", FlagManager=-1);
```

##### Description

Registers function which will be called from any console.
Set FlagManager to 1 to make FlagManager always include this command
Set FlagManager to 0 to make FlagManager never include this command
Returns the command ID.

#### register_cvar

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_cvar
- Line: 550

##### Syntax

```pawn
native register_cvar(const name[],const string[],flags = 0,Float:fvalue = 0.0);
```

##### Description

Registers new cvar for HL engine.
Returns the cvar pointer for get/set_pcvar functions.

#### register_event

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_event
- Line: 129

##### Syntax

```pawn
native register_event(const event[],const function[],const flags[],const cond[]="", ... );
```

##### Description

Registers event on which a given function will be called
Flags:
"a" - global event.
"b" - specified.
"c" - send only once when repeated to other players.
"d" - call if is send to dead player.
"e" - to alive.
NOTE: Due to a long-standing bug that would break compatibility with old plugins,
      the client id should be checked for alive/dead state if you use d or e.
Examples for conditions:
"2=c4" - 2nd parameter of message must be sting "c4".
"3>10" - 3rd parameter must be greater then 10.
"3!4" - 3rd must be different from 4.
"2&Buy" - 2nd parameter of message must contain "Buy" substring.
"2!Buy" - 2nd parameter of message can't contain "Buy" substring.

#### register_library

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_library
- Line: 764

##### Syntax

```pawn
native register_library(const library[]);
```

##### Description

Registers a library.  To mark a library as required, place the following
in your include file:
 #pragma reqlib <name>
 #if !defined AMXMODX_NOAUTOLOAD
  #pragma loadlib <name>
 #endif

#### register_logevent

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_logevent
- Line: 139

##### Syntax

```pawn
native register_logevent(const function[], argsnum,  ... );
```

##### Description

Registers log event on which the given function will be called
Examples for conditions:
"0=World triggered" "1=Game_Commencing"
"1=say"
"3=Terrorists_Win"
"1=entered the game"
"0=Server cvar"

#### register_menucmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_menucmd
- Line: 533

##### Syntax

```pawn
native register_menucmd(menuid,keys, const function[] );
```

##### Description

Calls function when player uses specified menu and proper keys.

#### register_menuid

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_menuid
- Line: 530

##### Syntax

```pawn
native register_menuid(const menu[], outside=0 );
```

##### Description

Gets unique id of menu. Outside set to 1 allows
to catch menus outside a plugin where register_menuid is called.

#### register_native

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_native
- Line: 755

##### Syntax

```pawn
native register_native(const name[], const handler[], style=0);
```

##### Description

Registers a NATIVE.  When a plugin uses your native (you should distribute a .inc),
the handler will be called with two parameters: the calling plugin id, and the
number of parameters.
If you set style=1, the method of parameter passing is a tad more efficient.
Instead of "id, numParams", you label the native exactly as how the parameters
 should, in theory, be sent.  Then for each byreference parameter, you call
 param_convert(num).  This is theoretically more efficient but quite hacky.
 The method was discovered by dJeyL, props to him!

#### register_plugin

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_plugin
- Line: 74

##### Syntax

```pawn
native register_plugin(const plugin_name[],const version[],const author[]);
```

##### Description

Sets informations about plugin. Returns the plugin id of the calling plugin.

#### register_srvcmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/register_srvcmd
- Line: 497

##### Syntax

```pawn
native register_srvcmd(const server_cmd[],const function[],flags=-1, const info[]="");
```

##### Description

Registers function which will be called from server console.
Returns the command ID.

#### remove_cvar_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/remove_cvar_flags
- Line: 394

##### Syntax

```pawn
native remove_cvar_flags(const cvar[],flags = -1);
```

##### Description

Removes a cvar flags (not allowed for amx_version,
fun_version and sv_cheats cvars).

#### remove_quotes

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/remove_quotes
- Line: 372

##### Syntax

```pawn
native remove_quotes(text[]);
```

##### Description

Removes quotes from sentence.

#### remove_task

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/remove_task
- Line: 463

##### Syntax

```pawn
native remove_task(id = 0, outside = 0);
```

##### Description

Removes all tasks with given id. If outside var is
set then a task can be removed also when
was set in another plugin.

#### remove_user_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/remove_user_flags
- Line: 478

##### Syntax

```pawn
native remove_user_flags(index,flags=-1,id=0);
```

##### Description

Removes flags for player.

#### require_module

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/require_module
- Line: 736

##### Syntax

```pawn
native require_module(const module[]);
```

##### Description

This function has no description.

#### server_cmd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/server_cmd
- Line: 384

##### Syntax

```pawn
native server_cmd(const command[],any:...);
```

##### Description

Executes command on a server console.

#### server_exec

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/server_exec
- Line: 542

##### Syntax

```pawn
native server_exec();
```

##### Description

Forces server to execute sent server command at current time.
Very useful for map changes, setting cvars and other activities.

#### server_print

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/server_print
- Line: 179

##### Syntax

```pawn
native server_print(const message[], any:...);
```

##### Description

Prints message to server console.
You may use text formating (f.e. server_print("%-32s %.2f!","hello",7.345))

#### set_addr_val

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_addr_val
- Line: 982

##### Syntax

```pawn
native set_addr_val(addr, val);
```

##### Description

This function has no description.

#### set_array

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_array
- Line: 802

##### Syntax

```pawn
native set_array(param, const source[], size);
```

##### Description

This function has no description.

#### set_array_f

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_array_f
- Line: 803

##### Syntax

```pawn
native set_array_f(param, const Float:source[], size);
```

##### Description

This function has no description.

#### set_cvar_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_cvar_flags
- Line: 398

##### Syntax

```pawn
native set_cvar_flags(const cvar[],flags);
```

##### Description

Sets a cvar flags (not allowed for amx_version,
fun_version and sv_cheats cvars).

#### set_cvar_float

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_cvar_float
- Line: 404

##### Syntax

```pawn
native set_cvar_float(const cvar[],Float:value);
```

##### Description

Sets a cvar to given float.

#### set_cvar_num

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_cvar_num
- Line: 413

##### Syntax

```pawn
native set_cvar_num(const cvarname[],value);
```

##### Description

Sets a cvar with integer value.

#### set_cvar_string

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_cvar_string
- Line: 387

##### Syntax

```pawn
native set_cvar_string(const cvar[],const value[]);
```

##### Description

Sets a cvar to given value.

#### set_error_filter

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_error_filter
- Line: 828

##### Syntax

```pawn
native set_error_filter(const handler[]);
```

##### Description

Allows you to trap error messages that occur in your plugin.
You can use this to override the debug messages that occur when your plugin
 causes some sort of runtime error.  Your handler will be called in this style:

public error_filter(error_code, bool:debugging, message[])
   error_code is the AMX_ERR code.  debugging is whether or not the plugin is in debug mode.
   message[] is any message that was sent along with the error.
Return PLUGIN_CONTINUE to let the error pass through the filter.
Return PLUGIN_HANDLED to block the error from displaying.

#### set_fail_state

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_fail_state
- Line: 969

##### Syntax

```pawn
native set_fail_state(const err_msg[]);
```

##### Description

This function has no description.

#### set_float_byref

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_float_byref
- Line: 796

##### Syntax

```pawn
native set_float_byref(param, Float:value);
```

##### Description

This function has no description.

#### set_hudmessage

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_hudmessage
- Line: 146

##### Syntax

```pawn
native set_hudmessage(red=200, green=100, blue=0, Float:x=-1.0, Float:y=0.35, effects=0, Float:fxtime=6.0, Float:holdtime=12.0, Float:fadeintime=0.1, Float:fadeouttime=0.2,channel=4);
```

##### Description

Sets format for hudmessage.
Note - as of AMX Mod X 1.61, setting the channel to -1
 will automatically choose the next available HUD channel for a player.

#### set_localinfo

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_localinfo
- Line: 92

##### Syntax

```pawn
native set_localinfo(const info[],const value[]);
```

##### Description

Sets info for server.

#### set_module_filter

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_module_filter
- Line: 896

##### Syntax

```pawn
native set_module_filter(const handler[]);
```

##### Description

This function sets a module/library filter.  It will let you intercept the automatic requirement
 of a module and return PLUGIN_CONTINUE to fail load or PLUGIN_HANDLED to imply that load
 can continue even without the module.

This is the most unforgiving of the filter functions.  You can ONLY call it during plugin_natives,
 and any error that occurs is not filtered -- instead your plugin will fail to load as if you
 returned PLUGIN_CONTINUE.

Your handler will be called with this prototype:

public module_filter(const library[], LibType:type);
 library - library or class name of the module that is required
 libtype - The type of requirement being checked (library/module or class).


set_module_filter() returns 0 on success (unlike most natives).

#### set_native_filter

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_native_filter
- Line: 876

##### Syntax

```pawn
native set_native_filter(const handler[]);
```

##### Description

Sets a native filter.  This must be first set in plugin_natives(), but future calls will
 simply set a new filter.
This filter will allow your plugin to load even if its modules aren't loaded.  For example,
 if Fun isn't loaded and you use set_user_frags, your plugin will still load.  However, if you
 attempt to call this native, your filter will intercept it with these parameters:

public function native_filter(const name[], index)
 native - name of native
 index - index of native
 trap - 0 if native couldn't be found, 1 if native use was attempted

If you return PLUGIN_HANDLED, no error is thrown.  If you return PLUGIN_CONTINUE,
 your plugin will have a run-time-error.  To print your own error, or change the default,
 you can return PLUGIN_HANDLED or return PLUGIN_CONTINUE and use set_error_filter.
If you return PLUGIN_CONTINUE when trap is 0, the plugin will ABORT AND FAIL TO LOAD!
When trap is 0, it is unsafe to use natives that modify the server or use other plugins.

#### set_param_byref

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_param_byref
- Line: 795

##### Syntax

```pawn
native set_param_byref(param, value);
```

##### Description

This function has no description.

#### set_pcvar_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_pcvar_flags
- Line: 1037

##### Syntax

```pawn
native set_pcvar_flags(pcvar, flags);
```

##### Description

This function has no description.

#### set_pcvar_float

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_pcvar_float
- Line: 1041

##### Syntax

```pawn
native set_pcvar_float(pcvar, Float:num);
```

##### Description

This function has no description.

#### set_pcvar_num

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_pcvar_num
- Line: 1039

##### Syntax

```pawn
native set_pcvar_num(pcvar, num);
```

##### Description

This function has no description.

#### set_pcvar_string

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_pcvar_string
- Line: 1043

##### Syntax

```pawn
native set_pcvar_string(pcvar, const string[]);
```

##### Description

This function has no description.

#### set_string

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_string
- Line: 786

##### Syntax

```pawn
native set_string(param, dest[], maxlen);
```

##### Description

This function has no description.

#### set_task

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_task
- Line: 458

##### Syntax

```pawn
native set_task(Float:time,const function[],id = 0,const parameter[]="",len = 0,const flags[]="", repeat = 0);
```

##### Description

Calls function on specified time.
Flags:
"a" - repeat.
"b" - loop task.
"c" - do task on time after a map timeleft.
"d" - do task on time before a map timelimit.

#### set_user_flags

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_user_flags
- Line: 472

##### Syntax

```pawn
native set_user_flags(index,flags=-1,id=0);
```

##### Description

Sets the users flags with the assignment by bitwise OR operator.

#### set_user_info

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_user_info
- Line: 86

##### Syntax

```pawn
native set_user_info(index,const info[],const value[]);
```

##### Description

Sets info for player.

#### set_xvar_float

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_xvar_float
- Line: 587

##### Syntax

```pawn
native set_xvar_float( id, Float:value = 0.0 );
```

##### Description

Sets a float value of a public variable. Id is a value
returned by get_xvar_id(...) native.

#### set_xvar_num

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/set_xvar_num
- Line: 583

##### Syntax

```pawn
native set_xvar_num( id, value = 0 );
```

##### Description

Sets a value of a public variable. Id is a value
returned by get_xvar_id(...) native.

#### show_hudmessage

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/show_hudmessage
- Line: 149

##### Syntax

```pawn
native show_hudmessage(index,const message[],any:...);
```

##### Description

Displays HUD message to given player.

#### show_menu

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/show_menu
- Line: 152

##### Syntax

```pawn
native show_menu(index,keys,const menu[], time = -1, const title[] = "");
```

##### Description

Displays menu. Keys have bit values (key 1 is (1<<0), key 5 is (1<<4) etc.).

#### show_motd

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/show_motd
- Line: 100

##### Syntax

```pawn
native show_motd(player,const message[],const header[]="");
```

##### Description

Shows text in MOTD window. When there is no header, the MOTD title
will be the name of server. If message is filename, then a contents
of this file will be displayed as MOTD.

#### task_exists

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/task_exists
- Line: 469

##### Syntax

```pawn
native task_exists(id = 0, outside = 0);
```

##### Description

Returns 1 if task under given id exists.

#### unpause

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/unpause
- Line: 658

##### Syntax

```pawn
native unpause(const flag[], const param1[]="",const param2[]="");
```

##### Description

Unpauses function or plugin.
Flags:
"a" - unpause whole plugin.
"c" - look outside the plugin (by given plugin name).

#### user_has_weapon

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/user_has_weapon
- Line: 243

##### Syntax

```pawn
native user_has_weapon(index,weapon,setweapon=-1);
```

##### Description

Returns if the player has the weapon or not in their pev->weapons field.
   set "setweapon" to 0 to turn the bit off, set to 1 to turn it on.

#### user_kill

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/user_kill
- Line: 305

##### Syntax

```pawn
native user_kill(index,flag=0);
```

##### Description

Kills player. When flag is set to 1 then death won't decrase frags.

#### user_slap

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/user_slap
- Line: 302

##### Syntax

```pawn
native user_slap(index,power,rnddir=1);
```

##### Description

Slaps player with given power.

#### xvar_exists

- Include: `amxmodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/amxmodx/function/xvar_exists
- Line: 567

##### Syntax

```pawn
native xvar_exists( const name[] );
```

##### Description

Checks if public variable with given name exists in loaded plugins.

## amxmodx 1.8.2 hg65 / cellarray.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray
- Group: amxmodx 1.8.2 hg65
- Functions: 23
- Documented constants: 2

### Constants

#### Array

Array

```pawn
enum Array
{
	Invalid_Array = 0
};
```

#### These arrays are intended to be used for a form of global storage without requiring a #define that needs to be increased each time a person needs more storage. These are not designed to be used as a replacement for normal arrays, as normal arrays are faster and should be used whenever possible.

These arrays are intended to be used for a form of global storage without
requiring a #define that needs to be increased each time a person needs more
storage.
These are not designed to be used as a replacement for normal arrays, as
normal arrays are faster and should be used whenever possible.

### Functions

#### ArrayClear

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayClear
- Line: 36

##### Syntax

```pawn
native ArrayClear(Array:which);
```

##### Description

Clears all entries from the array.

##### Parameters

- `which`: The array to clear.

##### Return

1 on success, 0 on failure.

#### ArrayCreate

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayCreate
- Line: 28

##### Syntax

```pawn
native Array:ArrayCreate(cellsize=1, reserved=32);
```

##### Description

Creates a handle to a dynamically sized array.
It is very important that the cellsize you provide matches up with the buffer sizes
that you pass with subsequent Array{Get,Set,Push} calls.

##### Parameters

- `cellsize`: How many cells each entry in the array is.
- `reserved`: How many blank entries are created immediately when the array is created.  These entries are not valid to read from until called with ArraySet.

##### Return

Handle to the array.

#### ArrayDeleteItem

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayDeleteItem
- Line: 210

##### Syntax

```pawn
native ArrayDeleteItem(Array:which, item);
```

##### Description

Deletes an item from the array.  All items beyond it get shifted down 1 space.

##### Parameters

- `which`: The array that contains the item to delete.
- `item`: The item to delete.

#### ArrayDestroy

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayDestroy
- Line: 230

##### Syntax

```pawn
native ArrayDestroy(&Array:which);
```

##### Description

Destroys the array, and resets the handle to 0 to prevent accidental usage after it is destroyed.

##### Parameters

- `which`: The array to destroy.

#### ArrayGetArray

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayGetArray
- Line: 54

##### Syntax

```pawn
native ArrayGetArray(Array:which, item, any:output[]);
```

##### Description

Returns data within an array.
Make sure the output buffer matches the size the array was created with!

##### Parameters

- `which`: The array to retrieve the item from.
- `item`: The item to retrieve (zero-based).
- `output`: The output buffer to write.

#### ArrayGetCell

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayGetCell
- Line: 64

##### Syntax

```pawn
native any:ArrayGetCell(Array:which, item);
```

##### Description

Returns a single cell of data from an array.
Use this only with arrays that were created with a cellsize of 1!

##### Parameters

- `which`: The array to retrieve the item from.
- `item`: The item to retrieve (zero-based).

##### Return

The value of the cell.

#### ArrayGetString

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayGetString
- Line: 74

##### Syntax

```pawn
native ArrayGetString(Array:which, item, output[], size);
```

##### Description

Returns a string value from an array.

##### Parameters

- `which`: The array to retrieve the item from.
- `item`: The item to retrieve (zero-based).
- `output`: The variable to store the value in.
- `size`: Character size of the output buffer.

#### ArrayGetStringHandle

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayGetStringHandle
- Line: 223

##### Syntax

```pawn
native DoNotUse:ArrayGetStringHandle(Array:which, item);
```

##### Description

Creates a handle that is passable to a format compliant routine for printing as a string (with the %a format option).
It is suggested to pass the function directly as a parameter to the format routine.
The array contents must be a null-terminated string!

An example usage:  client_print(id, print_chat, "%a", ArrayGetStringHandle(MessageArray, i));

##### Parameters

- `which`: The array the string is stored in.
- `item`: Which item to print the string value of.

##### Return

Handle to the item directly.  Do not use or save stale handles.

#### ArrayInsertArrayAfter

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayInsertArrayAfter
- Line: 143

##### Syntax

```pawn
native ArrayInsertArrayAfter(Array:which, item, const any:input[]);
```

##### Description

Inserts an item after the selected item.  All items beyond it get shifted up 1 space.
The buffer size must match what the cellsize that the array was created with!

##### Parameters

- `which`: The array to add the item to.
- `item`: The item to insert after.
- `input`: The input buffer to store.

#### ArrayInsertArrayBefore

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayInsertArrayBefore
- Line: 173

##### Syntax

```pawn
native ArrayInsertArrayBefore(Array:which, item, const any:input[]);
```

##### Description

Inserts an item before the selected item.  All items beyond it, and the selected item get shifted up 1 space.
The buffer size must match what the cellsize that the array was created with!

##### Parameters

- `which`: The array to add the item to.
- `item`: The item to insert before.
- `input`: The input buffer to store.

#### ArrayInsertCellAfter

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayInsertCellAfter
- Line: 153

##### Syntax

```pawn
native ArrayInsertCellAfter(Array:which, item, any:input);
```

##### Description

Inserts an item after the selected item.  All items beyond it get shifted up 1 space.
Use this only on an array that was created with a cellsize of 1!

##### Parameters

- `which`: The array to add the item to.
- `item`: The item to insert after.
- `input`: The value to set.

#### ArrayInsertCellBefore

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayInsertCellBefore
- Line: 183

##### Syntax

```pawn
native ArrayInsertCellBefore(Array:which, item, const any:input);
```

##### Description

Inserts an item before the selected item.  All items beyond it, and the selected item get shifted up 1 space.
Use this only on an array that was created with a cellsize of 1!

##### Parameters

- `which`: The array to add the item to.
- `item`: The item to insert after.
- `input`: The value to set.

#### ArrayInsertStringAfter

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayInsertStringAfter
- Line: 163

##### Syntax

```pawn
native ArrayInsertStringAfter(Array:which, item, const input[]);
```

##### Description

Inserts an item after the selected item.  All items beyond it get shifted up 1 space.
The stored string will be truncated if it is longer than the cellsize the array was created with!

##### Parameters

- `which`: The array to add the item to.
- `item`: The item to insert after.
- `input`: The value to set.

#### ArrayInsertStringBefore

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayInsertStringBefore
- Line: 193

##### Syntax

```pawn
native ArrayInsertStringBefore(Array:which, item, const input[]);
```

##### Description

Inserts an item before the selected item.  All items beyond it, and the selected item get shifted up 1 space.
The stored string will be truncated if it is longer than the cellsize the array was created with!

##### Parameters

- `which`: The array to add the item to.
- `item`: The item to insert before.
- `input`: The value to set.

#### ArrayPushArray

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayPushArray
- Line: 115

##### Syntax

```pawn
native ArrayPushArray(Array:which, const any:input[]);
```

##### Description

Creates a new item at the end of the array and sets its data with that of a local buffer.
The buffer size must match what the cellsize that the array was created with!

##### Parameters

- `which`: The array to add the item to.
- `input`: The input buffer to store.

#### ArrayPushCell

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayPushCell
- Line: 124

##### Syntax

```pawn
native ArrayPushCell(Array:which, any:input);
```

##### Description

Creates a new item and sets the array's single cell value.
Use this only on array that were created with a cellsize of 1!

##### Parameters

- `which`: The array to add the item to.
- `input`: The value to set.

#### ArrayPushString

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArrayPushString
- Line: 133

##### Syntax

```pawn
native ArrayPushString(Array:which, const input[]);
```

##### Description

Creates a new element in the array and sets its value to the input buffer.
The stored string will be truncated if it is longer than the cellsize the array was created with!

##### Parameters

- `which`: The array to add the item to.
- `input`: The string to set the item as.

#### ArraySetArray

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArraySetArray
- Line: 85

##### Syntax

```pawn
native ArraySetArray(Array:which, item, const any:input[]);
```

##### Description

Sets an item's data with that of a local buffer.
The buffer size must match what the cellsize that the array was created with!
The item must already exist, use ArrayPushArray to create a new item within the array.

##### Parameters

- `which`: The array to set the item from within.
- `item`: The item to set (zero-based).
- `input`: The input buffer to store.

#### ArraySetCell

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArraySetCell
- Line: 95

##### Syntax

```pawn
native ArraySetCell(Array:which, item, any:input);
```

##### Description

Sets an array's single cell value.  Use this only on array that were created with a cellsize of 1!
The item must already exist, use ArrayPushCell to create a new item within the array.

##### Parameters

- `which`: The array to set the item from within.
- `item`: The item to set (zero-based).
- `input`: The value to set.

#### ArraySetString

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArraySetString
- Line: 106

##### Syntax

```pawn
native ArraySetString(Array:which, item, const input[]);
```

##### Description

Sets a string value from an array.
The stored string will be truncated if it is longer than the cellsize the array was created with!
The item must already exist, use ArrayPushString to create a new item within the array.

##### Parameters

- `which`: The array to set the item from within.
- `item`: The item to set (zero-based).
- `input`: The string to set the item as.

#### ArraySize

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArraySize
- Line: 44

##### Syntax

```pawn
native ArraySize(Array:which);
```

##### Description

Returns the number of elements in the array.

##### Parameters

- `which`: The array to check.

##### Return

How many elements are in the array.

#### ArraySort

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArraySort
- Line: 254

##### Syntax

```pawn
native ArraySort(Array:array, const comparefunc[], data[]="", data_size=0);
```

##### Description

Similar to sorting.inc's CustomSort.
The sorting algorithm then uses your comparison function to sort the data.
The function is called in the following manner:

public MySortFunc(Array:array, item1, item2, const data[], data_size)

 array			- Array handle in its current un-sorted state.
 item1, item2	- Current item pair being compared
 data[]			- Extra data array you passed to the sort func.
 data_size		- Size of extra data you passed to the sort func.

Your function should return:
 -1 if item1 should go before item2
  0 if item1 and item2 are equal
  1 if item1 should go after item2
Note that the parameters after item2 are all optional and you do not need to specify them.

Note that unlike the sorting.inc versions, the array passed to the callback is not in mid-sorted state.

#### ArraySwap

- Include: `cellarray.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cellarray/function/ArraySwap
- Line: 202

##### Syntax

```pawn
native ArraySwap(Array:which, item1, item2);
```

##### Description

Swaps the position of two items.

##### Parameters

- `which`: The array that contains the items.
- `item1`: The first item to swap.
- `item2`: The second item to swap.

## amxmodx 1.8.2 hg65 / celltrie.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie
- Group: amxmodx 1.8.2 hg65
- Functions: 11
- Documented constants: 1

### Constants

#### Trie

Trie

```pawn
enum Trie
{
	Invalid_Trie = 0
};
```

### Functions

#### TrieClear

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieClear
- Line: 13

##### Syntax

```pawn
native TrieClear(Trie:handle);
```

##### Description

This function has no description.

#### TrieCreate

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieCreate
- Line: 12

##### Syntax

```pawn
native Trie:TrieCreate();
```

##### Description

This function has no description.

#### TrieDeleteKey

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieDeleteKey
- Line: 23

##### Syntax

```pawn
native bool:TrieDeleteKey(Trie:handle, const key[]);
```

##### Description

This function has no description.

#### TrieDestroy

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieDestroy
- Line: 25

##### Syntax

```pawn
native TrieDestroy(&Trie:handle);
```

##### Description

This function has no description.

#### TrieGetArray

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieGetArray
- Line: 21

##### Syntax

```pawn
native bool:TrieGetArray(Trie:handle, const key[], any:output[], outputsize);
```

##### Description

This function has no description.

#### TrieGetCell

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieGetCell
- Line: 19

##### Syntax

```pawn
native bool:TrieGetCell(Trie:handle, const key[], &any:value);
```

##### Description

This function has no description.

#### TrieGetString

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieGetString
- Line: 20

##### Syntax

```pawn
native bool:TrieGetString(Trie:handle, const key[], output[], outputsize);
```

##### Description

This function has no description.

#### TrieKeyExists

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieKeyExists
- Line: 24

##### Syntax

```pawn
native bool:TrieKeyExists(Trie:handle, const key[]);
```

##### Description

This function has no description.

#### TrieSetArray

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieSetArray
- Line: 17

##### Syntax

```pawn
native TrieSetArray(Trie:handle, const key[], const any:buffer[], size);
```

##### Description

This function has no description.

#### TrieSetCell

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieSetCell
- Line: 15

##### Syntax

```pawn
native TrieSetCell(Trie:handle, const key[], any:value);
```

##### Description

This function has no description.

#### TrieSetString

- Include: `celltrie.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/celltrie/function/TrieSetString
- Line: 16

##### Syntax

```pawn
native TrieSetString(Trie:handle, const key[], const value[]);
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / core.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core
- Group: amxmodx 1.8.2 hg65
- Functions: 19
- Documented constants: 0

### Functions

#### clamp

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/clamp
- Line: 31

##### Syntax

```pawn
native clamp(value, min=cellmin, max=cellmax);
```

##### Description

This function has no description.

#### date

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/date
- Line: 37

##### Syntax

```pawn
native date(&year=0,&month=0,&day=0);
```

##### Description

This function has no description.

#### funcidx

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/funcidx
- Line: 15

##### Syntax

```pawn
native funcidx(const name[]);
```

##### Description

This function has no description.

#### getarg

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/getarg
- Line: 18

##### Syntax

```pawn
native getarg(arg, index=0);
```

##### Description

This function has no description.

#### heapspace

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/heapspace
- Line: 13

##### Syntax

```pawn
native heapspace();
```

##### Description

This function has no description.

#### max

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/max
- Line: 30

##### Syntax

```pawn
native max(value1, value2);
```

##### Description

This function has no description.

#### min

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/min
- Line: 29

##### Syntax

```pawn
native min(value1, value2);
```

##### Description

This function has no description.

#### numargs

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/numargs
- Line: 17

##### Syntax

```pawn
native numargs();
```

##### Description

This function has no description.

#### power

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/power
- Line: 33

##### Syntax

```pawn
native power(value, exponent);
```

##### Description

This function has no description.

#### random

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/random
- Line: 27

##### Syntax

```pawn
native random(max);
```

##### Description

This function has no description.

#### setarg

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/setarg
- Line: 19

##### Syntax

```pawn
native setarg(arg, index=0, value);
```

##### Description

This function has no description.

#### sqroot

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/sqroot
- Line: 34

##### Syntax

```pawn
native sqroot(value);
```

##### Description

This function has no description.

#### strlen

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/strlen
- Line: 21

##### Syntax

```pawn
native strlen(const string[]);
```

##### Description

This function has no description.

#### swapchars

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/swapchars
- Line: 25

##### Syntax

```pawn
native swapchars(c);
```

##### Description

This function has no description.

#### tickcount

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/tickcount
- Line: 39

##### Syntax

```pawn
native tickcount(&granularity=0);
```

##### Description

This function has no description.

#### time

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/time
- Line: 36

##### Syntax

```pawn
native time(&hour=0,&minute=0,&second=0);
```

##### Description

This function has no description.

#### tolower

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/tolower
- Line: 23

##### Syntax

```pawn
native tolower(c);
```

##### Description

This function has no description.

#### toupper

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/toupper
- Line: 24

##### Syntax

```pawn
native toupper(c);
```

##### Description

This function has no description.

#### abs

- Include: `core.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/core/function/abs
- Line: 41

##### Syntax

```pawn
stock abs(x)
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / csstats.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats
- Group: amxmodx 1.8.2 hg65
- Functions: 11
- Documented constants: 0

### Functions

#### get_stats

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_stats
- Line: 48

##### Syntax

```pawn
native get_stats(index,stats[8],bodyhits[8],name[],len,authid[] = "",authidlen = 0);
```

##### Description

Gets overall stats which stored in stats.dat file in amx folder
and updated on every mapchange or user disconnect.
Function returns next index of stats entry or 0 if no more exists.

#### get_stats2

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_stats2
- Line: 61

##### Syntax

```pawn
native get_stats2(index,stats[4],authid[] = "",authidlen = 0);
```

##### Description

This function has no description.

#### get_statsnum

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_statsnum
- Line: 51

##### Syntax

```pawn
native get_statsnum();
```

##### Description

Returns number of all entries in stats.

#### get_user_astats

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_user_astats
- Line: 40

##### Syntax

```pawn
native get_user_astats(index,wpnindex,stats[8],bodyhits[8],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have been killed/hurt. If killer is 0
then stats are from all attacks. If killer has not hurt user, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_rstats

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_user_rstats
- Line: 30

##### Syntax

```pawn
native get_user_rstats(index,stats[8],bodyhits[8]);
```

##### Description

Gets round stats of player.

#### get_user_stats

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_user_stats
- Line: 27

##### Syntax

```pawn
native get_user_stats(index,stats[8],bodyhits[8]);
```

##### Description

Gets overall stats which are stored in file on server
and updated on every respawn or user disconnect.
Function returns the position in stats by diff. kills to deaths.

#### get_user_stats2

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_user_stats2
- Line: 60

##### Syntax

```pawn
native get_user_stats2(index,stats[4]);
```

##### Description

new stats:
0 - total defusions
1 - bomb defused
2 - bomb plants
3 - bomb explosions

#### get_user_vstats

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_user_vstats
- Line: 35

##### Syntax

```pawn
native get_user_vstats(index,victim,stats[8],bodyhits[8],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have killed/hurt his victim. If victim is 0
then stats are from all victims. If victim has not been hurt, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_wrstats

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_user_wrstats
- Line: 22

##### Syntax

```pawn
native get_user_wrstats(index,wpnindex,stats[8],bodyhits[8]);
```

##### Description

Gets round stats from given weapon index.

#### get_user_wstats

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/get_user_wstats
- Line: 19

##### Syntax

```pawn
native get_user_wstats(index,wpnindex,stats[8],bodyhits[8]);
```

##### Description

Gets stats from given weapon index. If wpnindex is 0
then the stats are from all weapons. If weapon has not been used function
returns 0 in other case 1. Fields in stats are:
0 - kills
1 - deaths
2 - headshots
3 - teamkilling
4 - shots
5 - hits
6 - damage

For body hits fields see amxconst.inc.

#### reset_user_wstats

- Include: `csstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csstats/function/reset_user_wstats
- Line: 43

##### Syntax

```pawn
native reset_user_wstats(index);
```

##### Description

Resets life, weapon, victims and attackers user stats.

## amxmodx 1.8.2 hg65 / cstrike.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike
- Group: amxmodx 1.8.2 hg65
- Functions: 61
- Documented constants: 9

### Constants

#### CsInternalModel

Set user team without killing player.
If model is anything other than CS_DONTCHANGE, that will be set as player's model.

```pawn
enum CsInternalModel {
	CS_DONTCHANGE = 0,
	CS_CT_URBAN = 1,
	CS_T_TERROR = 2,
	CS_T_LEET = 3,
	CS_T_ARCTIC = 4,
	CS_CT_GSG9 = 5,
	CS_CT_GIGN = 6,
	CS_CT_SAS = 7,
	CS_T_GUERILLA = 8,
	CS_CT_VIP = 9,
	CZ_T_MILITIA = 10,
	CZ_CT_SPETSNAZ = 11
};
```

#### CsTeams

Get team directly from player's entity.
1 = terrorist
2 = counter-terrorist
3 = spectator

```pawn
enum CsTeams {
	CS_TEAM_UNASSIGNED = 0,
	CS_TEAM_T = 1,
	CS_TEAM_CT = 2,
	CS_TEAM_SPECTATOR = 3
};
```

#### CsArmorType

Returns armor value and sets by reference the armor type in second parameter.

```pawn
enum CsArmorType {
	CS_ARMOR_NONE = 0, // no armor
	CS_ARMOR_KEVLAR = 1, // armor
	CS_ARMOR_VESTHELM = 2 // armor and helmet
};
```

#### CS_MAPZONE_BUY

CS_MAPZONE_BUY

```pawn
#define CS_MAPZONE_BUY 			(1<<0)
```

#### CS_MAPZONE_BOMBTARGET

CS_MAPZONE_BOMBTARGET

```pawn
#define CS_MAPZONE_BOMBTARGET 		(1<<1)
```

#### CS_MAPZONE_HOSTAGE_RESCUE

CS_MAPZONE_HOSTAGE_RESCUE

```pawn
#define CS_MAPZONE_HOSTAGE_RESCUE 	(1<<2)
```

#### CS_MAPZONE_ESCAPE

CS_MAPZONE_ESCAPE

```pawn
#define CS_MAPZONE_ESCAPE		(1<<3)
```

#### CS_MAPZONE_VIP_SAFETY

CS_MAPZONE_VIP_SAFETY

```pawn
#define CS_MAPZONE_VIP_SAFETY 		(1<<4)
```

#### Zoom type enum. Used for get/set_user_zoom() natives.

Zoom type enum. Used for get/set_user_zoom() natives.

```pawn
enum
{
	CS_RESET_ZOOM = 0,		// Reset any zoom blocking (when using this type, mode has no effect)
	CS_SET_NO_ZOOM,			// Disable any sort of zoom (ie: to disable zoom in all weapons use this with mode=0)
	CS_SET_FIRST_ZOOM,		// Set first zoom (awp style)
	CS_SET_SECOND_ZOOM,		// Set second zoom (awp style)
	CS_SET_AUGSG552_ZOOM,		// Set aug/sg552 zoom style
};
```

### Functions

#### CS_InternalCommand

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/CS_InternalCommand
- Line: 355

##### Syntax

```pawn
forward CS_InternalCommand(id, const cmd[]);
```

##### Description

Called when CS internally fires a command to a player.  It does this for a few
functions, most notably rebuy/autobuy functionality.  This is also used to pass
commands to CZ bots internally.

##### Parameters

- `id`: Client index.
- `cmd`: Command string.

##### Return

PLUGIN_HANDLED to block, PLUGIN_CONTINUE for normal operation.

#### cs_get_armoury_type

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_armoury_type
- Line: 257

##### Syntax

```pawn
native cs_get_armoury_type(index);
```

##### Description

Get what weapon type (CSW_*) an armoury_entity is.

#### cs_get_c4_defusing

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_c4_defusing
- Line: 343

##### Syntax

```pawn
native bool:cs_get_c4_defusing(c4index);
```

##### Description

Gets or sets whether the C4 is being defused.

#### cs_get_c4_explode_time

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_c4_explode_time
- Line: 337

##### Syntax

```pawn
native Float:cs_get_c4_explode_time(index);
```

##### Description

Gets or sets the time in which the C4 will explode.

#### cs_get_hostage_foll

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_hostage_foll
- Line: 33

##### Syntax

```pawn
native cs_get_hostage_foll(index);
```

##### Description

Returns index of entity (does not have to be a player) which hostage is following. 0 is hostage doesn't follow anything.
Note: this native does not work on Condition Zero, which has a different hostage AI than CS.

#### cs_get_hostage_id

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_hostage_id
- Line: 42

##### Syntax

```pawn
native cs_get_hostage_id(index);
```

##### Description

Get unique hostage id.

#### cs_get_hostage_lastuse

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_hostage_lastuse
- Line: 325

##### Syntax

```pawn
native Float:cs_get_hostage_lastuse(index);
```

##### Description

Gets or sets the time that the hostage was last used.

#### cs_get_hostage_nextuse

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_hostage_nextuse
- Line: 331

##### Syntax

```pawn
native Float:cs_get_hostage_nextuse(index);
```

##### Description

Gets or sets the time which the hostage can next be used.

#### cs_get_no_knives

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_no_knives
- Line: 243

##### Syntax

```pawn
native cs_get_no_knives();
```

##### Description

Returns 1 if no knives mode is enabled, else 0.

#### cs_get_user_armor

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_armor
- Line: 205

##### Syntax

```pawn
native cs_get_user_armor(index, &CsArmorType:armortype);
```

##### Description

This function has no description.

#### cs_get_user_bpammo

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_bpammo
- Line: 61

##### Syntax

```pawn
native cs_get_user_bpammo(index, weapon);
```

##### Description

Get amount of ammo in backpack on a user for a specific weapon.
Look in amxconst.inc for weapon types: CSW_*.
Weapons on the same line uses the same ammo type:
awm
scout, ak, g3
para
famas, m4a1, aug, sg550, galil, sg552
m3, xm
usp, ump, mac
fiveseven, p90
deagle
p228
glock, mp5, tmp, elites
flash
he
smoke

#### cs_get_user_buyzone

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_buyzone
- Line: 79

##### Syntax

```pawn
native cs_get_user_buyzone(index);
```

##### Description

Is user in buyzone? Returns 1 when true, 0 when false.

#### cs_get_user_deaths

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_deaths
- Line: 24

##### Syntax

```pawn
native cs_get_user_deaths(index);
```

##### Description

Returns player deaths.

#### cs_get_user_defuse

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_defuse
- Line: 69

##### Syntax

```pawn
native cs_get_user_defuse(index);
```

##### Description

Returns 1 if user has a defuse kit.

#### cs_get_user_driving

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_driving
- Line: 188

##### Syntax

```pawn
native cs_get_user_driving(index);
```

##### Description

Returns different values depending on if user is driving a vehicle - and if so at what speed.
0: no driving
1: driving, but standing still
2-4: driving, different positive speeds
5: driving, negative speed (backing)
Note: these values were tested quickly, they may differ.

#### cs_get_user_hasprim

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_hasprim
- Line: 83

##### Syntax

```pawn
native cs_get_user_hasprim(index);
```

##### Description

Returns 1 when user has a primary weapon OR a shield in inventory, else 0.

#### cs_get_user_hostagekills

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_hostagekills
- Line: 319

##### Syntax

```pawn
native cs_get_user_hostagekills(index);
```

##### Description

Gets or sets the number of hostages that a user has killed.

#### cs_get_user_lastactivity

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_lastactivity
- Line: 313

##### Syntax

```pawn
native Float:cs_get_user_lastactivity(index);
```

##### Description

Gets or sets the user's last activity time.  This is the time that CS's internal afk kicker
checks to see who has been afk too long.

#### cs_get_user_mapzones

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_mapzones
- Line: 275

##### Syntax

```pawn
native cs_get_user_mapzones(index);
```

##### Description

Returns in bitwise form if the user is in a specific map zone.
NOTE: If user can't plant (cs_get_user_plant(index) is 0) then cs_get_user_mapzones(index) & CS_MAPZONE_BOMBTARGET will return 0 too.

#### cs_get_user_model

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_model
- Line: 87

##### Syntax

```pawn
native cs_get_user_model(index, model[], len);
```

##### Description

Get user model.

#### cs_get_user_money

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_money
- Line: 99

##### Syntax

```pawn
native cs_get_user_money(index);
```

##### Description

Returns users money.

#### cs_get_user_nvg

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_nvg
- Line: 107

##### Syntax

```pawn
native cs_get_user_nvg(index);
```

##### Description

Does user have night vision goggles?

#### cs_get_user_plant

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_plant
- Line: 115

##### Syntax

```pawn
native cs_get_user_plant(index);
```

##### Description

Returns 1 if user has the "skill" to plant bomb, else 0. Normally this would only be true for a terrorist carrying a bomb.

#### cs_get_user_shield

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_shield
- Line: 192

##### Syntax

```pawn
native cs_get_user_shield(index);
```

##### Description

Returns 1 if user has a shield, else 0.

#### cs_get_user_stationary

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_stationary
- Line: 196

##### Syntax

```pawn
native cs_get_user_stationary(index);
```

##### Description

Returns 1 if user is using a stationary gun, else 0.

#### cs_get_user_submodel

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_submodel
- Line: 302

##### Syntax

```pawn
native cs_get_user_submodel(index);
```

##### Description

Returns the submodel setting of the player.
If this is 1, then the user has a backpack or defuser on their model (depending on team)

#### cs_get_user_team

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_team
- Line: 154

##### Syntax

```pawn
native CsTeams:cs_get_user_team(index, &{CsInternalModel,_}:model = CS_DONTCHANGE);
```

##### Description

This function has no description.

#### cs_get_user_tked

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_tked
- Line: 172

##### Syntax

```pawn
native cs_get_user_tked(index);
```

##### Description

Returns 1 of specified user has tk:ed (team killed).

#### cs_get_user_vip

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_vip
- Line: 158

##### Syntax

```pawn
native cs_get_user_vip(index);
```

##### Description

Is user vip? Returns 1 if true, 0 if false.

#### cs_get_user_zoom

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_user_zoom
- Line: 297

##### Syntax

```pawn
native cs_get_user_zoom(index);
```

##### Description

Returns how a user is zooming during the native call. Values correspond to the above enum, but will return 0 if an error occurred.

#### cs_get_weapon_ammo

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_weapon_ammo
- Line: 231

##### Syntax

```pawn
native cs_get_weapon_ammo(index);
```

##### Description

Returns amount of ammo in weapon's clip.

#### cs_get_weapon_burst

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_weapon_burst
- Line: 214

##### Syntax

```pawn
native cs_get_weapon_burst(index);
```

##### Description

Returns 1 if specified weapon is in burst mode.

#### cs_get_weapon_id

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_weapon_id
- Line: 239

##### Syntax

```pawn
native cs_get_weapon_id(index);
```

##### Description

Get weapon type. Corresponds to CSW_* in amxconst.inc: 1 is CSW_P228, 2 is CSW_SCOUT and so on...

#### cs_get_weapon_silen

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_get_weapon_silen
- Line: 223

##### Syntax

```pawn
native cs_get_weapon_silen(index);
```

##### Description

Returns 1 if weapon is silenced, else 0.

#### cs_reset_user_model

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_reset_user_model
- Line: 95

##### Syntax

```pawn
native cs_reset_user_model(index);
```

##### Description

Use to reset model to standard selected model.

#### cs_set_armoury_type

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_armoury_type
- Line: 264

##### Syntax

```pawn
native cs_set_armoury_type(index, type);
```

##### Description

Set an armoury_entity to be of specified type. You will have to set the appropriate model.
The second argument, type, should be a CSW_* constant. Not all weapons are supported by Counter-strike.
Supported weapons/items: CSW_MP5NAVY, CSW_TMP, CSW_P90, CSW_MAC10, CSW_AK47, CSW_SG552, CSW_M4A1, CSW_AUG, CSW_SCOUT
CSW_G3SG1, CSW_AWP, CSW_M3, CSW_XM1014, CSW_M249, CSW_FLASHBANG, CSW_HEGRENADE, CSW_VEST, CSW_VESTHELM, CSW_SMOKEGRENADE

#### cs_set_c4_defusing

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_c4_defusing
- Line: 345

##### Syntax

```pawn
native cs_set_c4_defusing(c4index, bool:defusing);
```

##### Description

This function has no description.

#### cs_set_c4_explode_time

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_c4_explode_time
- Line: 339

##### Syntax

```pawn
native cs_set_c4_explode_time(index, Float:value);
```

##### Description

This function has no description.

#### cs_set_hostage_foll

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_hostage_foll
- Line: 38

##### Syntax

```pawn
native cs_set_hostage_foll(index, followedindex = 0);
```

##### Description

Set hostage to follow entity specified in followedindex. Does not have to be a player. If followedindex is 0 the hostage will stop following.
Note: this native does not work on Condition Zero, which has a different hostage AI than CS.

#### cs_set_hostage_lastuse

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_hostage_lastuse
- Line: 327

##### Syntax

```pawn
native cs_set_hostage_lastuse(index, Float:value);
```

##### Description

This function has no description.

#### cs_set_hostage_nextuse

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_hostage_nextuse
- Line: 333

##### Syntax

```pawn
native cs_set_hostage_nextuse(index, Float:value);
```

##### Description

This function has no description.

#### cs_set_no_knives

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_no_knives
- Line: 249

##### Syntax

```pawn
native cs_set_no_knives(noknives = 0);
```

##### Description

Enabled no knives mode by calling this with value 1. Disabled with 0.
No knives mode means that player will not be given a knife when spawning.
You can still give knives (ie through fun's give_item).

#### cs_set_user_armor

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_armor
- Line: 210

##### Syntax

```pawn
native cs_set_user_armor(index, armorvalue, CsArmorType:armortype);
```

##### Description

Use this instead of fun's set_user_armor.
Appropriate message to update client's HUD will be sent if armortype is kevlar or vesthelm.

#### cs_set_user_bpammo

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_bpammo
- Line: 65

##### Syntax

```pawn
native cs_set_user_bpammo(index, weapon, amount);
```

##### Description

Restock/remove ammo in a user's backpack.

#### cs_set_user_deaths

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_deaths
- Line: 28

##### Syntax

```pawn
native cs_set_user_deaths(index, newdeaths);
```

##### Description

Sets player deaths.

#### cs_set_user_defuse

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_defuse
- Line: 75

##### Syntax

```pawn
native cs_set_user_defuse(index, defusekit = 1, r = 0, g = 160, b = 0, icon[] = "defuser", flash = 0);
```

##### Description

If defusekit is 1, the user will have a defuse kit.
You can specify a different colour for the defuse kit icon showing on hud. Default is the normal green.
You can specify an icon. Default is "defuser". Set flash to 1 if you want the icon to flash red.

#### cs_set_user_hostagekills

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_hostagekills
- Line: 321

##### Syntax

```pawn
native cs_set_user_hostagekills(index, value);
```

##### Description

This function has no description.

#### cs_set_user_lastactivity

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_lastactivity
- Line: 315

##### Syntax

```pawn
native cs_set_user_lastactivity(index, Float:value);
```

##### Description

This function has no description.

#### cs_set_user_model

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_model
- Line: 91

##### Syntax

```pawn
native cs_set_user_model(index, const model[]);
```

##### Description

Set user model.

#### cs_set_user_money

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_money
- Line: 103

##### Syntax

```pawn
native cs_set_user_money(index, money, flash = 1);
```

##### Description

Gives money to user. If flash is 1, the difference between new and old amount will flash red or green.

#### cs_set_user_nvg

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_nvg
- Line: 111

##### Syntax

```pawn
native cs_set_user_nvg(index, nvgoggles = 1);
```

##### Description

Set nvgoggles to 1 to give night vision goggles to index. Set it to 0 to remove them.

#### cs_set_user_plant

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_plant
- Line: 122

##### Syntax

```pawn
native cs_set_user_plant(index, plant = 1, showbombicon = 1);
```

##### Description

If plant is 1, a user will be set to be able to plant bomb within the usual bomb target areas if having one.
You should use this if you give a player a weapon_c4, or he won't be able to plant it
without dropping it and picking it up again (only possible for terrorists).
If showbombicon is 1, the green C4 icon will be shown on user hud (if plant "skill" was enabled).

#### cs_set_user_submodel

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_submodel
- Line: 308

##### Syntax

```pawn
native cs_set_user_submodel(index, value);
```

##### Description

Sets the submodel setting of the player.
If this is 1, then the user has a backpack or defuser on their model (depending on team)
0 removes it.

#### cs_set_user_team

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_team
- Line: 141

##### Syntax

```pawn
native cs_set_user_team(index, {CsTeams,_}:team, {CsInternalModel,_}:model = CS_DONTCHANGE);
```

##### Description

This function has no description.

#### cs_set_user_tked

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_tked
- Line: 179

##### Syntax

```pawn
native cs_set_user_tked(index, tk = 1, subtract = 1);
```

##### Description

Returns 1 of specified user has TKed (team killed).
tk = 1: player has TKed
tk = 0: player hasn't TKed
Set subtract to how many frags to subtract. Set subtract to negative value to add frags.

#### cs_set_user_vip

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_vip
- Line: 168

##### Syntax

```pawn
native cs_set_user_vip(index, vip = 1, model = 1, scoreboard = 1);
```

##### Description

If vip = 1, user is set to vip.
If model = 1, then user's model will be changed to VIP model or random CT model if vip = 0.
If scoreboard = 1, then scoreboard will be updated to show that user is VIP.
This shouldn't be used for players on teams other than CT.
NOTE:	this is mostly useful for unsetting vips, so they can change teams and/or buy items properly.
It does not alter game play; the one being VIP at start of round will retain internal status as VIP; terrorists
can terminate him and accomplish their objective, etc.

#### cs_set_user_zoom

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_user_zoom
- Line: 293

##### Syntax

```pawn
native cs_set_user_zoom(index, type, mode);
```

##### Description

Sets a weapon zoom type on a player, any zoom type will work for all weapons, so you can even set an awp zoom to pistols :D
The 2nd param has to be one of the above zoom types in the enum. Mode can only be 0 or 1.
If mode=0 (blocking mode), the user will be forced to use the zoom type set by the native, and wont be able to change it (even by changing weapon)
until the native resets the zoom with CS_RESET_ZOOM.
If mode=1 the user will be able to restore back to a normal view by changing weapon.

#### cs_set_weapon_ammo

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_weapon_ammo
- Line: 235

##### Syntax

```pawn
native cs_set_weapon_ammo(index, newammo);
```

##### Description

Set amount of ammo in weapon's clip.

#### cs_set_weapon_burst

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_weapon_burst
- Line: 219

##### Syntax

```pawn
native cs_set_weapon_burst(index, burstmode = 1);
```

##### Description

If burstmode = 1, weapon will be changed to burst mode, 0 and non-burst mode (semiautomatic/automatic) will be activated.
Only GLOCK and FAMAS can enter/leave burst mode.

#### cs_set_weapon_silen

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_set_weapon_silen
- Line: 227

##### Syntax

```pawn
native cs_set_weapon_silen(index, silence = 1, draw_animation = 1);
```

##### Description

If silence = 1, weapon will be silenced, 0 and silencer will be removed. Only USP and M4A1 can be silenced.

#### cs_user_spawn

- Include: `cstrike.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/cstrike/function/cs_user_spawn
- Line: 253

##### Syntax

```pawn
native cs_user_spawn(player);
```

##### Description

Spawns a Counter-Strike player

## amxmodx 1.8.2 hg65 / csx.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx
- Group: amxmodx 1.8.2 hg65
- Functions: 16
- Documented constants: 0

### Functions

#### bomb_defused

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/bomb_defused
- Line: 41

##### Syntax

```pawn
forward bomb_defused(defuser);
```

##### Description

This function has no description.

#### bomb_defusing

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/bomb_defusing
- Line: 40

##### Syntax

```pawn
forward bomb_defusing(defuser);
```

##### Description

This function has no description.

#### bomb_explode

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/bomb_explode
- Line: 39

##### Syntax

```pawn
forward bomb_explode(planter,defuser);
```

##### Description

This function has no description.

#### bomb_planted

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/bomb_planted
- Line: 38

##### Syntax

```pawn
forward bomb_planted(planter);
```

##### Description

This function has no description.

#### bomb_planting

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/bomb_planting
- Line: 37

##### Syntax

```pawn
forward bomb_planting(planter);
```

##### Description

This function has no description.

#### client_damage

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/client_damage
- Line: 29

##### Syntax

```pawn
forward client_damage(attacker,victim,damage,wpnindex,hitplace,TA);
```

##### Description

Function is called after player to player attacks ,
if players were damaged by teammate TA is set to 1

#### client_death

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/client_death
- Line: 33

##### Syntax

```pawn
forward client_death(killer,victim,wpnindex,hitplace,TK);
```

##### Description

Function is called after player death ,
if player was killed by teammate TK is set to 1

#### grenade_throw

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/grenade_throw
- Line: 35

##### Syntax

```pawn
forward grenade_throw( index,greindex,wId );
```

##### Description

This function has no description.

#### custom_weapon_add

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/custom_weapon_add
- Line: 47

##### Syntax

```pawn
native custom_weapon_add( const wpnname[],melee = 0,const logname[]="" );
```

##### Description

function will return index of new weapon

#### custom_weapon_dmg

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/custom_weapon_dmg
- Line: 49

##### Syntax

```pawn
native custom_weapon_dmg( weapon, att, vic, damage, hitplace=0 );
```

##### Description

Function will pass damage done by this custom weapon to stats module and other plugins

#### custom_weapon_shot

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/custom_weapon_shot
- Line: 51

##### Syntax

```pawn
native custom_weapon_shot( weapon,index ); // weapon id , player id
```

##### Description

Function will pass info about custom weapon shot to stats module

#### xmod_get_maxweapons

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/xmod_get_maxweapons
- Line: 63

##### Syntax

```pawn
native xmod_get_maxweapons();
```

##### Description

Returns weapons array size

#### xmod_get_stats_size

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/xmod_get_stats_size
- Line: 66

##### Syntax

```pawn
native xmod_get_stats_size();
```

##### Description

Returns stats array size

#### xmod_get_wpnlogname

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/xmod_get_wpnlogname
- Line: 60

##### Syntax

```pawn
native xmod_get_wpnlogname(wpnindex,name[],len);
```

##### Description

Returns weapon logname.

#### xmod_get_wpnname

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/xmod_get_wpnname
- Line: 57

##### Syntax

```pawn
native xmod_get_wpnname(wpnindex,name[],len);
```

##### Description

Returns weapon name.

#### xmod_is_melee_wpn

- Include: `csx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/csx/function/xmod_is_melee_wpn
- Line: 54

##### Syntax

```pawn
native xmod_is_melee_wpn(wpnindex);
```

##### Description

function will return 1 if true

## amxmodx 1.8.2 hg65 / dbi.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi
- Group: amxmodx 1.8.2 hg65
- Functions: 14
- Documented constants: 2

### Constants

#### Sql

Sql

```pawn
enum Sql
{
	SQL_FAILED=0,
	SQL_OK
};
```

#### Result

Result

```pawn
enum Result
{
	RESULT_FAILED=-1,
	RESULT_NONE,
	RESULT_OK
};
```

### Functions

#### dbi_close

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_close
- Line: 96

##### Syntax

```pawn
native dbi_close(&Sql:_sql);
```

##### Description

Closes a database handle.  Internally, it will also
mark the handle as free, so this particular handle may
be re-used in the future to save time.

#### dbi_connect

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_connect
- Line: 48

##### Syntax

```pawn
native Sql:dbi_connect(_host[], _user[], _pass[], _dbname[], _error[]="", _maxlength=0);
```

##### Description

This will return a number equal to or below 0 on failure.
If it does fail, the error will be mirrored in dbi_error()
The return value will otherwise be a resource handle, not an
OK code or cell pointer.

#### dbi_error

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_error
- Line: 103

##### Syntax

```pawn
native dbi_error(Sql:_sql, _error[], _len);
```

##### Description

Returns an error message set.  For PGSQL and MySQL,
this is a direct error return from the database handle/API.
For MSSQL, it returns the last error message found from a
thrown exception.

#### dbi_field

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_field
- Line: 76

##### Syntax

```pawn
native dbi_field(Result:_result, _fieldnum, {Float,_}:... );
```

##### Description

Gets a field by number.  Returns 0 on failure.
Although internally fields always start from 0,
This function takes fieldnum starting from 1.
No extra params: returns int
One extra param: returns Float: byref
Two extra param: Stores string with length

#### dbi_field_name

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_field_name
- Line: 118

##### Syntax

```pawn
native dbi_field_name(Result:result, field, name[], maxLength);
```

##### Description

Retrieves the name of a field/column in a result set.
Requires a valid result handle, and columns are numbered 1 to n.

#### dbi_free_result

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_free_result
- Line: 90

##### Syntax

```pawn
native dbi_free_result(&Result:result);
```

##### Description

Frees memory used by a result handle.  Do this or get memory leaks.

#### dbi_nextrow

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_nextrow
- Line: 67

##### Syntax

```pawn
native dbi_nextrow(Result:_result);
```

##### Description

Returns 0 on failure or End of Results.
Advances result pointer by one row.

#### dbi_num_fields

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_num_fields
- Line: 113

##### Syntax

```pawn
native dbi_num_fields(Result:result);
```

##### Description

Returns the number of fields/colums in a result set.
Unlike dbi_nextrow, you must pass a valid result handle.

#### dbi_num_rows

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_num_rows
- Line: 86

##### Syntax

```pawn
native dbi_num_rows(Result:_result);
```

##### Description

Returns the number of rows returned from a query

#### dbi_query

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_query
- Line: 56

##### Syntax

```pawn
native Result:dbi_query(Sql:_sql, _query[], any:...);
```

##### Description

This will do a simple query execution on the SQL server.
If it fails, it will return a number BELOW ZERO (0)
If zero, it succeeded with NO RETURN RESULT.
If greater than zero, make sure to call dbi_free_result() on it!
 The return is a handle to the result set

#### dbi_query2

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_query2
- Line: 62

##### Syntax

```pawn
native Result:dbi_query2(Sql:_sql, &rows, _query[], any:...);
```

##### Description

Has the same usage as dbi_query, but this native returns by
reference the number of rows affected in the query. If the
query fails rows will be equal to -1.

#### dbi_result

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_result
- Line: 82

##### Syntax

```pawn
native dbi_result(Result:_result, _field[], {Float,_}:... );
```

##### Description

Gets a field by name.  Returns 0 on failure.
One extra param: returns Float: byref
Two extra param: Stores string with length

#### dbi_type

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/dbi_type
- Line: 108

##### Syntax

```pawn
native dbi_type(_type[], _len);
```

##### Description

Returns the type of database being used.  So far:
"mysql", "pgsql", "mssql", "sqlite"

#### sqlite_table_exists

- Include: `dbi.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dbi/function/sqlite_table_exists
- Line: 122

##### Syntax

```pawn
stock bool:sqlite_table_exists(Sql:sql, table[])
```

##### Description

This function can be used to find out if a table in a Sqlite database exists.

## amxmodx 1.8.2 hg65 / dodconst.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodconst
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 24

### Constants

#### ALLIES

ALLIES

```pawn
#define ALLIES			1
```

#### AXIS

AXIS

```pawn
#define AXIS 			2
```

#### FT_NEW

FT_NEW

```pawn
#define FT_NEW			1<<0
```

#### FT_OLD

FT_OLD

```pawn
#define FT_OLD			1<<1
```

#### STAMINA_SET

STAMINA_SET

```pawn
#define STAMINA_SET		0
```

#### STAMINA_RESET

STAMINA_RESET

```pawn
#define STAMINA_RESET		1
```

#### FUSE_SET

FUSE_SET

```pawn
#define FUSE_SET		0
```

#### FUSE_RESET

FUSE_RESET

```pawn
#define FUSE_RESET		1
```

#### DODMAX_WEAPONS

DODMAX_WEAPONS

```pawn
#define DODMAX_WEAPONS		46 // 5 slots for custom weapons
```

#### DoD Weapon Types

DoD Weapon Types

```pawn
enum
{
	DODWT_PRIMARY = 0,
	DODWT_SECONDARY,
	DODWT_MELEE,
	DODWT_GRENADE,
	DODWT_OTHER
};
```

#### AMMO_SMG

AMMO_SMG

```pawn
#define AMMO_SMG 1 		// thompson, greasegun, sten, mp40
```

#### AMMO_ALTRIFLE

AMMO_ALTRIFLE

```pawn
#define AMMO_ALTRIFLE 2 	// carbine, k43, mg34
```

#### AMMO_RIFLE

AMMO_RIFLE

```pawn
#define AMMO_RIFLE 3 		// garand, enfield, scoped enfield, k98, scoped k98
```

#### AMMO_PISTOL

AMMO_PISTOL

```pawn
#define AMMO_PISTOL 4 		// colt, webley, luger
```

#### AMMO_SPRING

AMMO_SPRING

```pawn
#define AMMO_SPRING 5 		// springfield
```

#### AMMO_HEAVY

AMMO_HEAVY

```pawn
#define AMMO_HEAVY 6 		// bar, bren, stg44, fg42, scoped fg42
```

#### AMMO_MG42

AMMO_MG42

```pawn
#define AMMO_MG42 7    		// mg42
```

#### AMMO_30CAL

AMMO_30CAL

```pawn
#define AMMO_30CAL 8 		// 30cal
```

#### AMMO_GREN

AMMO_GREN

```pawn
#define AMMO_GREN 9 		// grenades (should be all 3 types)
```

#### AMMO_ROCKET

AMMO_ROCKET

```pawn
#define AMMO_ROCKET 13 		// bazooka, piat, panzerschreck
```

#### Enum starting with PS_NOPRONE

Enum starting with PS_NOPRONE

```pawn
enum {
	PS_NOPRONE =0,
	PS_PRONE,
	PS_PRONEDEPLOY,
	PS_DEPLOY,
};
```

#### info types for dod_get_map_info native

info types for dod_get_map_info native

```pawn
enum {
	MI_ALLIES_TEAM = 0,
	MI_ALLIES_PARAS,
	MI_AXIS_PARAS,
};
```

#### DoD weapons

DoD weapons

```pawn
enum {
	DODW_AMERKNIFE = 1,
	DODW_GERKNIFE,
	DODW_COLT,
	DODW_LUGER,
	DODW_GARAND,
	DODW_SCOPED_KAR,
	DODW_THOMPSON,
	DODW_STG44,
	DODW_SPRINGFIELD,
	DODW_KAR,
	DODW_BAR,
	DODW_MP40,
	DODW_HANDGRENADE,
	DODW_STICKGRENADE,
	DODW_STICKGRENADE_EX,
	DODW_HANDGRENADE_EX,
	DODW_MG42,
	DODW_30_CAL,
	DODW_SPADE,
	DODW_M1_CARBINE,
	DODW_MG34,
	DODW_GREASEGUN,
	DODW_FG42,
	DODW_K43,
	DODW_ENFIELD,
	DODW_STEN,
	DODW_BREN,
	DODW_WEBLEY,
	DODW_BAZOOKA,
	DODW_PANZERSCHRECK,
	DODW_PIAT,
	DODW_SCOPED_FG42,
	DODW_FOLDING_CARBINE,
	DODW_KAR_BAYONET,
	DODW_SCOPED_ENFIELD,
	DODW_MILLS_BOMB,
	DODW_BRITKNIFE,
	DODW_GARAND_BUTT,
	DODW_ENFIELD_BAYONET,
	DODW_MORTAR,
	DODW_K43_BUTT,
};
```

#### DoD Classes

DoD Classes

```pawn
enum {
	DODC_GARAND = 1,
	DODC_CARBINE,
	DODC_THOMPSON,
	DODC_GREASE,
	DODC_SNIPER,
	DODC_BAR,
	DODC_30CAL,
	DODC_BAZOOKA,
	//DODC_ALLIES_MORTAR,
	DODC_KAR = 10,
	DODC_K43,
	DODC_MP40,
	DODC_MP44,
	DODC_SCHARFSCHUTZE,
	DODC_FG42,
	DODC_SCOPED_FG42,
	DODC_MG34,
	DODC_MG42,
	DODC_PANZERJAGER,
	//DODC_AXIS_MORTAR,
	DODC_ENFIELD = 21,
	DODC_STEN,
	DODC_MARKSMAN,
	DODC_BREN,
	DODC_PIAT,
	//DODC_BRIT_MORTAR,
};
```

## amxmodx 1.8.2 hg65 / dodfun.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun
- Group: amxmodx 1.8.2 hg65
- Functions: 25
- Documented constants: 2

### Constants

#### CP_VALUE

CP_VALUE

```pawn
enum CP_VALUE {
	CP_edict = 1,		// read only
	CP_area,			// read only
	CP_index,			// read only
	CP_owner,
	CP_default_owner,
	CP_visible,			// reinit after change
	CP_icon_neutral,		// reinit after change
	CP_icon_allies,		// reinit after change
	CP_icon_axis,		// reinit after change
	CP_origin_x,		// reinit after change
	CP_origin_y,		// reinit after change

	CP_can_touch,
	CP_pointvalue,

	CP_points_for_cap,
	CP_team_points,

	CP_model_body_neutral,
	CP_model_body_allies,
	CP_model_body_axis,

	// strings
	CP_name,
	CP_reset_capsound,
	CP_allies_capsound,
	CP_axis_capsound,
	CP_targetname,

	CP_model_neutral,
	CP_model_allies,
	CP_model_axis,
};
```

#### CA_VALUE

CA_VALUE

```pawn
enum CA_VALUE {
	CA_edict = 1,
	CA_allies_numcap,
	CA_axis_numcap,
	CA_timetocap,
	CA_can_cap,

	// strings
	CA_target,
	CA_sprite,
};
```

### Functions

#### controlpoints_init

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/controlpoints_init
- Line: 83

##### Syntax

```pawn
forward controlpoints_init();
```

##### Description

called after first InitObj

#### grenade_throw

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/grenade_throw
- Line: 24

##### Syntax

```pawn
forward grenade_throw(index,greindex,wId);
```

##### Description

Function is called after grenade throw

#### rocket_shoot

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/rocket_shoot
- Line: 27

##### Syntax

```pawn
forward rocket_shoot(index,rocketindex,wId);
```

##### Description

Function is called after a rocket is shot

#### area_get_data

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/area_get_data
- Line: 146

##### Syntax

```pawn
native area_get_data( index, CA_VALUE:key, szValue[]="", len=0 );
```

##### Description

use this function to get info about specified control point's area

#### area_set_data

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/area_set_data
- Line: 149

##### Syntax

```pawn
native area_set_data( index, CA_VALUE:key , iValue=-1, const szValue[]="" );
```

##### Description

use this function to change control point's area data

#### dod_get_next_class

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_get_next_class
- Line: 44

##### Syntax

```pawn
native dod_get_next_class(index);
```

##### Description

Returns next player class. Usefull is player is using random class

#### dod_get_pl_deaths

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_get_pl_deaths
- Line: 50

##### Syntax

```pawn
native dod_get_pl_deaths(index);
```

##### Description

Returns player deaths

#### dod_get_pl_teamname

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_get_pl_teamname
- Line: 71

##### Syntax

```pawn
native dod_get_pl_teamname(index,szName[],len);
```

##### Description

Gets player team name

#### dod_get_user_ammo

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_get_user_ammo
- Line: 80

##### Syntax

```pawn
native dod_get_user_ammo(index,wid);
```

##### Description

Gets the ammo of the specified weapon entity id

#### dod_get_user_kills

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_get_user_kills
- Line: 59

##### Syntax

```pawn
native dod_get_user_kills(index);
```

##### Description

Returns player deaths.

#### dod_is_deployed

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_is_deployed
- Line: 74

##### Syntax

```pawn
native dod_is_deployed(index);
```

##### Description

Returns 1 is player weapon is deployed (bar,mg..)

#### dod_is_randomclass

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_is_randomclass
- Line: 47

##### Syntax

```pawn
native dod_is_randomclass(index);
```

##### Description

Returns 1 if player choose random class

#### dod_set_fuse

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_set_fuse
- Line: 35

##### Syntax

```pawn
native dod_set_fuse(index,set=FUSE_SET,Float:newFuse=5.0, Type=FT_NEW);
```

##### Description

types : new or preprimed

#### dod_set_pl_deaths

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_set_pl_deaths
- Line: 56

##### Syntax

```pawn
native dod_set_pl_deaths(index,value,refresh=1);
```

##### Description

Sets player deaths.
Note if you opt to refresh the scoreboard, it
will make the player appear as "DEAD" in the scoreboard.

#### dod_set_pl_teamname

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_set_pl_teamname
- Line: 68

##### Syntax

```pawn
native dod_set_pl_teamname(index,const szName[]);
```

##### Description

Sets new team name for this player

#### dod_set_stamina

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_set_stamina
- Line: 31

##### Syntax

```pawn
native dod_set_stamina(index,set=STAMINA_SET,minvalue=0,maxvalue=100);
```

##### Description

value is from 0 - 100

#### dod_set_user_ammo

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_set_user_ammo
- Line: 77

##### Syntax

```pawn
native dod_set_user_ammo(index,wid,value);
```

##### Description

Sets the ammo of the specified weapon entity id

#### dod_set_user_class

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_set_user_class
- Line: 38

##### Syntax

```pawn
native dod_set_user_class(index,classId);
```

##### Description

Sets player class

#### dod_set_user_kills

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_set_user_kills
- Line: 62

##### Syntax

```pawn
native dod_set_user_kills(index,value,refresh=1);
```

##### Description

Sets player kills.

#### dod_set_user_score

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_set_user_score
- Line: 65

##### Syntax

```pawn
native dod_set_user_score(index,value,refresh=1);
```

##### Description

Sets player score.

#### dod_set_user_team

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/dod_set_user_team
- Line: 41

##### Syntax

```pawn
native dod_set_user_team(index,teamId,refresh=1);
```

##### Description

Sets player team and random class. Don't work for spectators.

#### objective_get_data

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/objective_get_data
- Line: 128

##### Syntax

```pawn
native objective_get_data( index, CP_VALUE:key, szValue[]="", len=0 );
```

##### Description

use this function to get info about specified control point

#### objective_set_data

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/objective_set_data
- Line: 131

##### Syntax

```pawn
native objective_set_data( index, CP_VALUE:key , iValue=-1, const szValue[]="" );
```

##### Description

use this function to change control point's data

#### objectives_get_num

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/objectives_get_num
- Line: 121

##### Syntax

```pawn
native objectives_get_num();
```

##### Description

returns number of objectives

#### objectives_reinit

- Include: `dodfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodfun/function/objectives_reinit
- Line: 125

##### Syntax

```pawn
native objectives_reinit( player=0 );
```

##### Description

use this function to update client(s) hud. You need to do this sometimes. Check CP_VALUE comments.
   if player is 0 , all clients will get this message

## amxmodx 1.8.2 hg65 / dodstats.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats
- Group: amxmodx 1.8.2 hg65
- Functions: 11
- Documented constants: 0

### Functions

#### get_stats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_stats
- Line: 59

##### Syntax

```pawn
native get_stats(index,stats[9],bodyhits[8],name[],len);
```

##### Description

Gets overall stats which stored in stats.dat file in amx folder
and updated on every mapchange or user disconnect.
Function returns next index of stats entry or 0 if no more exists.

#### get_statsnum

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_statsnum
- Line: 62

##### Syntax

```pawn
native get_statsnum();
```

##### Description

Returns number of all entries in stats.

#### get_user_astats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_user_astats
- Line: 51

##### Syntax

```pawn
native get_user_astats(index,wpnindex,stats[9],bodyhits[8],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have been killed/hurt. If killer is 0
then stats are from all attacks. If killer has not hurt user, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_lstats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_user_lstats
- Line: 41

##### Syntax

```pawn
native get_user_lstats(index,stats[9],bodyhits[8]);
```

##### Description

Gets life (from spawn to spawn) stats of player.

#### get_user_rstats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_user_rstats
- Line: 38

##### Syntax

```pawn
native get_user_rstats(index,stats[9],bodyhits[8]);
```

##### Description

Gets round stats of player.

#### get_user_stats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_user_stats
- Line: 35

##### Syntax

```pawn
native get_user_stats(index,stats[9],bodyhits[8]);
```

##### Description

Gets overall stats which are stored in file on server
and updated on every respawn or user disconnect.
Function returns the position in stats by diff. kills to deaths.

#### get_user_vstats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_user_vstats
- Line: 46

##### Syntax

```pawn
native get_user_vstats(index,victim,stats[9],bodyhits[8],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have killed/hurt his victim. If victim is 0
then stats are from all victims. If victim has not been hurt, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_wlstats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_user_wlstats
- Line: 30

##### Syntax

```pawn
native get_user_wlstats(index,wpnindex,stats[9],bodyhits[8]);
```

##### Description

Gets life (from spawn to spawn) stats from given weapon index.

#### get_user_wrstats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_user_wrstats
- Line: 27

##### Syntax

```pawn
native get_user_wrstats(index,wpnindex,stats[9],bodyhits[8]);
```

##### Description

Gets round stats from given weapon index.

#### get_user_wstats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/get_user_wstats
- Line: 24

##### Syntax

```pawn
native get_user_wstats(index,wpnindex,stats[9],bodyhits[8]);
```

##### Description

Gets stats from given weapon index. If wpnindex is 0
then the stats are from all weapons. If weapon has not been used function
returns 0 in other case 1. Fields in stats are:
0 - kills
1 - deaths
2 - headshots
3 - teamkilling
4 - shots
5 - hits
6 - damage
7 - score
For body hits fields see amxconst.inc.

#### reset_user_wstats

- Include: `dodstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodstats/function/reset_user_wstats
- Line: 54

##### Syntax

```pawn
native reset_user_wstats(index);
```

##### Description

Resets life, weapon, victims and attackers user stats.

## amxmodx 1.8.2 hg65 / dodx.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx
- Group: amxmodx 1.8.2 hg65
- Functions: 38
- Documented constants: 1

### Constants

#### Forward types

Forward types

```pawn
enum {
  XMF_DAMAGE = 0,
  XMF_DEATH,
  XMF_SCORE,
};
```

### Functions

#### client_damage

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/client_damage
- Line: 38

##### Syntax

```pawn
forward client_damage(attacker, victim, damage, wpnindex, hitplace, TA);
```

##### Description

Function is called after player to player attacks ,
if players were damaged by teammate TA is set to 1

#### client_death

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/client_death
- Line: 42

##### Syntax

```pawn
forward client_death(killer, victim, wpnindex, hitplace, TK);
```

##### Description

Function is called after player death ,
if player was killed by teammate TK is set to 1

#### client_score

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/client_score
- Line: 45

##### Syntax

```pawn
forward client_score(id, score, total);
```

##### Description

Function is called if player scored

#### dod_client_changeclass

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_client_changeclass
- Line: 51

##### Syntax

```pawn
forward dod_client_changeclass(id, class, oldclass);
```

##### Description

This Forward is called if a player changes class, but just after spawn

#### dod_client_changeteam

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_client_changeteam
- Line: 48

##### Syntax

```pawn
forward dod_client_changeteam(id, team, oldteam);
```

##### Description

This Forward is called when a player changes team

#### dod_client_objectpickup

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_client_objectpickup
- Line: 82

##### Syntax

```pawn
forward dod_client_objectpickup(id, objid, pos[3], value);
```

##### Description

Forward for when a player picks up a object

#### dod_client_prone

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_client_prone
- Line: 70

##### Syntax

```pawn
forward dod_client_prone(id, value);
```

##### Description

Called whenever the the player goes to or comes from prone position
value = 1 going down
value = 0 getting up

#### dod_client_scope

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_client_scope
- Line: 59

##### Syntax

```pawn
forward dod_client_scope(id, value);
```

##### Description

This will be called whenever a player scopes or unscopes
value = 1 scope up
value = 0 scope down

#### dod_client_spawn

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_client_spawn
- Line: 54

##### Syntax

```pawn
forward dod_client_spawn(id);
```

##### Description

This Forward is called when a player spawns

#### dod_client_stamina

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_client_stamina
- Line: 85

##### Syntax

```pawn
forward dod_client_stamina(id, stamina);
```

##### Description

Forward for when a users stamina decreases

#### dod_client_weaponpickup

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_client_weaponpickup
- Line: 65

##### Syntax

```pawn
forward dod_client_weaponpickup(id, weapon, value);
```

##### Description

This will be called whenever a player drops a weapon
weapon is weapon dropped or picked up
value = 1 picked up
value = 0 dropped

#### dod_client_weaponswitch

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_client_weaponswitch
- Line: 73

##### Syntax

```pawn
forward dod_client_weaponswitch(id, wpnew, wpnold);
```

##### Description

This will be called whenever a player switches a weapon

#### dod_grenade_explosion

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_grenade_explosion
- Line: 76

##### Syntax

```pawn
forward dod_grenade_explosion(id, pos[3], wpnid);
```

##### Description

Forward for when a grenade explodes and its location

#### dod_rocket_explosion

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_rocket_explosion
- Line: 79

##### Syntax

```pawn
forward dod_rocket_explosion(id, pos[3], wpnid);
```

##### Description

Forward for when a rocket explodes and its location

#### custom_weapon_add

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/custom_weapon_add
- Line: 105

##### Syntax

```pawn
native custom_weapon_add( const wpnname[], melee = 0, const logname[]="" );
```

##### Description

function will return index of new weapon

#### custom_weapon_dmg

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/custom_weapon_dmg
- Line: 108

##### Syntax

```pawn
native custom_weapon_dmg( weapon, att, vic, damage, hitplace=0 );
```

##### Description

Function will pass damage done by this custom weapon to stats module and other plugins

#### custom_weapon_shot

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/custom_weapon_shot
- Line: 111

##### Syntax

```pawn
native custom_weapon_shot( weapon, index ); // weapon id , player id
```

##### Description

Function will pass info about custom weapon shot to stats module

#### dod_clear_model

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_clear_model
- Line: 101

##### Syntax

```pawn
native dod_clear_model(id);
```

##### Description

Un-Sets the model for a player

#### dod_get_map_info

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_get_map_info
- Line: 139

##### Syntax

```pawn
native dod_get_map_info( info );
```

##### Description

This function has no description.

#### dod_get_pronestate

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_get_pronestate
- Line: 155

##### Syntax

```pawn
native dod_get_pronestate(index);
```

##### Description

values are: 0-no prone, 1-prone, 2-prone + w_deploy

#### dod_get_team_score

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_get_team_score
- Line: 146

##### Syntax

```pawn
native dod_get_team_score(teamId);
```

##### Description

Returns team score

#### dod_get_user_class

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_get_user_class
- Line: 149

##### Syntax

```pawn
native dod_get_user_class(index);
```

##### Description

Returns player class id

#### dod_get_user_score

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_get_user_score
- Line: 152

##### Syntax

```pawn
native dod_get_user_score(index);
```

##### Description

Returns player score

#### dod_get_user_weapon

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_get_user_weapon
- Line: 143

##### Syntax

```pawn
native dod_get_user_weapon(index,&clip=0,&ammo=0);
```

##### Description

Returns id of currently carried weapon. Gets also
ammount of ammo in clip and backpack.

#### dod_set_body_number

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_set_body_number
- Line: 98

##### Syntax

```pawn
native dod_set_body_number(id, bodynumber);
```

##### Description

Sets the model for a player

#### dod_set_model

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_set_model
- Line: 95

##### Syntax

```pawn
native dod_set_model(id, const model[]);
```

##### Description

Sets the model for a player

#### dod_set_weaponlist

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_set_weaponlist
- Line: 92

##### Syntax

```pawn
native dod_set_weaponlist(id, wpnID, slot, dropslot, totalrds);
```

##### Description

This native will change the position of a weapon within the users slots and its ammo ammount

#### dod_user_kill

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_user_kill
- Line: 158

##### Syntax

```pawn
native dod_user_kill(index);
```

##### Description

It is not as safe as original but player deaths will not be increased

#### dod_weapon_type

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_weapon_type
- Line: 89

##### Syntax

```pawn
native dod_weapon_type(id, type);
```

##### Description

We want to get just the weapon of whichever type that the player is on him
Use DODWT_* in dodconst.inc for type

#### dod_wpnlog_to_id

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_wpnlog_to_id
- Line: 137

##### Syntax

```pawn
native dod_wpnlog_to_id(const logname[]);
```

##### Description

weapon logname to weapon index convertion

#### dod_wpnlog_to_name

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/dod_wpnlog_to_name
- Line: 134

##### Syntax

```pawn
native dod_wpnlog_to_name(const logname[],name[],len);
```

##### Description

weapon logname to weapon name convertion

#### register_statsfwd

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/register_statsfwd
- Line: 34

##### Syntax

```pawn
native register_statsfwd(ftype);
```

##### Description

Use this function to register forwards

#### xmod_get_maxweapons

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/xmod_get_maxweapons
- Line: 123

##### Syntax

```pawn
native xmod_get_maxweapons();
```

##### Description

Returns weapons array size

#### xmod_get_stats_size

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/xmod_get_stats_size
- Line: 126

##### Syntax

```pawn
native xmod_get_stats_size();
```

##### Description

Returns stats array size ex. 8 in TS , 9 in DoD

#### xmod_get_wpnlogname

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/xmod_get_wpnlogname
- Line: 120

##### Syntax

```pawn
native xmod_get_wpnlogname(wpnindex, name[], len);
```

##### Description

Returns weapon logname.

#### xmod_get_wpnname

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/xmod_get_wpnname
- Line: 117

##### Syntax

```pawn
native xmod_get_wpnname(wpnindex, name[], len);
```

##### Description

Returns weapon name.

#### xmod_is_custom_wpn

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/xmod_is_custom_wpn
- Line: 129

##### Syntax

```pawn
native xmod_is_custom_wpn(wpnindex);
```

##### Description

Returns 1 if true

#### xmod_is_melee_wpn

- Include: `dodx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/dodx/function/xmod_is_melee_wpn
- Line: 114

##### Syntax

```pawn
native xmod_is_melee_wpn(wpnindex);
```

##### Description

function will return 1 if true

## amxmodx 1.8.2 hg65 / engine.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine
- Group: amxmodx 1.8.2 hg65
- Functions: 76
- Documented constants: 0

### Functions

#### client_PostThink

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/client_PostThink
- Line: 205

##### Syntax

```pawn
forward client_PostThink(id);
```

##### Description

This function has no description.

#### client_PreThink

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/client_PreThink
- Line: 204

##### Syntax

```pawn
forward client_PreThink(id);
```

##### Description

Forward for PreThink()/PostThink() on a player.

#### client_impulse

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/client_impulse
- Line: 208

##### Syntax

```pawn
forward client_impulse(id, impulse);
```

##### Description

Forward for impulses.

#### client_kill

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/client_kill
- Line: 201

##### Syntax

```pawn
forward client_kill(id);
```

##### Description

Called when a client types kill in console.

#### pfn_keyvalue

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/pfn_keyvalue
- Line: 217

##### Syntax

```pawn
forward pfn_keyvalue(entid);
```

##### Description

Called when an entity gets a keyvalue set on it from the engine (ie: map load)  Use copy_keyvalue to get the keyvalue information

#### pfn_playbackevent

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/pfn_playbackevent
- Line: 214

##### Syntax

```pawn
forward pfn_playbackevent(flags, entid, eventid, Float:delay, Float:Origin[3], Float:Angles[3], Float:fparam1, Float:fparam2, iparam1, iparam2, bparam1, bparam2);
```

##### Description

Called when an event is played

#### pfn_spawn

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/pfn_spawn
- Line: 220

##### Syntax

```pawn
forward pfn_spawn(entid);
```

##### Description

Called when an entity is spawned

#### pfn_think

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/pfn_think
- Line: 211

##### Syntax

```pawn
forward pfn_think(entid);
```

##### Description

Called when an entity "thinks" (DispatchThink)

#### pfn_touch

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/pfn_touch
- Line: 195

##### Syntax

```pawn
forward pfn_touch(ptr, ptd);
```

##### Description

Called when 2 entities touch.
ptr - touched entity
ptd - toucher entity

#### server_frame

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/server_frame
- Line: 198

##### Syntax

```pawn
forward server_frame();
```

##### Description

Called once every server frame. May cause lag.

#### DispatchKeyValue

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/DispatchKeyValue
- Line: 125

##### Syntax

```pawn
native DispatchKeyValue(...);
```

##### Description

This function has no description.

#### DispatchSpawn

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/DispatchSpawn
- Line: 133

##### Syntax

```pawn
native DispatchSpawn(iIndex);
```

##### Description

Runs the GameDLL's DispatchSpawn for an entity, I think it's used with DispatchKeyValue.

#### attach_view

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/attach_view
- Line: 166

##### Syntax

```pawn
native attach_view(iIndex, iTargetIndex);
```

##### Description

Sets Player's View to entity iTargetIndex.

#### call_think

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/call_think
- Line: 101

##### Syntax

```pawn
native call_think(entity);
```

##### Description

This function has no description.

#### copy_keyvalue

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/copy_keyvalue
- Line: 130

##### Syntax

```pawn
native copy_keyvalue(szClassName[],sizea,szKeyName[],sizeb,szValue[],sizec);
```

##### Description

This function has no description.

#### create_entity

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/create_entity
- Line: 88

##### Syntax

```pawn
native create_entity(const szClassname[]);
```

##### Description

Creates an entity, will return the index of the created entity. ClassName must be valid.

#### drop_to_floor

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/drop_to_floor
- Line: 49

##### Syntax

```pawn
native drop_to_floor(entity);
```

##### Description

Drops an entity to the floor (work?)

#### eng_get_string

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/eng_get_string
- Line: 186

##### Syntax

```pawn
native eng_get_string(_string, _returnString[], _len);
```

##### Description

Converts a string offset into a real string. Some of the forwards in fakemeta
   uses string offsets. (FM_CreateNamedEntity)

#### entity_count

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_count
- Line: 116

##### Syntax

```pawn
native entity_count();
```

##### Description

Return current number of entities in the map

#### entity_get_byte

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_get_byte
- Line: 84

##### Syntax

```pawn
native entity_get_byte(iIndex, iKey);
```

##### Description

This function has no description.

#### entity_get_edict

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_get_edict
- Line: 80

##### Syntax

```pawn
native entity_get_edict(iIndex, iKey);
```

##### Description

This function has no description.

#### entity_get_float

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_get_float
- Line: 76

##### Syntax

```pawn
native Float:entity_get_float(iIndex, iKey);
```

##### Description

This function has no description.

#### entity_get_int

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_get_int
- Line: 74

##### Syntax

```pawn
native entity_get_int(iIndex, iKey);
```

##### Description

Sets/gets things in an entities Entvars Struct.

#### entity_get_string

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_get_string
- Line: 82

##### Syntax

```pawn
native entity_get_string(iIndex, iKey, szReturn[], iRetLen);
```

##### Description

This function has no description.

#### entity_get_vector

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_get_vector
- Line: 78

##### Syntax

```pawn
native entity_get_vector(iIndex, iKey, Float:vRetVector[3]);
```

##### Description

This function has no description.

#### entity_range

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_range
- Line: 71

##### Syntax

```pawn
native Float:entity_range(ida,idb);
```

##### Description

Returns the distance between two entities.

#### entity_set_byte

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_set_byte
- Line: 85

##### Syntax

```pawn
native entity_set_byte(iIndex, iKey, iVal);
```

##### Description

This function has no description.

#### entity_set_edict

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_set_edict
- Line: 81

##### Syntax

```pawn
native entity_set_edict(iIndex, iKey, iNewIndex);
```

##### Description

This function has no description.

#### entity_set_float

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_set_float
- Line: 77

##### Syntax

```pawn
native entity_set_float(iIndex, iKey, Float:iVal);
```

##### Description

This function has no description.

#### entity_set_int

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_set_int
- Line: 75

##### Syntax

```pawn
native entity_set_int(iIndex, iKey, iVal);
```

##### Description

This function has no description.

#### entity_set_model

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_set_model
- Line: 110

##### Syntax

```pawn
native entity_set_model(iIndex, const szModel[]);
```

##### Description

Sets the model of an Entity.

#### entity_set_origin

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_set_origin
- Line: 107

##### Syntax

```pawn
native entity_set_origin(iIndex, const Float:fNewOrigin[3]);
```

##### Description

Proper origin setting, keeps updated with Half-Life engine.

#### entity_set_size

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_set_size
- Line: 65

##### Syntax

```pawn
native entity_set_size(index, const Float:mins[3], const Float:maxs[3]);
```

##### Description

Set entity bounds.

#### entity_set_string

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_set_string
- Line: 83

##### Syntax

```pawn
native entity_set_string(iIndex, iKey, const szNewVal[]);
```

##### Description

This function has no description.

#### entity_set_vector

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/entity_set_vector
- Line: 79

##### Syntax

```pawn
native entity_set_vector(iIndex, iKey, const Float:vNewVector[3]);
```

##### Description

This function has no description.

#### fake_touch

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/fake_touch
- Line: 119

##### Syntax

```pawn
native fake_touch(entTouched, entToucher);
```

##### Description

Simulate two entities colliding/touching.

#### find_ent_by_class

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/find_ent_by_class
- Line: 91

##### Syntax

```pawn
native find_ent_by_class(iIndex, const szClass[]);
```

##### Description

Finds an entity in the world, will return 0 if nothing is found

#### find_ent_by_model

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/find_ent_by_model
- Line: 97

##### Syntax

```pawn
native find_ent_by_model(iIndex, const szClass[], const szModel[]);
```

##### Description

This function has no description.

#### find_ent_by_owner

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/find_ent_by_owner
- Line: 94

##### Syntax

```pawn
native find_ent_by_owner(iIndex, const szClass[], iOwner, iJghgType=0);
```

##### Description

This function has no description.

#### find_ent_by_target

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/find_ent_by_target
- Line: 95

##### Syntax

```pawn
native find_ent_by_target(iIndex, const szClass[]);
```

##### Description

This function has no description.

#### find_ent_by_tname

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/find_ent_by_tname
- Line: 96

##### Syntax

```pawn
native find_ent_by_tname(iIndex, const szClass[]);
```

##### Description

This function has no description.

#### find_ent_in_sphere

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/find_ent_in_sphere
- Line: 98

##### Syntax

```pawn
native find_ent_in_sphere(start_from_ent, const Float:origin[3], Float:radius);
```

##### Description

This function has no description.

#### find_sphere_class

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/find_sphere_class
- Line: 228

##### Syntax

```pawn
native find_sphere_class(aroundent, const _lookforclassname[], Float:radius, entlist[], maxents, const Float:origin[3] = {0.0, 0.0, 0.0});
```

##### Description

As above, but returns number of ents stored in entlist. Use to find a specific type of entity classname (specify in _lookforclassname) around a
certain entity specified in aroundent. All matching ents are stored in entlist. Specify max amount of entities to find in maxents.
If aroundent is 0 its origin is not used, but origin in 6th parameter. Ie, do not specify 6th parameter (origin) if you specified an entity
in aroundent.

#### force_use

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/force_use
- Line: 55

##### Syntax

```pawn
native force_use(entUsed, entUser);
```

##### Description

Use an entity with another entity. "entUsed" could be a hostage, "entUser" a player.

#### get_decal_index

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_decal_index
- Line: 68

##### Syntax

```pawn
native get_decal_index(const szDecalName[]);
```

##### Description

Get decal index

#### get_global_edict

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_global_edict
- Line: 62

##### Syntax

```pawn
native get_global_edict(variable);
```

##### Description

This function has no description.

#### get_global_float

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_global_float
- Line: 58

##### Syntax

```pawn
native Float:get_global_float(variable);
```

##### Description

Get globals from server.

#### get_global_int

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_global_int
- Line: 59

##### Syntax

```pawn
native get_global_int(variable);
```

##### Description

This function has no description.

#### get_global_string

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_global_string
- Line: 60

##### Syntax

```pawn
native get_global_string(variable, string[], maxlen);
```

##### Description

This function has no description.

#### get_global_vector

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_global_vector
- Line: 61

##### Syntax

```pawn
native get_global_vector(variable, Float:vector[3]);
```

##### Description

This function has no description.

#### get_grenade_id

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_grenade_id
- Line: 157

##### Syntax

```pawn
native get_grenade_id(id, model[], len, grenadeid = 0);
```

##### Description

Gets the ID of a grenade.

#### get_info_keybuffer

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_info_keybuffer
- Line: 52

##### Syntax

```pawn
native get_info_keybuffer(id, buffer[], length);
```

##### Description

Get whole buffer containing keys and their data.

#### get_keyvalue

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_keyvalue
- Line: 128

##### Syntax

```pawn
native get_keyvalue(entity, const szKey[], value[], maxLength);
```

##### Description

This function has no description.

#### get_speak

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_speak
- Line: 46

##### Syntax

```pawn
native get_speak(iIndex);
```

##### Description

This function has no description.

#### get_usercmd

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/get_usercmd
- Line: 178

##### Syntax

```pawn
native get_usercmd(type,any:...);
```

##### Description

Gets parameters sent from CmdStart.
   Note that you will receive modified values if any other plugin have
   changed them.

#### halflife_time

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/halflife_time
- Line: 160

##### Syntax

```pawn
native Float:halflife_time();
```

##### Description

Gets gpGlobals->time from Half-Life

#### is_in_viewcone

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/is_in_viewcone
- Line: 233

##### Syntax

```pawn
native is_in_viewcone(entity, const Float:origin[3], use3d = 0);
```

##### Description

SDK function - checks if an origin is in an entity's view cone
Set use3d to 1 to do the calculation in 3D. Otherwise it will be in 2D.

#### is_valid_ent

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/is_valid_ent
- Line: 104

##### Syntax

```pawn
native is_valid_ent(iIndex);
```

##### Description

Is entity valid?

#### is_visible

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/is_visible
- Line: 236

##### Syntax

```pawn
native is_visible(entity, target);
```

##### Description

This function has no description.

#### playback_event

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/playback_event
- Line: 173

##### Syntax

```pawn
native playback_event(flags,invoker,eventindex,Float:delay,const Float:origin[3],const Float:angles[3],Float:fparam1,Float:fparam2,iparam1,iparam2,bparam1,bparam2);
```

##### Description

Direct copy of PLAYBACK_EVENT_FULL from Metamod/HLSDK.  If you don't know how that works, you probably shouldn't be using it.

#### point_contents

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/point_contents
- Line: 141

##### Syntax

```pawn
native point_contents(const Float:fCheckAt[3]);
```

##### Description

Will return the contents of a point (inside map? in sky? outside map? etc.).

#### precache_event

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/precache_event
- Line: 42

##### Syntax

```pawn
native precache_event(type, const Name[], any:...);
```

##### Description

Precaches an event.

#### radius_damage

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/radius_damage
- Line: 137

##### Syntax

```pawn
native radius_damage(const Float:fExplodeAt[3], iDamageMultiplier, iRadiusMultiplier);
```

##### Description

This function has no description.

#### register_impulse

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/register_impulse
- Line: 28

##### Syntax

```pawn
native register_impulse(impulse, const function[]);
```

##### Description

Registers a client impulse to a function.  Function is passed the ID of the user.

#### register_think

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/register_think
- Line: 34

##### Syntax

```pawn
native register_think(const Classname[], const function[]);
```

##### Description

Registers a think action to a function by classname.

#### register_touch

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/register_touch
- Line: 31

##### Syntax

```pawn
native register_touch(const Touched[], const Toucher[], const function[]);
```

##### Description

Registers a touch action to a function by classnames.  Use * to specify any classname.

#### remove_entity

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/remove_entity
- Line: 113

##### Syntax

```pawn
native remove_entity(iIndex);
```

##### Description

Remove an entity from the world.

#### set_lights

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/set_lights
- Line: 163

##### Syntax

```pawn
native set_lights(const Lighting[]);
```

##### Description

Sets map lighting, #OFF to disable.

#### set_speak

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/set_speak
- Line: 45

##### Syntax

```pawn
native set_speak(iIndex, iSpeakFlags);
```

##### Description

set/get a user's speak flags

#### set_usercmd

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/set_usercmd
- Line: 182

##### Syntax

```pawn
native set_usercmd(type,any:...);
```

##### Description

Sets the parameters sent from CmdStart.
   Note that your changes will be seen by any other plugin doing get_usercmd()

#### set_view

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/set_view
- Line: 170

##### Syntax

```pawn
native set_view(iIndex, ViewType);
```

##### Description

Sets Player's View Mode.
rpgrocket.mdl must be precached in order for this function to work

#### trace_forward

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/trace_forward
- Line: 239

##### Syntax

```pawn
native trace_forward(const Float:start[3], const Float:angle[3], Float:give, ignoreEnt, &Float:hitX, &Float:hitY, &Float:shortestDistance, &Float:shortestDistLow, &Float:shortestDistHigh);
```

##### Description

This function has no description.

#### trace_hull

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/trace_hull
- Line: 150

##### Syntax

```pawn
native trace_hull(const Float:origin[3],hull,ignoredent=0,ignoremonsters=0);
```

##### Description

Traces a hull.

#### trace_line

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/trace_line
- Line: 146

##### Syntax

```pawn
native trace_line(iIgnoreEnt, const Float:fStart[3], const Float:fEnd[3], Float:vReturn[3]);
```

##### Description

This function has no description.

#### trace_normal

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/trace_normal
- Line: 154

##### Syntax

```pawn
native trace_normal(iIgnoreEnt, const Float:fStart[3], const Float:fEnd[3], Float:vReturn[3]);
```

##### Description

Traces a line, and returns the normal to the plane hit in vReturn.
Returns 0 if theres no normal.

#### traceresult

- Include: `engine.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine/function/traceresult
- Line: 25

##### Syntax

```pawn
native traceresult(type,any:...);
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / engine_const.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_const
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 18

### Constants

#### SPEAK_NORMAL

SPEAK_NORMAL

```pawn
#define SPEAK_NORMAL	0
```

#### SPEAK_MUTED

SPEAK_MUTED

```pawn
#define SPEAK_MUTED		1
```

#### SPEAK_ALL

SPEAK_ALL

```pawn
#define SPEAK_ALL		2
```

#### SPEAK_LISTENALL

SPEAK_LISTENALL

```pawn
#define SPEAK_LISTENALL	4
```

#### CAMERA_NONE

CAMERA_NONE

```pawn
#define CAMERA_NONE		0
```

#### CAMERA_3RDPERSON

CAMERA_3RDPERSON

```pawn
#define CAMERA_3RDPERSON	1
```

#### CAMERA_UPLEFT

CAMERA_UPLEFT

```pawn
#define CAMERA_UPLEFT	2
```

#### CAMERA_TOPDOWN

CAMERA_TOPDOWN

```pawn
#define CAMERA_TOPDOWN	3
```

#### Int

Int

```pawn
enum {
	EV_INT_gamestate = 0,
	EV_INT_oldbuttons,
	EV_INT_groupinfo,
	EV_INT_iuser1,
	EV_INT_iuser2,
	EV_INT_iuser3,
	EV_INT_iuser4,
	EV_INT_weaponanim,
	EV_INT_pushmsec,
	EV_INT_bInDuck,
	EV_INT_flTimeStepSound,
	EV_INT_flSwimTime,
	EV_INT_flDuckTime,
	EV_INT_iStepLeft,
	EV_INT_movetype,
	EV_INT_solid,
	EV_INT_skin,
	EV_INT_body,
	EV_INT_effects,
	EV_INT_light_level,
	EV_INT_sequence,
	EV_INT_gaitsequence,
	EV_INT_modelindex,
	EV_INT_playerclass,
	EV_INT_waterlevel,
	EV_INT_watertype,
	EV_INT_spawnflags,
	EV_INT_flags,
	EV_INT_colormap,
	EV_INT_team,
	EV_INT_fixangle,
	EV_INT_weapons,
	EV_INT_rendermode,
	EV_INT_renderfx,
	EV_INT_button,
	EV_INT_impulse,
	EV_INT_deadflag,
};
```

#### Float

Float

```pawn
enum {
	EV_FL_impacttime = 0,
	EV_FL_starttime,
	EV_FL_idealpitch,
	EV_FL_pitch_speed,
	EV_FL_ideal_yaw,
	EV_FL_yaw_speed,
	EV_FL_ltime,
	EV_FL_nextthink,
	EV_FL_gravity,
	EV_FL_friction,
	EV_FL_frame,
	EV_FL_animtime,
	EV_FL_framerate,
	EV_FL_health,
	EV_FL_frags,
	EV_FL_takedamage,
	EV_FL_max_health,
	EV_FL_teleport_time,
	EV_FL_armortype,
	EV_FL_armorvalue,
	EV_FL_dmg_take,
	EV_FL_dmg_save,
	EV_FL_dmg,
	EV_FL_dmgtime,
	EV_FL_speed,
	EV_FL_air_finished,
	EV_FL_pain_finished,
	EV_FL_radsuit_finished,
	EV_FL_scale,
	EV_FL_renderamt,
	EV_FL_maxspeed,
	EV_FL_fov,
	EV_FL_flFallVelocity,
	EV_FL_fuser1,
	EV_FL_fuser2,
	EV_FL_fuser3,
	EV_FL_fuser4,
};
```

#### Vector

Vector

```pawn
enum {
	EV_VEC_origin = 0,
	EV_VEC_oldorigin,
	EV_VEC_velocity,
	EV_VEC_basevelocity,
	EV_VEC_clbasevelocity,
	EV_VEC_movedir,
	EV_VEC_angles,
	EV_VEC_avelocity,
	EV_VEC_punchangle,
	EV_VEC_v_angle,
	EV_VEC_endpos,
	EV_VEC_startpos,
	EV_VEC_absmin,
	EV_VEC_absmax,
	EV_VEC_mins,
	EV_VEC_maxs,
	EV_VEC_size,
	EV_VEC_rendercolor,
	EV_VEC_view_ofs,
	EV_VEC_vuser1,
	EV_VEC_vuser2,
	EV_VEC_vuser3,
	EV_VEC_vuser4,
};
```

#### Edict

Edict

```pawn
enum {
	EV_ENT_chain = 0,
	EV_ENT_dmg_inflictor,
	EV_ENT_enemy,
	EV_ENT_aiment,
	EV_ENT_owner,
	EV_ENT_groundentity,
	EV_ENT_pContainingEntity,
	EV_ENT_euser1,
	EV_ENT_euser2,
	EV_ENT_euser3,
	EV_ENT_euser4,
};
```

#### String

String

```pawn
enum {
	EV_SZ_classname = 0,
	EV_SZ_globalname,
	EV_SZ_model,
	EV_SZ_target,
	EV_SZ_targetname,
	EV_SZ_netname,
	EV_SZ_message,
	EV_SZ_noise,
	EV_SZ_noise1,
	EV_SZ_noise2,
	EV_SZ_noise3,
	EV_SZ_viewmodel,
	EV_SZ_weaponmodel,
};
```

#### Byte

Byte

```pawn
enum {
	EV_BYTE_controller1 = 0,
	EV_BYTE_controller2,
	EV_BYTE_controller3,
	EV_BYTE_controller4,
	EV_BYTE_blending1,
	EV_BYTE_blending2,
};
```

#### _jghg_enums

_jghg_enums

```pawn
#define _jghg_enums
```

#### Enum starting with GL_trace_ent

Enum starting with GL_trace_ent

```pawn
enum {
    // Edict
    GL_trace_ent = 0,

    // Float
    GL_coop,
    GL_deathmatch,
    GL_force_retouch,
    GL_found_secrets,
    GL_frametime,
    GL_serverflags,
    GL_teamplay,
    GL_time,
    GL_trace_allsolid,
    GL_trace_fraction,
    GL_trace_inopen,
    GL_trace_inwater,
    GL_trace_plane_dist,
    GL_trace_startsolid,

    // Int
    GL_cdAudioTrack,
    GL_maxClients,
    GL_maxEntities,
    GL_msg_entity,
    GL_trace_flags,
    GL_trace_hitgroup,

    // String
    GL_pStringBase,
    GL_mapname,
    GL_startspot,

    // Vector
    GL_trace_endpos,
    GL_trace_plane_normal,
    GL_v_forward,
    GL_v_right,
    GL_v_up,
    GL_vecLandmarkOffset,

    // Void (not supported)
    GL_pSaveData
};
```

#### Enum starting with usercmd_float_start

Enum starting with usercmd_float_start

```pawn
enum
{
	usercmd_float_start,
	usercmd_forwardmove,	// Float
	usercmd_sidemove,		// Float
	usercmd_upmove,		// Float
	usercmd_float_end,
	usercmd_int_start,
	usercmd_lerp_msec,		// short
	usercmd_msec,			// byte
	usercmd_lightlevel,		// byte
	usercmd_buttons,		// unsigned short
	usercmd_impulse,		// byte
	usercmd_weaponselect,	// byte
	usercmd_impact_index,	// int
	usercmd_int_end,
	usercmd_vec_start,
	usercmd_viewangles,		// Vector
	usercmd_impact_position,	// vec
	usercmd_vec_end
};
```

#### Used by the traceresult() native.

Used by the traceresult() native.

```pawn
enum
{
	TR_AllSolid,			// (int) if true, plane is not valid
	TR_StartSolid,		// (int) if true, the initial point was in a solid area
	TR_InOpen,		// (int)
	TR_InWater,	// (int)
	TR_Fraction,			// (float) time completed, 1.0 = didn't hit anything
	TR_EndPos,			// (vector) final position
	TR_PlaneDist,		// (float)
	TR_PlaneNormal,		// (vector) surface normal at impact
	TR_Hit,				// (entity) entity the surface is on
	TR_Hitgroup			// (int) 0 == generic, non zero is specific body part
};
```

## amxmodx 1.8.2 hg65 / engine_stocks.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks
- Group: amxmodx 1.8.2 hg65
- Functions: 22
- Documented constants: 0

### Functions

#### IsInWorld

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/IsInWorld
- Line: 232

##### Syntax

```pawn
stock IsInWorld( ent )
```

##### Description

This function has no description.

#### PointContents

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/PointContents
- Line: 220

##### Syntax

```pawn
stock PointContents(const Float:fCheckAt[3])
```

##### Description

Will return the contents of a point (inside map? in sky? outside map? etc.).

#### RadiusDamage

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/RadiusDamage
- Line: 210

##### Syntax

```pawn
stock RadiusDamage(const Float:fExplodeAt[3], iDamageMultiplier, iRadiusMultiplier)
```

##### Description

Hurts/Kills players in a sphere, like an explosion, Multiplier determines damage.

#### VelocityByAim

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/VelocityByAim
- Line: 215

##### Syntax

```pawn
stock VelocityByAim(iIndex,iVelocity, Float:vRetValue[3])
```

##### Description

Gives you a velocity in the direction a player is looking, iVelocity is the multiplier.

#### ViewContents

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/ViewContents
- Line: 119

##### Syntax

```pawn
stock ViewContents(id)
```

##### Description

Get the contents of the point a user is aiming at

#### fakedamage

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/fakedamage
- Line: 22

##### Syntax

```pawn
stock fakedamage(idvictim,const szClassname[],Float:takedmgdamage,damagetype)
```

##### Description

This function has no description.

#### find_ent

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/find_ent
- Line: 46

##### Syntax

```pawn
stock find_ent(iStart, const szClassname[])
```

##### Description

This function has no description.

#### get_brush_entity_origin

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/get_brush_entity_origin
- Line: 90

##### Syntax

```pawn
stock get_brush_entity_origin(ent, Float:orig[3])
```

##### Description

Get origin of a brush entity

#### get_entity_distance

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/get_entity_distance
- Line: 69

##### Syntax

```pawn
stock get_entity_distance(ent1, ent2)
```

##### Description

Get the distance between two entities

#### get_entity_flags

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/get_entity_flags
- Line: 63

##### Syntax

```pawn
stock get_entity_flags(ent)
```

##### Description

Get flags an entity is flagged with

#### get_entity_visibility

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/get_entity_visibility
- Line: 193

##### Syntax

```pawn
stock get_entity_visibility(entity)
```

##### Description

Returns 1 if entity is visible.

#### get_grenade

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/get_grenade
- Line: 75

##### Syntax

```pawn
stock get_grenade(id)
```

##### Description

Get grenade thrown by this user

#### get_speed

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/get_speed
- Line: 130

##### Syntax

```pawn
stock get_speed(ent)
```

##### Description

This function has no description.

#### get_user_button

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/get_user_button
- Line: 52

##### Syntax

```pawn
stock get_user_button(id)
```

##### Description

Get the Button(s) user is pressing

#### get_user_oldbutton

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/get_user_oldbutton
- Line: 57

##### Syntax

```pawn
stock get_user_oldbutton(id)
```

##### Description

This function has no description.

#### get_user_velocity

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/get_user_velocity
- Line: 203

##### Syntax

```pawn
stock get_user_velocity(entity, Float:vec[3])
```

##### Description

This function has no description.

#### remove_entity_name

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/remove_entity_name
- Line: 106

##### Syntax

```pawn
stock remove_entity_name(const eName[])
```

##### Description

Remove entity by name

#### set_entity_flags

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/set_entity_flags
- Line: 154

##### Syntax

```pawn
stock set_entity_flags(ent,flag,onoff)
```

##### Description

Set flags on an entity

#### set_entity_visibility

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/set_entity_visibility
- Line: 185

##### Syntax

```pawn
stock set_entity_visibility(entity, visible = 1)
```

##### Description

If visible = 1, entity will be set to be visible, else invisible.

#### set_rendering

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/set_rendering
- Line: 139

##### Syntax

```pawn
stock set_rendering(index, fx=kRenderFxNone, r=255, g=255, b=255, render=kRenderNormal, amount=16)
```

##### Description

Set rendering of an entity

#### set_size

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/set_size
- Line: 225

##### Syntax

```pawn
stock set_size(index, const Float:mins[3], const Float:maxs[3])
```

##### Description

This function has no description.

#### set_user_velocity

- Include: `engine_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/engine_stocks/function/set_user_velocity
- Line: 198

##### Syntax

```pawn
stock set_user_velocity(entity, const Float:vec[3])
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / esf.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf
- Group: amxmodx 1.8.2 hg65
- Functions: 40
- Documented constants: 1

### Constants

#### __EVOLUTION_CORE__

__EVOLUTION_CORE__

```pawn
#define __EVOLUTION_CORE__
```

### Functions

#### getClientACPL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientACPL
- Line: 21

##### Syntax

```pawn
native getClientACPL 			( Client );
```

##### Description

This function has no description.

#### getClientADPL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientADPL
- Line: 23

##### Syntax

```pawn
native getClientADPL 			( Client );
```

##### Description

This function has no description.

#### getClientATKCHARGE

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientATKCHARGE
- Line: 61

##### Syntax

```pawn
native getClientATKCHARGE 		( Client );
```

##### Description

This function has no description.

#### getClientATKSHOOT

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientATKSHOOT
- Line: 60

##### Syntax

```pawn
native getClientATKSHOOT 		( Client );
```

##### Description

This function has no description.

#### getClientBEAMJUMP

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientBEAMJUMP
- Line: 67

##### Syntax

```pawn
native getClientBEAMJUMP		( Client );
```

##### Description

This function has no description.

#### getClientBLOCK

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientBLOCK
- Line: 54

##### Syntax

```pawn
native getClientBLOCK 			( Client );
```

##### Description

This function has no description.

#### getClientFLY

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientFLY
- Line: 49

##### Syntax

```pawn
native getClientFLY 			( Client );
```

##### Description

This function has no description.

#### getClientFROZEN

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientFROZEN
- Line: 44

##### Syntax

```pawn
native getClientFROZEN 			( Client );
```

##### Description

This function has no description.

#### getClientGOD

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientGOD
- Line: 47

##### Syntax

```pawn
native getClientGOD 			( Client );
```

##### Description

This function has no description.

#### getClientHP

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientHP
- Line: 31

##### Syntax

```pawn
native getClientHP 				( Client );
```

##### Description

This function has no description.

#### getClientINFREEFALL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientINFREEFALL
- Line: 66

##### Syntax

```pawn
native getClientINFREEFALL		( Client );
```

##### Description

This function has no description.

#### getClientKI

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientKI
- Line: 28

##### Syntax

```pawn
native getClientKI 				( Client );
```

##### Description

This function has no description.

#### getClientMELEE

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientMELEE
- Line: 62

##### Syntax

```pawn
native getClientMELEE 			( Client );
```

##### Description

This function has no description.

#### getClientMHP

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientMHP
- Line: 33

##### Syntax

```pawn
native getClientMHP 			( Client );
```

##### Description

This function has no description.

#### getClientPL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientPL
- Line: 19

##### Syntax

```pawn
native getClientPL 				( Client );
```

##### Description

This function has no description.

#### getClientPOWERUP

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientPOWERUP
- Line: 57

##### Syntax

```pawn
native getClientPOWERUP 		( Client );
```

##### Description

This function has no description.

#### getClientPROTECT

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientPROTECT
- Line: 41

##### Syntax

```pawn
native getClientPROTECT 		( Client );
```

##### Description

This function has no description.

#### getClientSPEED

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientSPEED
- Line: 36

##### Syntax

```pawn
native getClientSPEED 			( Client );
```

##### Description

This function has no description.

#### getClientSWOOPING

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientSWOOPING
- Line: 59

##### Syntax

```pawn
native getClientSWOOPING 		( Client );
```

##### Description

This function has no description.

#### getClientSWOOPSPEED

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientSWOOPSPEED
- Line: 38

##### Syntax

```pawn
native getClientSWOOPSPEED 		( Client );
```

##### Description

This function has no description.

#### getClientTHROW

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientTHROW
- Line: 64

##### Syntax

```pawn
native getClientTHROW	 		( Client );
```

##### Description

This function has no description.

#### getClientTHROWAWAY

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientTHROWAWAY
- Line: 63

##### Syntax

```pawn
native getClientTHROWAWAY 		( Client );
```

##### Description

This function has no description.

#### getClientTURBO

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientTURBO
- Line: 52

##### Syntax

```pawn
native getClientTURBO 			( Client );
```

##### Description

This function has no description.

#### getClientWALLGND

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/getClientWALLGND
- Line: 65

##### Syntax

```pawn
native getClientWALLGND			( Client );
```

##### Description

This function has no description.

#### setClientACPL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientACPL
- Line: 20

##### Syntax

```pawn
native setClientACPL 			( Client, ActualPowerLevel );
```

##### Description

This function has no description.

#### setClientADPL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientADPL
- Line: 22

##### Syntax

```pawn
native setClientADPL 			( Client, AfterDeathPowerLevel );
```

##### Description

This function has no description.

#### setClientFROZEN

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientFROZEN
- Line: 43

##### Syntax

```pawn
native setClientFROZEN 			( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientGOD

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientGOD
- Line: 46

##### Syntax

```pawn
native setClientGOD 			( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientHP

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientHP
- Line: 30

##### Syntax

```pawn
native setClientHP 				( Client, Health );
```

##### Description

This function has no description.

#### setClientHiddenPOWERUP

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientHiddenPOWERUP
- Line: 56

##### Syntax

```pawn
native setClientHiddenPOWERUP 	( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientHiddenTURBO

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientHiddenTURBO
- Line: 51

##### Syntax

```pawn
native setClientHiddenTURBO 	( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientKI

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientKI
- Line: 27

##### Syntax

```pawn
native setClientKI 				( Client, Ki );
```

##### Description

This function has no description.

#### setClientMHP

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientMHP
- Line: 32

##### Syntax

```pawn
native setClientMHP	 			( Client, MaximumHealth );
```

##### Description

This function has no description.

#### setClientPL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientPL
- Line: 18

##### Syntax

```pawn
native setClientPL 				( Client, PowerLevel );
```

##### Description

This function has no description.

#### setClientPLtoADPL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientPLtoADPL
- Line: 25

##### Syntax

```pawn
native setClientPLtoADPL 		( Client );
```

##### Description

This function has no description.

#### setClientPROTECT

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientPROTECT
- Line: 40

##### Syntax

```pawn
native setClientPROTECT 		( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientSPEED

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientSPEED
- Line: 35

##### Syntax

```pawn
native setClientSPEED 			( Client, Speed );
```

##### Description

This function has no description.

#### setClientSPL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientSPL
- Line: 24

##### Syntax

```pawn
native setClientSPL 			( Client, PowerLevel );
```

##### Description

This function has no description.

#### setClientSWOOPSPEED

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/setClientSWOOPSPEED
- Line: 37

##### Syntax

```pawn
native setClientSWOOPSPEED 		( Client, SwoopSpeed );
```

##### Description

This function has no description.

#### silentClientKILL

- Include: `esf.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf/function/silentClientKILL
- Line: 70

##### Syntax

```pawn
native silentClientKILL			( Client );
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / esf_const.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/esf_const
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 10

### Constants

#### _esfconst_included

(C)2004-2005 AMX Mod X Development Team
  based on the stocks and information provided by LynX
  organized and released by BAILOPAN
This file is provided as is (no warranties).

```pawn
#if defined _esfconst_included
  #endinput
#endif
#define _esfconst_included
```

#### Enum starting with Character_Buu

Enum starting with Character_Buu

```pawn
enum
{
	Character_Buu = 1,
	Character_Goku = 2,
	Character_Gohan = 3,	//my favorite :)
	Character_Krillin = 4,
	Character_Frieza = 5,
	Character_Piccolo = 6,
	Character_Trunks = 7,
	Character_Vegeta = 8,
	Character_Cell = 9,
};
```

#### Enum starting with Explosion_Blue

Enum starting with Explosion_Blue

```pawn
enum
{
	Explosion_Blue = 0,
	Explosion_Green,
	Explosion_Orange,
	Explosion_Purple,
	Explosion_Yellow,
	Explosion_Red,
	Explosion_White,
	Explosions_Total,
};
```

#### Enum starting with Attack_Kamehameha

Enum starting with Attack_Kamehameha

```pawn
enum
{
	Attack_Kamehameha=1,
	Attack_SpiritBomb,
	Attack_GalletGun,
	Attack_FinalFlash,
	Attack_Renzoku,
	Attack_Kametorpedo,
	Attack_GenericBeam,
	Attack_Throw,
};
```

#### Enum starting with Direction_Left

Enum starting with Direction_Left

```pawn
enum
{
	Direction_Left=1,
	Direction_Right,
	Direction_Up,
	Direction_Down,
	Direction_Forward,
	Direction_Backward,
};
```

#### Enum starting with Recovery_Kicked

Enum starting with Recovery_Kicked

```pawn
enum
{
	Recovery_Kicked=1,
	Recovery_Tumbled,
	Recovery_Lying,
	Recovery_Thrown,
};
```

#### ESF_CHARGING

ESF_CHARGING

```pawn
#define ESF_CHARGING		1
```

#### ESF_CONTROLLING

ESF_CONTROLLING

```pawn
#define ESF_CONTROLLING		2
```

#### ESF_SHOOTING

ESF_SHOOTING

```pawn
#define ESF_SHOOTING		3
```

#### ESF_SHOT

ESF_SHOT

```pawn
#define ESF_SHOT			4
```

## amxmodx 1.8.2 hg65 / fakemeta.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta
- Group: amxmodx 1.8.2 hg65
- Functions: 36
- Documented constants: 0

### Functions

#### copy_infokey_buffer

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/copy_infokey_buffer
- Line: 237

##### Syntax

```pawn
native copy_infokey_buffer(infoBuffer, out[], maxlen);
```

##### Description

This function has no description.

#### create_tr2

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/create_tr2
- Line: 175

##### Syntax

```pawn
native create_tr2();
```

##### Description

Creates a traceresult handle.  This value should never be altered.
The handle can be used in get/set_tr2 and various traceresult engine functions.

NOTE: You must call free_tr2() on every handle made with create_tr2().

##### Return

A new TraceResult handle.

#### dllfunc

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/dllfunc
- Line: 153

##### Syntax

```pawn
native dllfunc(type,any:...);
```

##### Description

This function has no description.

#### engfunc

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/engfunc
- Line: 152

##### Syntax

```pawn
native engfunc(type,any:...);
```

##### Description

This function has no description.

#### forward_return

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/forward_return
- Line: 141

##### Syntax

```pawn
native forward_return(type,any:...);
```

##### Description

Returns data for metamod

#### free_tr2

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/free_tr2
- Line: 185

##### Syntax

```pawn
native free_tr2(tr_handle);
```

##### Description

Frees a traceresult handle created with free_tr2().  Do not call
this more than once per handle, or on handles not created through
create_tr2().

##### Parameters

- `tr_handle`: TraceResult handle created via create_tr2().

##### Return

This function has no return value.

#### get_cd

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_cd
- Line: 200

##### Syntax

```pawn
native get_cd(cd_handle, ClientData:member, {Float,_}:...);
```

##### Description

This function has no description.

#### get_es

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_es
- Line: 207

##### Syntax

```pawn
native get_es(es_handle, EntityState:member, {Float,_}:...);
```

##### Description

This function has no description.

#### get_kvd

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_kvd
- Line: 189

##### Syntax

```pawn
native get_kvd(kvd_handle, KeyValueData:member, {Float,_}:...);
```

##### Description

This function has no description.

#### get_orig_retval

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_orig_retval
- Line: 150

##### Syntax

```pawn
native get_orig_retval({Float,_}:...);
```

##### Description

Returns the original return value of an engine function.
This is only valid in forwards that were registered as post.

get_orig_retval() - no params, retrieves integer return value
get_orig_retval(&Float:value) - retrieves float return value by reference
get_orig_retval(value[], len) - retrives string return value

#### get_pdata_ent

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_pdata_ent
- Line: 127

##### Syntax

```pawn
native get_pdata_ent(_index, _offset, _linuxdiff=20, _macdiff=20);
```

##### Description

Tries to retrieve an edict (entity encapsulation) pointer from an entity's private data.

This function is byte-addressable.  Unlike get_pdata_int() which searches in byte increments of 4,
get_pdata_end searches in increments of 1.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

-2 if an invalid entity was found.
-1 if an empty entity was found.
Otherwise, an entity index is returned.

#### get_pdata_float

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_pdata_float
- Line: 108

##### Syntax

```pawn
native Float:get_pdata_float(_index,_Offset,_linuxdiff=5,_macdiff=5);
```

##### Description

Returns a float from private data.  _linuxdiff is added into the _Offset if it's used on a linux server.

#### get_pdata_int

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_pdata_int
- Line: 102

##### Syntax

```pawn
native get_pdata_int(_index,_Offset,_linuxdiff=5,_macdiff=5);
```

##### Description

Returns an integer from private data.  _linuxdiff is added into the _Offset if it's used on a linux server.

#### get_pdata_string

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_pdata_string
- Line: 223

##### Syntax

```pawn
native get_pdata_string(entity, offset, dest[], maxlength, byref=1, linux, mac=cellmin);
```

##### Description

This function has no description.

#### get_tr

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_tr
- Line: 158

##### Syntax

```pawn
native get_tr(TraceResult:tr_member, {Float,_}:...);
```

##### Description

This function has no description.

#### get_tr2

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_tr2
- Line: 164

##### Syntax

```pawn
native get_tr2(tr_handle, {TraceResult,_}:tr_member, {Float,_}:...);
```

##### Description

This function has no description.

#### get_uc

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/get_uc
- Line: 214

##### Syntax

```pawn
native get_uc(uc_handle, UserCmd:member, {Float,_}:...);
```

##### Description

This function has no description.

#### global_get

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/global_get
- Line: 99

##### Syntax

```pawn
native global_get(_value, any:...);
```

##### Description

Returns any global variable inside globalvars_t structure. Use the glb_* enum.

When returning data from glb_pStringBase (the global string table), you may give a pointer into that table
in order to get different strings.
Example:
new model[128]
new ptr = pev(id, pev_viewmodel)
global_get(glb_pStringBase, ptr, model, 127)

#### lookup_sequence

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/lookup_sequence
- Line: 250

##### Syntax

```pawn
native lookup_sequence(entity, const name[], &Float:framerate = 0.0, &bool:loops = false, &Float:groundspeed = 0.0);
```

##### Description

Looks up the sequence for the entity.

##### Parameters

- `entity`: The entity id to lookup.
- `name`: The sequence name to lookup, case insensitive. ("JUMP" would match "jump")
- `framerate`: The framerate of the sequence, if found.
- `loops`: Whether or not the sequence loops.
- `groundspeed`: The groundspeed setting of the sequence.

##### Return

-1 on failed lookup, the sequence number on successful lookup.

#### pev

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/pev
- Line: 41

##### Syntax

```pawn
native pev(_index,_value,any:...);
```

##### Description

Returns entvar data from an entity.  Use the pev_* enum (in fakemeta_const.inc) to specify which data you want retrieved.

##### Parameters

- `_index`: The entity index to lookup.
- `_value`: The pev field to lookup (look in fakemeta_const.inc)

##### Note

This function uses "read_data" style data syntax.  It returns integer values,
by-references float data, and sets a buffer for string data.

##### Note

If retrieving strings, you may optionally get a pointer into the global string table. Depending on
your situation, there are two ways to do this.
1: This simply gets the pointer.
new ptr = pev(entid, pev_classname)
2: The pointer will be stored in ptr AND the actual string is retrieved.
new ptr, classname[32]
pev(entid, pev_classname, ptr, classname, 31)

#### pev_serial

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/pev_serial
- Line: 88

##### Syntax

```pawn
native pev_serial(entindex);
```

##### Description

Returns the serial number for each entity.  The serial number is a unique identity
generated when an entity is created.

##### Parameters

- `entindex`: The entity id.

##### Return

The serial number for the entity.

#### pev_valid

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/pev_valid
- Line: 78

##### Syntax

```pawn
native pev_valid(entindex);
```

##### Description

Checks the validity of an entity.

##### Parameters

- `entindex`: The entity id to check.

##### Return

0 on invalid entity
1 on entity is valid
2 on entity is valid and it has private data (safe to use pdata natives on).

#### register_forward

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/register_forward
- Line: 132

##### Syntax

```pawn
native register_forward(_forwardType,const _function[],_post=0);
```

##### Description

Registers a forward.
Returns an id you can pass to unregister_forward

#### set_cd

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_cd
- Line: 201

##### Syntax

```pawn
native set_cd(cd_handle, ClientData:member, {Float,_}:...);
```

##### Description

This function has no description.

#### set_controller

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_controller
- Line: 260

##### Syntax

```pawn
native Float:set_controller(entity, controller, Float:value);
```

##### Description

Sets a bone controller with the specified value.

##### Parameters

- `entity`: The entity id to set the value on.
- `controller`: Which controller to set (0 through 3).
- `value`: The value to set it to.

##### Return

The percentage that the controller is extended (0.0 through 1.0)

#### set_es

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_es
- Line: 208

##### Syntax

```pawn
native set_es(es_handle, EntityState:member, {Float,_}:...);
```

##### Description

This function has no description.

#### set_kvd

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_kvd
- Line: 194

##### Syntax

```pawn
native set_kvd(kvd_handle, KeyValueData:member, {Float,_}:...);
```

##### Description

This function has no description.

#### set_pdata_float

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_pdata_float
- Line: 111

##### Syntax

```pawn
native set_pdata_float(_index,_Offset,Float:_Value,_linuxdiff=5,_macdiff=5);
```

##### Description

Sets a float from private data.  _linuxdiff is added into the _Offset if it's used on a linux server.

#### set_pdata_int

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_pdata_int
- Line: 105

##### Syntax

```pawn
native set_pdata_int(_index,_Offset,_Value,_linuxdiff=5,_macdiff=5);
```

##### Description

Sets an integer from private data.  _linuxdiff is added into the _Offset if it's used on a linux server.

#### set_pdata_string

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_pdata_string
- Line: 233

##### Syntax

```pawn
native set_pdata_string(entity, offset, const source[], realloc=2, linux, mac=cellmin);
```

##### Description

This function has no description.

#### set_pev

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_pev
- Line: 53

##### Syntax

```pawn
native set_pev(_index,_value,any:...);
```

##### Description

Sets entvar data for an entity.  Use the pev_* enum from fakemeta_const.inc for reference.

##### Parameters

- `_index`: The entity index to set the value on.
- `_value`: The pev field to set, (look in fakemeta_const.inc)

##### Note

Setting string data will automatically allocate a new string (via AllocString)
If you have a string already allocated with your own call to AllocString, use
set_pev_string_ptr instead.

#### set_pev_string

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_pev_string
- Line: 66

##### Syntax

```pawn
native set_pev_string(_index, _value, _string);
```

##### Description

Use this native to set a pev field to a string that is already allocated (via a function such
as EngFunc_AllocString).

##### Parameters

- `_index`: The entity index to set the value on.
- `_value`: The pev field to set - MUST be a string field.
- `_string`: The string handle, retrieved from places like AllocString.

##### Note

If you specify _value as anything other than string fields, an error will be thrown.

##### Note

Pass 0 as the _string field to set it to an empty string.

#### set_tr

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_tr
- Line: 159

##### Syntax

```pawn
native set_tr(TraceResult:tr_member, {Float,_}:...);
```

##### Description

This function has no description.

#### set_tr2

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_tr2
- Line: 165

##### Syntax

```pawn
native set_tr2(tr_handle, {TraceResult,_}:tr_member, {Float,_}:...);
```

##### Description

This function has no description.

#### set_uc

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/set_uc
- Line: 215

##### Syntax

```pawn
native set_uc(uc_handle, UserCmd:member, {Float,_}:...);
```

##### Description

This function has no description.

#### unregister_forward

- Include: `fakemeta.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta/function/unregister_forward
- Line: 138

##### Syntax

```pawn
native unregister_forward(_forwardType, registerId, post=0);
```

##### Description

Unregisters a forward.
The registerId must be from register_forward, and
post/forwardtype must match what you registered the forward as.

## amxmodx 1.8.2 hg65 / fakemeta_const.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_const
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 19

### Constants

#### FMV_STRING

FMV_STRING

```pawn
#define	FMV_STRING		1
```

#### FMV_FLOAT

FMV_FLOAT

```pawn
#define FMV_FLOAT		2
```

#### FMV_CELL

FMV_CELL

```pawn
#define FMV_CELL		3
```

#### FMRES_IGNORED

FMRES_IGNORED

```pawn
#define FMRES_IGNORED	1	// Calls target function, returns normal value
```

#### FMRES_HANDLED

FMRES_HANDLED

```pawn
#define FMRES_HANDLED	2	// Tells metamod you did something, still calls target function and returns normal value
```

#### FMRES_OVERRIDE

FMRES_OVERRIDE

```pawn
#define FMRES_OVERRIDE	3	// Supposed to still call the target function but return your value instead
```

#### FMRES_SUPERCEDE

FMRES_SUPERCEDE

```pawn
#define FMRES_SUPERCEDE	4	// Block the target call, and use your return value (if applicable)
```

#### FM_NULLENT

FM_NULLENT

```pawn
#define FM_NULLENT		-1
```

#### Used with engfunc()

Used with engfunc()

```pawn
enum {
	EngFunc_PrecacheModel,				// int  )			(char *s);
	EngFunc_PrecacheSound,				// int  )			(char *s);
	EngFunc_SetModel,					// void )			(edict_t *e, const char *m);
	EngFunc_ModelIndex,					// int  )			(const char *m);
	EngFunc_ModelFrames,				// int	)			(int modelIndex);
	EngFunc_SetSize,					// void )			(edict_t *e, const float *rgflMin, const float *rgflMax);
	EngFunc_ChangeLevel,				// void )			(char* s1, char* s2);
	EngFunc_VecToYaw,					// float)			(const float *rgflVector);
	EngFunc_VecToAngles,				// void )			(const float *rgflVectorIn, float *rgflVectorOut);
	EngFunc_MoveToOrigin,				// void )			(edict_t *ent, const float *pflGoal, float dist, int iMoveType);
	EngFunc_ChangeYaw,					// void )			(edict_t* ent);
	EngFunc_ChangePitch,				// void )			(edict_t* ent);
	EngFunc_FindEntityByString,			// edict)			(edict_t *pEdictStartSearchAfter, const char *pszField, const char *pszValue);
	EngFunc_GetEntityIllum,				// int	)			(edict_t* pEnt);
	EngFunc_FindEntityInSphere,			// edict)			(edict_t *pEdictStartSearchAfter, const float *org, float rad);
	EngFunc_FindClientInPVS,			// edict)			(edict_t *pEdict);
	EngFunc_EntitiesInPVS,				// edict)			(edict_t *pplayer);
	EngFunc_MakeVectors,				// void )			(const float *rgflVector);
	EngFunc_AngleVectors,				// void )			(const float *rgflVector, float *forward, float *right, float *up);
	EngFunc_CreateEntity,				// edict)			(void);
	EngFunc_RemoveEntity,				// void )			(edict_t *e);
	EngFunc_CreateNamedEntity,			// edict)			(int className);
	EngFunc_MakeStatic,					// void )			(edict_t *ent);
	EngFunc_EntIsOnFloor,				// int  )			(edict_t *e);
	EngFunc_DropToFloor,				// int  )			(edict_t *e);
	EngFunc_WalkMove,					// int  )			(edict_t *ent, float yaw, float dist, int iMode);
	EngFunc_SetOrigin,					// void )			(edict_t *e, const float *rgflOrigin);
	EngFunc_EmitSound,					// void )			(edict_t *entity, int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch);
	EngFunc_EmitAmbientSound,			// void )			(edict_t *entity, float *pos, const char *samp, float vol, float attenuation, int fFlags, int pitch);

	//With 1.71 you can pass an optional TraceLine ptr for trace natives
	// it can be 0, for meaning "global tr handle" (for get/set_tr2), or
	// it can be any other TR handle (such as one from a TR hook)
	EngFunc_TraceLine,					// void )			(const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr);
	EngFunc_TraceToss,					// void )			(edict_t *pent, edict_t *pentToIgnore, TraceResult *ptr);
	EngFunc_TraceMonsterHull,			// int  )			(edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr);
	EngFunc_TraceHull,					// void )			(const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr);
	EngFunc_TraceModel,					// void )			(const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr);
	EngFunc_TraceTexture,				// const char *)	(edict_t *pTextureEntity, const float *v1, const float *v2 );
	EngFunc_TraceSphere,				// void )			(const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr);

	EngFunc_GetAimVector,				// void )			(edict_t *ent, float speed, float *rgflReturn);
	EngFunc_ParticleEffect,				// void )			(const float *org, const float *dir, float color, float count);
	EngFunc_LightStyle,					// void )			(int style, char *val);
	EngFunc_DecalIndex,					// int  )			(const char *name);
	EngFunc_PointContents,				// int  )			(const float *rgflVector);
	EngFunc_FreeEntPrivateData,			// void )			(edict_t *pEdict);
	EngFunc_SzFromIndex,				// const char *)	(int iString);
	EngFunc_AllocString,				// int  )			(const char *szValue);
	EngFunc_RegUserMsg,					// int	)			(const char *pszName, int iSize);
	EngFunc_AnimationAutomove,			// void )			(const edict_t *pEdict, float flTime);
	EngFunc_GetBonePosition,			// void )			(const edict_t *pEdict, int iBone, float *rgflOrigin, float *rgflAngles);
	EngFunc_GetAttachment,				// void	)			(const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles);
	EngFunc_SetView,					// void )			(const edict_t *pClient, const edict_t *pViewent);
	EngFunc_Time,						// float)			( void );
	EngFunc_CrosshairAngle,				// void )			(const edict_t *pClient, float pitch, float yaw);
	EngFunc_FadeClientVolume,			// void )			(const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds);
	EngFunc_SetClientMaxspeed,			// void )			(const edict_t *pEdict, float fNewMaxspeed);
	EngFunc_CreateFakeClient,			// edict)			(const char *netname);	// returns NULL if fake client can't be created
	EngFunc_RunPlayerMove,				// void )			(edict_t *fakeclient, const float *viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec);
	EngFunc_NumberOfEntities,			// int  )			( void );
	EngFunc_StaticDecal,				// void )			(const float *origin, int decalIndex, int entityIndex, int modelIndex);
	EngFunc_PrecacheGeneric,			// int  )			(char* s);
	EngFunc_BuildSoundMsg,				// void )			(edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed);
	EngFunc_GetPhysicsKeyValue,			// const char *)	(const edict_t *pClient, const char *key);
	EngFunc_SetPhysicsKeyValue,			// void )			(const edict_t *pClient, const char *key, const char *value);
	EngFunc_GetPhysicsInfoString,		// const char *)	(const edict_t *pClient);
	EngFunc_PrecacheEvent,				// unsigned short)	(int type, const char*psz);
	EngFunc_PlaybackEvent,				// void )			(int flags, const edict_t *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2);
	EngFunc_CheckVisibility,			// int  )			(const edict_t *entity, unsigned char *pset);
	EngFunc_GetCurrentPlayer,			// int  )			( void );
	EngFunc_CanSkipPlayer,				// int  )			(const edict_t *player);
	EngFunc_SetGroupMask,				// void )			(int mask, int op);
	EngFunc_GetClientListening,			// bool )			(int iReceiver, int iSender)
	EngFunc_SetClientListening,			// bool )			(int iReceiver, int iSender, bool Listen)
	EngFunc_MessageBegin,				// void )			(int msg_dest, int msg_type, const float *pOrigin, edict_t *ed)
	EngFunc_WriteCoord,					// void )			(float flValue)
	EngFunc_WriteAngle,					// void )			(float flValue)
	EngFunc_InfoKeyValue,				// char*)			(char *infobuffer, char *key);
	EngFunc_SetKeyValue,				// void )			(char *infobuffer, char *key, char *value);
	EngFunc_SetClientKeyValue,			// void )			(int clientIndex, char *infobuffer, char *key, char *value);
	EngFunc_CreateInstBaseline,			// int  )			(int classname, struct entity_state_s *baseline);

	// Returns pointer to info buffer that can be used with the infobuffer param of InfoKeyValue, SetKeyValue, and SetClientKeyValue
	EngFunc_GetInfoKeyBuffer,			// char*)			(edict_t *e);
	EngFunc_AlertMessage,				// void )			(ALERT_TYPE atype, char *szFmt, ...);
	EngFunc_ClientPrintf,				// void )			(edict_t* pEdict, PRINT_TYPE ptype, const char *szMsg);
	EngFunc_ServerPrint					// void )			(const char *szMsg);
};
```

#### Used with dllfunc()

Used with dllfunc()

```pawn
enum
{
	DLLFunc_GameInit,					// void )			( void );
	DLLFunc_Spawn,						// int  )			(edict_t *pent);
	DLLFunc_Think,						// void )			(edict_t *pent);
	DLLFunc_Use,						// void )			(edict_t *pentUsed, edict_t *pentOther);
	DLLFunc_Touch,						// void )			(edict_t *pentTouched, edict_t *pentOther);
	DLLFunc_Blocked,					// void )			(edict_t *pentBlocked, edict_t *pentOther);

	//You can pass in 0 for glb kvd handle or a kvd handle here
	DLLFunc_KeyValue,					// void )			(edict_t *pentKeyvalue, KeyValueData *pkvd);
	DLLFunc_SetAbsBox,					// void )			(edict_t *pent);
	DLLFunc_ClientConnect,				// bool )			(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);

	DLLFunc_ClientDisconnect,			// void )			(edict_t *pEntity);
	DLLFunc_ClientKill,					// void )			(edict_t *pEntity);
	DLLFunc_ClientPutInServer,			// void )			(edict_t *pEntity);
	DLLFunc_ClientCommand,				// void )			(edict_t *pEntity);

	DLLFunc_ServerDeactivate,			// void )			( void );

	DLLFunc_PlayerPreThink,				// void )			(edict_t *pEntity);
	DLLFunc_PlayerPostThink,			// void )			(edict_t *pEntity);

	DLLFunc_StartFrame,					// void )			( void );
	DLLFunc_ParmsNewLevel,				// void )			( void );
	DLLFunc_ParmsChangeLevel,			// void )			( void );

	// Returns string describing current .dll.  E.g., TeamFotrress 2, Half-Life
	// This also gets called when the server is queried for information (for example, by a server browser tool)
	DLLFunc_GetGameDescription,	 		// const char *)	( void );

	// Spectator funcs
	DLLFunc_SpectatorConnect,			// void )			(edict_t *pEntity);
	DLLFunc_SpectatorDisconnect,		// void )			(edict_t *pEntity);
	DLLFunc_SpectatorThink,				// void )			(edict_t *pEntity);

	// Notify game .dll that engine is going to shut down.  Allows mod authors to set a breakpoint.
	DLLFunc_Sys_Error,					// void )			(const char *error_string);

	DLLFunc_PM_FindTextureType,			// char )			(char *name);
	DLLFunc_RegisterEncoders,			// void )			( void );

	// Enumerates player hulls.  Returns 0 if the hull number doesn't exist, 1 otherwise
	DLLFunc_GetHullBounds,				// int  )			(int hullnumber, float *mins, float *maxs);

	// Create baselines for certain "unplaced" items.
	DLLFunc_CreateInstBaselines,		// void )			( void );
	DLLFunc_pfnAllowLagCompensation,	// int  )			( void );
	// I know this does not fit with DLLFUNC(), but I don't want another native just for it.
	MetaFunc_CallGameEntity,			// bool	)			(plid_t plid, const char *entStr,entvars_t *pev);
	DLLFunc_ClientUserInfoChanged,		// void	)			(edict *pEntity, char *infobuffer);
	// You can pass in 0 for global cd handle or another cd handle here
	DLLFunc_UpdateClientData,			// void )			(const struct edict_s *ent, int sendweapons, struct clientdata_s *cd);
	// You can pass in 0 for global entity state handle or another entity state handle here
	DLLFunc_AddToFullPack,				// int  )			(struct entity_state_s *state, int e, edict_t *ent, edict_t *host, int hostflags, int player, unsigned char *pSet);
	// You can pass in 0 for global usercmd handle or another usercmd handle here
	DLLFunc_CmdStart,					// void )			(const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed);
	DLLFunc_CmdEnd,						// void )			(const edict_t *player);
	DLLFunc_CreateBaseline				// void )			(int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, vec3_t player_mins, vec3_t player_maxs);
};
```

#### Enum starting with pev_string_start

Enum starting with pev_string_start

```pawn
enum {
	pev_string_start = 0,
	pev_classname,
	pev_globalname,
	pev_model,
	pev_target,
	pev_targetname,
	pev_netname,
	pev_message,
	pev_noise,
	pev_noise1,
	pev_noise2,
	pev_noise3,
	pev_string_end,
	pev_edict_start,
	pev_chain,
	pev_dmg_inflictor,
	pev_enemy,
	pev_aiment,
	pev_owner,
	pev_groundentity,
	pev_euser1,
	pev_euser2,
	pev_euser3,
	pev_euser4,
	pev_edict_end,
	pev_float_start,
	pev_impacttime,
	pev_starttime,
	pev_idealpitch,
	pev_ideal_yaw,
	pev_pitch_speed,
	pev_yaw_speed,
	pev_ltime,
	pev_nextthink,
	pev_gravity,
	pev_friction,
	pev_frame,
	pev_animtime,
	pev_framerate,
	pev_scale,
	pev_renderamt,
	pev_health,
	pev_frags,
	pev_takedamage,
	pev_max_health,
	pev_teleport_time,
	pev_armortype,
	pev_armorvalue,
	pev_dmg_take,
	pev_dmg_save,
	pev_dmg,
	pev_dmgtime,
	pev_speed,
	pev_air_finished,
	pev_pain_finished,
	pev_radsuit_finished,
	pev_maxspeed,
	pev_fov,
	pev_flFallVelocity,
	pev_fuser1,
	pev_fuser2,
	pev_fuser3,
	pev_fuser4,
	pev_float_end,
	pev_int_start,
	pev_fixangle,
	pev_modelindex,
	pev_viewmodel,
	pev_weaponmodel,
	pev_movetype,
	pev_solid,
	pev_skin,
	pev_body,
	pev_effects,
	pev_light_level,
	pev_sequence,
	pev_gaitsequence,
	pev_rendermode,
	pev_renderfx,
	pev_weapons,
	pev_deadflag,
	pev_button,
	pev_impulse,
	pev_spawnflags,
	pev_flags,
	pev_colormap,
	pev_team,
	pev_waterlevel,
	pev_watertype,
	pev_playerclass,
	pev_weaponanim,
	pev_pushmsec,
	pev_bInDuck,
	pev_flTimeStepSound,
	pev_flSwimTime,
	pev_flDuckTime,
	pev_iStepLeft,
	pev_gamestate,
	pev_oldbuttons,
	pev_groupinfo,
	pev_iuser1,
	pev_iuser2,
	pev_iuser3,
	pev_iuser4,
	pev_int_end,
	pev_byte_start,
	pev_controller_0,
	pev_controller_1,
	pev_controller_2,
	pev_controller_3,
	pev_blending_0,
	pev_blending_1,
	pev_byte_end,
	pev_bytearray_start,
	pev_controller,
	pev_blending,
	pev_bytearray_end,
	pev_vecarray_start,
	pev_origin,
	pev_oldorigin,
	pev_velocity,
	pev_basevelocity,
	pev_clbasevelocity,
	pev_movedir,
	pev_angles,
	pev_avelocity,
	pev_v_angle,
	pev_endpos,
	pev_startpos,
	pev_absmin,
	pev_absmax,
	pev_mins,
	pev_maxs,
	pev_size,
	pev_rendercolor,
	pev_view_ofs,
	pev_vuser1,
	pev_vuser2,
	pev_vuser3,
	pev_vuser4,
	pev_punchangle,
	pev_vecarray_end,
	pev_string2_begin,	/* anything after here are string corrections */
	pev_weaponmodel2,
	pev_viewmodel2,
	pev_string2_end,
	pev_edict2_start,	/* edict corrections */
	pev_pContainingEntity,
	pev_absolute_end
};
```

#### Used with global_get()

Used with global_get()

```pawn
enum
{
	glb_start_int = 0,
	glb_trace_hitgroup,
	glb_trace_flags,
	glb_msg_entity,
	glb_cdAudioTrack,
	glb_maxClients,
	glb_maxEntities,
	glb_end_int,
	glb_start_float,
	glb_time,
	glb_frametime,
	glb_force_retouch,
	glb_deathmatch,
	glb_coop,
	glb_teamplay,
	glb_serverflags,
	glb_found_secrets,
	glb_trace_allsolid,
	glb_trace_startsolid,
	glb_trace_fraction,
	glb_trace_plane_dist,
	glb_trace_inopen,
	glb_trace_inwater,
	glb_end_float,
	glb_start_edict,
	glb_trace_ent,
	glb_end_edict,
	glb_start_vector,
	glb_v_forward,
	glb_v_up,
	glb_v_right,
	glb_trace_endpos,
	glb_trace_plane_normal,
	glb_vecLandmarkOffset,
	glb_end_vector,
	glb_start_string,
	glb_mapname,
	glb_startspot,
	glb_end_string,
	glb_start_pchar,
	glb_pStringBase,
	glb_end_pchar
};
```

#### Used with register_forward()

Used with register_forward()

```pawn
enum {
	FM_PrecacheModel = 1,
	FM_PrecacheSound,
	FM_SetModel,
	FM_ModelIndex,
	FM_ModelFrames,
	FM_SetSize,
	FM_ChangeLevel,
	FM_VecToYaw,
	FM_VecToAngles,
	FM_MoveToOrigin,
	FM_ChangeYaw,
	FM_ChangePitch,
	FM_FindEntityByString,
	FM_GetEntityIllum,
	FM_FindEntityInSphere,
	FM_FindClientInPVS,
	FM_EntitiesInPVS,
	FM_MakeVectors,
	FM_AngleVectors,
	FM_CreateEntity,
	FM_RemoveEntity,
	FM_CreateNamedEntity,
	FM_MakeStatic,
	FM_EntIsOnFloor,
	FM_DropToFloor,
	FM_WalkMove,
	FM_SetOrigin,
	FM_EmitSound,
	FM_EmitAmbientSound,
	FM_TraceLine,
	FM_TraceToss,
	FM_TraceMonsterHull,
	FM_TraceHull,
	FM_TraceModel,
	FM_TraceTexture,
	FM_TraceSphere,
	FM_GetAimVector,
	FM_ParticleEffect,
	FM_LightStyle,
	FM_DecalIndex,
	FM_PointContents,
	FM_MessageBegin,
	FM_MessageEnd,
	FM_WriteByte,
	FM_WriteChar,
	FM_WriteShort,
	FM_WriteLong,
	FM_WriteAngle,
	FM_WriteCoord,
	FM_WriteString,
	FM_WriteEntity,
	FM_CVarGetFloat,
	FM_CVarGetString,
	FM_CVarSetFloat,
	FM_CVarSetString,
	FM_FreeEntPrivateData,
	FM_SzFromIndex,
	FM_AllocString,
	FM_RegUserMsg,
	FM_AnimationAutomove,
	FM_GetBonePosition,
	FM_GetAttachment,
	FM_SetView,
	FM_Time,
	FM_CrosshairAngle,
	FM_FadeClientVolume,
	FM_SetClientMaxspeed,
	FM_CreateFakeClient,
	FM_RunPlayerMove,
	FM_NumberOfEntities,
	FM_StaticDecal,
	FM_PrecacheGeneric,
	FM_BuildSoundMsg,
	FM_GetPhysicsKeyValue,
	FM_SetPhysicsKeyValue,
	FM_GetPhysicsInfoString,
	FM_PrecacheEvent,
	FM_PlaybackEvent,
	FM_CheckVisibility,
	FM_GetCurrentPlayer,
	FM_CanSkipPlayer,
	FM_SetGroupMask,
	FM_Voice_GetClientListening,
	FM_Voice_SetClientListening,
	FM_InfoKeyValue,
	FM_SetKeyValue,
	FM_SetClientKeyValue,
	FM_GetPlayerAuthId,
	FM_GetPlayerWONId,
	FM_IsMapValid,

	FM_Spawn,
	FM_Think,
	FM_Use,
	FM_Touch,
	FM_Blocked,
	FM_KeyValue,
	FM_SetAbsBox,
	FM_ClientConnect,

	FM_ClientDisconnect,
	FM_ClientKill,
	FM_ClientPutInServer,
	FM_ClientCommand,

	FM_ServerDeactivate,

	FM_PlayerPreThink,
	FM_PlayerPostThink,

	FM_StartFrame,
	FM_ParmsNewLevel,
	FM_ParmsChangeLevel,

	// Returns string describing current .dll.  E.g., TeamFotrress 2, Half-Life
	// This also gets called when the server is queried for information (for example, by a server browser tool)
	FM_GetGameDescription,

	// Spectator funcs
	FM_SpectatorConnect,
	FM_SpectatorDisconnect,
	FM_SpectatorThink,

	// Notify game .dll that engine is going to shut down.  Allows mod authors to set a breakpoint.
	FM_Sys_Error,

	FM_PM_FindTextureType,
	FM_RegisterEncoders,

	// Create baselines for certain "unplaced" items.
	FM_CreateInstBaselines,

	FM_AllowLagCompensation,
	FM_AlertMessage,

	// NEW_DLL_FUNCTIONS:
	FM_OnFreeEntPrivateData,
	FM_GameShutdown,
	FM_ShouldCollide,

	// LATE ADDITIONS (v1.71)
	FM_ClientUserInfoChanged,

	// LATE ADDITIONS (v1.75)
	FM_UpdateClientData,
	FM_AddToFullPack,
	FM_CmdStart,
	FM_CmdEnd,
	FM_CreateInstBaseline,
	FM_CreateBaseline,
	FM_GetInfoKeyBuffer,
	FM_ClientPrintf,

	// LATE ADDITIONS (v1.80)
	FM_ServerPrint
};
```

#### TraceResult

TraceResult

```pawn
enum TraceResult
{
	TR_AllSolid,		// int
	TR_StartSolid,		// int
	TR_InOpen,			// int
	TR_InWater,			// int
	TR_flFraction,		// float
	TR_vecEndPos,		// float array[3]
	TR_flPlaneDist,		// float
	TR_vecPlaneNormal,	// float array[3]
	TR_pHit,			// int (edict_t*)
	TR_iHitgroup,		// int
};
```

#### KeyValueData

KeyValueData

```pawn
enum KeyValueData
{
	KV_ClassName,		// string
	KV_KeyName,			// string
	KV_Value,			// string
	KV_fHandled			// int
};
```

#### ClientData

ClientData

```pawn
enum ClientData
{
	CD_Origin,			// float array[3]
	CD_Velocity,		// float array[3]
	CD_ViewModel,		// int
	CD_PunchAngle,		// float array[3]
	CD_Flags,			// int
	CD_WaterLevel,		// int
	CD_WaterType,		// int
	CD_ViewOfs,			// float array[3]
	CD_Health,			// float
	CD_bInDuck,			// int
	CD_Weapons,			// int
	CD_flTimeStepSound,	// int
	CD_flDuckTime,		// int
	CD_flSwimTime,		// int
	CD_WaterJumpTime,	// int
	CD_MaxSpeed,		// float
	CD_FOV,				// float
	CD_WeaponAnim,		// int
	CD_ID,				// int
	CD_AmmoShells,		// int
	CD_AmmoNails,		// int
	CD_AmmoCells,		// int
	CD_AmmoRockets,		// int
	CD_flNextAttack,	// float
	CD_tfState,			// int
	CD_PushMsec,		// int
	CD_DeadFlag,		// int
	CD_PhysInfo,		// string[256]
	CD_iUser1,			// int
	CD_iUser2,			// int
	CD_iUser3,			// int
	CD_iUser4,			// int
	CD_fUser1,			// float
	CD_fUser2,			// float
	CD_fUser3,			// float
	CD_fUser4,			// float
	CD_vUser1,			// float array[3]
	CD_vUser2,			// float array[3]
	CD_vUser3,			// float array[3]
	CD_vUser4			// float array[3]
};
```

#### EntityState

EntityState

```pawn
enum EntityState
{
	// Fields which are filled in by routines outside of delta compression
	ES_EntityType,		// int
	// Index into cl_entities array for this entity
	ES_Number,			// int
	ES_MsgTime,			// float

	// Message number last time the player/entity state was updated
	ES_MessageNum,		// int

	// Fields which can be transitted and reconstructed over the network stream
	ES_Origin,			// float array[3]
	ES_Angles,			// float array[3]

	ES_ModelIndex,		// int
	ES_Sequence,		// int
	ES_Frame,			// float
	ES_ColorMap,		// int
	ES_Skin,			// short
	ES_Solid,			// short
	ES_Effects,			// int
	ES_Scale,			// float
	ES_eFlags,			// byte

	// Render information
	ES_RenderMode,		// int
	ES_RenderAmt,		// int
	ES_RenderColor,		// byte array[3], RGB value
	ES_RenderFx,		// int

	ES_MoveType,		// int
	ES_AnimTime,		// float
	ES_FrameRate,		// float
	ES_Body,			// int
	ES_Controller,		// byte array[4]
	ES_Blending,		// byte array[4]
	ES_Velocity,		// float array[3]

	// Send bbox down to client for use during prediction
	ES_Mins,			// float array[3]
	ES_Maxs,			// float array[3]

	ES_AimEnt,			// int
	// If owned by a player, the index of that player (for projectiles)
	ES_Owner,			// int

	// Friction, for prediction
	ES_Friction,		// float
	// Gravity multiplier
	ES_Gravity,			// float

	// PLAYER SPECIFIC
	ES_Team,			// int
	ES_PlayerClass,		// int
	ES_Health,			// int
	ES_Spectator,		// bool
	ES_WeaponModel,		// int
	ES_GaitSequence,	// int
	// If standing on conveyor, e.g.
	ES_BaseVelocity,	// float array[3]
	// Use the crouched hull, or the regular player hull
	ES_UseHull,			// int
	// Latched buttons last time state updated
	ES_OldButtons,		// int
	// -1 = in air, else pmove entity number
	ES_OnGround,		// int
	ES_iStepLeft,		// int
	// How fast we are falling
	ES_flFallVelocity,	// float

	ES_FOV,				// float
	ES_WeaponAnim,		// int

	// Parametric movement overrides
	ES_StartPos,		// float array[3]
	ES_EndPos,			// float array[3]
	ES_ImpactTime,		// float
	ES_StartTime,		// float

	// For mods
	ES_iUser1,			// int
	ES_iUser2,			// int
	ES_iUser3,			// int
	ES_iUser4,			// int
	ES_fUser1,			// float
	ES_fUser2,			// float
	ES_fUser3,			// float
	ES_fUser4,			// float
	ES_vUser1,			// float array[3]
	ES_vUser2,			// float array[3]
	ES_vUser3,			// float array[3]
	ES_vUser4			// float array[3]
};
```

#### UserCmd

UserCmd

```pawn
enum UserCmd
{
	// Interpolation time on client
	UC_LerpMsec,		// short
	// Duration in ms of command
	UC_Msec,			// byte
	// Command view angles
	UC_ViewAngles,		// float array[3]

	// Intended velocities
	// Forward velocity
	UC_ForwardMove,		// float
	// Sideways velocity
	UC_SideMove,		// float
	// Upward velocity
	UC_UpMove,			// float
	// Light level at spot where we are standing
	UC_LightLevel,		// byte
	// Attack buttons
	UC_Buttons,			// unsigned short
	// Impulse command issued
	UC_Impulse,			// byte
	// Current weapon id
	UC_WeaponSelect,	// byte

	// Experimental player impact stuff
	UC_ImpactIndex,		// int
	UC_ImpactPosition	// float array[3]
};
```

#### AlertType

AlertType

```pawn
enum AlertType
{
	at_notice = 0,
	at_console,		// same as at_notice, but forces a ConPrintf, not a message box
	at_aiconsole,	// same as at_console, but only shown if developer level is 2!
	at_warning,
	at_error,
	at_logged		// Server print to console (only in multiplayer games)
};
```

## amxmodx 1.8.2 hg65 / fakemeta_stocks.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks
- Group: amxmodx 1.8.2 hg65
- Functions: 115
- Documented constants: 0

### Functions

#### DF_AddToFullPack

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_AddToFullPack
- Line: 268

##### Syntax

```pawn
stock DF_AddToFullPack(const STATE/* = 0*/, e, ENT, HOST, hostflags, player, set)
```

##### Description

This function has no description.

#### DF_Blocked

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_Blocked
- Line: 211

##### Syntax

```pawn
stock DF_Blocked(const ENT_Blocked, const ENT_Other)
```

##### Description

This function has no description.

#### DF_ClientCommand

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_ClientCommand
- Line: 224

##### Syntax

```pawn
stock DF_ClientCommand(const ENTITY)
```

##### Description

This function has no description.

#### DF_ClientConnect

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_ClientConnect
- Line: 215

##### Syntax

```pawn
stock DF_ClientConnect(const ENTITY, const NAME[], const ADDRESS[], RejectReason[128])
```

##### Description

This function has no description.

#### DF_ClientDisconnect

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_ClientDisconnect
- Line: 217

##### Syntax

```pawn
stock DF_ClientDisconnect(const ENTITY)
```

##### Description

This function has no description.

#### DF_ClientKill

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_ClientKill
- Line: 219

##### Syntax

```pawn
stock DF_ClientKill(const ENTITY)
```

##### Description

This function has no description.

#### DF_ClientPutInServer

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_ClientPutInServer
- Line: 222

##### Syntax

```pawn
stock DF_ClientPutInServer(const ENTITY)
```

##### Description

This function has no description.

#### DF_ClientUserInfoChanged

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_ClientUserInfoChanged
- Line: 263

##### Syntax

```pawn
stock DF_ClientUserInfoChanged(const IDPLAYER)
```

##### Description

This function has no description.

#### DF_CmdEnd

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_CmdEnd
- Line: 272

##### Syntax

```pawn
stock DF_CmdEnd(const PLAYER)
```

##### Description

This function has no description.

#### DF_CmdStart

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_CmdStart
- Line: 270

##### Syntax

```pawn
stock DF_CmdStart(const PLAYER, const CMD/* = 0*/, randomSeed)
```

##### Description

This function has no description.

#### DF_CreateBaseline

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_CreateBaseline
- Line: 274

##### Syntax

```pawn
stock DF_CreateBaseline(PLAYER, eIndex, baseline, playerModelIndex, Float:playerMins[3], Float:playerMaxs[3])
```

##### Description

This function has no description.

#### DF_CreateInstBaselines

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_CreateInstBaselines
- Line: 257

##### Syntax

```pawn
stock DF_CreateInstBaselines()
```

##### Description

This function has no description.

#### DF_GameInit

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_GameInit
- Line: 200

##### Syntax

```pawn
stock DF_GameInit()
```

##### Description

This function has no description.

#### DF_GetGameDescription

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_GetGameDescription
- Line: 239

##### Syntax

```pawn
stock DF_GetGameDescription()
```

##### Description

This function has no description.

#### DF_GetHullBounds

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_GetHullBounds
- Line: 255

##### Syntax

```pawn
stock DF_GetHullBounds(hullnumber, Float:mins[3], Float:maxs[3])
```

##### Description

This function has no description.

#### DF_MetaFunc_CallGameEntity

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_MetaFunc_CallGameEntity
- Line: 261

##### Syntax

```pawn
stock DF_MetaFunc_CallGameEntity(const STRING[], const ENTITY)
```

##### Description

This function has no description.

#### DF_PM_FindTextureType

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_PM_FindTextureType
- Line: 250

##### Syntax

```pawn
stock DF_PM_FindTextureType(name[])
```

##### Description

This function has no description.

#### DF_ParmsChangeLevel

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_ParmsChangeLevel
- Line: 237

##### Syntax

```pawn
stock DF_ParmsChangeLevel()
```

##### Description

This function has no description.

#### DF_ParmsNewLevel

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_ParmsNewLevel
- Line: 235

##### Syntax

```pawn
stock DF_ParmsNewLevel()
```

##### Description

This function has no description.

#### DF_PlayerPostThink

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_PlayerPostThink
- Line: 230

##### Syntax

```pawn
stock DF_PlayerPostThink(const ENTITY)
```

##### Description

This function has no description.

#### DF_PlayerPreThink

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_PlayerPreThink
- Line: 228

##### Syntax

```pawn
stock DF_PlayerPreThink(const ENTITY)
```

##### Description

This function has no description.

#### DF_RegisterEncoders

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_RegisterEncoders
- Line: 252

##### Syntax

```pawn
stock DF_RegisterEncoders()
```

##### Description

This function has no description.

#### DF_ServerDeactivate

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_ServerDeactivate
- Line: 226

##### Syntax

```pawn
stock DF_ServerDeactivate()
```

##### Description

This function has no description.

#### DF_SetAbsBox

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_SetAbsBox
- Line: 213

##### Syntax

```pawn
stock DF_SetAbsBox(const ENTITY)
```

##### Description

This function has no description.

#### DF_Spawn

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_Spawn
- Line: 202

##### Syntax

```pawn
stock DF_Spawn(const ENTITY)
```

##### Description

This function has no description.

#### DF_SpectatorConnect

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_SpectatorConnect
- Line: 241

##### Syntax

```pawn
stock DF_SpectatorConnect(const ENTITY)
```

##### Description

This function has no description.

#### DF_SpectatorDisconnect

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_SpectatorDisconnect
- Line: 244

##### Syntax

```pawn
stock DF_SpectatorDisconnect(const ENTITY)
```

##### Description

This function has no description.

#### DF_SpectatorThink

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_SpectatorThink
- Line: 246

##### Syntax

```pawn
stock DF_SpectatorThink(const ENTITY)
```

##### Description

This function has no description.

#### DF_StartFrame

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_StartFrame
- Line: 233

##### Syntax

```pawn
stock DF_StartFrame()
```

##### Description

This function has no description.

#### DF_Sys_Error

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_Sys_Error
- Line: 248

##### Syntax

```pawn
stock DF_Sys_Error(const ERROR_STRING[])
```

##### Description

This function has no description.

#### DF_Think

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_Think
- Line: 204

##### Syntax

```pawn
stock DF_Think(const ENTITY)
```

##### Description

This function has no description.

#### DF_Touch

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_Touch
- Line: 208

##### Syntax

```pawn
stock DF_Touch(const ENT_Touched, const ENT_Toucher)
```

##### Description

This function has no description.

#### DF_UpdateClientData

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_UpdateClientData
- Line: 266

##### Syntax

```pawn
stock DF_UpdateClientData(const ENTITY, sendweapons, const cd/* = 0*/)
```

##### Description

This function has no description.

#### DF_Use

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_Use
- Line: 206

##### Syntax

```pawn
stock DF_Use(const ENT_Used, const ENT_User)
```

##### Description

This function has no description.

#### DF_pfnAllowLagCompensation

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/DF_pfnAllowLagCompensation
- Line: 259

##### Syntax

```pawn
stock DF_pfnAllowLagCompensation()
```

##### Description

This function has no description.

#### EF_AllocString

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_AllocString
- Line: 113

##### Syntax

```pawn
stock EF_AllocString(const STRING[])
```

##### Description

This function has no description.

#### EF_AngleVectors

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_AngleVectors
- Line: 58

##### Syntax

```pawn
stock EF_AngleVectors(const Float:VECTOR[3], Float:forward_[3], Float:right[3], Float:up[3])
```

##### Description

This function has no description.

#### EF_AnimationAutomove

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_AnimationAutomove
- Line: 118

##### Syntax

```pawn
stock EF_AnimationAutomove(const ENTITY, Float:flTime)
```

##### Description

This function has no description.

#### EF_BuildSoundMSG

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_BuildSoundMSG
- Line: 146

##### Syntax

```pawn
stock EF_BuildSoundMSG(const ENTITY, channel, const SAMPLE[], Float:volume, Float:attenuation, fFlags, pitch, msg_dest, msg_type, const Float:ORIGIN[3], const ED)
```

##### Description

This function has no description.

#### EF_CanSkipPlayer

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_CanSkipPlayer
- Line: 164

##### Syntax

```pawn
stock EF_CanSkipPlayer(const PLAYER)
```

##### Description

This function has no description.

#### EF_ChangeLevel

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_ChangeLevel
- Line: 32

##### Syntax

```pawn
stock EF_ChangeLevel(const S1[], const S2[])
```

##### Description

This function has no description.

#### EF_ChangePitch

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_ChangePitch
- Line: 43

##### Syntax

```pawn
stock EF_ChangePitch(const ENTITY)
```

##### Description

This function has no description.

#### EF_ChangeYaw

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_ChangeYaw
- Line: 41

##### Syntax

```pawn
stock EF_ChangeYaw(const ENTITY)
```

##### Description

This function has no description.

#### EF_CheckVisibility

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_CheckVisibility
- Line: 159

##### Syntax

```pawn
stock EF_CheckVisibility(const ENTITY, set)
```

##### Description

This function has no description.

#### EF_ClientPrintf

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_ClientPrintf
- Line: 194

##### Syntax

```pawn
stock EF_ClientPrintf(const ENTITY, const printType, const MESSAGE[])
```

##### Description

This function has no description.

#### EF_CreateEntity

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_CreateEntity
- Line: 60

##### Syntax

```pawn
stock EF_CreateEntity()
```

##### Description

This function has no description.

#### EF_CreateFakeClient

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_CreateFakeClient
- Line: 135

##### Syntax

```pawn
stock EF_CreateFakeClient(const NETNAME[])
```

##### Description

This function has no description.

#### EF_CreateInstBaseline

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_CreateInstBaseline
- Line: 187

##### Syntax

```pawn
stock EF_CreateInstBaseline(CLASSNAME, baseline)
```

##### Description

This function has no description.

#### EF_CreateNamedEntity

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_CreateNamedEntity
- Line: 65

##### Syntax

```pawn
stock EF_CreateNamedEntity(const CLASSNAME)
```

##### Description

This function has no description.

#### EF_CrosshairAngle

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_CrosshairAngle
- Line: 129

##### Syntax

```pawn
stock EF_CrosshairAngle(const CLIENT, Float:pitch, Float:yaw)
```

##### Description

This function has no description.

#### EF_DecalIndex

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_DecalIndex
- Line: 104

##### Syntax

```pawn
stock EF_DecalIndex(const NAME[])
```

##### Description

This function has no description.

#### EF_DropToFloor

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_DropToFloor
- Line: 71

##### Syntax

```pawn
stock EF_DropToFloor(const ENTITY)
```

##### Description

This function has no description.

#### EF_EmitAmbientSound

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_EmitAmbientSound
- Line: 80

##### Syntax

```pawn
stock EF_EmitAmbientSound(const ENTITY, Float:pos[3], const SAMPLE[], Float:volume, Float:attenuation, fFlags, pitch)
```

##### Description

This function has no description.

#### EF_EmitSound

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_EmitSound
- Line: 78

##### Syntax

```pawn
stock EF_EmitSound(const ENTITY, channel, const SAMPLE[], Float:volume, Float:attenuation, fFlags, pitch)
```

##### Description

This function has no description.

#### EF_EntIsOnFloor

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_EntIsOnFloor
- Line: 69

##### Syntax

```pawn
stock EF_EntIsOnFloor(const ENTITY)
```

##### Description

This function has no description.

#### EF_EntitiesInPVS

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_EntitiesInPVS
- Line: 54

##### Syntax

```pawn
stock EF_EntitiesInPVS(const CLIENT)
```

##### Description

This function has no description.

#### EF_FadeClientVolume

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_FadeClientVolume
- Line: 131

##### Syntax

```pawn
stock EF_FadeClientVolume(const ENTITY, fadePercent, fadeOutSeconds, holdTime, fadeInSeconds)
```

##### Description

This function has no description.

#### EF_FindClientInPVS

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_FindClientInPVS
- Line: 52

##### Syntax

```pawn
stock EF_FindClientInPVS(const CLIENT)
```

##### Description

This function has no description.

#### EF_FindEntityByString

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_FindEntityByString
- Line: 45

##### Syntax

```pawn
stock EF_FindEntityByString(const STARTSEARCHAFTER, const FIELD[], const VALUE[])
```

##### Description

This function has no description.

#### EF_FindEntityInSphere

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_FindEntityInSphere
- Line: 49

##### Syntax

```pawn
stock EF_FindEntityInSphere(const STARTSEARCHAFTER, const Float:ORIGIN[3], Float:radius)
```

##### Description

This function has no description.

#### EF_FreeEntPrivateData

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_FreeEntPrivateData
- Line: 109

##### Syntax

```pawn
stock EF_FreeEntPrivateData(const ENTITY)
```

##### Description

This function has no description.

#### EF_GetAimVector

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_GetAimVector
- Line: 98

##### Syntax

```pawn
stock EF_GetAimVector(const ENTITY, Float:speed, Float:returnVector[3])
```

##### Description

This function has no description.

#### EF_GetAttachment

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_GetAttachment
- Line: 122

##### Syntax

```pawn
stock EF_GetAttachment(const ENTITY, iAttachment, Float:origin[3], Float:angles[3])
```

##### Description

This function has no description.

#### EF_GetBonePosition

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_GetBonePosition
- Line: 120

##### Syntax

```pawn
stock EF_GetBonePosition(const ENTITY, iBone, Float:origin[3], Float:angles[3])
```

##### Description

This function has no description.

#### EF_GetClientListening

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_GetClientListening
- Line: 168

##### Syntax

```pawn
stock EF_GetClientListening(receiver, sender)
```

##### Description

This function has no description.

#### EF_GetCurrentPlayer

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_GetCurrentPlayer
- Line: 162

##### Syntax

```pawn
stock EF_GetCurrentPlayer()
```

##### Description

This function has no description.

#### EF_GetEntityIllum

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_GetEntityIllum
- Line: 47

##### Syntax

```pawn
stock EF_GetEntityIllum(const ENTITY)
```

##### Description

This function has no description.

#### EF_GetInfoKeyBuffer

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_GetInfoKeyBuffer
- Line: 192

##### Syntax

```pawn
stock EF_GetInfoKeyBuffer(const ENTITY)
```

##### Description

This function has no description.

#### EF_GetPhysicsInfoString

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_GetPhysicsInfoString
- Line: 153

##### Syntax

```pawn
stock EF_GetPhysicsInfoString(const CLIENT, returnString[], maxLength)
```

##### Description

This function has no description.

#### EF_GetPhysicsKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_GetPhysicsKeyValue
- Line: 148

##### Syntax

```pawn
stock EF_GetPhysicsKeyValue(const CLIENT, const KEY[])
```

##### Description

This function has no description.

#### EF_InfoKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_InfoKeyValue
- Line: 179

##### Syntax

```pawn
stock EF_InfoKeyValue(const INFOBUFFER, const KEY[], returnValue[], maxLength)
```

##### Description

This function has no description.

#### EF_LightStyle

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_LightStyle
- Line: 102

##### Syntax

```pawn
stock EF_LightStyle(style, val[])
```

##### Description

This function has no description.

#### EF_MakeStatic

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_MakeStatic
- Line: 67

##### Syntax

```pawn
stock EF_MakeStatic(const ENTITY)
```

##### Description

This function has no description.

#### EF_MakeVectors

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_MakeVectors
- Line: 56

##### Syntax

```pawn
stock EF_MakeVectors(const Float:VECTOR[3])
```

##### Description

This function has no description.

#### EF_MessageBegin

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_MessageBegin
- Line: 173

##### Syntax

```pawn
stock EF_MessageBegin(msg_dest, msg_type, const Float:ORIGIN[3], const ED)
```

##### Description

This function has no description.

#### EF_ModelFrames

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_ModelFrames
- Line: 27

##### Syntax

```pawn
stock EF_ModelFrames(modelIndex)
```

##### Description

This function has no description.

#### EF_ModelIndex

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_ModelIndex
- Line: 25

##### Syntax

```pawn
stock EF_ModelIndex(const STRING[])
```

##### Description

This function has no description.

#### EF_MoveToOrigin

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_MoveToOrigin
- Line: 38

##### Syntax

```pawn
stock EF_MoveToOrigin(const ENTITY, const Float:GOAL[3], const Float:DISTANCE, const MOVETYPE)
```

##### Description

This function has no description.

#### EF_NumberOfEntities

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_NumberOfEntities
- Line: 140

##### Syntax

```pawn
stock EF_NumberOfEntities()
```

##### Description

This function has no description.

#### EF_ParticleEffect

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_ParticleEffect
- Line: 100

##### Syntax

```pawn
stock EF_ParticleEffect(const Float:ORIGIN[3], const Float:DIRECTION[3], Float:color, Float:count)
```

##### Description

This function has no description.

#### EF_PlaybackEvent

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_PlaybackEvent
- Line: 157

##### Syntax

```pawn
stock EF_PlaybackEvent(flags, const INVOKER, eventindex, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iparam1, iparam2, bparam1, bparam2)
```

##### Description

This function has no description.

#### EF_PointContents

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_PointContents
- Line: 107

##### Syntax

```pawn
stock EF_PointContents(const Float:VECTOR[3])
```

##### Description

This function has no description.

#### EF_PrecacheEvent

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_PrecacheEvent
- Line: 155

##### Syntax

```pawn
stock EF_PrecacheEvent(type, const STRING[])
```

##### Description

This function has no description.

#### EF_PrecacheGeneric

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_PrecacheGeneric
- Line: 144

##### Syntax

```pawn
stock EF_PrecacheGeneric(const STRING[])
```

##### Description

This function has no description.

#### EF_PrecacheModel

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_PrecacheModel
- Line: 18

##### Syntax

```pawn
stock EF_PrecacheModel(const string[])
```

##### Description

This function has no description.

#### EF_PrecacheSound

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_PrecacheSound
- Line: 21

##### Syntax

```pawn
stock EF_PrecacheSound(const string[])
```

##### Description

This function has no description.

#### EF_RegUserMsg

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_RegUserMsg
- Line: 115

##### Syntax

```pawn
stock EF_RegUserMsg(const NAME[], iSize)
```

##### Description

This function has no description.

#### EF_RemoveEntity

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_RemoveEntity
- Line: 63

##### Syntax

```pawn
stock EF_RemoveEntity(const ENTITY)
```

##### Description

This function has no description.

#### EF_RunPlayerMove

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_RunPlayerMove
- Line: 137

##### Syntax

```pawn
stock EF_RunPlayerMove(const FAKECLIENT, const Float:VIEWANGLES[3], Float:forwardmove, Float:sidemove, Float:upmove, buttons, impulse, msec)
```

##### Description

This function has no description.

#### EF_ServerPrint

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_ServerPrint
- Line: 196

##### Syntax

```pawn
stock EF_ServerPrint(const MESSAGE[])
```

##### Description

This function has no description.

#### EF_SetClientKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetClientKeyValue
- Line: 184

##### Syntax

```pawn
stock EF_SetClientKeyValue(const ID, const INFOBUFFER, const KEY[], const VALUE[])
```

##### Description

This function has no description.

#### EF_SetClientListening

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetClientListening
- Line: 170

##### Syntax

```pawn
stock EF_SetClientListening(receiver, sender, bool:listen)
```

##### Description

This function has no description.

#### EF_SetClientMaxspeed

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetClientMaxspeed
- Line: 133

##### Syntax

```pawn
stock EF_SetClientMaxspeed(const ENTITY, Float:newMaxspeed)
```

##### Description

This function has no description.

#### EF_SetGroupMask

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetGroupMask
- Line: 166

##### Syntax

```pawn
stock EF_SetGroupMask(mask, op)
```

##### Description

This function has no description.

#### EF_SetKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetKeyValue
- Line: 181

##### Syntax

```pawn
stock EF_SetKeyValue(const INFOBUFFER, const KEY[], const VALUE[])
```

##### Description

This function has no description.

#### EF_SetModel

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetModel
- Line: 23

##### Syntax

```pawn
stock EF_SetModel(const ID, const STRING[])
```

##### Description

This function has no description.

#### EF_SetOrigin

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetOrigin
- Line: 76

##### Syntax

```pawn
stock EF_SetOrigin(const ENTITY, const Float:ORIGIN[3])
```

##### Description

This function has no description.

#### EF_SetPhysicsKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetPhysicsKeyValue
- Line: 151

##### Syntax

```pawn
stock EF_SetPhysicsKeyValue(const CLIENT, const KEY[], const VALUE[])
```

##### Description

This function has no description.

#### EF_SetSize

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetSize
- Line: 30

##### Syntax

```pawn
stock EF_SetSize(const ENTITY, const Float:MIN[3], const Float:MAX[3])
```

##### Description

This function has no description.

#### EF_SetView

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SetView
- Line: 124

##### Syntax

```pawn
stock EF_SetView(const CLIENT, const VIEW_ENTITY)
```

##### Description

This function has no description.

#### EF_StaticDecal

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_StaticDecal
- Line: 142

##### Syntax

```pawn
stock EF_StaticDecal(const Float:ORIGIN[3], decalIndex, entityIndex, modelIndex)
```

##### Description

This function has no description.

#### EF_SzFromIndex

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_SzFromIndex
- Line: 111

##### Syntax

```pawn
stock EF_SzFromIndex(iString)
```

##### Description

This function has no description.

#### EF_Time

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_Time
- Line: 126

##### Syntax

```pawn
stock EF_Time(&Float:returnValue)
```

##### Description

This function has no description.

#### EF_TraceHull

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_TraceHull
- Line: 89

##### Syntax

```pawn
stock EF_TraceHull(const Float:V1[3], const Float:V2[3], fNoMonsters, hullNumber, const ENTITY_TO_SKIP)
```

##### Description

This function has no description.

#### EF_TraceLine

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_TraceLine
- Line: 82

##### Syntax

```pawn
stock EF_TraceLine(const Float:V1[3], const Float:V2[3], fNoMonsters, const ENT_TO_SKIP)
```

##### Description

This function has no description.

#### EF_TraceModel

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_TraceModel
- Line: 91

##### Syntax

```pawn
stock EF_TraceModel(const Float:V1[3], const Float:V2[3], hullNumber, const ENTITY)
```

##### Description

This function has no description.

#### EF_TraceMonsterHull

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_TraceMonsterHull
- Line: 87

##### Syntax

```pawn
stock EF_TraceMonsterHull(const ENTITY, const Float:V1[3], const Float:V2[3], fNoMonsters, const ENTITY_TO_SKIP)
```

##### Description

This function has no description.

#### EF_TraceSphere

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_TraceSphere
- Line: 96

##### Syntax

```pawn
stock EF_TraceSphere(const Float:V1[3], const Float:V2[3], fNoMonsters, Float:radius, const ENTITY_TO_SKIP)
```

##### Description

This function has no description.

#### EF_TraceTexture

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_TraceTexture
- Line: 93

##### Syntax

```pawn
stock EF_TraceTexture(const TEXTURE_ENTITY, const Float:V1[3], const Float:V2[3])
```

##### Description

This function has no description.

#### EF_TraceToss

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_TraceToss
- Line: 85

##### Syntax

```pawn
stock EF_TraceToss(const ENTITY, const ENTITY_TO_IGNORE)
```

##### Description

This function has no description.

#### EF_VecToAngles

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_VecToAngles
- Line: 36

##### Syntax

```pawn
stock EF_VecToAngles(const Float:VECTORIN[3], const Float:VECTOROUT[3])
```

##### Description

This function has no description.

#### EF_VecToYaw

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_VecToYaw
- Line: 34

##### Syntax

```pawn
stock EF_VecToYaw(const Float:VECTOR[3], &Float:returnValue)
```

##### Description

This function has no description.

#### EF_WalkMove

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_WalkMove
- Line: 74

##### Syntax

```pawn
stock EF_WalkMove(const ENTITY, Float:yaw, Float:distance, iMode)
```

##### Description

This function has no description.

#### EF_WriteAngle

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_WriteAngle
- Line: 177

##### Syntax

```pawn
stock EF_WriteAngle(Float:value)
```

##### Description

This function has no description.

#### EF_WriteCoord

- Include: `fakemeta_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_stocks/function/EF_WriteCoord
- Line: 175

##### Syntax

```pawn
stock EF_WriteCoord(Float:value)
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / fakemeta_util.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util
- Group: amxmodx 1.8.2 hg65
- Functions: 58
- Documented constants: 38

### Constants

#### This file provides various utility functions that use the Fakemeta module. This file is created and maintained by VEN. For support and issues, see: http://forums.alliedmods.net/showthread.php?t=28284

This file provides various utility functions that use the Fakemeta module.
This file is created and maintained by VEN.
For support and issues, see:
http://forums.alliedmods.net/showthread.php?t=28284

#### fm_precache_generic

fm_precache_generic

```pawn
#define fm_precache_generic(%1) engfunc(EngFunc_PrecacheGeneric, %1)
```

#### fm_precache_event

fm_precache_event

```pawn
#define fm_precache_event(%1,%2) engfunc(EngFunc_PrecacheEvent, %1, %2)
```

#### fm_drop_to_floor

fm_drop_to_floor

```pawn
#define fm_drop_to_floor(%1) engfunc(EngFunc_DropToFloor, %1)
```

#### fm_force_use

fm_force_use

```pawn
#define fm_force_use(%1,%2) dllfunc(DLLFunc_Use, %2, %1)
```

#### fm_entity_set_size

fm_entity_set_size

```pawn
#define fm_entity_set_size(%1,%2,%3) engfunc(EngFunc_SetSize, %1, %2, %3)
```

#### fm_get_decal_index

fm_get_decal_index

```pawn
#define fm_get_decal_index(%1) engfunc(EngFunc_DecalIndex, %1)
```

#### fm_create_entity

fm_create_entity

```pawn
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
```

#### fm_find_ent_by_class

fm_find_ent_by_class

```pawn
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
```

#### fm_find_ent_by_target

fm_find_ent_by_target

```pawn
#define fm_find_ent_by_target(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "target", %2)
```

#### fm_find_ent_by_tname

fm_find_ent_by_tname

```pawn
#define fm_find_ent_by_tname(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "targetname", %2)
```

#### fm_find_ent_in_sphere

fm_find_ent_in_sphere

```pawn
#define fm_find_ent_in_sphere(%1,%2,%3) engfunc(EngFunc_FindEntityInSphere, %1, %2, %3)
```

#### fm_call_think

fm_call_think

```pawn
#define fm_call_think(%1) dllfunc(DLLFunc_Think, %1)
```

#### fm_is_valid_ent

fm_is_valid_ent

```pawn
#define fm_is_valid_ent(%1) pev_valid(%1)
```

#### fm_entity_set_model

fm_entity_set_model

```pawn
#define fm_entity_set_model(%1,%2) engfunc(EngFunc_SetModel, %1, %2)
```

#### fm_remove_entity

fm_remove_entity

```pawn
#define fm_remove_entity(%1) engfunc(EngFunc_RemoveEntity, %1)
```

#### fm_entity_count

fm_entity_count

```pawn
#define fm_entity_count() engfunc(EngFunc_NumberOfEntities)
```

#### fm_fake_touch

fm_fake_touch

```pawn
#define fm_fake_touch(%1,%2) dllfunc(DLLFunc_Touch, %1, %2)
```

#### fm_DispatchSpawn

fm_DispatchSpawn

```pawn
#define fm_DispatchSpawn(%1) dllfunc(DLLFunc_Spawn, %1)
```

#### fm_point_contents

fm_point_contents

```pawn
#define fm_point_contents(%1) engfunc(EngFunc_PointContents, %1)
```

#### fm_halflife_time

fm_halflife_time

```pawn
#define fm_halflife_time() get_gametime()
```

#### fm_attach_view

fm_attach_view

```pawn
#define fm_attach_view(%1,%2) engfunc(EngFunc_SetView, %1, %2)
```

#### fm_eng_get_string

fm_eng_get_string

```pawn
#define fm_eng_get_string(%1,%2,%3) engfunc(EngFunc_SzFromIndex, %1, %2, %3)
```

#### fm_find_ent

fm_find_ent

```pawn
#define fm_find_ent(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
```

#### fm_get_user_button

fm_get_user_button

```pawn
#define fm_get_user_button(%1) pev(%1, pev_button)
```

#### fm_get_user_oldbutton

fm_get_user_oldbutton

```pawn
#define fm_get_user_oldbutton(%1) pev(%1, pev_oldbuttons)
```

#### fm_get_entity_flags

fm_get_entity_flags

```pawn
#define fm_get_entity_flags(%1) pev(%1, pev_flags)
```

#### fm_get_entity_distance

fm_get_entity_distance

```pawn
#define fm_get_entity_distance(%1,%2) floatround(fm_entity_range(%1, %2))
```

#### fm_get_grenade

fm_get_grenade

```pawn
#define fm_get_grenade(%1) fm_get_grenade_id(%1, "", 0)
```

#### fm_get_entity_visibility

fm_get_entity_visibility

```pawn
#define fm_get_entity_visibility(%1) (!(pev(%1, pev_effects) & EF_NODRAW))
```

#### fm_get_user_velocity

fm_get_user_velocity

```pawn
#define fm_get_user_velocity(%1,%2) pev(%1, pev_velocity, %2)
```

#### fm_get_client_listen

fm_get_client_listen

```pawn
#define fm_get_client_listen(%1,%2) engfunc(EngFunc_GetClientListening, %1, %2)
```

#### fm_set_client_listen

fm_set_client_listen

```pawn
#define fm_set_client_listen(%1,%2,%3) engfunc(EngFunc_SetClientListening, %1, %2, %3)
```

#### fm_get_user_noclip

fm_get_user_noclip

```pawn
#define fm_get_user_noclip(%1) (pev(%1, pev_movetype) == MOVETYPE_NOCLIP)
```

#### WEAPON_SUIT

WEAPON_SUIT

```pawn
#define WEAPON_SUIT 31
```

#### FEV_RELIABLE

FEV_RELIABLE

```pawn
#define FEV_RELIABLE (1<<1)
```

#### FEV_GLOBAL

FEV_GLOBAL

```pawn
#define FEV_GLOBAL (1<<2)
```

#### fm_remove_weaponbox

fm_remove_weaponbox

```pawn
#define fm_remove_weaponbox(%1) dllfunc(DLLFunc_Think, %1)
```

### Functions

#### fm_ViewContents

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_ViewContents
- Line: 326

##### Syntax

```pawn
stock fm_ViewContents(id) {
```

##### Description

This function has no description.

#### fm_boxents_distance

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_boxents_distance
- Line: 610

##### Syntax

```pawn
stock Float:fm_boxents_distance(boxent1, boxent2) {
```

##### Description

This function has no description.

#### fm_boxes_distance

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_boxes_distance
- Line: 587

##### Syntax

```pawn
stock Float:fm_boxes_distance(const Float:mins1[3], const Float:maxs1[3], const Float:mins2[3], const Float:maxs2[3]) {
```

##### Description

This function has no description.

#### fm_cs_remove_decals

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_cs_remove_decals
- Line: 806

##### Syntax

```pawn
stock fm_cs_remove_decals(index = 0) {
```

##### Description

This function has no description.

#### fm_cs_user_spawn

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_cs_user_spawn
- Line: 521

##### Syntax

```pawn
stock fm_cs_user_spawn(index) {
```

##### Description

Cstrike functions

#### fm_distance_to_box

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_distance_to_box
- Line: 575

##### Syntax

```pawn
stock Float:fm_distance_to_box(const Float:point[3], const Float:mins[3], const Float:maxs[3]) {
```

##### Description

This function has no description.

#### fm_distance_to_boxent

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_distance_to_boxent
- Line: 599

##### Syntax

```pawn
stock Float:fm_distance_to_boxent(entity, boxent) {
```

##### Description

This function has no description.

#### fm_distance_to_floor

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_distance_to_floor
- Line: 623

##### Syntax

```pawn
stock Float:fm_distance_to_floor(index, ignoremonsters = 1) {
```

##### Description

This function has no description.

#### fm_entity_range

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_entity_range
- Line: 55

##### Syntax

```pawn
stock Float:fm_entity_range(ent1, ent2) {
```

##### Description

stock fm_get_decal_index(const decalname[])
	return engfunc(EngFunc_DecalIndex, decalname)

#### fm_entity_set_origin

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_entity_set_origin
- Line: 115

##### Syntax

```pawn
stock fm_entity_set_origin(index, const Float:origin[3]) {
```

##### Description

stock fm_is_valid_ent(index)
	return pev_valid(index)

#### fm_fakedamage

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_fakedamage
- Line: 255

##### Syntax

```pawn
stock fm_fakedamage(victim, const classname[], Float:takedmgdamage, damagetype) {
```

##### Description

Engine_stocks functions

#### fm_find_ent_by_flags

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_find_ent_by_flags
- Line: 562

##### Syntax

```pawn
stock fm_find_ent_by_flags(index, pev_field, flags) {
```

##### Description

This function has no description.

#### fm_find_ent_by_integer

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_find_ent_by_integer
- Line: 549

##### Syntax

```pawn
stock fm_find_ent_by_integer(index, pev_field, value) {
```

##### Description

This function has no description.

#### fm_find_ent_by_model

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_find_ent_by_model
- Line: 92

##### Syntax

```pawn
stock fm_find_ent_by_model(index, const classname[], const model[]) {
```

##### Description

stock fm_find_ent_by_tname(index, const targetname[])
	return engfunc(EngFunc_FindEntityByString, index, "targetname", targetname)

#### fm_find_ent_by_owner

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_find_ent_by_owner
- Line: 72

##### Syntax

```pawn
stock fm_find_ent_by_owner(index, const classname[], owner, jghgtype = 0) {
```

##### Description

stock fm_find_ent_by_class(index, const classname[])
	return engfunc(EngFunc_FindEntityByString, index, "classname", classname)

#### fm_get_aim_origin

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_aim_origin
- Line: 735

##### Syntax

```pawn
stock fm_get_aim_origin(index, Float:origin[3]) {
```

##### Description

This function has no description.

#### fm_get_brush_entity_origin

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_brush_entity_origin
- Line: 303

##### Syntax

```pawn
stock fm_get_brush_entity_origin(index, Float:origin[3]) {
```

##### Description

This function has no description.

#### fm_get_grenade_id

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_grenade_id
- Line: 186

##### Syntax

```pawn
stock fm_get_grenade_id(id, model[], len, grenadeid = 0) {
```

##### Description

This function has no description.

#### fm_get_speed

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_speed
- Line: 334

##### Syntax

```pawn
stock fm_get_speed(entity) {
```

##### Description

This function has no description.

#### fm_get_user_godmode

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_user_godmode
- Line: 396

##### Syntax

```pawn
stock fm_get_user_godmode(index) {
```

##### Description

stock fm_set_client_listen(receiver, sender, listen)
	return engfunc(EngFunc_SetClientListening, receiver, sender, listen)

#### fm_get_user_gravity

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_user_gravity
- Line: 476

##### Syntax

```pawn
stock Float:fm_get_user_gravity(index) {
```

##### Description

This function has no description.

#### fm_get_user_longjump

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_user_longjump
- Line: 754

##### Syntax

```pawn
stock bool:fm_get_user_longjump(index) {
```

##### Description

This function has no description.

#### fm_get_user_maxspeed

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_user_maxspeed
- Line: 463

##### Syntax

```pawn
stock Float:fm_get_user_maxspeed(index) {
```

##### Description

This function has no description.

#### fm_get_user_suit

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_user_suit
- Line: 786

##### Syntax

```pawn
stock bool:fm_get_user_suit(index) {
```

##### Description

This function has no description.

#### fm_get_user_weapon_entity

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_user_weapon_entity
- Line: 647

##### Syntax

```pawn
stock fm_get_user_weapon_entity(id, wid = 0) {
```

##### Description

This function has no description.

#### fm_get_view_angle_diff

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_view_angle_diff
- Line: 845

##### Syntax

```pawn
stock Float:fm_get_view_angle_diff(index, const Float:point[3]) {
```

##### Description

This function has no description.

#### fm_get_weaponbox_type

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_get_weaponbox_type
- Line: 861

##### Syntax

```pawn
stock fm_get_weaponbox_type(entity) {
```

##### Description

This function has no description.

#### fm_give_item

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_give_item
- Line: 432

##### Syntax

```pawn
stock fm_give_item(index, const item[]) {
```

##### Description

This function has no description.

#### fm_is_ent_classname

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_is_ent_classname
- Line: 819

##### Syntax

```pawn
stock bool:fm_is_ent_classname(index, const classname[]) {
```

##### Description

This function has no description.

#### fm_is_ent_visible

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_is_ent_visible
- Line: 717

##### Syntax

```pawn
stock bool:fm_is_ent_visible(index, entity, ignoremonsters = 0) {
```

##### Description

This function has no description.

#### fm_is_in_viewcone

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_is_in_viewcone
- Line: 214

##### Syntax

```pawn
stock bool:fm_is_in_viewcone(index, const Float:point[3]) {
```

##### Description

This function has no description.

#### fm_is_visible

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_is_visible
- Line: 236

##### Syntax

```pawn
stock bool:fm_is_visible(index, const Float:point[3], ignoremonsters = 0) {
```

##### Description

This function has no description.

#### fm_kill_entity

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_kill_entity
- Line: 640

##### Syntax

```pawn
stock fm_kill_entity(index) {
```

##### Description

This function has no description.

#### fm_playback_event

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_playback_event
- Line: 202

##### Syntax

```pawn
stock fm_playback_event(flags, invoker, eventindex, Float:delay, const Float:origin[3], const Float:angles[3], Float:fparam1, Float:fparam2, iparam1, iparam2, bparam1, bparam2) {
```

##### Description

stock fm_attach_view(index, entity)
	return engfunc(EngFunc_SetView, index, entity)

#### fm_remove_entity_name

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_remove_entity_name
- Line: 318

##### Syntax

```pawn
stock fm_remove_entity_name(const classname[]) {
```

##### Description

This function has no description.

#### fm_set_entity_flags

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_entity_flags
- Line: 355

##### Syntax

```pawn
stock fm_set_entity_flags(index, flag, onoff) {
```

##### Description

This function has no description.

#### fm_set_entity_visibility

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_entity_visibility
- Line: 365

##### Syntax

```pawn
stock fm_set_entity_visibility(index, visible = 1) {
```

##### Description

This function has no description.

#### fm_set_kvd

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_kvd
- Line: 533

##### Syntax

```pawn
stock fm_set_kvd(entity, const key[], const value[], const classname[] = "") {
```

##### Description

This function has no description.

#### fm_set_rendering

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_rendering
- Line: 341

##### Syntax

```pawn
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
```

##### Description

This function has no description.

#### fm_set_user_armor

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_armor
- Line: 409

##### Syntax

```pawn
stock fm_set_user_armor(index, armor) {
```

##### Description

This function has no description.

#### fm_set_user_frags

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_frags
- Line: 512

##### Syntax

```pawn
stock fm_set_user_frags(index, frags) {
```

##### Description

This function has no description.

#### fm_set_user_godmode

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_godmode
- Line: 403

##### Syntax

```pawn
stock fm_set_user_godmode(index, godmode = 0) {
```

##### Description

This function has no description.

#### fm_set_user_gravity

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_gravity
- Line: 470

##### Syntax

```pawn
stock fm_set_user_gravity(index, Float:gravity = 1.0) {
```

##### Description

This function has no description.

#### fm_set_user_health

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_health
- Line: 415

##### Syntax

```pawn
stock fm_set_user_health(index, health) {
```

##### Description

This function has no description.

#### fm_set_user_longjump

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_longjump
- Line: 764

##### Syntax

```pawn
stock fm_set_user_longjump(index, bool:longjump = true, bool:tempicon = true) {
```

##### Description

This function has no description.

#### fm_set_user_maxspeed

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_maxspeed
- Line: 456

##### Syntax

```pawn
stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
```

##### Description

This function has no description.

#### fm_set_user_noclip

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_noclip
- Line: 489

##### Syntax

```pawn
stock fm_set_user_noclip(index, noclip = 0) {
```

##### Description

interferes with FM_Spawn enum, just use fm_DispatchSpawn
stock fm_spawn(entity) {
	return dllfunc(DLLFunc_Spawn, entity)
}

#### fm_set_user_origin

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_origin
- Line: 421

##### Syntax

```pawn
stock fm_set_user_origin(index, /* const */ origin[3]) {
```

##### Description

This function has no description.

#### fm_set_user_rendering

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_rendering
- Line: 428

##### Syntax

```pawn
stock fm_set_user_rendering(index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
```

##### Description

This function has no description.

#### fm_set_user_suit

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_suit
- Line: 790

##### Syntax

```pawn
stock fm_set_user_suit(index, bool:suit = true, bool:sound = true) {
```

##### Description

This function has no description.

#### fm_set_user_velocity

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_set_user_velocity
- Line: 375

##### Syntax

```pawn
stock fm_set_user_velocity(entity, const Float:vector[3]) {
```

##### Description

stock fm_get_entity_visibility(index)
	return !(pev(index, pev_effects) & EF_NODRAW)

#### fm_strip_user_gun

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_strip_user_gun
- Line: 659

##### Syntax

```pawn
stock bool:fm_strip_user_gun(index, wid = 0, const wname[] = "") {
```

##### Description

This function has no description.

#### fm_strip_user_weapons

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_strip_user_weapons
- Line: 500

##### Syntax

```pawn
stock fm_strip_user_weapons(index) {
```

##### Description

This function has no description.

#### fm_trace_hull

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_trace_hull
- Line: 159

##### Syntax

```pawn
stock fm_trace_hull(const Float:origin[3], hull, ignoredent = 0, ignoremonsters = 0) {
```

##### Description

This function has no description.

#### fm_trace_line

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_trace_line
- Line: 150

##### Syntax

```pawn
stock fm_trace_line(ignoreent, const Float:start[3], const Float:end[3], Float:ret[3]) {
```

##### Description

stock fm_point_contents(const Float:point[3])
	return engfunc(EngFunc_PointContents, point)

#### fm_trace_normal

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_trace_normal
- Line: 173

##### Syntax

```pawn
stock fm_trace_normal(ignoreent, const Float:start[3], const Float:end[3], Float:ret[3]) {
```

##### Description

This function has no description.

#### fm_transfer_user_gun

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_transfer_user_gun
- Line: 687

##### Syntax

```pawn
stock bool:fm_transfer_user_gun(index1, index2, wid = 0, const wname[] = "") {
```

##### Description

This function has no description.

#### fm_user_kill

- Include: `fakemeta_util.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fakemeta_util/function/fm_user_kill
- Line: 832

##### Syntax

```pawn
stock fm_user_kill(index, flag = 0) {
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / file.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file
- Group: amxmodx 1.8.2 hg65
- Functions: 34
- Documented constants: 7

### Constants

#### SEEK_SET

SEEK_SET

```pawn
#define SEEK_SET 0
```

#### SEEK_CUR

SEEK_CUR

```pawn
#define SEEK_CUR 1
```

#### SEEK_END

SEEK_END

```pawn
#define SEEK_END 2
```

#### BLOCK_INT

BLOCK_INT

```pawn
#define BLOCK_INT	4
```

#### BLOCK_SHORT

BLOCK_SHORT

```pawn
#define BLOCK_SHORT	2
```

#### BLOCK_CHAR

BLOCK_CHAR

```pawn
#define BLOCK_CHAR	1
```

#### BLOCK_BYTE

BLOCK_BYTE

```pawn
#define BLOCK_BYTE	1
```

### Functions

#### LoadFileForMe

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/LoadFileForMe
- Line: 134

##### Syntax

```pawn
native LoadFileForMe(const file[], buffer[], maxlength, &length=0);
```

##### Description

Loads a file using the LoadFileForMe engine function.

The data is truncated if there is not enough space.  No null-terminator
is applied; the data is the raw contents of the file.

##### Parameters

- `file`: File to load (may be a file from the GCF).
- `buffer`: Buffer to store file contents.
- `maxlength`: Maximum size of the file buffer.
- `length`: Variable to store the file length.  This may return
a number larger than the buffer size.

##### Return

-1 if the file could not be loaded.  Otherwise,
the number of cells actually written to the buffer
are returned.

#### close_dir

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/close_dir
- Line: 117

##### Syntax

```pawn
native close_dir(dirh);
```

##### Description

This function has no description.

#### delete_file

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/delete_file
- Line: 26

##### Syntax

```pawn
native delete_file(const file[]);
```

##### Description

Deletes file. Function returns 1 on success, 0 on failure.

#### dir_exists

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/dir_exists
- Line: 39

##### Syntax

```pawn
native dir_exists(const dir[]);
```

##### Description

Checks if a directory exists

#### fclose

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fclose
- Line: 55

##### Syntax

```pawn
native fclose(file);
```

##### Description

This function has no description.

#### feof

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/feof
- Line: 77

##### Syntax

```pawn
native feof(file);
```

##### Description

This function has no description.

#### fflush

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fflush
- Line: 142

##### Syntax

```pawn
native fflush(file);
```

##### Description

Flushes a buffered output stream.

##### Parameters

- `file`: File handle, or 0 for all open streams.

##### Return

0 on success, -1 on failure.

#### fgetc

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fgetc
- Line: 95

##### Syntax

```pawn
native fgetc(file);
```

##### Description

This function has no description.

#### fgets

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fgets
- Line: 80

##### Syntax

```pawn
native fgets(file, buffer[], maxlength);
```

##### Description

This function has no description.

#### file_exists

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/file_exists
- Line: 29

##### Syntax

```pawn
native file_exists(const file[]);
```

##### Description

Checks for file. If file exists function returns 1, in other case 0.

#### file_size

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/file_size
- Line: 45

##### Syntax

```pawn
native file_size(const file[], flag=0);
```

##### Description

Returns a file size in bytes if flag is set to 0.
When flag is set to 1 returns number of lines in the file,
and when flags is 2, function returns 1 if the file ends
with line feed. If file doesn't exist returns -1.

#### filesize

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/filesize
- Line: 100

##### Syntax

```pawn
native filesize(const filename[], any:...);
```

##### Description

This function has no description.

#### fopen

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fopen
- Line: 52

##### Syntax

```pawn
native fopen(const filename[],const mode[]);
```

##### Description

This function has no description.

#### fprintf

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fprintf
- Line: 86

##### Syntax

```pawn
native fprintf(file, const fmt[], any:...);
```

##### Description

This function has no description.

#### fputc

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fputc
- Line: 96

##### Syntax

```pawn
native fputc(file, data);
```

##### Description

This function has no description.

#### fputs

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fputs
- Line: 83

##### Syntax

```pawn
native fputs(file, const text[]);
```

##### Description

This function has no description.

#### fread

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fread
- Line: 69

##### Syntax

```pawn
native fread(file, &data, mode);
```

##### Description

This function has no description.

#### fread_blocks

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fread_blocks
- Line: 70

##### Syntax

```pawn
native fread_blocks(file, data[], blocks, mode);
```

##### Description

This function has no description.

#### fread_raw

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fread_raw
- Line: 71

##### Syntax

```pawn
native fread_raw(file, stream[], blocksize, blocks);
```

##### Description

This function has no description.

#### fseek

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fseek
- Line: 89

##### Syntax

```pawn
native fseek(file, position, start);
```

##### Description

This function has no description.

#### ftell

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/ftell
- Line: 92

##### Syntax

```pawn
native ftell(file);
```

##### Description

This function has no description.

#### fungetc

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fungetc
- Line: 97

##### Syntax

```pawn
native fungetc(file, data);
```

##### Description

This function has no description.

#### fwrite

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fwrite
- Line: 72

##### Syntax

```pawn
native fwrite(file, data, mode);
```

##### Description

This function has no description.

#### fwrite_blocks

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fwrite_blocks
- Line: 73

##### Syntax

```pawn
native fwrite_blocks(file, const data[], blocks, mode);
```

##### Description

This function has no description.

#### fwrite_raw

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/fwrite_raw
- Line: 74

##### Syntax

```pawn
native fwrite_raw(file, const stream[], blocksize, mode);
```

##### Description

This function has no description.

#### mkdir

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/mkdir
- Line: 108

##### Syntax

```pawn
native mkdir(const dirname[]);
```

##### Description

Returns 0 on success, like the POSIX specification

#### next_file

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/next_file
- Line: 116

##### Syntax

```pawn
native next_file(dirh, buffer[], length);
```

##### Description

This function has no description.

#### open_dir

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/open_dir
- Line: 115

##### Syntax

```pawn
native open_dir(dir[], firstfile[], length);
```

##### Description

This function has no description.

#### read_dir

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/read_dir
- Line: 16

##### Syntax

```pawn
native read_dir(const dirname[],pos,output[],len,&outlen);
```

##### Description

Reads content from directory.
Returns index of next element or 0 when end of dir. is reached.

#### read_file

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/read_file
- Line: 19

##### Syntax

```pawn
native read_file(const file[],line,text[],len,&txtlen);
```

##### Description

Reads line from file. Returns index of next line or 0 when end of file is reached.

#### rename_file

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/rename_file
- Line: 36

##### Syntax

```pawn
native rename_file(const oldname[], const newname[], relative=0);
```

##### Description

renames a file.  returns 0 on failure, 1 on success.
if relative true, rename_file will act like other natives which
use the moddir as a base directory.  otherwise, the current directory is
undefined (but assumed to be hlds).

#### rmdir

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/rmdir
- Line: 105

##### Syntax

```pawn
native rmdir(const path[]);
```

##### Description

This function has no description.

#### unlink

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/unlink
- Line: 112

##### Syntax

```pawn
native unlink(const filename[]);
```

##### Description

This function has no description.

#### write_file

- Include: `file.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/file/function/write_file
- Line: 23

##### Syntax

```pawn
native write_file(const file[],const text[],line = -1);
```

##### Description

Writes text to file. Function returns 0 on failure.
When line is set to -1, the text is added at the end of file.

## amxmodx 1.8.2 hg65 / float.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float
- Group: amxmodx 1.8.2 hg65
- Functions: 59
- Documented constants: 2

### Constants

#### floatround_method

Different methods of rounding

```pawn
enum floatround_method {
	floatround_round = 0,
	floatround_floor,
	floatround_ceil,
	floatround_tozero
};
```

#### anglemode

anglemode

```pawn
enum anglemode {
	radian = 0,
	degrees,
	grades
};
```

### Functions

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 177

##### Syntax

```pawn
forward operator%(Float:oper1, Float:oper2);
```

##### Description

forbidden operations

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 178

##### Syntax

```pawn
forward operator%(Float:oper1, oper2);
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 179

##### Syntax

```pawn
forward operator%(oper1, Float:oper2);
```

##### Description

This function has no description.

#### float

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/float
- Line: 31

##### Syntax

```pawn
native Float:float(value);
```

##### Description

Convert an integer into a floating point value

#### floatabs

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatabs
- Line: 81

##### Syntax

```pawn
native Float:floatabs(Float:value);
```

##### Description

Return the absolute value

#### floatacos

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatacos
- Line: 86

##### Syntax

```pawn
native Float:floatacos(Float:angle, {anglemode,_}:radix);
```

##### Description

This function has no description.

#### floatadd

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatadd
- Line: 43

##### Syntax

```pawn
native Float:floatadd(Float:dividend, Float:divisor);
```

##### Description

Add two floats together

#### floatasin

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatasin
- Line: 87

##### Syntax

```pawn
native Float:floatasin(Float:angle, {anglemode,_}:radix);
```

##### Description

This function has no description.

#### floatatan

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatatan
- Line: 85

##### Syntax

```pawn
native Float:floatatan(Float:angle, {anglemode,_}:radix);
```

##### Description

Return the angle of a sine, cosine or tangent.
The output angle may be in radians, degrees, or grades.

#### floatatan2

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatatan2
- Line: 88

##### Syntax

```pawn
native Float:floatatan2(Float:x, Float:y, {anglemode,_}:radix);
```

##### Description

This function has no description.

#### floatcmp

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatcmp
- Line: 57

##### Syntax

```pawn
native floatcmp(Float:fOne, Float:fTwo);
```

##### Description

Compare two integers. If the two elements are equal, return 0.
If the first argument is greater than the second argument, return 1,
If the first argument is less than the second argument, return -1.

#### floatcos

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatcos
- Line: 71

##### Syntax

```pawn
native Float:floatcos(Float:value, anglemode:mode=radian);
```

##### Description

This function has no description.

#### floatcosh

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatcosh
- Line: 77

##### Syntax

```pawn
native Float:floatcosh(Float:angle, anglemode:mode=radian);
```

##### Description

This function has no description.

#### floatdiv

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatdiv
- Line: 40

##### Syntax

```pawn
native Float:floatdiv(Float:dividend, Float:divisor);
```

##### Description

Divide the dividend float by the divisor float

#### floatfract

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatfract
- Line: 49

##### Syntax

```pawn
native Float:floatfract(Float:value);
```

##### Description

Return the fractional part of a float

#### floatlog

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatlog
- Line: 66

##### Syntax

```pawn
native Float:floatlog(Float:value, Float:base=10.0);
```

##### Description

Return the logarithm

#### floatmul

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatmul
- Line: 37

##### Syntax

```pawn
native Float:floatmul(Float:oper1, Float:oper2);
```

##### Description

Multiple two floats together

#### floatpower

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatpower
- Line: 63

##### Syntax

```pawn
native Float:floatpower(Float:value, Float:exponent);
```

##### Description

Return the value raised to the power of the exponent

#### floatround

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatround
- Line: 52

##### Syntax

```pawn
native floatround(Float:value, floatround_method:method=floatround_round);
```

##### Description

Round a float into a integer value

#### floatsin

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatsin
- Line: 70

##### Syntax

```pawn
native Float:floatsin(Float:value, anglemode:mode=radian);
```

##### Description

Return the sine, cosine or tangent.
The input angle may be in radians, degrees or grades.

#### floatsinh

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatsinh
- Line: 76

##### Syntax

```pawn
native Float:floatsinh(Float:angle, anglemode:mode=radian);
```

##### Description

Return the hyperbolic sine, cosine or tangent.
The input angle may be in radians, degrees or grades.

#### floatsqroot

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatsqroot
- Line: 60

##### Syntax

```pawn
native Float:floatsqroot(Float:value);
```

##### Description

Return the square root of the input value, same as floatpower(value, 0.5)

#### floatstr

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatstr
- Line: 34

##### Syntax

```pawn
native Float:floatstr(const string[]);
```

##### Description

Convert a string into a floating point value

#### floatsub

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatsub
- Line: 46

##### Syntax

```pawn
native Float:floatsub(Float:oper1, Float:oper2);
```

##### Description

Subtract oper2 float from oper1 float

#### floattan

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floattan
- Line: 72

##### Syntax

```pawn
native Float:floattan(Float:value, anglemode:mode=radian);
```

##### Description

This function has no description.

#### floattanh

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floattanh
- Line: 78

##### Syntax

```pawn
native Float:floattanh(Float:angle, anglemode:mode=radian);
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 93

##### Syntax

```pawn
native Float:operator*(Float:oper1, Float:oper2) = floatmul;
```

##### Description

user defined operators

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 94

##### Syntax

```pawn
native Float:operator/(Float:oper1, Float:oper2) = floatdiv;
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 95

##### Syntax

```pawn
native Float:operator+(Float:oper1, Float:oper2) = floatadd;
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 96

##### Syntax

```pawn
native Float:operator-(Float:oper1, Float:oper2) = floatsub;
```

##### Description

This function has no description.

#### floatclamp

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatclamp
- Line: 201

##### Syntax

```pawn
stock Float:floatclamp(Float:Value, Float:MinValue, Float:MaxValue)
```

##### Description

This function has no description.

#### floatmax

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatmax
- Line: 192

##### Syntax

```pawn
stock Float:floatmax(Float:ValueA, Float:ValueB)
```

##### Description

This function has no description.

#### floatmin

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/floatmin
- Line: 182

##### Syntax

```pawn
stock Float:floatmin(Float:ValueA, Float:ValueB)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 98

##### Syntax

```pawn
stock Float:operator++(Float:oper)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 101

##### Syntax

```pawn
stock Float:operator--(Float:oper)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 104

##### Syntax

```pawn
stock Float:operator-(Float:oper)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 107

##### Syntax

```pawn
stock Float:operator*(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 110

##### Syntax

```pawn
stock Float:operator/(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 113

##### Syntax

```pawn
stock Float:operator/(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 116

##### Syntax

```pawn
stock Float:operator+(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 119

##### Syntax

```pawn
stock Float:operator-(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 122

##### Syntax

```pawn
stock Float:operator-(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 125

##### Syntax

```pawn
stock bool:operator==(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 128

##### Syntax

```pawn
stock bool:operator==(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 131

##### Syntax

```pawn
stock bool:operator!=(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 134

##### Syntax

```pawn
stock bool:operator!=(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 137

##### Syntax

```pawn
stock bool:operator>(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 140

##### Syntax

```pawn
stock bool:operator>(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 143

##### Syntax

```pawn
stock bool:operator>(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 146

##### Syntax

```pawn
stock bool:operator>=(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 149

##### Syntax

```pawn
stock bool:operator>=(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 152

##### Syntax

```pawn
stock bool:operator>=(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 155

##### Syntax

```pawn
stock bool:operator<(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 158

##### Syntax

```pawn
stock bool:operator<(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 161

##### Syntax

```pawn
stock bool:operator<(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 164

##### Syntax

```pawn
stock bool:operator<=(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 167

##### Syntax

```pawn
stock bool:operator<=(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 170

##### Syntax

```pawn
stock bool:operator<=(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/float/function/operator
- Line: 173

##### Syntax

```pawn
stock bool:operator!(Float:oper)
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / fun.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun
- Group: amxmodx 1.8.2 hg65
- Functions: 22
- Documented constants: 0

### Functions

#### get_client_listen

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/get_client_listen
- Line: 23

##### Syntax

```pawn
native get_client_listen(receiver, sender);
```

##### Description

Returns 1 if receiver hears sender via voice communication.

#### get_user_footsteps

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/get_user_footsteps
- Line: 89

##### Syntax

```pawn
native get_user_footsteps(index);
```

##### Description

Returns 1 if player has silent footsteps, 0 if footsteps are set to normal

#### get_user_godmode

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/get_user_godmode
- Line: 33

##### Syntax

```pawn
native get_user_godmode(index);
```

##### Description

Returns 1 if godmode is set.

#### get_user_gravity

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/get_user_gravity
- Line: 77

##### Syntax

```pawn
native Float:get_user_gravity(index);
```

##### Description

Returns users gravity.

#### get_user_hitzones

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/get_user_hitzones
- Line: 65

##### Syntax

```pawn
native get_user_hitzones(index, target);
```

##### Description

Get user hitzones.

#### get_user_maxspeed

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/get_user_maxspeed
- Line: 71

##### Syntax

```pawn
native Float:get_user_maxspeed(index);
```

##### Description

Returns users max. speed.

#### get_user_noclip

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/get_user_noclip
- Line: 86

##### Syntax

```pawn
native get_user_noclip(index);
```

##### Description

Returns 1 if noclip is set.

#### give_item

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/give_item
- Line: 50

##### Syntax

```pawn
native give_item(index, const item[]);
```

##### Description

Gives item to player, name of item can start
with weapon_, ammo_ and item_. This event
is announced with proper message to all players.

#### set_client_listen

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_client_listen
- Line: 27

##### Syntax

```pawn
native set_client_listen(receiver, sender, listen);
```

##### Description

Sets who can listen who. Function returns 0
if for some reasons this setting can't be done.

#### set_user_armor

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_armor
- Line: 36

##### Syntax

```pawn
native set_user_armor(index, armor);
```

##### Description

Sets player armor.

#### set_user_footsteps

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_footsteps
- Line: 93

##### Syntax

```pawn
native set_user_footsteps(id, set = 1);
```

##### Description

Gives player silent footsteps.
if set = 0 it will return footsteps to normal

#### set_user_frags

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_frags
- Line: 99

##### Syntax

```pawn
native set_user_frags(index, frags);
```

##### Description

Sets player frags.

#### set_user_godmode

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_godmode
- Line: 30

##### Syntax

```pawn
native set_user_godmode(index, godmode = 0);
```

##### Description

Sets player godmode. If you want to disable godmode set only first parameter.

#### set_user_gravity

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_gravity
- Line: 74

##### Syntax

```pawn
native set_user_gravity(index, Float:gravity = 1.0);
```

##### Description

Sets users gravity.

#### set_user_health

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_health
- Line: 39

##### Syntax

```pawn
native set_user_health(index, health);
```

##### Description

Sets player health.

#### set_user_hitzones

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_hitzones
- Line: 62

##### Syntax

```pawn
native set_user_hitzones(index = 0, target = 0, body = 255);
```

##### Description

Sets hit zones for player.
Parts of body are as bits:
1   - generic
2   - head
4   - chest
8   - stomach
16  - left arm
32  - right arm
64  - left leg
128 - right leg

#### set_user_maxspeed

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_maxspeed
- Line: 68

##### Syntax

```pawn
native set_user_maxspeed(index, Float:speed = -1.0);
```

##### Description

Sets users max. speed.

#### set_user_noclip

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_noclip
- Line: 83

##### Syntax

```pawn
native set_user_noclip(index, noclip = 0);
```

##### Description

Sets player noclip. If you want to disable noclip set only first parameter.

#### set_user_origin

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_origin
- Line: 42

##### Syntax

```pawn
native set_user_origin(index, const origin[3]);
```

##### Description

Move player to origin.

#### set_user_rendering

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/set_user_rendering
- Line: 45

##### Syntax

```pawn
native set_user_rendering(index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16);
```

##### Description

Sets player rendering mode.

#### spawn

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/spawn
- Line: 80

##### Syntax

```pawn
native spawn(index);
```

##### Description

Spawns entity.

#### strip_user_weapons

- Include: `fun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/fun/function/strip_user_weapons
- Line: 96

##### Syntax

```pawn
native strip_user_weapons(index);
```

##### Description

Strips all weapons from user.

## amxmodx 1.8.2 hg65 / geoip.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/geoip
- Group: amxmodx 1.8.2 hg65
- Functions: 5
- Documented constants: 0

### Functions

#### geoip_code2

- Include: `geoip.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/geoip/function/geoip_code2
- Line: 52

##### Syntax

```pawn
native geoip_code2(const ip[], ccode[3]);
```

##### Description

This function has no description.

##### Parameters

- `ip`: The IP address to lookup.
- `result`: The result buffer.

##### Deprecated

Lookup the two character country code for a given IP address.

##### Note

This native will overflow the buffer by one cell on an unknown ip lookup!

##### Note

Use geoip_code2_ex instead!

#### geoip_code2_ex

- Include: `geoip.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/geoip/function/geoip_code2_ex
- Line: 30

##### Syntax

```pawn
native bool:geoip_code2_ex(const ip[], result[3]);
```

##### Description

Lookup the two character country code for a given IP address.
e.g: "US", "CA", etc.

##### Parameters

- `ip`: The IP address to lookup.
- `result`: The result buffer.  If the lookup does not succeed, the buffer is not modified.

##### Return

true on a successful lookup, false on a failed lookup.

#### geoip_code3

- Include: `geoip.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/geoip/function/geoip_code3
- Line: 64

##### Syntax

```pawn
native geoip_code3(const ip[], result[4]);
```

##### Description

This function has no description.

##### Parameters

- `ip`: The IP address to lookup.
- `result`: The result buffer.

##### Deprecated

Lookup the three character country code for a given IP address.

##### Note

This native will overflow the buffer by one cell on an unknown ip lookup!

##### Note

Use geoip_code3_ex instead!

#### geoip_code3_ex

- Include: `geoip.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/geoip/function/geoip_code3_ex
- Line: 40

##### Syntax

```pawn
native bool:geoip_code3_ex(const ip[], result[4]);
```

##### Description

Lookup the three character country code for a given IP address.
e.g: "USA", "cAN", etc.

##### Parameters

- `ip`: The IP address to lookup.
- `result`: The result buffer.  If the lookup does not succeed, the buffer is not modified.

##### Return

true on a successful lookup, false on a failed lookup.

#### geoip_country

- Include: `geoip.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/geoip/function/geoip_country
- Line: 74

##### Syntax

```pawn
native geoip_country(const ip[], result[], len=45);
```

##### Description

Lookup the full country name for the given IP address.  Sets the buffer to "error" on
an unsuccessful lookup.

##### Parameters

- `ip`: The IP address to lookup.
- `result`: The result of the geoip lookup.
- `len`: The maximum length of the result buffer.

## amxmodx 1.8.2 hg65 / hamsandwich.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich
- Group: amxmodx 1.8.2 hg65
- Functions: 32
- Documented constants: 2

### Constants

#### Ham Sandwich module include file.   (c) 2007, The AMX Mod X Development Team  -  This program is free software; you can redistribute it and/or modify it  under the terms of the GNU General Public License as published by the  Free Software Foundation; either version 2 of the License, or (at  your option) any later version.   This program is distributed in the hope that it will be useful, but  WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU  General Public License for more details.   You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software Foundation,  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA   In addition, as a special exception, the author gives permission to  link the code of this program with the Half-Life Game Engine ("HL  Engine") and Modified Game Libraries ("MODs") developed by Valve,  L.L.C ("Valve"). You must obey the GNU General Public License in all  respects for all of the code used other than the HL Engine and MODs  from Valve. If you modify this file, you may extend this exception  to your version of the file, but you are not obligated to do so. If  you do not wish to do so, delete this exception statement from your  version.

Ham Sandwich module include file.
  (c) 2007, The AMX Mod X Development Team

-
 This program is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
 Free Software Foundation; either version 2 of the License, or (at
 your option) any later version.

 This program is distributed in the hope that it will be useful, but
 WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software Foundation,
 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

 In addition, as a special exception, the author gives permission to
 link the code of this program with the Half-Life Game Engine ("HL
 Engine") and Modified Game Libraries ("MODs") developed by Valve,
 L.L.C ("Valve"). You must obey the GNU General Public License in all
 respects for all of the code used other than the HL Engine and MODs
 from Valve. If you modify this file, you may extend this exception
 to your version of the file, but you are not obligated to do so. If
 you do not wish to do so, delete this exception statement from your
 version.

#### _hamsandwich_included

Ham Sandwich is a module that is used to hook and call virtual functions of
 entities.
Virtual functions are mod-specific functions.  This means that in order
 for this to work on a mod, it needs to be configured with the hamdata.ini
 file.
Be very careful with parameter passing to these functions.

```pawn
#if defined _hamsandwich_included
	#endinput
#endif
#define _hamsandwich_included

#include <ham_const>

#if AMXX_VERSION_NUM >= 175
	#pragma reqlib hamsandwich
	#if !defined AMXMODX_NOAUTOLOAD
		#pragma loadlib hamsandwich
	#endif
#else
	#pragma library hamsandwich
#endif
```

### Functions

#### DisableHamForward

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/DisableHamForward
- Line: 91

##### Syntax

```pawn
native DisableHamForward(HamHook:fwd);
```

##### Description

Stops a ham forward from triggering.
Use the return value from RegisterHam as the parameter here!

##### Parameters

- `fwd`: The forward to stop.

#### EnableHamForward

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/EnableHamForward
- Line: 99

##### Syntax

```pawn
native EnableHamForward(HamHook:fwd);
```

##### Description

Starts a ham forward back up.
Use the return value from RegisterHam as the parameter here!

##### Parameters

- `fwd`: The forward to re-enable.

#### ExecuteHam

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/ExecuteHam
- Line: 108

##### Syntax

```pawn
native ExecuteHam(Ham:function, this, any:...);
```

##### Description

Executes the virtual function on the entity.
Look at the Ham enum for parameter lists.

##### Parameters

- `function`: The function to call.
- `id`: The id of the entity to execute it on.

#### ExecuteHamB

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/ExecuteHamB
- Line: 118

##### Syntax

```pawn
native ExecuteHamB(Ham:function, this, any:...);
```

##### Description

Executes the virtual function on the entity, this will trigger all hooks on that function.
Be very careful about recursion!
Look at the Ham enum for parameter lists.

##### Parameters

- `function`: The function to call.
- `id`: The id of the entity to execute it on.

#### GetHamReturnEntity

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetHamReturnEntity
- Line: 154

##### Syntax

```pawn
native GetHamReturnEntity(&output);
```

##### Description

Gets the return value of a hook for hooks that return entities.

##### Parameters

- `output`: The variable to store the value in. Will be -1 on null.

#### GetHamReturnFloat

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetHamReturnFloat
- Line: 140

##### Syntax

```pawn
native GetHamReturnFloat(&Float:output);
```

##### Description

Gets the return value of a hook for hooks that return float.

##### Parameters

- `output`: The variable to store the value in.

#### GetHamReturnInteger

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetHamReturnInteger
- Line: 133

##### Syntax

```pawn
native GetHamReturnInteger(&output);
```

##### Description

Gets the return value of a hook for hooks that return integers or booleans.

##### Parameters

- `output`: The variable to store the value in.

#### GetHamReturnStatus

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetHamReturnStatus
- Line: 126

##### Syntax

```pawn
native GetHamReturnStatus();
```

##### Description

Gets the return status of the current hook.
This is useful to determine what return natives to use.

##### Return

The current status of the hook (such as HAM_SUPERCEDE).

#### GetHamReturnString

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetHamReturnString
- Line: 162

##### Syntax

```pawn
native GetHamReturnString(output[], size);
```

##### Description

Gets the return value of a hook for hooks that return strings.

##### Parameters

- `output`: The buffer to store the string in.
- `size`: The string size of the buffer.

#### GetHamReturnVector

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetHamReturnVector
- Line: 147

##### Syntax

```pawn
native GetHamReturnVector(Float:output[3]);
```

##### Description

Gets the return value of a hook for hooks that return Vectors.

##### Parameters

- `output`: The variable to store the value in.

#### GetOrigHamReturnEntity

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetOrigHamReturnEntity
- Line: 190

##### Syntax

```pawn
native GetOrigHamReturnEntity(&output);
```

##### Description

Gets the original return value of a hook for hooks that return entities.

##### Parameters

- `output`: The variable to store the value in. -1 on null.

#### GetOrigHamReturnFloat

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetOrigHamReturnFloat
- Line: 176

##### Syntax

```pawn
native GetOrigHamReturnFloat(&Float:output);
```

##### Description

Gets the original return value of a hook for hooks that return floats.

##### Parameters

- `output`: The variable to store the value in.

#### GetOrigHamReturnInteger

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetOrigHamReturnInteger
- Line: 169

##### Syntax

```pawn
native GetOrigHamReturnInteger(&output);
```

##### Description

Gets the original return value of a hook for hooks that return integers or booleans.

##### Parameters

- `output`: The variable to store the value in.

#### GetOrigHamReturnString

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetOrigHamReturnString
- Line: 198

##### Syntax

```pawn
native GetOrigHamReturnString(output[], size);
```

##### Description

Gets the original return value of a hook for hooks that return strings.

##### Parameters

- `output`: The buffer to store the string in.
- `size`: The size of the buffer.

#### GetOrigHamReturnVector

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/GetOrigHamReturnVector
- Line: 183

##### Syntax

```pawn
native GetOrigHamReturnVector(Float:output[3]);
```

##### Description

Gets the original return value of a hook for hooks that return Vectors.

##### Parameters

- `output`: The variable to store the value in.

#### IsHamValid

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/IsHamValid
- Line: 306

##### Syntax

```pawn
native bool:IsHamValid(Ham:function);
```

##### Description

Returns whether or not the function for the specified Ham is valid.
Things that would make it invalid would be bounds (an older module version
 may not have all of the functions), and the function not being found in
 the mod's hamdata.ini file.

##### Parameters

- `function`: The function to look up.

##### Return

true if the function is valid, false otherwise.

#### RegisterHam

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/RegisterHam
- Line: 67

##### Syntax

```pawn
native HamHook:RegisterHam(Ham:function, const EntityClass[], const Callback[], Post=0);
```

##### Description

Hooks the virtual table for the specified entity class.
An example would be: RegisterHam(Ham_TakeDamage, "player", "player_hurt");
Look at the Ham enum for parameter lists.

##### Parameters

- `function`: The function to hook.
- `EntityClass`: The entity classname to hook.
- `callback`: The forward to call.
- `post`: Whether or not to forward this in post.

##### Return

Returns a handle to the forward.  Use EnableHamForward/DisableHamForward to toggle the forward on or off.

#### RegisterHamFromEntity

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/RegisterHamFromEntity
- Line: 82

##### Syntax

```pawn
native HamHook:RegisterHamFromEntity(Ham:function, EntityId, const Callback[], Post=0);
```

##### Description

Hooks the virtual table for the specified entity's class.
An example would be: RegisterHam(Ham_TakeDamage, id, "player_hurt");
Look at the Ham enum for parameter lists.
Note: This will cause hooks for the entire internal class that the entity is
      not exclusively for the provided entity.

##### Parameters

- `function`: The function to hook.
- `EntityId`: The entity classname to hook.
- `callback`: The forward to call.
- `post`: Whether or not to forward this in post.

##### Return

Returns a handle to the forward.  Use EnableHamForward/DisableHamForward to toggle the forward on or off.

#### SetHamParamEntity

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamParamEntity
- Line: 276

##### Syntax

```pawn
native SetHamParamEntity(which, value);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are entities.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

#### SetHamParamFloat

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamParamFloat
- Line: 258

##### Syntax

```pawn
native SetHamParamFloat(which, Float:value);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are floats.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

#### SetHamParamInteger

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamParamInteger
- Line: 249

##### Syntax

```pawn
native SetHamParamInteger(which, value);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are integers.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

#### SetHamParamString

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamParamString
- Line: 285

##### Syntax

```pawn
native SetHamParamString(which, const output[]);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are strings.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

#### SetHamParamTraceResult

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamParamTraceResult
- Line: 294

##### Syntax

```pawn
native SetHamParamTraceResult(which, tr_handle);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are trace result handles.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

#### SetHamParamVector

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamParamVector
- Line: 267

##### Syntax

```pawn
native SetHamParamVector(which, const Float:value[3]);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are Vectors.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

#### SetHamReturnEntity

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamReturnEntity
- Line: 231

##### Syntax

```pawn
native SetHamReturnEntity(value);
```

##### Description

Sets the return value of a hook that returns an entity.  Set to -1 for null.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### SetHamReturnFloat

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamReturnFloat
- Line: 215

##### Syntax

```pawn
native SetHamReturnFloat(Float:value);
```

##### Description

Sets the return value of a hook that returns a float.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### SetHamReturnInteger

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamReturnInteger
- Line: 207

##### Syntax

```pawn
native SetHamReturnInteger(value);
```

##### Description

Sets the return value of a hook that returns an integer or boolean.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### SetHamReturnString

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamReturnString
- Line: 239

##### Syntax

```pawn
native SetHamReturnString(const value[]);
```

##### Description

Sets the return value of a hook that returns a string.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### SetHamReturnVector

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/SetHamReturnVector
- Line: 223

##### Syntax

```pawn
native SetHamReturnVector(const Float:value[3]);
```

##### Description

Sets the return value of a hook that returns a Vector.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### get_pdata_cbase

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/get_pdata_cbase
- Line: 321

##### Syntax

```pawn
native get_pdata_cbase(id, offset, linuxdiff=5, macdiff=5);
```

##### Description

This is used to compliment fakemeta's {get,set}_pdata_{int,float,string}.
This requires the mod to have the pev and base fields set in hamdata.ini.
Note this dereferences memory! Improper use of this will crash the server.
This will return an index of the corresponding cbase field in private data.
Returns -1 on a null entry.

##### Parameters

- `id`: The entity to examine the private data.
- `offset`: The windows offset of the data.
- `linuxdiff`: The linux difference of the data.
- `macdiff`: The mac os x difference of the data.

##### Return

The index of the corresponding pdata field. -1 for none set.

#### get_pdata_cbase_safe

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/get_pdata_cbase_safe
- Line: 350

##### Syntax

```pawn
native get_pdata_cbase_safe(id, offset, linuxdiff=5, macdiff=5);
```

##### Description

This is similar to the get_pdata_cbase, however it does not dereference memory.
This is many times slower than get_pdata_cbase, and this should only be used
for testing and finding of offsets, not actual release quality plugins.
This will return an index of the corresponding cbase field in private data.
Returns -1 on a null entry. -2 on an invalid entry.

##### Parameters

- `id`: Entry to examine the private data.
- `offset`: The windows offset of the data.
- `linuxdiff`: The linux difference of the data.
- `macdiff`: The mac os x difference of the data.

##### Return

The index of the corresponding pdata field, -1 for null, -2 for invalid.

#### set_pdata_cbase

- Include: `hamsandwich.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hamsandwich/function/set_pdata_cbase
- Line: 335

##### Syntax

```pawn
native set_pdata_cbase(id, offset, value, linuxdiff=5, macdiff=5);
```

##### Description

This is used to compliment fakemeta's {get,set}_pdata_{int,float,string}.
This requires the mod to have the pev and base fields set in hamdata.ini.
This will set the corresponding cbase field in private data with the index.
Pass -1 to null the entry.

##### Parameters

- `id`: The entity to examine the private data.
- `offset`: The windows offset of the data.
- `value`: The index to store, -1 for invalid
- `linuxdiff`: The linux difference of the data.
- `macdiff`: The mac os x difference of the data.

## amxmodx 1.8.2 hg65 / ham_const.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ham_const
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 3

### Constants

#### HAM_IGNORED

Ham return types.
-
Return these from hooks to disable calling the target function.
Numbers match up with fakemeta's FMRES_* for clarity.  They are interchangable.
0 (or no return) is also interpretted as HAM_IGNORED.

```pawn
#define HAM_IGNORED		1	/**< Calls target function, returns normal value */
#define HAM_HANDLED		2	/**< Tells the module you did something, still calls target function and returns normal value */
#define HAM_OVERRIDE	3	/**< Still calls the target function, but returns whatever is set with SetHamReturn*() */
#define HAM_SUPERCEDE	4	/**< Block the target call, and use your return value (if applicable) (Set with SetHamReturn*()) */
```

#### Ham

A few notes about all of the following functions:
  - Not all functions will do as you expect on all mods.
    If a function does not do what you would believe it should
    DO NOT file a bug report, you will be ignored.

  - Passing invalid parameters has potential to crash the server
    So be careful, and adequately test!

  - All functions take (and pass) a "this" index as the first param.
    This is the entity from which the function is being executed on.

  - All functions and forwards (eg: {Register,Execute}Ham[B]) require
    the mod to have the pev and base keys in addition to the function
    keys for the corresponding mod/operating system in hamdata.ini

  - Some functions that return booleans may need to be logically ANDed
    to get the results desired.  e.g: if (ExecuteHam(Ham_TS_IsObjective, this) & 0x0000FFFF != 0) { // true.. }
    because the module will return the full integer value.

```pawn
enum Ham
{
	/**
     * Description: 	This is typically called whenever an entity is created.
	 *					It is the virtual equivilent of spawn from the engine.
	 *					Some mods call this on player spawns too.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Spawn, this);
	 */
	Ham_Spawn = 0,

	/**
     * Description: 	This is typically called on map change.
	 *					This will typically precache all assets required by the entity.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Precache, this);
	 */
	Ham_Precache,

	/**
	 * Description:		Typically this is similar to an engine keyvalue call.
	 *					Use the kvd natives from fakemeta to handle the kvd_handle passed.
	 *					NOTE: Do not pass handle 0 to this! Use get_kvd_handle(0) from fakemeta instead!
	 * Forward params:	function(this, kvd_handle);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Keyvalue, this, kvd_handle);
	 */
	Ham_Keyvalue,

	/**
	 * Description:		Returns flags for how an entity can be used (FCAP_* constants in hlsdk_const.inc)
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ObjectCaps, this);
	 */
	Ham_ObjectCaps,

	/**
	 * Description:		Usually called to activate some objects.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Activate, this);
	 */
	Ham_Activate,

	/**
	 * Description:		Usually called after the engine call with the same name.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SetObjectCollisionBox, this);
	 */
	Ham_SetObjectCollisionBox,

	/**
	 * Description:		Returns an integer number that corresponds with what type of entity this is.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Classify, this);
	 */
	Ham_Classify,

	/**
	 * Description:		Typically called when an entity dies to notify any children entities about the death.
	 * Forward params:	function(this, idchild)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_DeathNotice, this, idchild)
	 */
	Ham_DeathNotice,

	/**
	 * Description:		Usually called whenever an entity gets attacked by a hitscan (such as a gun) weapon.
	 *					Use the get/set tr2 natives in fakemeta to handle the traceresult data.
	 *					Do not use a handle of 0 as a traceresult in execution, use create_tr2() from Fakemeta
	 *					to pass a custom handle instead.  (Don't forget to free the handle when you're done.)
	 * Forward params:	function(this, idattacker, Float:damage, Float:direction[3], traceresult, damagebits)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TraceAttack, this, idattacker, Float:damage, Float:direction[3], tracehandle, damagebits);
	 */
	Ham_TraceAttack,

	/**
	 * Description:		Usually called whenever an entity takes any kind of damage.
	 *					Inflictor is the entity that caused the damage (such as a gun).
	 *					Attacker is the entity that tirggered the damage (such as the gun's owner).
	 * Forward params:	function(this, idinflictor, idattacker, Float:damage, damagebits);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_TakeDamage, this, idinflictor, idattacker, Float:damage, damagebits);
	 */
	Ham_TakeDamage,

	/**
	 * Description:		Usually called whenever an entity gets a form of a heal.
	 * Forward params:	function(this, Float:health, damagebits);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_TakeHealth, this, Float:health, damagebits);
	 */
	Ham_TakeHealth,

	/**
	 * Description:		Normally called whenever an entity dies.
	 * Forward params:	function(this, idattacker, shouldgib)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Killed, this, idattacker, shouldgib);
	 */
	Ham_Killed,

	/**
	 * Description:		Normally returns the blood color of the entity.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_BloodColor, this)
	 */
	Ham_BloodColor,

	/**
	 * Description:		Traces where blood should appear.
	 * Forward params:	function(this, Float:Damage, Float:Direction[3], trace_handle, damagebits);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TraceBleed, this, Float:damage, Float:direction[3], trace_handle, damagebits);
	 */
	Ham_TraceBleed,

	/**
	 * Description:		Returns whether an entity is activated.
	 * Forward params:	function(this, idActivator);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_IsTriggered, this, idActivator);
	 */
	Ham_IsTriggered,

	/**
	 * Description:		Returns the id of the entity if its class is derived off of CBaseMonster, -1 otherwise.
	 * Forward params:	function(this)
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_MyMonsterPointer, this);
	 */
	Ham_MyMonsterPointer,

	/**
	 * Description:		Returns the id of the entity if its class is derived off of CBaseSquadMonster, -1 otherwise.
	 * Forward params:	function(this)
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_MySquadMonsterPointer, this);
	 */
	Ham_MySquadMonsterPointer,

	/**
	 * Description:		Returns the toggle state of the entity.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_GetToggleState, this);
	 */
	Ham_GetToggleState,

	/**
	 * Description:		Typically adds points to the entity.
	 * Forward params:	function(this, points, bool:cangonegative);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_AddPoints, this, points, bool:cangonegative);
	 */
	Ham_AddPoints,

	/**
	 * Description:		Typically adds points to everybody on the entity's team.
	 * Forward params:	function(this, points, bool:cangonegative);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_AddPointsToTeam, this, points, bool:cangonegative);
	 */
	Ham_AddPointsToTeam,

	/**
	 * Description:		Adds an item to the player's inventory.
	 * Forward params:	function(this, idother);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_AddPlayerItem, this, idother);
	 */
	Ham_AddPlayerItem,

	/**
	 * Description:		Removes an item to the player's inventory.
	 * Forward params:	function(this, idother);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_RemovePlayerItem, this, idother);
	 */
	Ham_RemovePlayerItem,

	/**
	 * Description:		Gives ammo to the entity.
	 * Forward params:	function(this, Amount, const Name[], Max)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_GiveAmmo, this, amount, "type", max);
	 */
	Ham_GiveAmmo,

	/**
	 * Description:		Unsure, I believe this is the delay between activation for an entity.
	 * Forward params:	function(this)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_GetDelay, this, Float:output)
	 */
	Ham_GetDelay,

	/**
	 * Description:		Whether or not the entity is moving.
	 * Forward params:	function(this);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_IsMoving, this);
	 */
	Ham_IsMoving,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_OverrideReset, this)
	 */
	Ham_OverrideReset,

	/**
	 * Description:		Returns the damage decal of the entity for the damage type.
	 * Forward params:	function(this, damagebits)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_DamageDecal, this);
	 */
	Ham_DamageDecal,

	/**
	 * Description:		Sets the toggle state of the entity.
	 * Forward params:	function(this, state)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SetToggleState, this, state);
	 */
	Ham_SetToggleState,

	/**
	 * Description:		Not entirely sure what this does.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_StartSneaking, this);
	 */
	Ham_StartSneaking,

	/**
	 * Description:		Not entirely sure what this does.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_StopSneaking, this);
	 */
	Ham_StopSneaking,

	/**
	 * Description:		Not entirely sure.
	 * Forward params:	function(this, idOn)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_OnControls, this, idOn);
	 */
	Ham_OnControls,

	/**
	 * Description:		Whether or not the entity is sneaking.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsSneaking, this);
	 */
	Ham_IsSneaking,

	/**
	 * Description:		Whether or not the entity is alive.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsAlive, this);
	 */
	Ham_IsAlive,

	/**
	 * Description:		Whether or not the entity uses a BSP model.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsBSPModel, this);
	 */
	Ham_IsBSPModel,

	/**
	 * Description:		Whether or not the entity can reflect gauss shots..
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ReflectGauss, this);
	 */
	Ham_ReflectGauss,

	/**
	 * Description:		Whether or not the target is the same as the one passed.
	 *					Note the strindex parameter is a string passed that has been allocated by the engine.
	 *					Use fakemeta's EngFunc_SzFromIndex to convert to a normal string, or fakemeta's
	 *					EngFunc_AllocString to create a new string.
	 * Forward params:	function(this, strindex).
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_HasTarget, this, strindex);
	 */
	Ham_HasTarget,

	/**
	 * Description:		Whether or not the entity is in the world.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsInWorld, this);
	 */
	Ham_IsInWorld,

	/**
	 * Description:		Whether or not the entity is a player.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsPlayer, this);
	 */
	Ham_IsPlayer,

	/**
	 * Description:		Whether or not the entity is a net client.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsNetClient, this);
	 */
	Ham_IsNetClient,

	/**
	 * Description:		Get the entity's team id.
	 * Forward params:	function(this);
	 * Return type:		String (string length returned and string byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_TeamId, this, buffer[], size);
	 */
	Ham_TeamId,

	/**
	 * Description:		Returns the next target of this.
	 * Forward params:	function(this);
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_GetNextTarget, this);
	 */
	Ham_GetNextTarget,

	/**
	 * Description:		Called whenever an entity thinks.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Think, this);
	 */
	Ham_Think,

	/**
	 * Description:		Called whenever two entities touch.
	 * Forward params:	function(this, idother);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Touch, this, idother);
	 */
	Ham_Touch,

	/**
	 * Description:		Called whenver one entity uses another.
	 * Forward params:	function(this, idcaller, idactivator, use_type, Float:value)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Use, this, idcaller, idactivator, use_type, Float:value);
	 */
	Ham_Use,

	/**
	 * Description:		Normally called whenever one entity blocks another from moving.
	 * Forward params:	function(this, idother);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Blocked, this, idother);
	 */
	Ham_Blocked,

	/**
	 * Description:		Normally called when a map-based item respawns, such as a health kit or something.
	 * Forward params:	function(this);
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_Respawn, this);
	 */
	Ham_Respawn,

	/**
	 * Description:		Used in Half-Life to update a monster's owner.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_UpdateOwner, this);
	 */
	Ham_UpdateOwner,

	/**
	 * Description:		Normally called whenever a barnacle grabs the entity.
	 * Forward params:	function(this);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_FBecomeProne, this);
	 */
	Ham_FBecomeProne,

	/**
	 * Description:		Returns the center of the entity.
	 * Forward params:	function(this);
	 * Return type:		Vector (byref'd in Execute).
	 * Execute params:	ExecuteHam(Ham_Center, this, Float:output[3]);
	 */
	Ham_Center,

	/**
	 * Description:		Returns the eye position of the entity.
	 * Forward params:	function(this);
	 * Return type:		Vector (byref'd in Execute).
	 * Execute params:	ExecuteHam(Ham_EyePosition, this, Float:output[3]);
	 */
	Ham_EyePosition,

	/**
	 * Description:		Returns the ear position of the entity.
	 * Forward params:	function(this);
	 * Return type:		Vector (byref'd in Execute).
	 * Execute params:	ExecuteHam(Ham_EarPosition, this, Float:output[3]);
	 */
	Ham_EarPosition,

	/**
	 * Description:		Position to shoot at.
	 * Forward params:	function(this, Float:srcvector[3]);
	 * Return type:		Vector (byref'd in Execute).
	 * Execute params:	ExecuteHam(Ham_BodyTarget, Float:srcvector[3], Float:returnvector[3])
	 */
	Ham_BodyTarget,

	/**
	 * Description:		Returns the illumination of the entity.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Illumination, this);
	 */
	Ham_Illumination,

	/**
	 * Description:		Unsure, I assume it is whether or not the other entity is visible to this entity.
	 * Forward params:	function(this, idOther);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FVisible, this, idOther);
	 */
	Ham_FVisible,

	/**
	 * Description:		Unsure, I assume it is whether or not the target vector is visible to this entity.
	 * Forward params:	function(this, const Float:origin[3]);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FVecVisible, this, const Float:origin[3]);
	 */
	Ham_FVecVisible,


	/**
	 * Players have all the attributes of normal entities, in addition to these.
	 */

	/**
	 * Description:		Typically called every frame when a player has jump held.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_Jump, this);
	 */
	Ham_Player_Jump,

	/**
	 * Description:		Typically called every frame when a player has duck held.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_Duck, this);
	 */
	Ham_Player_Duck,

	/**
	 * Description:		Typically called every frame during PlayerPreThink engine call.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_PreThink, this);
	 */
	Ham_Player_PreThink,

	/**
	 * Description:		Typically called every frame during PlayerPostThink engine call.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_PostThink, this);
	 */
	Ham_Player_PostThink,

	/**
	 * Description:		Returns a vector that tells the gun position.
	 * Forward params:	function(this)
	 * Return type:		Vector, byreffed in execute.
	 * Execute params:	ExecuteHam(Ham_Player_GetGunPosition, this, Float:output[3]);
	 */
	Ham_Player_GetGunPosition,

	/**
	 * Description:		Whether or not the player should fade on death.
	 * Forward param:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Player_ShouldFadeOnDeath, this);
	 */
	Ham_Player_ShouldFadeOnDeath,

	/**
	 * Description:		Called whenever an impulse command is executed.
	 * Forward param:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_ImpulseComands, this);
	 */
	Ham_Player_ImpulseCommands,

	/**
	 * Description:		Updates the client's data for hud changes (such as ammo).  Usually called every frame.
	 * Forward param:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_UpdateClientData, this);
	 */
	Ham_Player_UpdateClientData,

	/**
	 * Items have all the attributes of normal entities in addition to these.
	 */

	/**
	 * Description:		Adds the item to the player.
	 * Forward params:	function(this, idPlayer);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_AddToPlayer, this, idPlayer);
	 */
	Ham_Item_AddToPlayer,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, idOriginal);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_AddDuplicate, this, idOriginal);
	 */
	Ham_Item_AddDuplicate,

	/**
	 * Description:		Whether or not this entity can be deployed.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_CanDeploy, this);
	 */
	Ham_Item_CanDeploy,

	/**
	 * Description:		Deploys the entity (usually a weapon).
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_Deploy, this);
	 */
	Ham_Item_Deploy,

	/**
	 * Description:		Whether or not the entity can be holstered.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_CanHolster, this);
	 */
	Ham_Item_CanHolster,

	/**
	 * Description:		Whether or not the entity (usually weapon) can be holstered.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_Holster, this);
	 */
	Ham_Item_Holster,

	/**
	 * Description:		Updates the HUD info about this item.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_UpdateItemInfo, this);
	 */
	Ham_Item_UpdateItemInfo,

	/**
	 * Description:		Called each frame for an item, normally only on active items.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_PreFrame, this);
	 */
	Ham_Item_PreFrame,

	/**
	 * Description:		Called each frame for an item, normally only on active items.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_PostFrame, this);
	 */
	Ham_Item_PostFrame,

	/**
	 * Description:		Called when an item gets dropped, normally on death only.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_Drop, this);
	 */
	Ham_Item_Drop,

	/**
	 * Description:		Normally called when an item gets deleted.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_Drop, this);
	 */
	Ham_Item_Kill,

	/**
	 * Description:		Called when an entity starts being attached to (normally invisible and "following") a player.
	 * Forward params:	function(this, idPlayer)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_AttachToPlayer, this, idPlayer)
	 */
	Ham_Item_AttachToPlayer,

	/**
	 * Description:		Returns the ammo index of the item.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Item_PrimaryAmmoIndex, this);
	 */
	Ham_Item_PrimaryAmmoIndex,

	/**
	 * Description:		Returns the secondary ammo index of the item.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Item_SecondaryAmmoIndex, this);
	 */
	Ham_Item_SecondaryAmmoIndex,

	/**
	 * Description:		Updates item data for the client.
	 * Forward params:	function(this, idPlayer)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Item_UpdateClientData, this, idPlayer);
	 */
	Ham_Item_UpdateClientData,

	/**
	 * Description:		Returns the entity index if the item is a weapon, -1 otherwise.
	 * Forward params:	function(this)
	 * Return type:		Entity.
	 * Execute Params:	ExecuteHam(Ham_Item_GetWeaponPtr, this)
	 */
	Ham_Item_GetWeaponPtr,

	/**
	 * Description:		Returns the item slot for the item.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_Item_ItemSlot, this)
	 */
	Ham_Item_ItemSlot,


	/**
	 * Weapons have all the attributes to Ham_Item_*, in addition to these.
	 */

	/**
	 * Description:		Gets ammo from the target weapon.
	 * Forward params:	function(this, idTarget)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_Weapon_ExtractAmmo, this, idTarget)
	 */
	Ham_Weapon_ExtractAmmo,

	/**
	 * Description:		Gets clip ammo from the target weapon.
	 * Forward params:	function(this, idTarget)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_Weapon_ExtractAmmo, this, idTarget)
	 */
	Ham_Weapon_ExtractClipAmmo,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Weapon_AddWeapon, this);
	 */
	Ham_Weapon_AddWeapon,

	/**
	 * Description:		Plays the weapon's empty sound.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Weapon_PlayEmptySound, this);
	 */
	Ham_Weapon_PlayEmptySound,

	/**
	 * Description:		Sets the weapon so that it can play empty sound again.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_ResetEmptySound, this);
	 */
	Ham_Weapon_ResetEmptySound,

	/**
	 * Description:		Sends an animation event for the weapon.
	 * Forward params:	function(this, iAnim, skiplocal, body);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_SendWeaponAnim, this, iAnim, skiplocal, body);
	 */
	Ham_Weapon_SendWeaponAnim,

	/**
	 * Description:		Whether or not the weapon is usable (has ammo, etc.)
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Weapon_IsUsable, this)
	 */
	Ham_Weapon_IsUsable,

	/**
	 * Description:		Called when the main attack of a weapon is triggered.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_PrimaryAttack, this);
	 */
	Ham_Weapon_PrimaryAttack,

	/**
	 * Description:		Called when the secondary attack of a weapon is triggered.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_SecondaryAttack, this);
	 */
	Ham_Weapon_SecondaryAttack,

	/**
	 * Description:		Called when the weapon is reloaded.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_Reload, this);
	 */
	Ham_Weapon_Reload,

	/**
	 * Description:		Displays the idle animation for the weapon.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_WeaponIdle, this);
	 */
	Ham_Weapon_WeaponIdle,

	/**
	 * Description:		There is no more ammo for this gun, so switch to the next best one.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * ExecuteParams:	ExecuteHam(Ham_Weapon_RetireWeapon, this)
	 */
	Ham_Weapon_RetireWeapon,

	/**
	 * Description:		Whether or not the weapon should idle.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute Params:	ExecuteHam(Ham_Weapon_ShouldWeaponIdle, this)
	 */
	Ham_Weapon_ShouldWeaponIdle,

	/**
	 * Description:		Not sure.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Weapon_UseDecrement, this);
	 */
	Ham_Weapon_UseDecrement,

	/**
	 * Description:		-
	 * Forward params:	function(this, someboolvalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_BreakableRespawn, this, someboolvalue);
	 */
	Ham_TS_BreakableRespawn,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean)
	 * Execute params:	ExecuteHam(Ham_TS_CanUsedThroughWalls, this);
	 */
	Ham_TS_CanUsedThroughWalls,

	/**
	 * Description:		Unsure - this was removed in TS 3.0 (and thus is deprecated).
	 * Forward params:	function(this)
	 * Return type:		Integer (I think...)
	 * Execute params:	ExecuteHam(Ham_TS_RespawnWait, this);
	 */
	Ham_TS_RespawnWait,

	/**
	 * Description:		This is called on a map reset for most map based entities.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CS_Restart, this);
	 */
	Ham_CS_Restart,

	/**
	 * Description:		Respawn function for players/bots only! Do not use this on non player/bot entities!
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CS_RoundRespawn, this);
	 */
	Ham_CS_RoundRespawn,
	/**
	 * Description:		Whether or not the player can drop the specified item.
	 * Forward params:	function(this)
	 * Return type:		Integer
	 * Execute params:	ExecuteHam(Ham_CS_Item_CanDrop, this);
	 */
	Ham_CS_Item_CanDrop,

	/**
	 * Description:		Gets the maximum speed for whenever a player has the item deployed.
	 * Forward params:	function(this);
	 * Return type:		Float, byrefed in execute.
	 * Execute params:	ExecuteHam(Ham_CS_Item_GetMaxSpeed, this, Float:output);
	 */
	Ham_CS_Item_GetMaxSpeed,

	/**
	 * Description:		I assume this spawns players at the start of a new round.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_RoundRespawn, this);
	 */
	Ham_DOD_RoundRespawn,

	/**
	 * Description:		I assume this spawns entities (like func_breakables) at the start of a new round.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_RoundRespawnEnt, this);
	 */
	Ham_DOD_RoundRespawnEnt,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None, I think...
	 * Execute params:	ExecuteHam(Ham_DOD_RoundStore, this);
	 */
	Ham_DOD_RoundStore,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, someintegervalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_DOD_AreaSetIndex, this, someintegervalue)
	 */
	Ham_DOD_AreaSetIndex,

	/**
	 * Description:		Unsure
	 * Forward params:	function(this, idPlayer)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_AreaSendStatus, this, idPlayer);
	 */
	Ham_DOD_AreaSendStatus,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_GetState, this);
	 */
	Ham_DOD_GetState,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, idtarget)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_GetStateEnt, this, idtarget);
	 */
	Ham_DOD_GetStateEnt,

	/**
	 * Description:		Whether or not a player can drop this item.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute Params:	ExecuteHam(Ham_DOD_Item_CanDrop, this);
	 */
	Ham_DOD_Item_CanDrop,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, iduser)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_TFC_EngineerUse, this, iduser)
	 */
	Ham_TFC_EngineerUse,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_Finished, this);
	 */
	Ham_TFC_Finished,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, entityid, Float:floata, Float:floatb)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_EmpExplode, this, entityid, Float:floata, Float:floatb)
	 */
	Ham_TFC_EmpExplode,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, Float:floata, Float:floatb)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_CalcEmpDmgRad, this, Float:floata, Float:floatb)
	 */
	Ham_TFC_CalcEmpDmgRad,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, entityid)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_TakeEmpBlast, this, entityid);
	 */
	Ham_TFC_TakeEmpBlast,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_EmpRemove, this);
	 */
	Ham_TFC_EmpRemove,


	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, entityid, Float:floata)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_TakeConcussionBlast, this, entityid, Float:floata);
	 */
	Ham_TFC_TakeConcussionBlast,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, entityid)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_Concuss, this, entityid);
	 */
	Ham_TFC_Concuss,


	/**
	 * Description:		Unsure.
	 *					Is only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_IsEnvModel, this);
	 */
	Ham_ESF_IsEnvModel,

	/**
	 * Description:		Unsure.
	 *					Is only in ESF Open Beta.
	 * Forward params:	function(this, entityida, entityidb, Float:floata, Float:floatb, dmgbits)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ESF_TakeDamage2, this, entityida, entityidb, Float:floata, Float:floatb, dmgbits);
	 */
	Ham_ESF_TakeDamage2,

	/**
	 * Description:		Returns how many points each entity is worth.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_NS_GetPointValue, this);
	 */
	Ham_NS_GetPointValue,

	/**
	 * Description:		Unsure.  Probably awards this with the killing of idvictim.
	 * Forward params:	function(this, idvictim)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_AwardKill, this, idvictim);
	 */
	Ham_NS_AwardKill,

	/**
	 * Description:		Unsure, probably whenever an entity resets after a new round.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_ResetEntity, this);
	 */
	Ham_NS_ResetEntity,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_UpdateOnRemove, this)
	 */
	Ham_NS_UpdateOnRemove,


	/** Virtual functions added to TS in TS 3 */

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_GiveSlowMul, this)
	 */
	Ham_TS_GiveSlowMul,

	/**
	 * Description:		Unsure.  The second paramater is actually a char.
	 * Forward params:	function(this, Float:someval, someotherval)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_GoSlow, this, Float:someval, someotherval)
	 */
	Ham_TS_GoSlow,

	/**
	 * Description:		Probably returns true if the user is in slow mo.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_TS_InSlow, this)
	 */
	Ham_TS_InSlow,

	/**
	 * Description:		Returns true if the entity is an objective.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_TS_IsObjective, this)
	 */
	Ham_TS_IsObjective,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, bool:someval)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_EnableObjective, this, bool:someval)
	 */
	Ham_TS_EnableObjective,

	/**
	 * Description:		Probably called when the engine call to OnEntFreePrivateData is called (the entity destructor.)
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_OnEntFreePrivateData, this)
	 */
	Ham_TS_OnFreeEntPrivateData,

	/**
	 * Description:		Probably called when the engine call to ShouldCollide is called.
	 * Forward params:	function(this, otherEntity)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_TS_ShouldCollide, this, otherEntity)
	 */
	Ham_TS_ShouldCollide,


	/**
	 * DONT USE ME LOL
	 */
	HAM_LAST_ENTRY_DONT_USE_ME_LOL
};
```

#### HamError

HamError

```pawn
enum HamError
{
	HAM_OK = 0,

	HAM_INVALID_FUNC,			// The function is not valid
	HAM_FUNC_NOT_CONFIGURED,	// This function is not configured in hamdata.ini

	HAM_ERR_END
};
```

## amxmodx 1.8.2 hg65 / hlsdk_const.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/hlsdk_const
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 335

### Constants

#### IN_ATTACK

IN_ATTACK

```pawn
#define IN_ATTACK                       (1<<0)
```

#### IN_JUMP

IN_JUMP

```pawn
#define IN_JUMP                         (1<<1)
```

#### IN_DUCK

IN_DUCK

```pawn
#define IN_DUCK                         (1<<2)
```

#### IN_FORWARD

IN_FORWARD

```pawn
#define IN_FORWARD                      (1<<3)
```

#### IN_BACK

IN_BACK

```pawn
#define IN_BACK                         (1<<4)
```

#### IN_USE

IN_USE

```pawn
#define IN_USE                          (1<<5)
```

#### IN_CANCEL

IN_CANCEL

```pawn
#define IN_CANCEL                       (1<<6)
```

#### IN_LEFT

IN_LEFT

```pawn
#define IN_LEFT                         (1<<7)
```

#### IN_RIGHT

IN_RIGHT

```pawn
#define IN_RIGHT                        (1<<8)
```

#### IN_MOVELEFT

IN_MOVELEFT

```pawn
#define IN_MOVELEFT                     (1<<9)
```

#### IN_MOVERIGHT

IN_MOVERIGHT

```pawn
#define IN_MOVERIGHT                    (1<<10)
```

#### IN_ATTACK2

IN_ATTACK2

```pawn
#define IN_ATTACK2                      (1<<11)
```

#### IN_RUN

IN_RUN

```pawn
#define IN_RUN                          (1<<12)
```

#### IN_RELOAD

IN_RELOAD

```pawn
#define IN_RELOAD                       (1<<13)
```

#### IN_ALT1

IN_ALT1

```pawn
#define IN_ALT1                         (1<<14)
```

#### IN_SCORE

IN_SCORE

```pawn
#define IN_SCORE                        (1<<15)     // Used by client.dll for when scoreboard is held down
```

#### FL_FLY

FL_FLY

```pawn
#define	FL_FLY                          (1<<0)      // Changes the SV_Movestep() behavior to not need to be on ground
```

#### FL_SWIM

FL_SWIM

```pawn
#define	FL_SWIM                         (1<<1)      // Changes the SV_Movestep() behavior to not need to be on ground (but stay in water)
```

#### FL_CONVEYOR

FL_CONVEYOR

```pawn
#define	FL_CONVEYOR                     (1<<2)
```

#### FL_CLIENT

FL_CLIENT

```pawn
#define	FL_CLIENT                       (1<<3)
```

#### FL_INWATER

FL_INWATER

```pawn
#define	FL_INWATER                      (1<<4)
```

#### FL_MONSTER

FL_MONSTER

```pawn
#define	FL_MONSTER                      (1<<5)
```

#### FL_GODMODE

FL_GODMODE

```pawn
#define	FL_GODMODE                      (1<<6)
```

#### FL_NOTARGET

FL_NOTARGET

```pawn
#define	FL_NOTARGET                     (1<<7)
```

#### FL_SKIPLOCALHOST

FL_SKIPLOCALHOST

```pawn
#define	FL_SKIPLOCALHOST                (1<<8)      // Don't send entity to local host, it's predicting this entity itself
```

#### FL_ONGROUND

FL_ONGROUND

```pawn
#define	FL_ONGROUND	                    (1<<9)      // At rest / on the ground
```

#### FL_PARTIALGROUND

FL_PARTIALGROUND

```pawn
#define	FL_PARTIALGROUND                (1<<10)     // Not all corners are valid
```

#### FL_WATERJUMP

FL_WATERJUMP

```pawn
#define	FL_WATERJUMP                    (1<<11)     // Player jumping out of water
```

#### FL_FROZEN

FL_FROZEN

```pawn
#define FL_FROZEN                       (1<<12)     // Player is frozen for 3rd person camera
```

#### FL_FAKECLIENT

FL_FAKECLIENT

```pawn
#define FL_FAKECLIENT                   (1<<13)     // JAC: fake client, simulated server side; don't send network messages to them
```

#### FL_DUCKING

FL_DUCKING

```pawn
#define FL_DUCKING                      (1<<14)     // Player flag -- Player is fully crouched
```

#### FL_FLOAT

FL_FLOAT

```pawn
#define FL_FLOAT                        (1<<15)     // Apply floating force to this entity when in water
```

#### FL_GRAPHED

FL_GRAPHED

```pawn
#define FL_GRAPHED                      (1<<16)     // Worldgraph has this ent listed as something that blocks a connection
```

#### FL_IMMUNE_WATER

FL_IMMUNE_WATER

```pawn
#define FL_IMMUNE_WATER                 (1<<17)
```

#### FL_IMMUNE_SLIME

FL_IMMUNE_SLIME

```pawn
#define	FL_IMMUNE_SLIME                 (1<<18)
```

#### FL_IMMUNE_LAVA

FL_IMMUNE_LAVA

```pawn
#define FL_IMMUNE_LAVA                  (1<<19)
```

#### FL_PROXY

FL_PROXY

```pawn
#define FL_PROXY                        (1<<20)     // This is a spectator proxy
```

#### FL_ALWAYSTHINK

FL_ALWAYSTHINK

```pawn
#define FL_ALWAYSTHINK                  (1<<21)     // Brush model flag -- call think every frame regardless of nextthink - ltime (for constantly changing velocity/path)
```

#### FL_BASEVELOCITY

FL_BASEVELOCITY

```pawn
#define FL_BASEVELOCITY                 (1<<22)     // Base velocity has been applied this frame (used to convert base velocity into momentum)
```

#### FL_MONSTERCLIP

FL_MONSTERCLIP

```pawn
#define FL_MONSTERCLIP                  (1<<23)     // Only collide in with monsters who have FL_MONSTERCLIP set
```

#### FL_ONTRAIN

FL_ONTRAIN

```pawn
#define FL_ONTRAIN                      (1<<24)     // Player is _controlling_ a train, so movement commands should be ignored on client during prediction.
```

#### FL_WORLDBRUSH

FL_WORLDBRUSH

```pawn
#define FL_WORLDBRUSH                   (1<<25)     // Not moveable/removeable brush entity (really part of the world, but represented as an entity for transparency or something)
```

#### FL_SPECTATOR

FL_SPECTATOR

```pawn
#define FL_SPECTATOR                    (1<<26)     // This client is a spectator, don't run touch functions, etc.
```

#### FL_CUSTOMENTITY

FL_CUSTOMENTITY

```pawn
#define FL_CUSTOMENTITY                 (1<<29)     // This is a custom entity
```

#### FL_KILLME

FL_KILLME

```pawn
#define FL_KILLME                       (1<<30)     // This entity is marked for death -- This allows the engine to kill ents at the appropriate time
```

#### FL_DORMANT

FL_DORMANT

```pawn
#define FL_DORMANT                      (1<<31)     // Entity is dormant, no updates to client
```

#### WALKMOVE_NORMAL

WALKMOVE_NORMAL

```pawn
#define	WALKMOVE_NORMAL                 0           // Normal walkmove
```

#### WALKMOVE_WORLDONLY

WALKMOVE_WORLDONLY

```pawn
#define WALKMOVE_WORLDONLY              1           // Doesn't hit ANY entities, no matter what the solid type
```

#### WALKMOVE_CHECKONLY

WALKMOVE_CHECKONLY

```pawn
#define WALKMOVE_CHECKONLY              2           // Move, but don't touch triggers
```

#### MOVETYPE_NONE

MOVETYPE_NONE

```pawn
#define	MOVETYPE_NONE                   0           // Never moves
```

#### MOVETYPE_WALK

MOVETYPE_WALK

```pawn
#define	MOVETYPE_WALK                   3           // Player only - moving on the ground
```

#### MOVETYPE_STEP

MOVETYPE_STEP

```pawn
#define	MOVETYPE_STEP                   4           // Gravity, special edge handling -- monsters use this
```

#### MOVETYPE_FLY

MOVETYPE_FLY

```pawn
#define	MOVETYPE_FLY                    5           // No gravity, but still collides with stuff
```

#### MOVETYPE_TOSS

MOVETYPE_TOSS

```pawn
#define	MOVETYPE_TOSS                   6           // Gravity/Collisions
```

#### MOVETYPE_PUSH

MOVETYPE_PUSH

```pawn
#define	MOVETYPE_PUSH                   7           // No clip to world, push and crush
```

#### MOVETYPE_NOCLIP

MOVETYPE_NOCLIP

```pawn
#define	MOVETYPE_NOCLIP                 8           // No gravity, no collisions, still do velocity/avelocity
```

#### MOVETYPE_FLYMISSILE

MOVETYPE_FLYMISSILE

```pawn
#define	MOVETYPE_FLYMISSILE             9           // Extra size to monsters
```

#### MOVETYPE_BOUNCE

MOVETYPE_BOUNCE

```pawn
#define	MOVETYPE_BOUNCE                 10          // Just like Toss, but reflect velocity when contacting surfaces
```

#### MOVETYPE_BOUNCEMISSILE

MOVETYPE_BOUNCEMISSILE

```pawn
#define MOVETYPE_BOUNCEMISSILE          11          // Bounce w/o gravity
```

#### MOVETYPE_FOLLOW

MOVETYPE_FOLLOW

```pawn
#define MOVETYPE_FOLLOW                 12          // Track movement of aiment
```

#### MOVETYPE_PUSHSTEP

MOVETYPE_PUSHSTEP

```pawn
#define	MOVETYPE_PUSHSTEP               13          // BSP model that needs physics/world collisions (uses nearest hull for world collision)
```

#### SOLID_NOT

SOLID_NOT

```pawn
#define	SOLID_NOT                       0           // No interaction with other objects
```

#### SOLID_TRIGGER

SOLID_TRIGGER

```pawn
#define	SOLID_TRIGGER                   1           // Touch on edge, but not blocking
```

#### SOLID_BBOX

SOLID_BBOX

```pawn
#define	SOLID_BBOX                      2           // Touch on edge, block
```

#### SOLID_SLIDEBOX

SOLID_SLIDEBOX

```pawn
#define	SOLID_SLIDEBOX                  3           // Touch on edge, but not an onground
```

#### SOLID_BSP

SOLID_BSP

```pawn
#define	SOLID_BSP                       4           // BSP clip, touch on edge, block
```

#### DEAD_NO

DEAD_NO

```pawn
#define	DEAD_NO                         0           // Alive
```

#### DEAD_DYING

DEAD_DYING

```pawn
#define	DEAD_DYING                      1           // Playing death animation or still falling off of a ledge waiting to hit ground
```

#### DEAD_DEAD

DEAD_DEAD

```pawn
#define	DEAD_DEAD                       2           // Dead, lying still
```

#### DEAD_RESPAWNABLE

DEAD_RESPAWNABLE

```pawn
#define DEAD_RESPAWNABLE                3
```

#### DEAD_DISCARDBODY

DEAD_DISCARDBODY

```pawn
#define DEAD_DISCARDBODY                4
```

#### DAMAGE_NO

DAMAGE_NO

```pawn
#define	DAMAGE_NO                       0.0
```

#### DAMAGE_YES

DAMAGE_YES

```pawn
#define	DAMAGE_YES                      1.0
```

#### DAMAGE_AIM

DAMAGE_AIM

```pawn
#define	DAMAGE_AIM                      2.0
```

#### EF_BRIGHTFIELD

EF_BRIGHTFIELD

```pawn
#define	EF_BRIGHTFIELD                  1           // Swirling cloud of particles
```

#### EF_MUZZLEFLASH

EF_MUZZLEFLASH

```pawn
#define	EF_MUZZLEFLASH                  2           // Single frame ELIGHT on entity attachment 0
```

#### EF_BRIGHTLIGHT

EF_BRIGHTLIGHT

```pawn
#define	EF_BRIGHTLIGHT                  4           // DLIGHT centered at entity origin
```

#### EF_DIMLIGHT

EF_DIMLIGHT

```pawn
#define	EF_DIMLIGHT                     8           // Player flashlight
```

#### EF_INVLIGHT

EF_INVLIGHT

```pawn
#define EF_INVLIGHT                     16          // Get lighting from ceiling
```

#### EF_NOINTERP

EF_NOINTERP

```pawn
#define EF_NOINTERP                     32          // Don't interpolate the next frame
```

#### EF_LIGHT

EF_LIGHT

```pawn
#define EF_LIGHT                        64          // Rocket flare glow sprite
```

#### EF_NODRAW

EF_NODRAW

```pawn
#define EF_NODRAW                       128         // Don't draw entity
```

#### CONTENTS_EMPTY

CONTENTS_EMPTY

```pawn
#define	CONTENTS_EMPTY                  -1
```

#### CONTENTS_SOLID

CONTENTS_SOLID

```pawn
#define	CONTENTS_SOLID                  -2
```

#### CONTENTS_WATER

CONTENTS_WATER

```pawn
#define	CONTENTS_WATER                  -3
```

#### CONTENTS_SLIME

CONTENTS_SLIME

```pawn
#define	CONTENTS_SLIME                  -4
```

#### CONTENTS_LAVA

CONTENTS_LAVA

```pawn
#define	CONTENTS_LAVA                   -5
```

#### CONTENTS_SKY

CONTENTS_SKY

```pawn
#define	CONTENTS_SKY                    -6
```

#### CONTENTS_ORIGIN

CONTENTS_ORIGIN

```pawn
#define	CONTENTS_ORIGIN                 -7          // Removed at csg time
```

#### CONTENTS_CLIP

CONTENTS_CLIP

```pawn
#define	CONTENTS_CLIP                   -8          // Changed to contents_solid
```

#### CONTENTS_CURRENT_0

CONTENTS_CURRENT_0

```pawn
#define	CONTENTS_CURRENT_0              -9
```

#### CONTENTS_CURRENT_90

CONTENTS_CURRENT_90

```pawn
#define	CONTENTS_CURRENT_90             -10
```

#### CONTENTS_CURRENT_180

CONTENTS_CURRENT_180

```pawn
#define	CONTENTS_CURRENT_180            -11
```

#### CONTENTS_CURRENT_270

CONTENTS_CURRENT_270

```pawn
#define	CONTENTS_CURRENT_270            -12
```

#### CONTENTS_CURRENT_UP

CONTENTS_CURRENT_UP

```pawn
#define	CONTENTS_CURRENT_UP             -13
```

#### CONTENTS_CURRENT_DOWN

CONTENTS_CURRENT_DOWN

```pawn
#define	CONTENTS_CURRENT_DOWN           -14
```

#### CONTENTS_TRANSLUCENT

CONTENTS_TRANSLUCENT

```pawn
#define CONTENTS_TRANSLUCENT            -15
```

#### CONTENTS_LADDER

CONTENTS_LADDER

```pawn
#define	CONTENTS_LADDER                 -16
```

#### CONTENT_FLYFIELD

CONTENT_FLYFIELD

```pawn
#define	CONTENT_FLYFIELD                -17
```

#### CONTENT_GRAVITY_FLYFIELD

CONTENT_GRAVITY_FLYFIELD

```pawn
#define	CONTENT_GRAVITY_FLYFIELD        -18
```

#### CONTENT_FOG

CONTENT_FOG

```pawn
#define	CONTENT_FOG                     -19
```

#### DMG_GENERIC

DMG_GENERIC

```pawn
#define DMG_GENERIC                     0           // Generic damage was done
```

#### DMG_CRUSH

DMG_CRUSH

```pawn
#define DMG_CRUSH                       (1<<0)      // Crushed by falling or moving object
```

#### DMG_BULLET

DMG_BULLET

```pawn
#define DMG_BULLET                      (1<<1)      // Shot
```

#### DMG_SLASH

DMG_SLASH

```pawn
#define DMG_SLASH                       (1<<2)      // Cut, clawed, stabbed
```

#### DMG_BURN

DMG_BURN

```pawn
#define DMG_BURN                        (1<<3)      // Heat burned
```

#### DMG_FREEZE

DMG_FREEZE

```pawn
#define DMG_FREEZE                      (1<<4)      // Frozen
```

#### DMG_FALL

DMG_FALL

```pawn
#define DMG_FALL                        (1<<5)      // Fell too far
```

#### DMG_BLAST

DMG_BLAST

```pawn
#define DMG_BLAST                       (1<<6)      // Explosive blast damage
```

#### DMG_CLUB

DMG_CLUB

```pawn
#define DMG_CLUB                        (1<<7)      // Crowbar, punch, headbutt
```

#### DMG_SHOCK

DMG_SHOCK

```pawn
#define DMG_SHOCK                       (1<<8)      // Electric shock
```

#### DMG_SONIC

DMG_SONIC

```pawn
#define DMG_SONIC                       (1<<9)      // Sound pulse shockwave
```

#### DMG_ENERGYBEAM

DMG_ENERGYBEAM

```pawn
#define DMG_ENERGYBEAM                  (1<<10)     // Laser or other high energy beam
```

#### DMG_NEVERGIB

DMG_NEVERGIB

```pawn
#define DMG_NEVERGIB                    (1<<12)     // With this bit OR'd in, no damage type will be able to gib victims upon death
```

#### DMG_ALWAYSGIB

DMG_ALWAYSGIB

```pawn
#define DMG_ALWAYSGIB                   (1<<13)     // With this bit OR'd in, any damage type can be made to gib victims upon death.
```

#### DMG_DROWN

DMG_DROWN

```pawn
#define DMG_DROWN                       (1<<14)     // Drowning
```

#### DMG_PARALYZE

DMG_PARALYZE

```pawn
#define DMG_PARALYZE                    (1<<15)     // Slows affected creature down
```

#### DMG_NERVEGAS

DMG_NERVEGAS

```pawn
#define DMG_NERVEGAS                    (1<<16)     // Nerve toxins, very bad
```

#### DMG_POISON

DMG_POISON

```pawn
#define DMG_POISON                      (1<<17)     // Blood poisioning
```

#### DMG_RADIATION

DMG_RADIATION

```pawn
#define DMG_RADIATION                   (1<<18)     // Radiation exposure
```

#### DMG_DROWNRECOVER

DMG_DROWNRECOVER

```pawn
#define DMG_DROWNRECOVER                (1<<19)     // Drowning recovery
```

#### DMG_ACID

DMG_ACID

```pawn
#define DMG_ACID                        (1<<20)     // Toxic chemicals or acid burns
```

#### DMG_SLOWBURN

DMG_SLOWBURN

```pawn
#define DMG_SLOWBURN                    (1<<21)     // In an oven
```

#### DMG_SLOWFREEZE

DMG_SLOWFREEZE

```pawn
#define DMG_SLOWFREEZE                  (1<<22)     // In a subzero freezer
```

#### DMG_MORTAR

DMG_MORTAR

```pawn
#define DMG_MORTAR                      (1<<23)     // Hit by air raid (done to distinguish grenade from mortar)
```

#### DMG_TIMEBASED

DMG_TIMEBASED

```pawn
#define DMG_TIMEBASED                   (~(0x3fff)) // Mask for time-based damage
```

#### DONT_IGNORE_MONSTERS

DONT_IGNORE_MONSTERS

```pawn
#define DONT_IGNORE_MONSTERS            0
```

#### IGNORE_MONSTERS

IGNORE_MONSTERS

```pawn
#define IGNORE_MONSTERS                 1
```

#### IGNORE_MISSILE

IGNORE_MISSILE

```pawn
#define IGNORE_MISSILE                  2
```

#### IGNORE_GLASS

IGNORE_GLASS

```pawn
#define IGNORE_GLASS                    0x100
```

#### HULL_POINT

HULL_POINT

```pawn
#define HULL_POINT                      0
```

#### HULL_HUMAN

HULL_HUMAN

```pawn
#define HULL_HUMAN                      1
```

#### HULL_LARGE

HULL_LARGE

```pawn
#define HULL_LARGE                      2
```

#### HULL_HEAD

HULL_HEAD

```pawn
#define HULL_HEAD                       3
```

#### FTRACE_SIMPLEBOX

FTRACE_SIMPLEBOX

```pawn
#define FTRACE_SIMPLEBOX                (1<<0)      // Traceline with a simple box
```

#### EFLAG_SLERP

EFLAG_SLERP

```pawn
#define EFLAG_SLERP                     1           // Do studio interpolation of this entity
```

#### SF_TRAIN_WAIT_RETRIGGER

SF_TRAIN_WAIT_RETRIGGER

```pawn
#define	SF_TRAIN_WAIT_RETRIGGER         1
```

#### SF_TRAIN_START_ON

SF_TRAIN_START_ON

```pawn
#define SF_TRAIN_START_ON               4           // Train is initially moving
```

#### SF_TRAIN_PASSABLE

SF_TRAIN_PASSABLE

```pawn
#define SF_TRAIN_PASSABLE               8           // Train is not solid -- used to make water trains
```

#### SF_WALL_START_OFF

SF_WALL_START_OFF

```pawn
#define SF_WALL_START_OFF               0x0001
```

#### SF_CONVEYOR_VISUAL

SF_CONVEYOR_VISUAL

```pawn
#define SF_CONVEYOR_VISUAL              0x0001
```

#### SF_CONVEYOR_NOTSOLID

SF_CONVEYOR_NOTSOLID

```pawn
#define SF_CONVEYOR_NOTSOLID            0x0002
```

#### SF_BUTTON_DONTMOVE

SF_BUTTON_DONTMOVE

```pawn
#define SF_BUTTON_DONTMOVE              1
```

#### SF_BUTTON_TOGGLE

SF_BUTTON_TOGGLE

```pawn
#define	SF_BUTTON_TOGGLE                32          // Button stays pushed until reactivated
```

#### SF_BUTTON_SPARK_IF_OFF

SF_BUTTON_SPARK_IF_OFF

```pawn
#define	SF_BUTTON_SPARK_IF_OFF          64          // Button sparks in OFF state
```

#### SF_BUTTON_TOUCH_ONLY

SF_BUTTON_TOUCH_ONLY

```pawn
#define SF_BUTTON_TOUCH_ONLY            256         // Button only fires as a result of USE key.
```

#### SF_ROTBUTTON_NOTSOLID

SF_ROTBUTTON_NOTSOLID

```pawn
#define SF_ROTBUTTON_NOTSOLID           1
```

#### SF_GLOBAL_SET

SF_GLOBAL_SET

```pawn
#define SF_GLOBAL_SET                   1           // Set global state to initial state on spawn
```

#### SF_MULTI_INIT

SF_MULTI_INIT

```pawn
#define SF_MULTI_INIT                   1
```

#### SF_MOMENTARY_DOOR

SF_MOMENTARY_DOOR

```pawn
#define SF_MOMENTARY_DOOR               0x0001
```

#### SF_BTARGET_USE

SF_BTARGET_USE

```pawn
#define SF_BTARGET_USE                  0x0001
```

#### SF_BTARGET_ON

SF_BTARGET_ON

```pawn
#define SF_BTARGET_ON                   0x0002
```

#### SF_DOOR_ROTATE_Y

SF_DOOR_ROTATE_Y

```pawn
#define SF_DOOR_ROTATE_Y                0
```

#### SF_DOOR_START_OPEN

SF_DOOR_START_OPEN

```pawn
#define	SF_DOOR_START_OPEN              1
```

#### SF_DOOR_ROTATE_BACKWARDS

SF_DOOR_ROTATE_BACKWARDS

```pawn
#define SF_DOOR_ROTATE_BACKWARDS        2
```

#### SF_DOOR_PASSABLE

SF_DOOR_PASSABLE

```pawn
#define SF_DOOR_PASSABLE                8
```

#### SF_DOOR_ONEWAY

SF_DOOR_ONEWAY

```pawn
#define SF_DOOR_ONEWAY                  16
```

#### SF_DOOR_NO_AUTO_RETURN

SF_DOOR_NO_AUTO_RETURN

```pawn
#define	SF_DOOR_NO_AUTO_RETURN          32
```

#### SF_DOOR_ROTATE_Z

SF_DOOR_ROTATE_Z

```pawn
#define SF_DOOR_ROTATE_Z                64
```

#### SF_DOOR_ROTATE_X

SF_DOOR_ROTATE_X

```pawn
#define SF_DOOR_ROTATE_X                128
```

#### SF_DOOR_USE_ONLY

SF_DOOR_USE_ONLY

```pawn
#define SF_DOOR_USE_ONLY                256         // Door must be opened by player's use button
```

#### SF_DOOR_NOMONSTERS

SF_DOOR_NOMONSTERS

```pawn
#define SF_DOOR_NOMONSTERS              512         // Monster can't open
```

#### SF_DOOR_SILENT

SF_DOOR_SILENT

```pawn
#define SF_DOOR_SILENT                  0x80000000
```

#### SF_GIBSHOOTER_REPEATABLE

SF_GIBSHOOTER_REPEATABLE

```pawn
#define	SF_GIBSHOOTER_REPEATABLE        1           // Allows a gibshooter to be refired
```

#### SF_FUNNEL_REVERSE

SF_FUNNEL_REVERSE

```pawn
#define SF_FUNNEL_REVERSE               1           // Funnel effect repels particles instead of attracting them
```

#### SF_BUBBLES_STARTOFF

SF_BUBBLES_STARTOFF

```pawn
#define SF_BUBBLES_STARTOFF             0x0001
```

#### SF_BLOOD_RANDOM

SF_BLOOD_RANDOM

```pawn
#define SF_BLOOD_RANDOM                 0x0001
```

#### SF_BLOOD_STREAM

SF_BLOOD_STREAM

```pawn
#define SF_BLOOD_STREAM                 0x0002
```

#### SF_BLOOD_PLAYER

SF_BLOOD_PLAYER

```pawn
#define SF_BLOOD_PLAYER                 0x0004
```

#### SF_BLOOD_DECAL

SF_BLOOD_DECAL

```pawn
#define SF_BLOOD_DECAL                  0x0008
```

#### SF_SHAKE_EVERYONE

SF_SHAKE_EVERYONE

```pawn
#define SF_SHAKE_EVERYONE               0x0001      // Don't check radius
```

#### SF_SHAKE_DISRUPT

SF_SHAKE_DISRUPT

```pawn
#define SF_SHAKE_DISRUPT                0x0002      // Disrupt controls
```

#### SF_SHAKE_INAIR

SF_SHAKE_INAIR

```pawn
#define SF_SHAKE_INAIR                  0x0004      // Shake players in air
```

#### SF_FADE_IN

SF_FADE_IN

```pawn
#define SF_FADE_IN                      0x0001      // Fade in, not out
```

#### SF_FADE_MODULATE

SF_FADE_MODULATE

```pawn
#define SF_FADE_MODULATE                0x0002      // Modulate, don't blend
```

#### SF_FADE_ONLYONE

SF_FADE_ONLYONE

```pawn
#define SF_FADE_ONLYONE                 0x0004
```

#### SF_BEAM_STARTON

SF_BEAM_STARTON

```pawn
#define SF_BEAM_STARTON                 0x0001
```

#### SF_BEAM_TOGGLE

SF_BEAM_TOGGLE

```pawn
#define SF_BEAM_TOGGLE                  0x0002
```

#### SF_BEAM_RANDOM

SF_BEAM_RANDOM

```pawn
#define SF_BEAM_RANDOM                  0x0004
```

#### SF_BEAM_RING

SF_BEAM_RING

```pawn
#define SF_BEAM_RING                    0x0008
```

#### SF_BEAM_SPARKSTART

SF_BEAM_SPARKSTART

```pawn
#define SF_BEAM_SPARKSTART              0x0010
```

#### SF_BEAM_SPARKEND

SF_BEAM_SPARKEND

```pawn
#define SF_BEAM_SPARKEND                0x0020
```

#### SF_BEAM_DECALS

SF_BEAM_DECALS

```pawn
#define SF_BEAM_DECALS                  0x0040
```

#### SF_BEAM_SHADEIN

SF_BEAM_SHADEIN

```pawn
#define SF_BEAM_SHADEIN                 0x0080
```

#### SF_BEAM_SHADEOUT

SF_BEAM_SHADEOUT

```pawn
#define SF_BEAM_SHADEOUT                0x0100
```

#### SF_BEAM_TEMPORARY

SF_BEAM_TEMPORARY

```pawn
#define SF_BEAM_TEMPORARY               0x8000
```

#### SF_SPRITE_STARTON

SF_SPRITE_STARTON

```pawn
#define SF_SPRITE_STARTON               0x0001
```

#### SF_SPRITE_ONCE

SF_SPRITE_ONCE

```pawn
#define SF_SPRITE_ONCE                  0x0002
```

#### SF_SPRITE_TEMPORARY

SF_SPRITE_TEMPORARY

```pawn
#define SF_SPRITE_TEMPORARY             0x8000
```

#### SF_MESSAGE_ONCE

SF_MESSAGE_ONCE

```pawn
#define SF_MESSAGE_ONCE                 0x0001      // Fade in, not out
```

#### SF_MESSAGE_ALL

SF_MESSAGE_ALL

```pawn
#define SF_MESSAGE_ALL                  0x0002      // Send to all clients
```

#### SF_ENVEXPLOSION_NODAMAGE

SF_ENVEXPLOSION_NODAMAGE

```pawn
#define	SF_ENVEXPLOSION_NODAMAGE        (1<<0)      // When set, ENV_EXPLOSION will not actually inflict damage
```

#### SF_ENVEXPLOSION_REPEATABLE

SF_ENVEXPLOSION_REPEATABLE

```pawn
#define	SF_ENVEXPLOSION_REPEATABLE      (1<<1)      // Can this entity be refired?
```

#### SF_ENVEXPLOSION_NOFIREBALL

SF_ENVEXPLOSION_NOFIREBALL

```pawn
#define SF_ENVEXPLOSION_NOFIREBALL      (1<<2)      // Don't draw the fireball
```

#### SF_ENVEXPLOSION_NOSMOKE

SF_ENVEXPLOSION_NOSMOKE

```pawn
#define SF_ENVEXPLOSION_NOSMOKE         (1<<3)      // Don't draw the smoke
```

#### SF_ENVEXPLOSION_NODECAL

SF_ENVEXPLOSION_NODECAL

```pawn
#define SF_ENVEXPLOSION_NODECAL         (1<<4)      // Don't make a scorch mark
```

#### SF_ENVEXPLOSION_NOSPARKS

SF_ENVEXPLOSION_NOSPARKS

```pawn
#define SF_ENVEXPLOSION_NOSPARKS        (1<<5)      // Don't make a scorch mark
```

#### SF_TANK_ACTIVE

SF_TANK_ACTIVE

```pawn
#define SF_TANK_ACTIVE                  0x0001
```

#### SF_TANK_PLAYER

SF_TANK_PLAYER

```pawn
#define SF_TANK_PLAYER                  0x0002
```

#### SF_TANK_HUMANS

SF_TANK_HUMANS

```pawn
#define SF_TANK_HUMANS                  0x0004
```

#### SF_TANK_ALIENS

SF_TANK_ALIENS

```pawn
#define SF_TANK_ALIENS                  0x0008
```

#### SF_TANK_LINEOFSIGHT

SF_TANK_LINEOFSIGHT

```pawn
#define SF_TANK_LINEOFSIGHT             0x0010
```

#### SF_TANK_CANCONTROL

SF_TANK_CANCONTROL

```pawn
#define SF_TANK_CANCONTROL              0x0020
```

#### SF_TANK_SOUNDON

SF_TANK_SOUNDON

```pawn
#define SF_TANK_SOUNDON                 0x8000
```

#### SF_DETONATE

SF_DETONATE

```pawn
#define SF_DETONATE                     0x0001
```

#### SF_SUIT_SHORTLOGON

SF_SUIT_SHORTLOGON

```pawn
#define SF_SUIT_SHORTLOGON              0x0001
```

#### SF_SCORE_NEGATIVE

SF_SCORE_NEGATIVE

```pawn
#define SF_SCORE_NEGATIVE               0x0001
```

#### SF_SCORE_TEAM

SF_SCORE_TEAM

```pawn
#define SF_SCORE_TEAM                   0x0002
```

#### SF_ENVTEXT_ALLPLAYERS

SF_ENVTEXT_ALLPLAYERS

```pawn
#define SF_ENVTEXT_ALLPLAYERS           0x0001
```

#### SF_TEAMMASTER_FIREONCE

SF_TEAMMASTER_FIREONCE

```pawn
#define SF_TEAMMASTER_FIREONCE          0x0001
```

#### SF_TEAMMASTER_ANYTEAM

SF_TEAMMASTER_ANYTEAM

```pawn
#define SF_TEAMMASTER_ANYTEAM           0x0002
```

#### SF_TEAMSET_FIREONCE

SF_TEAMSET_FIREONCE

```pawn
#define SF_TEAMSET_FIREONCE             0x0001
```

#### SF_TEAMSET_CLEARTEAM

SF_TEAMSET_CLEARTEAM

```pawn
#define SF_TEAMSET_CLEARTEAM            0x0002
```

#### SF_PKILL_FIREONCE

SF_PKILL_FIREONCE

```pawn
#define SF_PKILL_FIREONCE               0x0001
```

#### SF_GAMECOUNT_FIREONCE

SF_GAMECOUNT_FIREONCE

```pawn
#define SF_GAMECOUNT_FIREONCE           0x0001
```

#### SF_GAMECOUNT_RESET

SF_GAMECOUNT_RESET

```pawn
#define SF_GAMECOUNT_RESET              0x0002
```

#### SF_PLAYEREQUIP_USEONLY

SF_PLAYEREQUIP_USEONLY

```pawn
#define SF_PLAYEREQUIP_USEONLY          0x0001
```

#### SF_PTEAM_FIREONCE

SF_PTEAM_FIREONCE

```pawn
#define SF_PTEAM_FIREONCE               0x0001
```

#### SF_PTEAM_KILL

SF_PTEAM_KILL

```pawn
#define SF_PTEAM_KILL                   0x0002
```

#### SF_PTEAM_GIB

SF_PTEAM_GIB

```pawn
#define SF_PTEAM_GIB                    0x0004
```

#### SF_PLAT_TOGGLE

SF_PLAT_TOGGLE

```pawn
#define SF_PLAT_TOGGLE                  0x0001
```

#### SF_TRACK_ACTIVATETRAIN

SF_TRACK_ACTIVATETRAIN

```pawn
#define SF_TRACK_ACTIVATETRAIN          0x00000001
```

#### SF_TRACK_RELINK

SF_TRACK_RELINK

```pawn
#define SF_TRACK_RELINK                 0x00000002
```

#### SF_TRACK_ROTMOVE

SF_TRACK_ROTMOVE

```pawn
#define SF_TRACK_ROTMOVE                0x00000004
```

#### SF_TRACK_STARTBOTTOM

SF_TRACK_STARTBOTTOM

```pawn
#define SF_TRACK_STARTBOTTOM            0x00000008
```

#### SF_TRACK_DONT_MOVE

SF_TRACK_DONT_MOVE

```pawn
#define SF_TRACK_DONT_MOVE              0x00000010
```

#### SF_TRACKTRAIN_NOPITCH

SF_TRACKTRAIN_NOPITCH

```pawn
#define SF_TRACKTRAIN_NOPITCH           0x0001
```

#### SF_TRACKTRAIN_NOCONTROL

SF_TRACKTRAIN_NOCONTROL

```pawn
#define SF_TRACKTRAIN_NOCONTROL         0x0002
```

#### SF_TRACKTRAIN_FORWARDONLY

SF_TRACKTRAIN_FORWARDONLY

```pawn
#define SF_TRACKTRAIN_FORWARDONLY       0x0004
```

#### SF_TRACKTRAIN_PASSABLE

SF_TRACKTRAIN_PASSABLE

```pawn
#define SF_TRACKTRAIN_PASSABLE          0x0008
```

#### SF_PATH_DISABLED

SF_PATH_DISABLED

```pawn
#define SF_PATH_DISABLED                0x00000001
```

#### SF_PATH_FIREONCE

SF_PATH_FIREONCE

```pawn
#define SF_PATH_FIREONCE                0x00000002
```

#### SF_PATH_ALTREVERSE

SF_PATH_ALTREVERSE

```pawn
#define SF_PATH_ALTREVERSE              0x00000004
```

#### SF_PATH_DISABLE_TRAIN

SF_PATH_DISABLE_TRAIN

```pawn
#define SF_PATH_DISABLE_TRAIN           0x00000008
```

#### SF_PATH_ALTERNATE

SF_PATH_ALTERNATE

```pawn
#define SF_PATH_ALTERNATE               0x00008000
```

#### SF_CORNER_WAITFORTRIG

SF_CORNER_WAITFORTRIG

```pawn
#define SF_CORNER_WAITFORTRIG           0x001
```

#### SF_CORNER_TELEPORT

SF_CORNER_TELEPORT

```pawn
#define SF_CORNER_TELEPORT              0x002
```

#### SF_CORNER_FIREONCE

SF_CORNER_FIREONCE

```pawn
#define SF_CORNER_FIREONCE              0x004
```

#### SF_TRIGGER_PUSH_START_OFF

SF_TRIGGER_PUSH_START_OFF

```pawn
#define	SF_TRIGGER_PUSH_START_OFF       2           // Spawnflag that makes trigger_push spawn turned OFF
```

#### SF_TRIGGER_HURT_TARGETONCE

SF_TRIGGER_HURT_TARGETONCE

```pawn
#define SF_TRIGGER_HURT_TARGETONCE      1           // Only fire hurt target once
```

#### SF_TRIGGER_HURT_START_OFF

SF_TRIGGER_HURT_START_OFF

```pawn
#define	SF_TRIGGER_HURT_START_OFF       2           // Spawnflag that makes trigger_push spawn turned OFF
```

#### SF_TRIGGER_HURT_NO_CLIENTS

SF_TRIGGER_HURT_NO_CLIENTS

```pawn
#define	SF_TRIGGER_HURT_NO_CLIENTS      8           // Spawnflag that makes trigger_push spawn turned OFF
```

#### SF_TRIGGER_HURT_CLIENTONLYFIRE

SF_TRIGGER_HURT_CLIENTONLYFIRE

```pawn
#define SF_TRIGGER_HURT_CLIENTONLYFIRE	16          // Trigger hurt will only fire its target if it is hurting a client
```

#### SF_TRIGGER_HURT_CLIENTONLYTOUCH

SF_TRIGGER_HURT_CLIENTONLYTOUCH

```pawn
#define SF_TRIGGER_HURT_CLIENTONLYTOUCH 32          // Only clients may touch this trigger
```

#### SF_AUTO_FIREONCE

SF_AUTO_FIREONCE

```pawn
#define SF_AUTO_FIREONCE                0x0001
```

#### SF_RELAY_FIREONCE

SF_RELAY_FIREONCE

```pawn
#define SF_RELAY_FIREONCE               0x0001
```

#### SF_MULTIMAN_CLONE

SF_MULTIMAN_CLONE

```pawn
#define SF_MULTIMAN_CLONE               0x80000000
```

#### SF_MULTIMAN_THREAD

SF_MULTIMAN_THREAD

```pawn
#define SF_MULTIMAN_THREAD              0x00000001
```

#### SF_RENDER_MASKFX

SF_RENDER_MASKFX

```pawn
#define SF_RENDER_MASKFX                (1<<0)
```

#### SF_RENDER_MASKAMT

SF_RENDER_MASKAMT

```pawn
#define SF_RENDER_MASKAMT               (1<<1)
```

#### SF_RENDER_MASKMODE

SF_RENDER_MASKMODE

```pawn
#define SF_RENDER_MASKMODE              (1<<2)
```

#### SF_RENDER_MASKCOLOR

SF_RENDER_MASKCOLOR

```pawn
#define SF_RENDER_MASKCOLOR             (1<<3)
```

#### SF_CHANGELEVEL_USEONLY

SF_CHANGELEVEL_USEONLY

```pawn
#define SF_CHANGELEVEL_USEONLY          0x0002
```

#### SF_ENDSECTION_USEONLY

SF_ENDSECTION_USEONLY

```pawn
#define SF_ENDSECTION_USEONLY           0x0001
```

#### SF_CAMERA_PLAYER_POSITION

SF_CAMERA_PLAYER_POSITION

```pawn
#define SF_CAMERA_PLAYER_POSITION       1
```

#### SF_CAMERA_PLAYER_TARGET

SF_CAMERA_PLAYER_TARGET

```pawn
#define SF_CAMERA_PLAYER_TARGET         2
```

#### SF_CAMERA_PLAYER_TAKECONTROL

SF_CAMERA_PLAYER_TAKECONTROL

```pawn
#define SF_CAMERA_PLAYER_TAKECONTROL    4
```

#### SF_BRUSH_ROTATE_Y_AXIS

SF_BRUSH_ROTATE_Y_AXIS

```pawn
#define SF_BRUSH_ROTATE_Y_AXIS          0
```

#### SF_BRUSH_ROTATE_INSTANT

SF_BRUSH_ROTATE_INSTANT

```pawn
#define SF_BRUSH_ROTATE_INSTANT         1
```

#### SF_BRUSH_ROTATE_BACKWARDS

SF_BRUSH_ROTATE_BACKWARDS

```pawn
#define SF_BRUSH_ROTATE_BACKWARDS       2
```

#### SF_BRUSH_ROTATE_Z_AXIS

SF_BRUSH_ROTATE_Z_AXIS

```pawn
#define SF_BRUSH_ROTATE_Z_AXIS          4
```

#### SF_BRUSH_ROTATE_X_AXIS

SF_BRUSH_ROTATE_X_AXIS

```pawn
#define SF_BRUSH_ROTATE_X_AXIS          8
```

#### SF_PENDULUM_AUTO_RETURN

SF_PENDULUM_AUTO_RETURN

```pawn
#define SF_PENDULUM_AUTO_RETURN         16
```

#### SF_PENDULUM_PASSABLE

SF_PENDULUM_PASSABLE

```pawn
#define	SF_PENDULUM_PASSABLE            32
```

#### SF_BRUSH_ROTATE_SMALLRADIUS

SF_BRUSH_ROTATE_SMALLRADIUS

```pawn
#define SF_BRUSH_ROTATE_SMALLRADIUS     128
```

#### SF_BRUSH_ROTATE_MEDIUMRADIUS

SF_BRUSH_ROTATE_MEDIUMRADIUS

```pawn
#define SF_BRUSH_ROTATE_MEDIUMRADIUS    256
```

#### SF_BRUSH_ROTATE_LARGERADIUS

SF_BRUSH_ROTATE_LARGERADIUS

```pawn
#define SF_BRUSH_ROTATE_LARGERADIUS     512
```

#### SF_TRIGGER_ALLOWMONSTERS

SF_TRIGGER_ALLOWMONSTERS

```pawn
#define	SF_TRIGGER_ALLOWMONSTERS        1           // Monsters allowed to fire this trigger
```

#### SF_TRIGGER_NOCLIENTS

SF_TRIGGER_NOCLIENTS

```pawn
#define	SF_TRIGGER_NOCLIENTS            2           // Players not allowed to fire this trigger
```

#### SF_TRIGGER_PUSHABLES

SF_TRIGGER_PUSHABLES

```pawn
#define SF_TRIGGER_PUSHABLES            4           // Only pushables can fire this trigger
```

#### SF_TRIG_PUSH_ONCE

SF_TRIG_PUSH_ONCE

```pawn
#define SF_TRIG_PUSH_ONCE               1
```

#### SF_BREAK_TRIGGER_ONLY

SF_BREAK_TRIGGER_ONLY

```pawn
#define SF_BREAK_TRIGGER_ONLY           1           // May only be broken by trigger
```

#### SF_BREAK_TOUCH

SF_BREAK_TOUCH

```pawn
#define	SF_BREAK_TOUCH                  2           // Can be 'crashed through' by running player (plate glass)
```

#### SF_BREAK_PRESSURE

SF_BREAK_PRESSURE

```pawn
#define SF_BREAK_PRESSURE               4           // Can be broken by a player standing on it
```

#### SF_BREAK_CROWBAR

SF_BREAK_CROWBAR

```pawn
#define SF_BREAK_CROWBAR                256         // Instant break if hit with crowbar
```

#### SF_PUSH_BREAKABLE

SF_PUSH_BREAKABLE

```pawn
#define SF_PUSH_BREAKABLE               128
```

#### SF_LIGHT_START_OFF

SF_LIGHT_START_OFF

```pawn
#define SF_LIGHT_START_OFF              1
```

#### SPAWNFLAG_NOMESSAGE

SPAWNFLAG_NOMESSAGE

```pawn
#define SPAWNFLAG_NOMESSAGE             1
```

#### SPAWNFLAG_NOTOUCH

SPAWNFLAG_NOTOUCH

```pawn
#define SPAWNFLAG_NOTOUCH               1
```

#### SPAWNFLAG_DROIDONLY

SPAWNFLAG_DROIDONLY

```pawn
#define SPAWNFLAG_DROIDONLY             4
```

#### SPAWNFLAG_USEONLY

SPAWNFLAG_USEONLY

```pawn
#define SPAWNFLAG_USEONLY               1           // Can't be touched, must be used (buttons)
```

#### SF_MONSTER_WAIT_TILL_SEEN

SF_MONSTER_WAIT_TILL_SEEN

```pawn
#define	SF_MONSTER_WAIT_TILL_SEEN       1           // Spawnflag that makes monsters wait until player can see them before attacking
```

#### SF_MONSTER_GAG

SF_MONSTER_GAG

```pawn
#define	SF_MONSTER_GAG                  2           // No idle noises from this monster
```

#### SF_MONSTER_HITMONSTERCLIP

SF_MONSTER_HITMONSTERCLIP

```pawn
#define SF_MONSTER_HITMONSTERCLIP       4
```

#### SF_MONSTER_PRISONER

SF_MONSTER_PRISONER

```pawn
#define SF_MONSTER_PRISONER             16          // Monster won't attack anyone, no one will attacke him
```

#### SF_MONSTER_WAIT_FOR_SCRIPT

SF_MONSTER_WAIT_FOR_SCRIPT

```pawn
#define	SF_MONSTER_WAIT_FOR_SCRIPT      128         // Spawnflag that makes monsters wait to check for attacking until the script is done or they've been attacked
```

#### SF_MONSTER_PREDISASTER

SF_MONSTER_PREDISASTER

```pawn
#define SF_MONSTER_PREDISASTER          256         // This is a predisaster scientist or barney; influences how they speak
```

#### SF_MONSTER_FADECORPSE

SF_MONSTER_FADECORPSE

```pawn
#define SF_MONSTER_FADECORPSE           512         // Fade out corpse after death
```

#### SF_MONSTER_FALL_TO_GROUND

SF_MONSTER_FALL_TO_GROUND

```pawn
#define SF_MONSTER_FALL_TO_GROUND       0x80000000
```

#### SF_MONSTER_TURRET_AUTOACTIVATE

SF_MONSTER_TURRET_AUTOACTIVATE

```pawn
#define SF_MONSTER_TURRET_AUTOACTIVATE  32
```

#### SF_MONSTER_TURRET_STARTINACTIVE

SF_MONSTER_TURRET_STARTINACTIVE

```pawn
#define SF_MONSTER_TURRET_STARTINACTIVE 64
```

#### SF_MONSTER_WAIT_UNTIL_PROVOKED

SF_MONSTER_WAIT_UNTIL_PROVOKED

```pawn
#define SF_MONSTER_WAIT_UNTIL_PROVOKED  64          // Don't attack the player unless provoked
```

#### SF_DECAL_NOTINDEATHMATCH

SF_DECAL_NOTINDEATHMATCH

```pawn
#define SF_DECAL_NOTINDEATHMATCH        2048
```

#### SF_WORLD_DARK

SF_WORLD_DARK

```pawn
#define SF_WORLD_DARK                   0x0001      // Fade from black at startup
```

#### SF_WORLD_TITLE

SF_WORLD_TITLE

```pawn
#define SF_WORLD_TITLE                  0x0002      // Display game title at startup
```

#### SF_WORLD_FORCETEAM

SF_WORLD_FORCETEAM

```pawn
#define SF_WORLD_FORCETEAM              0x0004      // Force teams
```

#### SF_NORESPAWN

SF_NORESPAWN

```pawn
#define SF_NORESPAWN                    (1<<30)
```

#### HLI_HEALTHKIT

HLI_HEALTHKIT

```pawn
#define HLI_HEALTHKIT			1
```

#### HLI_ANTIDOTE

HLI_ANTIDOTE

```pawn
#define HLI_ANTIDOTE			2
```

#### HLI_SECURITY

HLI_SECURITY

```pawn
#define HLI_SECURITY			3
```

#### HLI_BATTERY

HLI_BATTERY

```pawn
#define HLI_BATTERY			4
```

#### HLW_NONE

HLW_NONE

```pawn
#define HLW_NONE			0
```

#### HLW_CROWBAR

HLW_CROWBAR

```pawn
#define HLW_CROWBAR			1
```

#### HLW_GLOCK

HLW_GLOCK

```pawn
#define HLW_GLOCK			2
```

#### HLW_PYTHON

HLW_PYTHON

```pawn
#define HLW_PYTHON			3
```

#### HLW_MP5

HLW_MP5

```pawn
#define HLW_MP5				4
```

#### HLW_CHAINGUN

HLW_CHAINGUN

```pawn
#define HLW_CHAINGUN			5
```

#### HLW_CROSSBOW

HLW_CROSSBOW

```pawn
#define HLW_CROSSBOW			6
```

#### HLW_SHOTGUN

HLW_SHOTGUN

```pawn
#define HLW_SHOTGUN			7
```

#### HLW_RPG

HLW_RPG

```pawn
#define HLW_RPG				8
```

#### HLW_GAUSS

HLW_GAUSS

```pawn
#define HLW_GAUSS			9
```

#### HLW_EGON

HLW_EGON

```pawn
#define HLW_EGON			10
```

#### HLW_HORNETGUN

HLW_HORNETGUN

```pawn
#define HLW_HORNETGUN			11
```

#### HLW_HANDGRENADE

HLW_HANDGRENADE

```pawn
#define HLW_HANDGRENADE			12
```

#### HLW_TRIPMINE

HLW_TRIPMINE

```pawn
#define HLW_TRIPMINE			13
```

#### HLW_SATCHEL

HLW_SATCHEL

```pawn
#define HLW_SATCHEL			14
```

#### HLW_SNARK

HLW_SNARK

```pawn
#define HLW_SNARK			15
```

#### HLW_SUIT

HLW_SUIT

```pawn
#define HLW_SUIT			31
```

#### HLW_ALLWEAPONS

HLW_ALLWEAPONS

```pawn
#define HLW_ALLWEAPONS			(~(1<<HLW_SUIT))
```

#### FEV_NOTHOST

FEV_NOTHOST

```pawn
#define FEV_NOTHOST		(1<<0)	// Skip local host for event send.
```

#### FEV_RELIABLE

FEV_RELIABLE

```pawn
#define FEV_RELIABLE	(1<<1)	// Send the event reliably.  You must specify the origin and angles
```

#### FEV_GLOBAL

FEV_GLOBAL

```pawn
#define FEV_GLOBAL		(1<<2)	// Don't restrict to PAS/PVS, send this event to _everybody_ on the server ( useful for stopping CHAN_STATIC
```

#### FEV_UPDATE

FEV_UPDATE

```pawn
#define FEV_UPDATE		(1<<3)	// If this client already has one of these events in its queue, just update the event instead of sending it as a duplicate
```

#### FEV_HOSTONLY

FEV_HOSTONLY

```pawn
#define	FEV_HOSTONLY	(1<<4)	// Only send to entity specified as the invoker
```

#### FEV_SERVER

FEV_SERVER

```pawn
#define FEV_SERVER		(1<<5)	// Only send if the event was created on the server.
```

#### FEV_CLIENT

FEV_CLIENT

```pawn
#define FEV_CLIENT		(1<<6)	// Only issue event client side ( from shared code )
```

#### FCAP_CUSTOMSAVE

FCAP_CUSTOMSAVE

```pawn
#define		FCAP_CUSTOMSAVE				0x00000001
```

#### FCAP_ACROSS_TRANSITION

FCAP_ACROSS_TRANSITION

```pawn
#define		FCAP_ACROSS_TRANSITION		0x00000002		// should transfer between transitions
```

#### FCAP_MUST_SPAWN

FCAP_MUST_SPAWN

```pawn
#define		FCAP_MUST_SPAWN				0x00000004		// Spawn after restore
```

#### FCAP_DONT_SAVE

FCAP_DONT_SAVE

```pawn
#define		FCAP_DONT_SAVE				0x80000000		// Don't save this
```

#### FCAP_IMPULSE_USE

FCAP_IMPULSE_USE

```pawn
#define		FCAP_IMPULSE_USE			0x00000008		// can be used by the player
```

#### FCAP_CONTINUOUS_USE

FCAP_CONTINUOUS_USE

```pawn
#define		FCAP_CONTINUOUS_USE			0x00000010		// can be used by the player
```

#### FCAP_ONOFF_USE

FCAP_ONOFF_USE

```pawn
#define		FCAP_ONOFF_USE				0x00000020		// can be used by the player
```

#### FCAP_DIRECTIONAL_USE

FCAP_DIRECTIONAL_USE

```pawn
#define		FCAP_DIRECTIONAL_USE		0x00000040		// Player sends +/- 1 when using (currently only tracktrains)
```

#### FCAP_MASTER

FCAP_MASTER

```pawn
#define		FCAP_MASTER					0x00000080		// Can be used to "master" other entities (like multisource)
```

## amxmodx 1.8.2 hg65 / lang.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/lang
- Group: amxmodx 1.8.2 hg65
- Functions: 8
- Documented constants: 1

### Constants

#### TransKey

TransKey

```pawn
enum TransKey
{
	TransKey_Bad = -1,
};
```

### Functions

#### AddTranslation

- Include: `lang.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/lang/function/AddTranslation
- Line: 47

##### Syntax

```pawn
native AddTranslation(const lang[3], TransKey:key, const phrase[]);
```

##### Description

Adds a translation.

#### CreateLangKey

- Include: `lang.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/lang/function/CreateLangKey
- Line: 36

##### Syntax

```pawn
native TransKey:CreateLangKey(const key[]);
```

##### Description

Adds or finds a translation key.

#### GetLangTransKey

- Include: `lang.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/lang/function/GetLangTransKey
- Line: 42

##### Syntax

```pawn
native TransKey:GetLangTransKey(const key[]);
```

##### Description

Finds a translation key id without adding on failure.
Returns -1 on not found.

#### LookupLangKey

- Include: `lang.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/lang/function/LookupLangKey
- Line: 56

##### Syntax

```pawn
native LookupLangKey(Output[], OutputSize, const Key[], const &id);
```

##### Description

Looks up the translation of the key for the given type
This does NOT format the output text.
eg: If the key includes %s, the outputted text will also contain %s.
NOTE: LANG_PLAYER is invalid in this, use a player index
      or LANG_SERVER

#### get_lang

- Include: `lang.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/lang/function/get_lang
- Line: 18

##### Syntax

```pawn
native get_lang(id, name[3]);
```

##### Description

This function has no description.

#### get_langsnum

- Include: `lang.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/lang/function/get_langsnum
- Line: 14

##### Syntax

```pawn
native get_langsnum();
```

##### Description

This function has no description.

#### lang_exists

- Include: `lang.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/lang/function/lang_exists
- Line: 26

##### Syntax

```pawn
native lang_exists(const name[]);
```

##### Description

This function has no description.

#### register_dictionary

- Include: `lang.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/lang/function/register_dictionary
- Line: 23

##### Syntax

```pawn
native register_dictionary(const filename[]);
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / maths.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths
- Group: amxmodx 1.8.2 hg65
- Functions: 14
- Documented constants: 0

### Functions

#### acos

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/acos
- Line: 37

##### Syntax

```pawn
stock Float:acos(Float:value)
```

##### Description

This function has no description.

#### asin

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/asin
- Line: 22

##### Syntax

```pawn
stock Float:asin(Float:value)
```

##### Description

This function has no description.

#### atan

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/atan
- Line: 52

##### Syntax

```pawn
stock Float:atan(Float:value)
```

##### Description

This function has no description.

#### atan2

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/atan2
- Line: 57

##### Syntax

```pawn
stock Float:atan2(Float:value1, Float:value2)
```

##### Description

This function has no description.

#### cos

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/cos
- Line: 42

##### Syntax

```pawn
stock Float:cos(Float:value)
```

##### Description

This function has no description.

#### cosh

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/cosh
- Line: 47

##### Syntax

```pawn
stock Float:cosh(Float:value)
```

##### Description

This function has no description.

#### fabs

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/fabs
- Line: 17

##### Syntax

```pawn
stock Float:fabs(Float:value)
```

##### Description

This function has no description.

#### flog

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/flog
- Line: 82

##### Syntax

```pawn
stock Float:flog(Float:value, Float:base=10.0)
```

##### Description

This function has no description.

#### fpower

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/fpower
- Line: 77

##### Syntax

```pawn
stock Float:fpower(Float:value, Float:exponent)
```

##### Description

This function has no description.

#### fsqroot

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/fsqroot
- Line: 72

##### Syntax

```pawn
stock Float:fsqroot(Float:value)
```

##### Description

This function has no description.

#### sin

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/sin
- Line: 27

##### Syntax

```pawn
stock Float:sin(Float:value)
```

##### Description

This function has no description.

#### sinh

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/sinh
- Line: 32

##### Syntax

```pawn
stock Float:sinh(Float:value)
```

##### Description

This function has no description.

#### tan

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/tan
- Line: 62

##### Syntax

```pawn
stock Float:tan(Float:value)
```

##### Description

This function has no description.

#### tanh

- Include: `maths.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/maths/function/tanh
- Line: 67

##### Syntax

```pawn
stock Float:tanh(Float:value)
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / messages.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages
- Group: amxmodx 1.8.2 hg65
- Functions: 33
- Documented constants: 0

### Functions

#### emessage_begin

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/emessage_begin
- Line: 38

##### Syntax

```pawn
native emessage_begin(dest, msg_type, const origin[3] = {0,0,0}, player = 0);
```

##### Description

These are the same as above, except that the messages sent
 are also sent to all other plugins and Metamod plugins.
This means that if you send one of these messages, other plugins will
 be notified, which was previously impossible.
BE CAREFUL! Using these incorrectly, or not for their intended purpose,
 could cause infinite recursion or something just as bad.
NOTE! These natives are experimental.

#### emessage_end

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/emessage_end
- Line: 39

##### Syntax

```pawn
native emessage_end();
```

##### Description

This function has no description.

#### ewrite_angle

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/ewrite_angle
- Line: 45

##### Syntax

```pawn
native ewrite_angle(x);
```

##### Description

This function has no description.

#### ewrite_byte

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/ewrite_byte
- Line: 40

##### Syntax

```pawn
native ewrite_byte(x);
```

##### Description

This function has no description.

#### ewrite_char

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/ewrite_char
- Line: 41

##### Syntax

```pawn
native ewrite_char(x);
```

##### Description

This function has no description.

#### ewrite_coord

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/ewrite_coord
- Line: 46

##### Syntax

```pawn
native ewrite_coord(x);
```

##### Description

This function has no description.

#### ewrite_entity

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/ewrite_entity
- Line: 44

##### Syntax

```pawn
native ewrite_entity(x);
```

##### Description

This function has no description.

#### ewrite_long

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/ewrite_long
- Line: 43

##### Syntax

```pawn
native ewrite_long(x);
```

##### Description

This function has no description.

#### ewrite_short

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/ewrite_short
- Line: 42

##### Syntax

```pawn
native ewrite_short(x);
```

##### Description

This function has no description.

#### ewrite_string

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/ewrite_string
- Line: 47

##### Syntax

```pawn
native ewrite_string(const x[]);
```

##### Description

This function has no description.

#### get_msg_arg_float

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/get_msg_arg_float
- Line: 84

##### Syntax

```pawn
native Float:get_msg_arg_float(argn);
```

##### Description

This function has no description.

#### get_msg_arg_int

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/get_msg_arg_int
- Line: 83

##### Syntax

```pawn
native get_msg_arg_int(argn);
```

##### Description

Gets the value of argn.

#### get_msg_arg_string

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/get_msg_arg_string
- Line: 85

##### Syntax

```pawn
native get_msg_arg_string(argn, szReturn[], iLength);
```

##### Description

This function has no description.

#### get_msg_args

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/get_msg_args
- Line: 77

##### Syntax

```pawn
native get_msg_args();
```

##### Description

Gets number of arguments that were passed to this message

#### get_msg_argtype

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/get_msg_argtype
- Line: 80

##### Syntax

```pawn
native get_msg_argtype(argn);
```

##### Description

Gets the argument type of argument argn

#### get_msg_block

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/get_msg_block
- Line: 51

##### Syntax

```pawn
native get_msg_block(iMessage);
```

##### Description

This function has no description.

#### get_msg_origin

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/get_msg_origin
- Line: 93

##### Syntax

```pawn
native get_msg_origin(const Float:_Origin[3]);
```

##### Description

Gets the origin of a message

#### message_begin

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/message_begin
- Line: 19

##### Syntax

```pawn
native message_begin(dest, msg_type, const origin[3] = {0,0,0}, player = 0);
```

##### Description

These functinos are used to generate client messages.
You may generate menu, smoke, shockwaves, thunderlights,
intermission and many many others messages.
See HL SDK for more examples.

#### message_end

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/message_end
- Line: 20

##### Syntax

```pawn
native message_end();
```

##### Description

This function has no description.

#### register_message

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/register_message
- Line: 60

##### Syntax

```pawn
native register_message(iMsgId, const szFunction[]);
```

##### Description

Lets you directly hook a message in the engine!
You can overwrite the message before anything happens and either let the message continue
or fully block it. Here is how it works:
If you hook a message, the message is stored but not sent. You have the opportunity to
not only execute code, but to get/set the contents of the message, before you choose to
either block it or let it go on its way. The hooked function will be passed a msg_id, msg_dest, and entity index.
The return value can be passed to unregister_message() to stop the message from being hooked

#### set_msg_arg_float

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/set_msg_arg_float
- Line: 89

##### Syntax

```pawn
native set_msg_arg_float(argn, argtype, Float:fValue);
```

##### Description

This function has no description.

#### set_msg_arg_int

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/set_msg_arg_int
- Line: 88

##### Syntax

```pawn
native set_msg_arg_int(argn, argtype, iValue);
```

##### Description

sets the value of argn.

#### set_msg_arg_string

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/set_msg_arg_string
- Line: 90

##### Syntax

```pawn
native set_msg_arg_string(argn, const szString[]);
```

##### Description

This function has no description.

#### set_msg_block

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/set_msg_block
- Line: 50

##### Syntax

```pawn
native set_msg_block(iMessage, iMessageFlags);
```

##### Description

Sets/Gets what engine messages are blocked.

#### unregister_message

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/unregister_message
- Line: 64

##### Syntax

```pawn
native unregister_message(iMsgId, registeredmsg);
```

##### Description

Unregisters a message hook previously created with register_message
You must pass the proper message id, and return value from the message to unregister the message successfully.

#### write_angle

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/write_angle
- Line: 26

##### Syntax

```pawn
native write_angle(x);
```

##### Description

This function has no description.

#### write_byte

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/write_byte
- Line: 21

##### Syntax

```pawn
native write_byte(x);
```

##### Description

This function has no description.

#### write_char

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/write_char
- Line: 22

##### Syntax

```pawn
native write_char(x);
```

##### Description

This function has no description.

#### write_coord

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/write_coord
- Line: 27

##### Syntax

```pawn
native write_coord(x);
```

##### Description

This function has no description.

#### write_entity

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/write_entity
- Line: 25

##### Syntax

```pawn
native write_entity(x);
```

##### Description

This function has no description.

#### write_long

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/write_long
- Line: 24

##### Syntax

```pawn
native write_long(x);
```

##### Description

This function has no description.

#### write_short

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/write_short
- Line: 23

##### Syntax

```pawn
native write_short(x);
```

##### Description

This function has no description.

#### write_string

- Include: `messages.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/messages/function/write_string
- Line: 28

##### Syntax

```pawn
native write_string(const x[]);
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / message_const.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/message_const
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 162

### Constants

#### MSG_BROADCAST

MSG_BROADCAST

```pawn
#define	MSG_BROADCAST               0        // Unreliable to all
```

#### MSG_ONE

MSG_ONE

```pawn
#define	MSG_ONE                     1        // Reliable to one (msg_entity)
```

#### MSG_ALL

MSG_ALL

```pawn
#define	MSG_ALL                     2        // Reliable to all
```

#### MSG_INIT

MSG_INIT

```pawn
#define	MSG_INIT                    3        // Write to the init string
```

#### MSG_PVS

MSG_PVS

```pawn
#define MSG_PVS                     4        // Ents in PVS of org
```

#### MSG_PAS

MSG_PAS

```pawn
#define MSG_PAS                     5        // Ents in PAS of org
```

#### MSG_PVS_R

MSG_PVS_R

```pawn
#define MSG_PVS_R                   6        // Reliable to PVS
```

#### MSG_PAS_R

MSG_PAS_R

```pawn
#define MSG_PAS_R                   7        // Reliable to PAS
```

#### MSG_ONE_UNRELIABLE

MSG_ONE_UNRELIABLE

```pawn
#define MSG_ONE_UNRELIABLE          8        // Send to one client, but don't put in reliable stream, put in unreliable datagram (could be dropped)
```

#### MSG_SPEC

MSG_SPEC

```pawn
#define	MSG_SPEC                    9        // Sends to all spectator proxies
```

#### SVC_NOP

SVC_NOP

```pawn
#define SVC_NOP						1
```

#### SVC_DISCONNECT

SVC_DISCONNECT

```pawn
#define SVC_DISCONNECT				2
```

#### SVC_EVENT

SVC_EVENT

```pawn
#define SVC_EVENT					3
```

#### SVC_VERSION

SVC_VERSION

```pawn
#define SVC_VERSION					4
```

#### SVC_SETVIEW

SVC_SETVIEW

```pawn
#define SVC_SETVIEW					5
```

#### SVC_SOUND

SVC_SOUND

```pawn
#define SVC_SOUND					6
```

#### SVC_TIME

SVC_TIME

```pawn
#define SVC_TIME					7
```

#### SVC_PRINT

SVC_PRINT

```pawn
#define SVC_PRINT					8
```

#### SVC_STUFFTEXT

SVC_STUFFTEXT

```pawn
#define SVC_STUFFTEXT				9
```

#### SVC_SETANGLE

SVC_SETANGLE

```pawn
#define SVC_SETANGLE				10
```

#### SVC_SERVERINFO

SVC_SERVERINFO

```pawn
#define SVC_SERVERINFO				11
```

#### SVC_LIGHTSTYLE

SVC_LIGHTSTYLE

```pawn
#define SVC_LIGHTSTYLE				12
```

#### SVC_UPDATEUSERINFO

SVC_UPDATEUSERINFO

```pawn
#define SVC_UPDATEUSERINFO			13
```

#### SVC_DELTADESCRIPTION

SVC_DELTADESCRIPTION

```pawn
#define SVC_DELTADESCRIPTION		14
```

#### SVC_CLIENTDATA

SVC_CLIENTDATA

```pawn
#define SVC_CLIENTDATA				15
```

#### SVC_STOPSOUND

SVC_STOPSOUND

```pawn
#define SVC_STOPSOUND				16
```

#### SVC_PINGS

SVC_PINGS

```pawn
#define SVC_PINGS					17
```

#### SVC_PARTICLE

SVC_PARTICLE

```pawn
#define SVC_PARTICLE				18
```

#### SVC_DAMAGE

SVC_DAMAGE

```pawn
#define SVC_DAMAGE					19
```

#### SVC_SPAWNSTATIC

SVC_SPAWNSTATIC

```pawn
#define SVC_SPAWNSTATIC				20
```

#### SVC_EVENT_RELIABLE

SVC_EVENT_RELIABLE

```pawn
#define SVC_EVENT_RELIABLE			21
```

#### SVC_SPAWNBASELINE

SVC_SPAWNBASELINE

```pawn
#define SVC_SPAWNBASELINE			22
```

#### SVC_TEMPENTITY

SVC_TEMPENTITY

```pawn
#define SVC_TEMPENTITY				23
```

#### SVC_SETPAUSE

SVC_SETPAUSE

```pawn
#define SVC_SETPAUSE				24
```

#### SVC_SIGNONNUM

SVC_SIGNONNUM

```pawn
#define SVC_SIGNONNUM				25
```

#### SVC_CENTERPRINT

SVC_CENTERPRINT

```pawn
#define SVC_CENTERPRINT				26
```

#### SVC_KILLEDMONSTER

SVC_KILLEDMONSTER

```pawn
#define SVC_KILLEDMONSTER			27
```

#### SVC_FOUNDSECRET

SVC_FOUNDSECRET

```pawn
#define SVC_FOUNDSECRET				28
```

#### SVC_SPAWNSTATICSOUND

SVC_SPAWNSTATICSOUND

```pawn
#define SVC_SPAWNSTATICSOUND		29
```

#### SVC_INTERMISSION

SVC_INTERMISSION

```pawn
#define SVC_INTERMISSION			30
```

#### SVC_FINALE

SVC_FINALE

```pawn
#define SVC_FINALE					31
```

#### SVC_CDTRACK

SVC_CDTRACK

```pawn
#define SVC_CDTRACK					32
```

#### SVC_RESTORE

SVC_RESTORE

```pawn
#define SVC_RESTORE					33
```

#### SVC_CUTSCENE

SVC_CUTSCENE

```pawn
#define SVC_CUTSCENE				34
```

#### SVC_WEAPONANIM

SVC_WEAPONANIM

```pawn
#define SVC_WEAPONANIM				35
```

#### SVC_DECALNAME

SVC_DECALNAME

```pawn
#define SVC_DECALNAME				36
```

#### SVC_ROOMTYPE

SVC_ROOMTYPE

```pawn
#define SVC_ROOMTYPE				37
```

#### SVC_ADDANGLE

SVC_ADDANGLE

```pawn
#define SVC_ADDANGLE				38
```

#### SVC_NEWUSERMSG

SVC_NEWUSERMSG

```pawn
#define SVC_NEWUSERMSG				39
```

#### SVC_PACKETENTITIES

SVC_PACKETENTITIES

```pawn
#define SVC_PACKETENTITIES			40
```

#### SVC_DELTAPACKETENTITIES

SVC_DELTAPACKETENTITIES

```pawn
#define SVC_DELTAPACKETENTITIES		41
```

#### SVC_CHOKE

SVC_CHOKE

```pawn
#define SVC_CHOKE					42
```

#### SVC_RESOURCELIST

SVC_RESOURCELIST

```pawn
#define SVC_RESOURCELIST			43
```

#### SVC_NEWMOVEVARS

SVC_NEWMOVEVARS

```pawn
#define SVC_NEWMOVEVARS				44
```

#### SVC_RESOURCEREQUEST

SVC_RESOURCEREQUEST

```pawn
#define SVC_RESOURCEREQUEST			45
```

#### SVC_CUSTOMIZATION

SVC_CUSTOMIZATION

```pawn
#define SVC_CUSTOMIZATION			46
```

#### SVC_CROSSHAIRANGLE

SVC_CROSSHAIRANGLE

```pawn
#define SVC_CROSSHAIRANGLE			47
```

#### SVC_SOUNDFADE

SVC_SOUNDFADE

```pawn
#define SVC_SOUNDFADE				48
```

#### SVC_FILETXFERFAILED

SVC_FILETXFERFAILED

```pawn
#define SVC_FILETXFERFAILED			49
```

#### SVC_HLTV

SVC_HLTV

```pawn
#define SVC_HLTV					50
```

#### SVC_DIRECTOR

SVC_DIRECTOR

```pawn
#define SVC_DIRECTOR				51
```

#### SVC_VOICEINIT

SVC_VOICEINIT

```pawn
#define SVC_VOICEINIT				52
```

#### SVC_VOICEDATA

SVC_VOICEDATA

```pawn
#define SVC_VOICEDATA				53
```

#### SVC_SENDEXTRAINFO

SVC_SENDEXTRAINFO

```pawn
#define SVC_SENDEXTRAINFO			54
```

#### SVC_TIMESCALE

SVC_TIMESCALE

```pawn
#define SVC_TIMESCALE				55
```

#### BLOCK_NOT

BLOCK_NOT

```pawn
#define BLOCK_NOT                   0
```

#### BLOCK_ONCE

BLOCK_ONCE

```pawn
#define BLOCK_ONCE                  1
```

#### BLOCK_SET

BLOCK_SET

```pawn
#define BLOCK_SET                   2
```

#### Used with get_msg_argtype() and set_msg_arg_

Used with get_msg_argtype() and set_msg_arg_

```pawn
enum
{
	ARG_BYTE = 1,       /* int */
	ARG_CHAR,           /* int */
	ARG_SHORT,          /* int */
	ARG_LONG,           /* int */
	ARG_ANGLE,          /* float */
	ARG_COORD,          /* float */
	ARG_STRING,         /* string */
	ARG_ENTITY,         /* int */
};
```

#### TE_BEAMPOINTS

TE_BEAMPOINTS

```pawn
#define	TE_BEAMPOINTS               0        // Beam effect between two points
```

#### TE_BEAMENTPOINT

TE_BEAMENTPOINT

```pawn
#define	TE_BEAMENTPOINT             1        // Beam effect between point and entity
```

#### TE_GUNSHOT

TE_GUNSHOT

```pawn
#define	TE_GUNSHOT                  2        // Particle effect plus ricochet sound
```

#### TE_EXPLOSION

TE_EXPLOSION

```pawn
#define	TE_EXPLOSION                3        // Additive sprite, 2 dynamic lights, flickering particles, explosion sound, move vertically 8 pps
```

#### TE_EXPLFLAG_NONE

TE_EXPLFLAG_NONE

```pawn
#define TE_EXPLFLAG_NONE            0        // All flags clear makes default Half-Life explosion
```

#### TE_EXPLFLAG_NOADDITIVE

TE_EXPLFLAG_NOADDITIVE

```pawn
#define TE_EXPLFLAG_NOADDITIVE      1        // Sprite will be drawn opaque (ensure that the sprite you send is a non-additive sprite)
```

#### TE_EXPLFLAG_NODLIGHTS

TE_EXPLFLAG_NODLIGHTS

```pawn
#define TE_EXPLFLAG_NODLIGHTS       2        // Do not render dynamic lights
```

#### TE_EXPLFLAG_NOSOUND

TE_EXPLFLAG_NOSOUND

```pawn
#define TE_EXPLFLAG_NOSOUND         4        // Do not play client explosion sound
```

#### TE_EXPLFLAG_NOPARTICLES

TE_EXPLFLAG_NOPARTICLES

```pawn
#define TE_EXPLFLAG_NOPARTICLES     8        // Do not draw particles
```

#### TE_TAREXPLOSION

TE_TAREXPLOSION

```pawn
#define	TE_TAREXPLOSION             4        // Quake1 "tarbaby" explosion with sound
```

#### TE_SMOKE

TE_SMOKE

```pawn
#define	TE_SMOKE                    5        // Alphablend sprite, move vertically 30 pps
```

#### TE_TRACER

TE_TRACER

```pawn
#define	TE_TRACER                   6        // Tracer effect from point to point
```

#### TE_LIGHTNING

TE_LIGHTNING

```pawn
#define	TE_LIGHTNING                7        // TE_BEAMPOINTS with simplified parameters
```

#### TE_BEAMENTS

TE_BEAMENTS

```pawn
#define	TE_BEAMENTS                 8
```

#### TE_SPARKS

TE_SPARKS

```pawn
#define	TE_SPARKS                   9        // 8 random tracers with gravity, ricochet sprite
```

#### TE_LAVASPLASH

TE_LAVASPLASH

```pawn
#define	TE_LAVASPLASH               10       // Quake1 lava splash
```

#### TE_TELEPORT

TE_TELEPORT

```pawn
#define	TE_TELEPORT                 11       // Quake1 teleport splash
```

#### TE_EXPLOSION2

TE_EXPLOSION2

```pawn
#define TE_EXPLOSION2               12       // Quake1 colormaped (base palette) particle explosion with sound
```

#### TE_BSPDECAL

TE_BSPDECAL

```pawn
#define TE_BSPDECAL                 13       // Decal from the .BSP file
```

#### TE_IMPLOSION

TE_IMPLOSION

```pawn
#define TE_IMPLOSION                14       // Tracers moving toward a point
```

#### TE_SPRITETRAIL

TE_SPRITETRAIL

```pawn
#define TE_SPRITETRAIL              15       // Line of moving glow sprites with gravity, fadeout, and collisions
```

#### TE_SPRITE

TE_SPRITE

```pawn
#define TE_SPRITE                   17       // Additive sprite, plays 1 cycle
```

#### TE_BEAMSPRITE

TE_BEAMSPRITE

```pawn
#define TE_BEAMSPRITE               18       // A beam with a sprite at the end
```

#### TE_BEAMTORUS

TE_BEAMTORUS

```pawn
#define TE_BEAMTORUS                19       // Screen aligned beam ring, expands to max radius over lifetime
```

#### TE_BEAMDISK

TE_BEAMDISK

```pawn
#define TE_BEAMDISK                 20       // Disk that expands to max radius over lifetime
```

#### TE_BEAMCYLINDER

TE_BEAMCYLINDER

```pawn
#define TE_BEAMCYLINDER             21       // Cylinder that expands to max radius over lifetime
```

#### TE_BEAMFOLLOW

TE_BEAMFOLLOW

```pawn
#define TE_BEAMFOLLOW               22       // Create a line of decaying beam segments until entity stops moving
```

#### TE_GLOWSPRITE

TE_GLOWSPRITE

```pawn
#define TE_GLOWSPRITE               23
```

#### TE_BEAMRING

TE_BEAMRING

```pawn
#define TE_BEAMRING                 24       // Connect a beam ring to two entities
```

#### TE_STREAK_SPLASH

TE_STREAK_SPLASH

```pawn
#define TE_STREAK_SPLASH            25       // Oriented shower of tracers
```

#### TE_DLIGHT

TE_DLIGHT

```pawn
#define TE_DLIGHT                   27       // Dynamic light, effect world, minor entity effect
```

#### TE_ELIGHT

TE_ELIGHT

```pawn
#define TE_ELIGHT                   28       // Point entity light, no world effect
```

#### TE_TEXTMESSAGE

TE_TEXTMESSAGE

```pawn
#define TE_TEXTMESSAGE              29
```

#### TE_LINE

TE_LINE

```pawn
#define TE_LINE                     30
```

#### TE_BOX

TE_BOX

```pawn
#define TE_BOX                      31
```

#### TE_KILLBEAM

TE_KILLBEAM

```pawn
#define TE_KILLBEAM                 99       // Kill all beams attached to entity
```

#### TE_LARGEFUNNEL

TE_LARGEFUNNEL

```pawn
#define TE_LARGEFUNNEL              100
```

#### TE_BLOODSTREAM

TE_BLOODSTREAM

```pawn
#define	TE_BLOODSTREAM              101      // Particle spray
```

#### TE_SHOWLINE

TE_SHOWLINE

```pawn
#define	TE_SHOWLINE                 102      // Line of particles every 5 units, dies in 30 seconds
```

#### TE_BLOOD

TE_BLOOD

```pawn
#define TE_BLOOD                    103      // Particle spray
```

#### TE_DECAL

TE_DECAL

```pawn
#define TE_DECAL                    104      // Decal applied to a brush entity (not the world)
```

#### TE_FIZZ

TE_FIZZ

```pawn
#define TE_FIZZ                     105      // Create alpha sprites inside of entity, float upwards
```

#### TE_MODEL

TE_MODEL

```pawn
#define TE_MODEL                    106      // Create a moving model that bounces and makes a sound when it hits
```

#### TE_EXPLODEMODEL

TE_EXPLODEMODEL

```pawn
#define TE_EXPLODEMODEL             107      // Spherical shower of models, picks from set
```

#### TE_BREAKMODEL

TE_BREAKMODEL

```pawn
#define TE_BREAKMODEL               108      // Box of models or sprites
```

#### TE_GUNSHOTDECAL

TE_GUNSHOTDECAL

```pawn
#define TE_GUNSHOTDECAL             109      // Decal and ricochet sound
```

#### TE_SPRITE_SPRAY

TE_SPRITE_SPRAY

```pawn
#define TE_SPRITE_SPRAY             110      // Spray of alpha sprites
```

#### TE_ARMOR_RICOCHET

TE_ARMOR_RICOCHET

```pawn
#define TE_ARMOR_RICOCHET           111      // Quick spark sprite, client ricochet sound.
```

#### TE_PLAYERDECAL

TE_PLAYERDECAL

```pawn
#define TE_PLAYERDECAL              112
```

#### TE_BUBBLES

TE_BUBBLES

```pawn
#define TE_BUBBLES                  113      // Create alpha sprites inside of box, float upwards
```

#### TE_BUBBLETRAIL

TE_BUBBLETRAIL

```pawn
#define TE_BUBBLETRAIL              114      // Create alpha sprites along a line, float upwards
```

#### TE_BLOODSPRITE

TE_BLOODSPRITE

```pawn
#define TE_BLOODSPRITE              115      // Spray of opaque sprite1's that fall, single sprite2 for 1..2 secs (this is a high-priority tent)
```

#### TE_WORLDDECAL

TE_WORLDDECAL

```pawn
#define TE_WORLDDECAL               116      // Decal applied to the world brush
```

#### TE_WORLDDECALHIGH

TE_WORLDDECALHIGH

```pawn
#define TE_WORLDDECALHIGH           117      // Decal (with texture index > 256) applied to world brush
```

#### TE_DECALHIGH

TE_DECALHIGH

```pawn
#define TE_DECALHIGH                118      // Same as TE_DECAL, but the texture index was greater than 256
```

#### TE_PROJECTILE

TE_PROJECTILE

```pawn
#define TE_PROJECTILE               119      // Makes a projectile (like a nail) (this is a high-priority tent)
```

#### TE_SPRAY

TE_SPRAY

```pawn
#define TE_SPRAY                    120      // Throws a shower of sprites or models
```

#### TE_PLAYERSPRITES

TE_PLAYERSPRITES

```pawn
#define TE_PLAYERSPRITES            121      // Sprites emit from a player's bounding box (ONLY use for players!)
```

#### TE_PARTICLEBURST

TE_PARTICLEBURST

```pawn
#define TE_PARTICLEBURST            122      // Very similar to lavasplash
```

#### TE_FIREFIELD

TE_FIREFIELD

```pawn
#define TE_FIREFIELD                123      // Makes a field of fire
```

#### TEFIRE_FLAG_ALLFLOAT

TEFIRE_FLAG_ALLFLOAT

```pawn
#define TEFIRE_FLAG_ALLFLOAT        1        // All sprites will drift upwards as they animate
```

#### TEFIRE_FLAG_SOMEFLOAT

TEFIRE_FLAG_SOMEFLOAT

```pawn
#define TEFIRE_FLAG_SOMEFLOAT       2        // Some of the sprites will drift upwards. (50% chance)
```

#### TEFIRE_FLAG_LOOP

TEFIRE_FLAG_LOOP

```pawn
#define TEFIRE_FLAG_LOOP            4        // If set, sprite plays at 15 fps, otherwise plays at whatever rate stretches the animation over the sprite's duration.
```

#### TEFIRE_FLAG_ALPHA

TEFIRE_FLAG_ALPHA

```pawn
#define TEFIRE_FLAG_ALPHA           8        // If set, sprite is rendered alpha blended at 50% else, opaque
```

#### TEFIRE_FLAG_PLANAR

TEFIRE_FLAG_PLANAR

```pawn
#define TEFIRE_FLAG_PLANAR          16       // If set, all fire sprites have same initial Z instead of randomly filling a cube.
```

#### TE_PLAYERATTACHMENT

TE_PLAYERATTACHMENT

```pawn
#define TE_PLAYERATTACHMENT         124      // Attaches a TENT to a player (this is a high-priority tent)
```

#### TE_KILLPLAYERATTACHMENTS

TE_KILLPLAYERATTACHMENTS

```pawn
#define TE_KILLPLAYERATTACHMENTS    125      // Will expire all TENTS attached to a player.
```

#### TE_MULTIGUNSHOT

TE_MULTIGUNSHOT

```pawn
#define TE_MULTIGUNSHOT             126      // Much more compact shotgun message
```

#### TE_USERTRACER

TE_USERTRACER

```pawn
#define TE_USERTRACER               127      // Larger message than the standard tracer, but allows some customization.
```

#### DRC_CMD_NONE

DRC_CMD_NONE

```pawn
#define DRC_CMD_NONE				0	// NULL director command
```

#### DRC_CMD_START

DRC_CMD_START

```pawn
#define DRC_CMD_START				1	// start director mode
```

#### DRC_CMD_EVENT

DRC_CMD_EVENT

```pawn
#define DRC_CMD_EVENT				2	// informs about director command
```

#### DRC_CMD_MODE

DRC_CMD_MODE

```pawn
#define DRC_CMD_MODE				3	// switches camera modes
```

#### DRC_CMD_CAMERA

DRC_CMD_CAMERA

```pawn
#define DRC_CMD_CAMERA				4	// sets camera registers
```

#### DRC_CMD_TIMESCALE

DRC_CMD_TIMESCALE

```pawn
#define DRC_CMD_TIMESCALE			5	// sets time scale
```

#### DRC_CMD_MESSAGE

DRC_CMD_MESSAGE

```pawn
#define DRC_CMD_MESSAGE				6	// send HUD centerprint
```

#### DRC_CMD_SOUND

DRC_CMD_SOUND

```pawn
#define DRC_CMD_SOUND				7	// plays a particular sound
```

#### DRC_CMD_STATUS

DRC_CMD_STATUS

```pawn
#define DRC_CMD_STATUS				8	// status info about broadcast
```

#### DRC_CMD_BANNER

DRC_CMD_BANNER

```pawn
#define DRC_CMD_BANNER				9	// banner file name for HLTV gui
```

#### DRC_CMD_FADE

DRC_CMD_FADE

```pawn
#define	DRC_CMD_FADE				10	// send screen fade command
```

#### DRC_CMD_SHAKE

DRC_CMD_SHAKE

```pawn
#define DRC_CMD_SHAKE				11	// send screen shake command
```

#### DRC_CMD_STUFFTEXT

DRC_CMD_STUFFTEXT

```pawn
#define DRC_CMD_STUFFTEXT			12	// like the normal svc_stufftext but as director command
```

#### DRC_CMD_LAST

DRC_CMD_LAST

```pawn
#define DRC_CMD_LAST				12
```

#### DRC_FLAG_PRIO_MASK

DRC_FLAG_PRIO_MASK

```pawn
#define DRC_FLAG_PRIO_MASK		0x0F	// priorities between 0 and 15 (15 most important)
```

#### DRC_FLAG_SIDE

DRC_FLAG_SIDE

```pawn
#define DRC_FLAG_SIDE			(1<<4)	//
```

#### DRC_FLAG_DRAMATIC

DRC_FLAG_DRAMATIC

```pawn
#define DRC_FLAG_DRAMATIC		(1<<5)	// is a dramatic scene
```

#### DRC_FLAG_SLOWMOTION

DRC_FLAG_SLOWMOTION

```pawn
#define DRC_FLAG_SLOWMOTION		(1<<6)  // would look good in SloMo
```

#### DRC_FLAG_FACEPLAYER

DRC_FLAG_FACEPLAYER

```pawn
#define DRC_FLAG_FACEPLAYER		(1<<7)  // player is doning something (reload/defuse bomb etc)
```

#### DRC_FLAG_INTRO

DRC_FLAG_INTRO

```pawn
#define DRC_FLAG_INTRO			(1<<8)	// is a introduction scene
```

#### DRC_FLAG_FINAL

DRC_FLAG_FINAL

```pawn
#define DRC_FLAG_FINAL			(1<<9)	// is a final scene
```

#### DRC_FLAG_NO_RANDOM

DRC_FLAG_NO_RANDOM

```pawn
#define DRC_FLAG_NO_RANDOM		(1<<10)	// don't randomize event data
```

#### MAX_DIRECTOR_CMD_PARAMETERS

MAX_DIRECTOR_CMD_PARAMETERS

```pawn
#define MAX_DIRECTOR_CMD_PARAMETERS		4
```

#### MAX_DIRECTOR_CMD_STRING

MAX_DIRECTOR_CMD_STRING

```pawn
#define MAX_DIRECTOR_CMD_STRING			128
```

## amxmodx 1.8.2 hg65 / message_stocks.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/message_stocks
- Group: amxmodx 1.8.2 hg65
- Functions: 3
- Documented constants: 0

### Functions

#### dod_make_deathmsg

- Include: `message_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/message_stocks/function/dod_make_deathmsg
- Line: 15

##### Syntax

```pawn
stock dod_make_deathmsg(killer, victim, weaponNUM)
```

##### Description

Creates a death message.

#### make_deathmsg

- Include: `message_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/message_stocks/function/make_deathmsg
- Line: 44

##### Syntax

```pawn
stock make_deathmsg(killer, victim, headshot, const weapon[])
```

##### Description

Creates a death message.

#### user_silentkill

- Include: `message_stocks.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/message_stocks/function/user_silentkill
- Line: 27

##### Syntax

```pawn
stock user_silentkill(index)
```

##### Description

Kills a user without a message.

## amxmodx 1.8.2 hg65 / mysql.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql
- Group: amxmodx 1.8.2 hg65
- Functions: 12
- Documented constants: 0

### Functions

#### mysql_affected_rows

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_affected_rows
- Line: 16

##### Syntax

```pawn
native mysql_affected_rows(sql);
```

##### Description

This function has no description.

#### mysql_close

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_close
- Line: 12

##### Syntax

```pawn
native mysql_close(sql);
```

##### Description

This function has no description.

#### mysql_connect

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_connect
- Line: 9

##### Syntax

```pawn
native mysql_connect(host[], user[], pass[], dbname[], error[], maxlength);
```

##### Description

This function has no description.

#### mysql_error

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_error
- Line: 11

##### Syntax

```pawn
native mysql_error(sql, dest[], maxlength);
```

##### Description

This function has no description.

#### mysql_field_name

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_field_name
- Line: 19

##### Syntax

```pawn
native mysql_field_name(sql, field, name[], length);
```

##### Description

This function has no description.

#### mysql_getfield

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_getfield
- Line: 14

##### Syntax

```pawn
native mysql_getfield(sql, fieldnum, {Float,_}:... );
```

##### Description

This function has no description.

#### mysql_getresult

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_getresult
- Line: 15

##### Syntax

```pawn
native mysql_getresult(sql, field[], {Float,_}:... );
```

##### Description

This function has no description.

#### mysql_insert_id

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_insert_id
- Line: 20

##### Syntax

```pawn
native mysql_insert_id(sql);
```

##### Description

This function has no description.

#### mysql_nextrow

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_nextrow
- Line: 13

##### Syntax

```pawn
native mysql_nextrow(sql);
```

##### Description

This function has no description.

#### mysql_num_fields

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_num_fields
- Line: 17

##### Syntax

```pawn
native mysql_num_fields(sql);
```

##### Description

This function has no description.

#### mysql_num_rows

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_num_rows
- Line: 18

##### Syntax

```pawn
native mysql_num_rows(sql);
```

##### Description

This function has no description.

#### mysql_query

- Include: `mysql.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/mysql/function/mysql_query
- Line: 10

##### Syntax

```pawn
native mysql_query(sql, query[], {Float,_}:... );
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / newmenus.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus
- Group: amxmodx 1.8.2 hg65
- Functions: 17
- Documented constants: 15

### Constants

#### MEXIT_ALL

MEXIT_ALL

```pawn
#define MEXIT_ALL		1		/* Menu will have an exit option (default)*/
```

#### MEXIT_NEVER

MEXIT_NEVER

```pawn
#define MEXIT_NEVER		-1		/* Menu will not have an exit option */
```

#### MPROP_PERPAGE

MPROP_PERPAGE

```pawn
#define MPROP_PERPAGE	1		/* Number of items per page (param1 = number, 0=no paginating, 7=default) */
```

#### MPROP_BACKNAME

MPROP_BACKNAME

```pawn
#define MPROP_BACKNAME	2		/* Name of the back button (param1 = string) */
```

#### MPROP_NEXTNAME

MPROP_NEXTNAME

```pawn
#define MPROP_NEXTNAME	3		/* Name of the next button (param1 = string) */
```

#### MPROP_EXITNAME

MPROP_EXITNAME

```pawn
#define MPROP_EXITNAME	4		/* Name of the exit button (param1 = string) */
```

#### MPROP_TITLE

MPROP_TITLE

```pawn
#define MPROP_TITLE		5		/* Menu title text (param1 = string) */
```

#### MPROP_EXIT

MPROP_EXIT

```pawn
#define MPROP_EXIT		6		/* Exit functionality (param1 = number, see MEXIT constants) */
```

#### MPROP_NOCOLORS

MPROP_NOCOLORS

```pawn
#define MPROP_NOCOLORS	8		/* Sets whether colors are not auto (param1 = number, 0=default) */
```

#### MPROP_NUMBER_COLOR

MPROP_NUMBER_COLOR

```pawn
#define MPROP_NUMBER_COLOR	10	/* Color indicator to use for numbers (param1 = string, "\r"=default) */
```

#### MEXIT_NORMAL

MEXIT_NORMAL

```pawn
#define MEXIT_NORMAL	0		/* DEPRECATED, do not use (has no effect) */
```

#### MENUPAD_NONE

MENUPAD_NONE

```pawn
#define MENUPAD_NONE	0		/* DEPRECATED, do not use (has no effect) */
```

#### MENUPAD_PAGE

MENUPAD_PAGE

```pawn
#define MENUPAD_PAGE	1		/* DEPRECATED, do not use (has no effect) */
```

#### MPROP_ORDER

MPROP_ORDER

```pawn
#define MPROP_ORDER		7		/* DEPRECATED, do not use (has no effect) */
```

#### MPROP_PADMENU

MPROP_PADMENU

```pawn
#define MPROP_PADMENU	9		/* DEPRECATED, do not use (has no effect) */
```

### Functions

#### menu_addblank

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_addblank
- Line: 228

##### Syntax

```pawn
native menu_addblank(menu, slot=1);
```

##### Description

Adds a blank line to a menu.

##### Parameters

- `menu`: Menu resource identifier.
- `slot`: 1 (default) if the line should shift the numbering down.
0 if the line should be a visual shift only.

##### Return

This function has no return value.

##### Error

Invalid menu resource.

#### menu_additem

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_additem
- Line: 89

##### Syntax

```pawn
native menu_additem(menu, const name[], const info[]="", paccess=0, callback=-1);
```

##### Description

Adds an menu to a menu.

##### Parameters

- `menu`: Menu resource identifier.
- `name`: Item text to display.
- `info`: Item info string for internal information.
- `paccess`: Access required by the player viewing the menu.
- `callback`: If set to a valid ID from menu_makecallback(), the
callback will be invoked before drawing the item.

##### Return

This function has no return value.

##### Error

Invalid menu resource.

#### menu_addtext

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_addtext
- Line: 240

##### Syntax

```pawn
native menu_addtext(menu, const text[], slot=1);
```

##### Description

Adds a text line to a menu.  Only available in amxmodx 1.8.1 and above.

##### Parameters

- `menu`: Menu resource identifier.
- `text`: Text to add.
- `slot`: 1 (default) if the line should shift the numbering down.
0 if the line should be a visual shift only.

##### Return

This function has no return value.

##### Error

Invalid menu resource.

#### menu_cancel

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_cancel
- Line: 262

##### Syntax

```pawn
native menu_cancel(player);
```

##### Description

Cancels a player's menu, effectively forcing the player to select MENU_EXIT.
The menu will still exist on their screen but any results are invalidated,
and the callback is invoked.

##### Parameters

- `player`: Client index.

##### Return

This function has no return value.

##### Error

Invalid client index.

#### menu_create

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_create
- Line: 58

##### Syntax

```pawn
native menu_create(const title[], const handler[], ml=0);
```

##### Description

This function has no description.

##### Parameters

- `title`: Title the menu should use.
- `handler`: Name of the handler function.  The function will be invoked
once and only once to every menu_display() call.
- `ml`: Unused (should be 0).

##### Brief

Creates a new menu object.
The handler function should be prototyped as:
public <function>(id, menu, item)
id     - Client the menu is being acted upon.
menu   - Menu resource identifier.
item   - Item the client selected.  If less than 0, the menu was
cancelled and the item is a status code.  menu_display
should never be called immediately if the item is a status
code, for re-entrancy reasons.
The handler function should always return PLUGIN_HANDLED to block
any old menu handlers from potentially feeding on the menu, unless
that is the desired functionality.

##### Return

Menu resource identifier which must be destroyed via
menu_destroy().  All menus are destroyed when the plugin
unloads.

##### Error

Function name not found.

#### menu_destroy

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_destroy
- Line: 197

##### Syntax

```pawn
native menu_destroy(menu);
```

##### Description

Destroys a menu.  Player menus will be cancelled (although may still linger
on the HUD), and future attempts to access the menu resource will result in
an error.

This must be called if you create menus dynamically, otherwise you will
leak memory.  For normal dynamic menus, you will destroy the menu in the
handler function (remembering to handle the case of a menu being cancelled,
it must still be destroyed).

##### Parameters

- `menu`: Menu resource identifier.

##### Return

This function has no return value.

##### Error

Invalid menu resource.

#### menu_display

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_display
- Line: 120

##### Syntax

```pawn
native menu_display(id, menu, page=0);
```

##### Description

Displays a menu to one client.  This should never be called from a handler
when the item is less than 0 (i.e. calling this from a cancelled menu will
result in an error).

##### Parameters

- `id`: Client index.
- `menu`: Menu resource identifier.
- `page`: Page to start from (starting from 0).

##### Return

This function has no return value.

##### Error

Invalid menu resource or client index.

#### menu_find_id

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_find_id
- Line: 132

##### Syntax

```pawn
native menu_find_id(menu, page, key);
```

##### Description

Given a page on a menu and a keypress on that page, returns the item id selected.
If the item is less than 0, a special option was chosen (such as MENU_EXIT).

##### Parameters

- `menu`: Menu resource identifier.
- `page`: Page on the menu.
- `key`: Key pressed (from 1 to 10).

##### Return

Item identifier, or <0 for a special selection code.

##### Error

Invalid menu resource.

#### menu_item_getinfo

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_item_getinfo
- Line: 148

##### Syntax

```pawn
native menu_item_getinfo(menu, item, &access, info[], infolen, name[]="", namelen=0, &callback);
```

##### Description

Retrieves info about a menu item.

##### Parameters

- `menu`: Menu resource identifier.
- `item`: Item identifier.
- `access`: Variable to store access value.
- `info`: Buffer to store item info.
- `infolen`: Item info buffer length.
- `name`: Buffer to store item display text.
- `namelen`: Item name buffer length.
- `callback`: Callback ID.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.

#### menu_item_setcall

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_item_setcall
- Line: 181

##### Syntax

```pawn
native menu_item_setcall(menu, item, callback=-1);
```

##### Description

Sets an item's callback.

##### Parameters

- `menu`: Menu resource identifier.
- `item`: Item identifier.
- `callback`: New callback from menu_makecallback(), or -1 to clear.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.

#### menu_item_setcmd

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_item_setcmd
- Line: 170

##### Syntax

```pawn
native menu_item_setcmd(menu, item, const info[]);
```

##### Description

Sets an item's info string.

##### Parameters

- `menu`: Menu resource identifier.
- `item`: Item identifier.
- `info`: New item info string.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.

#### menu_item_setname

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_item_setname
- Line: 159

##### Syntax

```pawn
native menu_item_setname(menu, item, const name[]);
```

##### Description

Sets an item's display text.

##### Parameters

- `menu`: Menu resource identifier.
- `item`: Item identifier.
- `name`: New item display text.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.

#### menu_items

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_items
- Line: 107

##### Syntax

```pawn
native menu_items(menu);
```

##### Description

Returns the number of items in a menu.

##### Parameters

- `menu`: Menu resource identifier.

##### Return

Number of items in the menu.

##### Error

Invalid menu resource.

#### menu_makecallback

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_makecallback
- Line: 75

##### Syntax

```pawn
native menu_makecallback(const function[]);
```

##### Description

Creates a menu item callback handler.

The handler function should be prototyped as:

public <function>(id, menu, item)
 id      - Client index being displayed to.
 menu    - Menu resource identifier.
 item    - Item being drawn.
<return> - ITEM_IGNORE to use the default functionality.  ITEM_ENABLED to
           explicitly enable or ITEM_DISABLED to explicitly disable.

##### Parameters

- `function`: Function name.

##### Return

Menu callback ID.

#### menu_pages

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_pages
- Line: 98

##### Syntax

```pawn
native menu_pages(menu);
```

##### Description

Returns the number of pages in a menu.

##### Parameters

- `menu`: Menu resource identifier.

##### Return

Number of pages in the menu.

##### Error

Invalid menu resource.

#### menu_setprop

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/menu_setprop
- Line: 251

##### Syntax

```pawn
native menu_setprop(menu, prop, ...);
```

##### Description

Sets a menu property.

##### Parameters

- `menu`: Menu resource identifier.
- `prop`: MPROP_ constant.
- `...`: Property parameters.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource or property.

#### player_menu_info

- Include: `newmenus.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/newmenus/function/player_menu_info
- Line: 217

##### Syntax

```pawn
native player_menu_info(id, &menu, &newmenu, &menupage=0);
```

##### Description

Returns information about a menu (if any) the client is currently viewing.

If newmenu is valid, then the menu will refer to the menuid associated with
the title.  If newmenu is not valid, and the menu is valid, then the player
is viewing a menu displayed with show_menu().

Both may be invalid if the player is not viewing a menu.

##### Parameters

- `id`: Client index.
- `menu`: Variable to store old menu id.  If none, then <1 will be
stored.
- `newmenu`: Variable to store new menu id.  If none, then -1 will be
stored.
- `menupage`: Variable to store current page of the new menu, if any.

##### Return

1 if the player is viewing a menu, 0 otherwise.

##### Error

Invalid client.

## amxmodx 1.8.2 hg65 / ns.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns
- Group: amxmodx 1.8.2 hg65
- Functions: 104
- Documented constants: 2

### Constants

#### NS_INC

NS_INC

```pawn
#define NS_INC
```

#### Particle system natives - The particle system emulates a map-based custom particle system. Familiarity with the keyvalues from the map-based particle systems is recommended! You will be lost otherwise! - prsearle's NSPEdit is also recommended for designing the systems: http://homepage.ntlworld.com/pr.searle/NSPSEdit/NSPSEdit.html

Particle system natives
-
The particle system emulates a map-based custom particle system.
Familiarity with the keyvalues from the map-based particle systems
is recommended! You will be lost otherwise!
-
prsearle's NSPEdit is also recommended for designing the systems:
http://homepage.ntlworld.com/pr.searle/NSPSEdit/NSPSEdit.html

### Functions

#### client_built

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/client_built
- Line: 46

##### Syntax

```pawn
forward client_built(idPlayer, idStructure, type, impulse);
```

##### Description

Called whenever the client builds a structure.

##### Parameters

- `idPlayer`: The player index who triggered the building.
- `idStructure`: The structure index that was created.
- `type`: The type of structure that was built (1 for marine, 2 for alien).
- `impulse`: The impulse command that was issued to build this structure.

##### Return

This function has no return value.

#### client_changeclass

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/client_changeclass
- Line: 35

##### Syntax

```pawn
forward client_changeclass(id, newclass, oldclass);
```

##### Description

Called whenever the client's class is changed.

##### Parameters

- `id`: The index of the player who changed.
- `newclass`: The class the client changed to.  Check the class enum in ns_const.inc.
- `oldclass`: The class the client changed from.  Check the class enum in ns_const.inc.

##### Return

This function has no return value.

#### client_changeteam

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/client_changeteam
- Line: 517

##### Syntax

```pawn
forward client_changeteam(id, newteam, oldteam);
```

##### Description

Triggered whenever a client's pev->team changes.

##### Parameters

- `id`: The id of the client.
- `newteam`: The team number of the new team.
- `oldteam`: The team number of the old team.

##### Return

This function has no return value.

#### client_spawn

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/client_spawn
- Line: 525

##### Syntax

```pawn
forward client_spawn(id);
```

##### Description

Triggered whenever a client's pev->deadflag changes from >0 to 0.

##### Parameters

- `id`: The id of the client.

##### Return

This function has no return value.

#### map_reset

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/map_reset
- Line: 577

##### Syntax

```pawn
forward map_reset(isload);
```

##### Description

This function has no description.

#### round_end

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/round_end
- Line: 575

##### Syntax

```pawn
forward round_end(Float:roundtime);
```

##### Description

Called immediately when a round ends

##### Parameters

- `roundtime`: The length of the round in seconds.

##### Return

This function has no return value.

#### round_start

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/round_start
- Line: 567

##### Syntax

```pawn
forward round_start();
```

##### Description

Called at the approximate time that a round is started.

##### Return

This function has no return value.

#### ns_add_deaths

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_deaths
- Line: 472

##### Syntax

```pawn
native ns_add_deaths(idPlayer,numdeaths);
```

##### Description

Adds to a player's death count
Returns the new death count on success

#### ns_add_energy

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_energy
- Line: 238

##### Syntax

```pawn
native Float:ns_add_energy(id, Float:amount);
```

##### Description

Adds to the player's energy percentage.

##### Parameters

- `id`: The player to add the energy to.
- `amount`: The amount of energy to add to the player.

##### Return

The new amount of energy the player has (0.0 through 100.0)

#### ns_add_exp

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_exp
- Line: 331

##### Syntax

```pawn
native Float:ns_add_exp(id, Float:value);
```

##### Description

Adds to the player's experience.

##### Parameters

- `id`: The player to add experience value to.
- `value`: The amount of experience this player will receive.

##### Note

Combat only.

##### Return

The new amount of experience this player has.

#### ns_add_jpfuel

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_jpfuel
- Line: 212

##### Syntax

```pawn
native Float:ns_add_jpfuel(id, Float:amount);
```

##### Description

Adds to the player's jetpack fuel reserve.

##### Parameters

- `id`: The player to add fuel to.
- `amount`: The amount of fuel to add, as a percentage (0.0 through 100.0)

##### Return

The new amount of fuel in the player's reserve. (0.0 through 100.0)

#### ns_add_obs_energy

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_obs_energy
- Line: 665

##### Syntax

```pawn
native Float:ns_add_obs_energy(idObs,Float:value);
```

##### Description

This function has no description.

#### ns_add_points

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_points
- Line: 357

##### Syntax

```pawn
native ns_add_points(id,points);
```

##### Description

Adds to the player's points spent count in combat.

##### Parameters

- `id`: The player to add this to.
- `value`: The value to add to the points spent.

##### Return

The new value of the points spent variable.

#### ns_add_res

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_res
- Line: 268

##### Syntax

```pawn
native Float:ns_add_res(id, Float:amount);
```

##### Description

Adds an amount of resources to the player.

##### Parameters

- `id`: The id of the player to add resources to.
- `amount`: The amount to add to the player.

##### Note

This is only for alien players.

##### Return

The new amount of resources the player has.

#### ns_add_score

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_score
- Line: 461

##### Syntax

```pawn
native ns_add_score(idPlayer,score);
```

##### Description

Adds to a player's score
Returns the new score on success

#### ns_add_teamres

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_teamres
- Line: 301

##### Syntax

```pawn
native Float:ns_add_teamres(Team,Float:value);
```

##### Description

Adds to the team's resources in the resource pool.

##### Parameters

- `Team`: 1 for teama, 2 for teamb. (eg: in MvA maps, 1 is marines,
2 is aliens.  In mvm, 1 is marine1, 2 is marine2)
- `value`: The amount to set the resources to add to the pool

##### Note

If this is used on an alien team, the resources will be
distributed between all of the players who need resources.

##### Return

The new amount of resources in the resource pool.

#### ns_add_weld_done

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_weld_done
- Line: 660

##### Syntax

```pawn
native Float:ns_add_weld_done(idWeldable,Float:value);
```

##### Description

Adds to the total time this func_weldable
has been welded.  Returns the new value.
Note this native clamps the low value to 0.0

#### ns_add_weld_time

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_add_weld_time
- Line: 644

##### Syntax

```pawn
native Float:ns_add_weld_time(idWeldable,Float:value);
```

##### Description

Adds to the weldable's time required to open.
Returns the new required time on success.
Note this native clamps the low value to 0.

#### ns_build_structure

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_build_structure
- Line: 605

##### Syntax

```pawn
native ns_build_structure(idStructure);
```

##### Description

Forces the structure to fully build
Removes the ghost state from marine structures.
Do not use this on hives! It wont work.

#### ns_create_ps

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_create_ps
- Line: 699

##### Syntax

```pawn
native RawPS:ns_create_ps();
```

##### Description

Creates a handle to the a particle system to configure
-
Note! this is not a particle system you can pass to
ns_fire_ps()!

#### ns_finish_weldable

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_finish_weldable
- Line: 626

##### Syntax

```pawn
native ns_finish_weldable(idWeldable);
```

##### Description

Forces the weldable to trigger
Passing an index other than a weldable
will have undefined results!
-
NS renames func_weldable to avhweldable
at map load.
-
Note: This calls a private NS function!
      Be careful when using this!

#### ns_fire_ps

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_fire_ps
- Line: 726

##### Syntax

```pawn
native ns_fire_ps(Particle:system,const Float:origin[3],const Float:angles[3]={0.0,0.0,0.0}, flags=0);
```

##### Description

Draws a particle system at the given origin (and angles)
Flags are the FEV_* defines from hlsdk_const.inc
Only use handles returned by ns_spawn_ps or ns_get_ps_id here!

#### ns_get_build

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_build
- Line: 165

##### Syntax

```pawn
native ns_get_build(const classname[],builtOnly=1,Number=0);
```

##### Description

Returns built/unbuilt structures.
	If:
		builtOnly is 1 (default):
			Only fully built structures are counted.
		builtOnly is 0:
			Any structure meeting the classname is counted.

		Number is 0 (default):
			The total number of matching structures is returned.
		Number is any other value:
			The index of the #th matching structure is returned.

#### ns_get_class

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_class
- Line: 186

##### Syntax

```pawn
native ns_get_class(id);
```

##### Description

Returns the class of the player.  Look in the classes enum in ns_const.inc for the value's meaning.

#### ns_get_deaths

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_deaths
- Line: 464

##### Syntax

```pawn
native ns_get_deaths(idPlayer);
```

##### Description

Gets a player's death count.

#### ns_get_energy

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_energy
- Line: 220

##### Syntax

```pawn
native Float:ns_get_energy(id);
```

##### Description

Gets the player's energy percentage.

##### Parameters

- `id`: The player to get the energy from.

##### Return

The amount of energy the player has (0.0 through 100.0)

#### ns_get_exp

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_exp
- Line: 311

##### Syntax

```pawn
native Float:ns_get_exp(id);
```

##### Description

Returns the player's experience.

##### Parameters

- `id`: The player to get experience value from.

##### Note

Combat only.

##### Return

The amount of experience this player has.

#### ns_get_gameplay

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_gameplay
- Line: 65

##### Syntax

```pawn
native NSGameplay:ns_get_gameplay();
```

##### Description

Returns the gameplay type for the currently active map.
Refer to ns_const.inc's NSGameplay enum for details.

##### Note

The earliest this is guaranteed to be accurate is during plugin_init().  It needs
the info_gameplay entity to be properly set within the map, or it will return "Unknown",
or "Cantfind".

##### Return

Return the gameplay mode, as accurate as the module can tell.

#### ns_get_hive_ability

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_hive_ability
- Line: 507

##### Syntax

```pawn
native ns_get_hive_ability(idPlayer, ability=0);
```

##### Description

Returns 1 if a player has the hive ability number.
If ability is 0, it will return the number of active hives.

##### Parameters

- `idPlayer`: The player index to look up.
- `ability`: The ability number to check, set to 0 to get number of active hives.

##### Return

If ability is != 0, returns 1 or 0 depending on if the client has the ability.
If ability is 0, returns the number of active hives.

#### ns_get_hive_trait

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_hive_trait
- Line: 481

##### Syntax

```pawn
native ns_get_hive_trait(idHive);
```

##### Description

Gets the trait type tied to the hive.  Look at the hivetrait enum for the values.

#### ns_get_jpfuel

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_jpfuel
- Line: 194

##### Syntax

```pawn
native Float:ns_get_jpfuel(id);
```

##### Description

Gets the player's jetpack fuel reserve.

##### Parameters

- `id`: The player to get fuel from.

##### Return

The amount of fuel in the player's reserve. (0.0 through 100.0)

#### ns_get_locationname

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_locationname
- Line: 593

##### Syntax

```pawn
native ns_get_locationname(Float:x, Float:y, name[], len, titlelookup=0);
```

##### Description

Returns the location name of the provided x/y position
(z origin is ignored; can't have location over location)
-
Note that as of NS 3.2 beta 2, on the following maps
the returned string should be passed through ns_lookup_title
to be human readable:
  ns_bast, ns_hera, ns_nothing, ns_tanith,
  ns_nancy, ns_caged, ns_eclipse, ns_veil

Passing the 5th parameter as non zero will auto look up
the title if it exists.

#### ns_get_mask

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_mask
- Line: 148

##### Syntax

```pawn
native ns_get_mask(id,mask);
```

##### Description

Returns whether or not this mask is set from the entity's iuser4 field.  Use the "mask" enum for reference.

#### ns_get_maxspeed

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_maxspeed
- Line: 145

##### Syntax

```pawn
native ns_get_maxspeed(id);
```

##### Description

Returns a client's maxspeed before the speed change modifier is factored in.

##### Parameters

- `id`: The client id to check.

##### Return

The maxspeed for the client.

#### ns_get_obs_energy

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_obs_energy
- Line: 663

##### Syntax

```pawn
native Float:ns_get_obs_energy(idObs);
```

##### Description

Gets/sets/adds to the energy pool of this observatory.

#### ns_get_points

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_points
- Line: 339

##### Syntax

```pawn
native ns_get_points(id);
```

##### Description

Gets the player's points spent count in combat.

##### Parameters

- `id`: The player to check.

##### Return

The amount of points this player has spent.

#### ns_get_ps_id

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_ps_id
- Line: 731

##### Syntax

```pawn
native Particle:ns_get_ps_id(const Name[]);
```

##### Description

Looks up a particle system by name
Returns a usable particle system handle.

#### ns_get_res

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_res
- Line: 248

##### Syntax

```pawn
native Float:ns_get_res(id);
```

##### Description

Returns a player's resources.

##### Parameters

- `id`: The id of the player to check.

##### Note

This is only for alien players.

##### Return

Amount of resources this player has.

#### ns_get_score

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_score
- Line: 446

##### Syntax

```pawn
native ns_get_score(idPlayer);
```

##### Description

Gets the player's score.

##### Parameters

- `idPlayer`: The player to get the score for.

##### Note

The score from level is automatically factored into the scoreboard in combat.

##### Return

The player's score.

#### ns_get_spawn

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_spawn
- Line: 183

##### Syntax

```pawn
native ns_get_spawn(team,number=0,Float:ret[3]);
```

##### Description

Gets spawn point for specified team (type).
	If:
		Team is equal to 0:
			Ready room spawns are returned.
		Team is greater than 0:
			Spawns for the team are returned.

		Number is equal to 0:
			Total number of spawns is returned.
		Number is greater than 0:
			The location of the specified spawn is returned.

#### ns_get_speedchange

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_speedchange
- Line: 137

##### Syntax

```pawn
native ns_get_speedchange(id);
```

##### Description

Returns a client's current speed modifier.

##### Parameters

- `id`: The client id to check.

##### Return

The module's current speed modifier for the client.

#### ns_get_struct_owner

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_struct_owner
- Line: 475

##### Syntax

```pawn
native ns_get_struct_owner(idStructsure);
```

##### Description

Gets the index of the owner of a structure. -1 for no owner.

#### ns_get_teamres

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_teamres
- Line: 277

##### Syntax

```pawn
native Float:ns_get_teamres(Team);
```

##### Description

Returns the team's resources.

##### Parameters

- `Team`: 1 for teama, 2 for teamb. (eg: in MvA maps, 1 is marines,
2 is aliens.  In mvm, 1 is marine1, 2 is marine2)

##### Return

The amount of resources in this team's resource pool.

#### ns_get_user_team

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_user_team
- Line: 75

##### Syntax

```pawn
native ns_get_user_team(id, buff[], len);
```

##### Description

Exact syntax as get_user_team, but should be more accurate.

##### Parameters

- `id`: Player id.
- `buff`: Buffer to store team name in.
- `len`: Buffer length.

##### Return

The pev_team setting for the player.

#### ns_get_weap_clip

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_weap_clip
- Line: 404

##### Syntax

```pawn
native ns_get_weap_clip(idWeapon);
```

##### Description

Gets the weapon's clip ammo.

##### Parameters

- `idWeapon`: The weapon to get the clip ammo from.

##### Note

Use weapon index, not player index!

##### Return

The amount of ammunition in the weapon's clip.

#### ns_get_weap_dmg

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_weap_dmg
- Line: 366

##### Syntax

```pawn
native Float:ns_get_weap_dmg(idWeapon);
```

##### Description

Gets the damage for this weapon.

##### Parameters

- `idWeapon`: The entity index of the weapon to check.

##### Note

Use weapon index, not player index!

##### Return

The damage this weapon does.

#### ns_get_weap_range

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_weap_range
- Line: 385

##### Syntax

```pawn
native Float:ns_get_weap_range(idWeapon);
```

##### Description

Gets the maximum range for this weapon.

##### Parameters

- `idWeapon`: The entity index of the weapon to check.

##### Note

Use weapon index, not player index!

##### Return

The maximum range this weapon has.

#### ns_get_weap_reserve

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_weap_reserve
- Line: 425

##### Syntax

```pawn
native ns_get_weap_reserve(id,weapon);
```

##### Description

Gets the player's weapon reserve (backpack ammo) for the specified
type of weapon.

##### Parameters

- `id`: The player id to check ammo count on.
- `weapon`: The weapon type to check ammo count for.

##### Note

Use player index, not weapon index!

##### Return

The ammunition count in the player's reserve.

#### ns_get_weapon

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_weapon
- Line: 579

##### Syntax

```pawn
native ns_get_weapon(idPlayer,weaponid,&weapontype=0);
```

##### Description

This function has no description.

#### ns_get_weld_done

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_weld_done
- Line: 649

##### Syntax

```pawn
native Float:ns_get_weld_done(idWeldable);
```

##### Description

Gets the total time this func_weldable
has been welded.

#### ns_get_weld_time

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_get_weld_time
- Line: 633

##### Syntax

```pawn
native Float:ns_get_weld_time(idWeldable);
```

##### Description

Gets the total time needed to weld this
func_weldable shut.
Note: NS renames "func_weldable"s to "avhweldable"s
at run time!

#### ns_give_item

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_give_item
- Line: 496

##### Syntax

```pawn
native ns_give_item(id, const class[]);
```

##### Description

Give the player an item.

##### Parameters

- `id`: The player to give the item to.
- `class`: The map-classname of the entity to give to the player.

##### Return

This function has no return value.

#### ns_has_weapon

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_has_weapon
- Line: 169

##### Syntax

```pawn
native ns_has_weapon(id,weapon,setweapon=-1);
```

##### Description

Returns if the player has the weapon or not in their pev->weapons field.
   set "setweapon" to 0 to turn the bit off, set to 1 to turn it on. Or omit it to just return the value.

#### ns_is_combat

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_is_combat
- Line: 53

##### Syntax

```pawn
native ns_is_combat();
```

##### Description

Tell whether or not the map is combat.

##### Return

1 if combat, 0 otherwise.

#### ns_lookup_title

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_lookup_title
- Line: 599

##### Syntax

```pawn
native ns_lookup_title(const KeyName[], Output[], length);
```

##### Description

Looks up a key from titles.txt
Returns -1 if the key is not found
Otherwise it returns the length of the output

#### ns_popup

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_popup
- Line: 85

##### Syntax

```pawn
native ns_popup(target, const szMsg[180], ah=0);
```

##### Description

Send an NS-style popup message.

##### Parameters

- `target`: The client to receive the message.  Set to 0 to send to everybody.
- `szMsg`: The message to send, 180 characters max.
- `ah`: Whether to only display the message on clients who have the cvar "cl_autohelp" set to 1.

##### Return

This function has no return value.

#### ns_recycle

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_recycle
- Line: 614

##### Syntax

```pawn
native ns_recycle(idStructure);
```

##### Description

Forces the structure to begin recycling
Passing an index other than a marine structure will
have undefined results!
-
Note: This calls a private NS function!
      Be careful when using this!

#### ns_remove_upgrade

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_remove_upgrade
- Line: 681

##### Syntax

```pawn
native ns_remove_upgrade(idPlayer, upgrade);
```

##### Description

Removes an upgrade from the player's bought and active upgrade lists.
This will not refund the points spent on the upgrade, nor will it
immediately strip the upgrade if the player is alive.  Rather, it will
make it so the player no longer receives the upgrade on spawn.

##### Note

This only works in combat.

##### Params

idPlayer		The player index to change upgrades for.

##### Params

ugprade		The impulse number for the upgrade to strip.

##### Return

2 for upgrade removed from player's bought and active list.
1 for upgrade removed from player's bought list only.
3 for upgrade removed from player's active list only (shouldn't happen, just incase.)
0 for the player didn't have the upgrade in either list.

#### ns_round_in_progress

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_round_in_progress
- Line: 560

##### Syntax

```pawn
native bool:ns_round_in_progress();
```

##### Description

Whether or not there is a game in progress.

##### Return

true if a game is in progress, false otherwise.

#### ns_set_deaths

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_deaths
- Line: 467

##### Syntax

```pawn
native ns_set_deaths(idPlayer,numdeaths);
```

##### Description

Sets a player's death count.

#### ns_set_energy

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_energy
- Line: 229

##### Syntax

```pawn
native ns_set_energy(id, Float:energy);
```

##### Description

Sets the player's energy percentage.

##### Parameters

- `id`: The player to set the energy on.
- `energy`: The amount of energy to set (0.0 through 100.0)

##### Return

This function has no return value.

#### ns_set_exp

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_exp
- Line: 321

##### Syntax

```pawn
native ns_set_exp(id,Float:exp);
```

##### Description

Sets the player's experience.

##### Parameters

- `id`: The player to set experience value on.
- `exp`: The amount of experience this player will have.

##### Note

Combat only.

##### Return

This function has no return value.

#### ns_set_fov

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_fov
- Line: 487

##### Syntax

```pawn
native ns_set_fov(idPlayer,Float:_fov=0.0);
```

##### Description

Sets the players field of view, set "_fov" to 0.0 (or omit it) to return to normal. FOV change will persist until disconnect unless reset by a plugin

#### ns_set_hive_trait

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_hive_trait
- Line: 484

##### Syntax

```pawn
native ns_set_hive_trait(idHive,trait);
```

##### Description

Sets the trait type tied to the hive.  Look at the hivetrait enum for the values.

#### ns_set_jpfuel

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_jpfuel
- Line: 203

##### Syntax

```pawn
native ns_set_jpfuel(id, Float:fuel);
```

##### Description

Sets the player's jetpack fuel reserve.

##### Parameters

- `id`: The player to set fuel.
- `fuel`: The amount of fuel to set, as a percentage (0.0 through 100.0)

##### Return

This function has no return value.

#### ns_set_mask

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_mask
- Line: 151

##### Syntax

```pawn
native ns_set_mask(id,mask,value);
```

##### Description

Sets or removes the mask from the entity's iuser4 field. Set "value" to 1 to turn the mask on, 0 to turn it off.

#### ns_set_obs_energy

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_obs_energy
- Line: 664

##### Syntax

```pawn
native ns_set_obs_energy(idObs,Float:value);
```

##### Description

This function has no description.

#### ns_set_player_body

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_player_body
- Line: 118

##### Syntax

```pawn
native ns_set_player_body(id, body=-1);
```

##### Description

Sets a player body.  Omit the second parameter to return to default

##### Parameters

- `id`: The player id to change.
- `body`: The body number to change to.

##### Note

The body does not revert on death, teamswitch, gestation, etc.

##### Return

This function has no return value.

#### ns_set_player_model

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_player_model
- Line: 96

##### Syntax

```pawn
native ns_set_player_model(id, const szModel[]="");
```

##### Description

Sets a player model.  Omit the second parameter to return to default

##### Parameters

- `id`: The player id to change.
- `szModel`: The model to change to.

##### Note

The model does not revert on death, teamswitch, gestation, etc.

##### Return

This function has no return value.

#### ns_set_player_skin

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_player_skin
- Line: 107

##### Syntax

```pawn
native ns_set_player_skin(id, skin=-1);
```

##### Description

Sets a player skin.  Omit the second parameter to return to default

##### Parameters

- `id`: The player id to change.
- `skin`: The skin number to change to.

##### Note

The skin does not revert on death, teamswitch, gestation, etc.

##### Return

This function has no return value.

#### ns_set_points

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_points
- Line: 348

##### Syntax

```pawn
native ns_set_points(id, points);
```

##### Description

Sets the player's points spent count in combat.

##### Parameters

- `id`: The player to set this on.
- `points`: The amount to set this to.

##### Return

This function has no return value.

#### ns_set_ps_anim_speed

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_anim_speed
- Line: 749

##### Syntax

```pawn
native ns_set_ps_anim_speed(RawPS:system, speed);
```

##### Description

This function has no description.

#### ns_set_ps_base_color

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_base_color
- Line: 751

##### Syntax

```pawn
native ns_set_ps_base_color(RawPS:system, const colors[]);
```

##### Description

This function has no description.

#### ns_set_ps_genrate

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_genrate
- Line: 737

##### Syntax

```pawn
native ns_set_ps_genrate(RawPS:system, genrate);
```

##### Description

The following are the parameters for configuring the
particle system.  Look through the fgd and NSPSEdit
for details!

#### ns_set_ps_genshape

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_genshape
- Line: 738

##### Syntax

```pawn
native ns_set_ps_genshape(RawPS:system, NSPS_GenShape:genshape);
```

##### Description

This function has no description.

#### ns_set_ps_genshape_params

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_genshape_params
- Line: 739

##### Syntax

```pawn
native ns_set_ps_genshape_params(RawPS:system, const params[]);
```

##### Description

This function has no description.

#### ns_set_ps_max_alpha

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_max_alpha
- Line: 753

##### Syntax

```pawn
native ns_set_ps_max_alpha(RawPS:system, Float:maxalpha);
```

##### Description

This function has no description.

#### ns_set_ps_name

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_name
- Line: 707

##### Syntax

```pawn
native ns_set_ps_name(RawPS:system, const name[]);
```

##### Description

Sets the name of the particle system.
-
This is used for things like ns_get_ps_id()
and through calling another particle system
through the "ps_to_gen" field

#### ns_set_ps_numparticles

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_numparticles
- Line: 741

##### Syntax

```pawn
native ns_set_ps_numparticles(RawPS:system, numparticles);
```

##### Description

This function has no description.

#### ns_set_ps_particle_life

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_particle_life
- Line: 746

##### Syntax

```pawn
native ns_set_ps_particle_life(RawPS:system, Float:lifetime);
```

##### Description

This function has no description.

#### ns_set_ps_rendermode

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_rendermode
- Line: 747

##### Syntax

```pawn
native ns_set_ps_rendermode(RawPS:system, NSPS_RenderMode:rendermode);
```

##### Description

This function has no description.

#### ns_set_ps_scale

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_scale
- Line: 752

##### Syntax

```pawn
native ns_set_ps_scale(RawPS:system, Float:scale);
```

##### Description

This function has no description.

#### ns_set_ps_size

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_size
- Line: 742

##### Syntax

```pawn
native ns_set_ps_size(RawPS:system, Float:size);
```

##### Description

This function has no description.

#### ns_set_ps_spawn_flags

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_spawn_flags
- Line: 750

##### Syntax

```pawn
native ns_set_ps_spawn_flags(RawPS:system, NSPS_Flags:flags);
```

##### Description

This function has no description.

#### ns_set_ps_sprite

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_sprite
- Line: 715

##### Syntax

```pawn
native ns_set_ps_sprite(RawPS:system, const sprite[]);
```

##### Description

Sets the sprite to use for the particle system
-
You do NOT have to precache the sprite, BUT
the sprite must obviously be on the client to
display.

#### ns_set_ps_spriteframes

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_spriteframes
- Line: 740

##### Syntax

```pawn
native ns_set_ps_spriteframes(RawPS:system, spriteframes);
```

##### Description

This function has no description.

#### ns_set_ps_sys_life

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_sys_life
- Line: 745

##### Syntax

```pawn
native ns_set_ps_sys_life(RawPS:system, Float:lifetime);
```

##### Description

This function has no description.

#### ns_set_ps_to_gen

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_to_gen
- Line: 748

##### Syntax

```pawn
native ns_set_ps_to_gen(RawPS:system, const name[]);
```

##### Description

This function has no description.

#### ns_set_ps_vel_params

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_vel_params
- Line: 743

##### Syntax

```pawn
native ns_set_ps_vel_params(RawPS:system, const params[]);
```

##### Description

This function has no description.

#### ns_set_ps_vel_shape

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_ps_vel_shape
- Line: 744

##### Syntax

```pawn
native ns_set_ps_vel_shape(RawPS:system, NSPS_VelShape:shape);
```

##### Description

This function has no description.

#### ns_set_res

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_res
- Line: 258

##### Syntax

```pawn
native ns_set_res(id, Float:res);
```

##### Description

Sets a player's resources.

##### Parameters

- `id`: The id of the player to set.
- `res`: Amount of resources to set on this player.

##### Note

This is only for alien players.

##### Return

This function has no return value.

#### ns_set_score

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_score
- Line: 456

##### Syntax

```pawn
native ns_set_score(idPlayer, score);
```

##### Description

Sets the player's score.

##### Parameters

- `idPlayer`: The player to get the score for.
- `score`: What to set the player's score as.

##### Note

The score from level is automatically factored into the scoreboard in combat.

##### Return

This function has no return value.

#### ns_set_speedchange

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_speedchange
- Line: 129

##### Syntax

```pawn
native ns_set_speedchange(id, speedchange=0);
```

##### Description

Set this to modify the player's speed by a certain amount.

##### Parameters

- `id`: The player id to change.
- `speedchange`: The speed to modify the player speed by.  Set to 0 to revert to default speed.

##### Note

The speed does not revert on death, teamswitch, gestation, etc.

##### Return

This function has no return value.

#### ns_set_struct_owner

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_struct_owner
- Line: 478

##### Syntax

```pawn
native ns_set_struct_owner(idStructure,indexOwner);
```

##### Description

Sets the index of the owner of a structure. -1 for no owner.

#### ns_set_teamres

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_teamres
- Line: 289

##### Syntax

```pawn
native ns_set_teamres(Team, Float:value);
```

##### Description

Sets the team's resources in the resource pool.

##### Parameters

- `Team`: 1 for teama, 2 for teamb. (eg: in MvA maps, 1 is marines,
2 is aliens.  In mvm, 1 is marine1, 2 is marine2)
- `value`: The amount to set the resources to set to.

##### Note

If this is used on an alien team, the resources will be
distributed between all of the players who need resources.

##### Return

This function has no return value.

#### ns_set_weap_clip

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_weap_clip
- Line: 414

##### Syntax

```pawn
native ns_set_weap_clip(idWeapon, clipsize);
```

##### Description

Sets the weapon's ammo in the clip.

##### Parameters

- `idWeapon`: The weapon to set the clip ammo on.
- `clipsize`: The amount of ammunition to set in the weapon's clip.

##### Note

Use weapon index, not player index!

##### Return

This function has no return value.

#### ns_set_weap_dmg

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_weap_dmg
- Line: 376

##### Syntax

```pawn
native ns_set_weap_dmg(idWeapon, Float:damage);
```

##### Description

Sets the damage for this weapon.

##### Parameters

- `idWeapon`: The entity index of the weapon to set.
- `damage`: The damage to make this weapon cause.

##### Note

Use weapon index, not player index!

##### Return

This function has no return value.

#### ns_set_weap_range

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_weap_range
- Line: 395

##### Syntax

```pawn
native ns_set_weap_range(idWeapon, Float:range);
```

##### Description

Sets the maximum range for this weapon.

##### Parameters

- `idWeapon`: The entity index of the weapon to set.
- `range`: The maximum range this weapon will have.

##### Note

Use weapon index, not player index!

##### Return

This function has no return value.

#### ns_set_weap_reserve

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_weap_reserve
- Line: 437

##### Syntax

```pawn
native ns_set_weap_reserve(id,weapon,ammo);
```

##### Description

Sets the player's weapon reserve (backpack ammo) for the specified
type of weapon.

##### Parameters

- `id`: The player id to set ammo count on.
- `weapon`: The weapon type to set ammo count for.
- `ammo`: The ammunition count to set.

##### Note

Use player index, not weapon index!

##### Return

This function has no return value.

#### ns_set_weld_done

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_weld_done
- Line: 654

##### Syntax

```pawn
native ns_set_weld_done(idWeldable,Float:value);
```

##### Description

Sets the total time this func_weldable
has been welded.

#### ns_set_weld_time

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_set_weld_time
- Line: 638

##### Syntax

```pawn
native ns_set_weld_time(idWeldable,Float:value);
```

##### Description

Sets the total time needed to weld this
func_weldable shut.

#### ns_spawn_ps

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_spawn_ps
- Line: 720

##### Syntax

```pawn
native Particle:ns_spawn_ps(RawPS:system);
```

##### Description

Finalizes the particle system.  Do not configure it after this.
A usable particle system handle is returned.

#### ns_takedamage

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_takedamage
- Line: 540

##### Syntax

```pawn
native ns_takedamage(IDVictim, IDInflictor, IDAttacker, Float:Damage, DamageType);
```

##### Description

Calls NS's private damage routine on the victim entity.

##### Parameters

- `IDVictim`: The victim that is taking the damage.
- `IDInflictor`: The entity that is causing the damage (weapon, etc).
- `IDAttacker`: The attacker who is triggering the damage (person shooting).
- `Damage`: The amount of damage being done.
- `DamageType`: The damage type being done (bitmask).

##### Note

This is provided for backwards compatibility with peachy's module.
It is suggested to use hamsandwich for this action instead.

#### ns_unstick_player

- Include: `ns.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns/function/ns_unstick_player
- Line: 553

##### Syntax

```pawn
native ns_unstick_player(id, StartDistance=32, MaxAttempts=128);
```

##### Description

Attempts to unstick a player.

##### Parameters

- `id`: Player to unstick.
- `StartDistance`: Distance to start from the player to check for a new location.
- `MaxAttempts`: How many attempts to try to find a new spot before giving up.

##### Return

1 on success, 0 on cannot find a place to move player to,
-1 on invalid state (stunned/webbed), -2 on invalid class (comm/egg)
-3 if the player is dead or a spectator, -4 on invalid player,
-5 if the player is not connected.

## amxmodx 1.8.2 hg65 / ns2amx.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx
- Group: amxmodx 1.8.2 hg65
- Functions: 62
- Documented constants: 0

### Functions

#### get_build

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_build
- Line: 21

##### Syntax

```pawn
stock get_build(classname[], value, number=0,any:...)
```

##### Description

The end of the native is buffered incase the plugin is including an NS_VERSION (no longer supported), ignore it

#### get_class

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_class
- Line: 259

##### Syntax

```pawn
stock get_class(id)
```

##### Description

This function has no description.

#### get_filename

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_filename
- Line: 159

##### Syntax

```pawn
stock get_filename(szFile[], len=-1)
```

##### Description

This function has no description.

#### get_mask

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_mask
- Line: 243

##### Syntax

```pawn
stock get_mask(id,mask)
```

##### Description

This function has no description.

#### get_maxspeed

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_maxspeed
- Line: 172

##### Syntax

```pawn
stock get_maxspeed(id)
```

##### Description

This function has no description.

#### get_private_f

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_private_f
- Line: 32

##### Syntax

```pawn
stock Float:get_private_f(index, offset, linuxdiff=5)
```

##### Description

This function has no description.

#### get_private_i

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_private_i
- Line: 24

##### Syntax

```pawn
stock get_private_i(index, offset, linuxdiff=5)
```

##### Description

This function has no description.

#### get_range

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_range
- Line: 55

##### Syntax

```pawn
stock Float:get_range(ida, idb)
```

##### Description

This function has no description.

#### get_res

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_res
- Line: 256

##### Syntax

```pawn
stock get_res(id)
```

##### Description

This function has no description.

#### get_spawn

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_spawn
- Line: 76

##### Syntax

```pawn
stock get_spawn(type, number=0, Float:ret[3])
```

##### Description

This function has no description.

#### get_special

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_special
- Line: 249

##### Syntax

```pawn
stock get_special(id,mask)
```

##### Description

This function has no description.

#### get_speedchange

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/get_speedchange
- Line: 166

##### Syntax

```pawn
stock get_speedchange(id)
```

##### Description

This function has no description.

#### gpglobals_v

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/gpglobals_v
- Line: 82

##### Syntax

```pawn
stock gpglobals_v(type, Float:ret[3])
```

##### Description

This function has no description.

#### gpgobals_time

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/gpgobals_time
- Line: 52

##### Syntax

```pawn
stock gpgobals_time()
```

##### Description

This function has no description.

#### has_weapon

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/has_weapon
- Line: 79

##### Syntax

```pawn
stock has_weapon(index, weapon, setweapon=-1)
```

##### Description

This function has no description.

#### is_combat

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/is_combat
- Line: 262

##### Syntax

```pawn
stock is_combat()
```

##### Description

This function has no description.

#### is_entity

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/is_entity
- Line: 17

##### Syntax

```pawn
stock is_entity(id)
```

##### Description

This function has no description.

#### make_string

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/make_string
- Line: 42

##### Syntax

```pawn
stock make_string(value[])
```

##### Description

This function has no description.

#### msg_args

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_args
- Line: 115

##### Syntax

```pawn
stock msg_args()
```

##### Description

This function has no description.

#### msg_data

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_data
- Line: 154

##### Syntax

```pawn
stock msg_data(value, ...)
```

##### Description

This function has no description.

#### msg_data_type

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_data_type
- Line: 148

##### Syntax

```pawn
stock msg_data_type(value)
```

##### Description

This function has no description.

#### msg_dest

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_dest
- Line: 130

##### Syntax

```pawn
stock msg_dest()
```

##### Description

This function has no description.

#### msg_loc

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_loc
- Line: 118

##### Syntax

```pawn
stock Float:msg_loc(vec)
```

##### Description

This function has no description.

#### msg_name

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_name
- Line: 136

##### Syntax

```pawn
stock msg_name()
```

##### Description

This function has no description.

#### msg_set_f

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_set_f
- Line: 142

##### Syntax

```pawn
stock msg_set_f(number, Float:value)
```

##### Description

This function has no description.

#### msg_set_i

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_set_i
- Line: 145

##### Syntax

```pawn
stock msg_set_i(number, value)
```

##### Description

This function has no description.

#### msg_set_s

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_set_s
- Line: 139

##### Syntax

```pawn
stock msg_set_s(number, value[])
```

##### Description

This function has no description.

#### msg_strdata

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_strdata
- Line: 151

##### Syntax

```pawn
stock msg_strdata(value)
```

##### Description

This function has no description.

#### msg_type

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/msg_type
- Line: 133

##### Syntax

```pawn
stock msg_type()
```

##### Description

This function has no description.

#### ns2amx_getammo

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_getammo
- Line: 190

##### Syntax

```pawn
stock ns2amx_getammo(id,Weapon)
```

##### Description

This function has no description.

#### ns2amx_getenergy

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_getenergy
- Line: 231

##### Syntax

```pawn
stock ns2amx_getenergy(id)
```

##### Description

This function has no description.

#### ns2amx_gethives

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_gethives
- Line: 211

##### Syntax

```pawn
stock ns2amx_gethives()
```

##### Description

Returns total # of active hives.

#### ns2amx_getjpfuel

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_getjpfuel
- Line: 237

##### Syntax

```pawn
stock ns2amx_getjpfuel(id)
```

##### Description

This function has no description.

#### ns2amx_giveitem

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_giveitem
- Line: 196

##### Syntax

```pawn
stock ns2amx_giveitem(id,svClassname[])
```

##### Description

This function has no description.

#### ns2amx_inrange

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_inrange
- Line: 215

##### Syntax

```pawn
stock ns2amx_inrange(ida,idb,range)
```

##### Description

Returns 1 if the two entities are within the given range.

#### ns2amx_isdigesting

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_isdigesting
- Line: 207

##### Syntax

```pawn
stock ns2amx_isdigesting(id)
```

##### Description

Returns whether or not the player has the MASK_DIGESTING flag set.

#### ns2amx_moveto

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_moveto
- Line: 199

##### Syntax

```pawn
stock ns2amx_moveto(idMoved,idDest)
```

##### Description

This function has no description.

#### ns2amx_nspopup

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_nspopup
- Line: 222

##### Syntax

```pawn
stock ns2amx_nspopup(id,svMessage[190]) {
```

##### Description

This function has no description.

#### ns2amx_setammo

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_setammo
- Line: 193

##### Syntax

```pawn
stock ns2amx_setammo(id,Weapon,Value)
```

##### Description

This function has no description.

#### ns2amx_setenergy

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_setenergy
- Line: 234

##### Syntax

```pawn
stock ns2amx_setenergy(id,energy)
```

##### Description

This function has no description.

#### ns2amx_setjpfuel

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_setjpfuel
- Line: 240

##### Syntax

```pawn
stock ns2amx_setjpfuel(id,fuel)
```

##### Description

This function has no description.

#### ns2amx_setres

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_setres
- Line: 228

##### Syntax

```pawn
stock ns2amx_setres(id,value)
```

##### Description

This function has no description.

#### ns2amx_version

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/ns2amx_version
- Line: 184

##### Syntax

```pawn
stock ns2amx_version()
```

##### Description

This function has no description.

#### pev_f

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/pev_f
- Line: 105

##### Syntax

```pawn
stock Float:pev_f(_index,_field)
```

##### Description

This function has no description.

#### pev_i

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/pev_i
- Line: 99

##### Syntax

```pawn
stock pev_i(_index,_field)
```

##### Description

This function has no description.

#### register_changelvl

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/register_changelvl
- Line: 64

##### Syntax

```pawn
stock register_changelvl()
```

##### Description

This function has no description.

#### register_clientkill

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/register_clientkill
- Line: 61

##### Syntax

```pawn
stock register_clientkill()
```

##### Description

This function has no description.

#### register_msgblock

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/register_msgblock
- Line: 67

##### Syntax

```pawn
stock register_msgblock(msgName[])
```

##### Description

This function has no description.

#### register_msgedit

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/register_msgedit
- Line: 70

##### Syntax

```pawn
stock register_msgedit(msgName[], cmd[])
```

##### Description

This function has no description.

#### register_playback

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/register_playback
- Line: 73

##### Syntax

```pawn
stock register_playback(event, cmd[])
```

##### Description

This function has no description.

#### set_kvhandled

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_kvhandled
- Line: 187

##### Syntax

```pawn
stock set_kvhandled()
```

##### Description

This function has no description.

#### set_mask

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_mask
- Line: 246

##### Syntax

```pawn
stock set_mask(id,mask,value)
```

##### Description

This function has no description.

#### set_pev_f

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_pev_f
- Line: 111

##### Syntax

```pawn
stock set_pev_f(_index,_field,Float:_val)
```

##### Description

This function has no description.

#### set_pev_i

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_pev_i
- Line: 102

##### Syntax

```pawn
stock set_pev_i(_index, _field, _val)
```

##### Description

This function has no description.

#### set_player_body

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_player_body
- Line: 181

##### Syntax

```pawn
stock set_player_body(id, body=-1)
```

##### Description

This function has no description.

#### set_player_model

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_player_model
- Line: 175

##### Syntax

```pawn
stock set_player_model(id, model[]="")
```

##### Description

This function has no description.

#### set_player_skin

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_player_skin
- Line: 178

##### Syntax

```pawn
stock set_player_skin(id, skin=-1)
```

##### Description

This function has no description.

#### set_private_f

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_private_f
- Line: 37

##### Syntax

```pawn
stock set_private_f(index, offset, Float:value, linuxdiff=5)
```

##### Description

This function has no description.

#### set_private_i

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_private_i
- Line: 27

##### Syntax

```pawn
stock set_private_i(index, offset, value, linuxdiff=5)
```

##### Description

This function has no description.

#### set_speedchange

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/set_speedchange
- Line: 169

##### Syntax

```pawn
stock set_speedchange(id, speed)
```

##### Description

This function has no description.

#### string

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/string
- Line: 45

##### Syntax

```pawn
stock string(value, ret[])
```

##### Description

This function has no description.

#### supercede

- Include: `ns2amx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns2amx/function/supercede
- Line: 58

##### Syntax

```pawn
stock supercede()
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / ns_const.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/ns_const
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 10

### Constants

#### NS_CONST_INC

NS_CONST_INC

```pawn
#define NS_CONST_INC
```

#### NSGameplay

NSGameplay

```pawn
enum NSGameplay
{
	NSGame_CantTell,		/**< It is too soon to tell (can't find avhgameplay
								 entity or it doesn't have private data) */

	NSGame_MarineVAlien,	/**< Marine vs Aliens (standard) gameplay */
	NSGame_MarineVMarine,	/**< Marine vs Marine */
	NSGame_AlienVAlien,		/**< Alien  vs Alien  */

	NSGame_Unknown,			/**< Can find the gameplay entity, but can't
								 determine gameplay type. */
};
```

#### entity pev->iuser4 fields

entity pev->iuser4 fields

```pawn
enum {
	MASK_NONE = 0,
	MASK_SIGHTED = 1,
	MASK_DETECTED = 2,
	MASK_BUILDABLE = 4,
	MASK_BASEBUILD0 = 8,		// Base build slot #0
	MASK_WEAPONS1 = 8,		// Marine weapons 1
	MASK_CARAPACE = 8,		// Alien carapace
	MASK_WEAPONS2 = 16,		// Marines weapons 2
	MASK_REGENERATION = 16,		// Alien regeneration
	MASK_BASEBUILD1 = 16,		// Base build slot #1
	MASK_WEAPONS3 = 32,		// Marine weapons 3
	MASK_REDEMPTION = 32,		// Alien redemption
	MASK_BASEBUILD2 = 32,		// Base build slot #2
	MASK_ARMOR1 = 64,		// Marine armor 1
	MASK_CELERITY = 64,		// Alien celerity
	MASK_BASEBUILD3 = 64,		// Base build slot #3
	MASK_ARMOR2 = 128,		// Marine armor 2
	MASK_ADRENALINE = 128,		// Alien adrenaline
	MASK_BASEBUILD4 = 128,		// Base build slot #4
	MASK_ARMOR3 = 256,		// Marine armor 3
	MASK_SILENCE = 256,		// Alien silence
	MASK_BASEBUILD5 = 256,		// Base build slot #5
	MASK_JETPACK = 512,		// Marine jetpacks
	MASK_CLOAKING = 512,		// Alien cloaking
	MASK_BASEBUILD6 = 512,		// Base build slot #6
	MASK_FOCUS = 1024,		// Alien focus
	MASK_MOTION = 1024,		// Marine motion tracking
	MASK_BASEBUILD7 = 1024,		// Base build slot #7
	MASK_SCENTOFFEAR = 2048,	// Alien scent of fear
	MASK_DEFENSE2 = 4096,		// Defense level 2
	MASK_DEFENSE3 = 8192,		// Defense level 3
	MASK_ELECTRICITY = 8192,	// Electricy
	MASK_MOVEMENT2 = 16384,		// Movement level 2,
	MASK_MOVEMENT3 = 32768,		// Movement level 3
	MASK_HEAVYARMOR = 32768,	// Marine heavy armor
	MASK_SENSORY2 = 65536,		// Sensory level 2
	MASK_SENSORY3 = 131072,		// Sensory level 3
	MASK_ALIEN_MOVEMENT = 262144,	// Onos is charging
	MASK_WALLSTICKING = 524288,	// Flag for wall-sticking
	MASK_PRIMALSCREAM = 1048576,	// Alien is in range of active primal scream
	MASK_UMBRA = 2097152,		// In umbra
	MASK_DIGESTING = 4194304,	// When set on a visible player, player is digesting.  When set on invisible player, player is being digested
	MASK_RECYCLING = 8388608,	// Building is recycling
	MASK_TOPDOWN = 16777216,	// Commander view
	MASK_PLAYER_STUNNED = 33554432,	// Player has been stunned by stomp
	MASK_ENSNARED = 67108864,   	// Webbed
	MASK_ALIEN_EMBRYO = 134217728,  // Gestating
	MASK_SELECTABLE = 268435456,	// ???
	MASK_PARASITED = 536870912,	// Parasite flag
	MASK_SENSORY_NEARBY = 1073741824 // Sensory chamber in range
};
```

#### Enum starting with CLASS_UNKNOWN

Enum starting with CLASS_UNKNOWN

```pawn
enum {
	CLASS_UNKNOWN = 0,
	CLASS_SKULK,
	CLASS_GORGE,
	CLASS_LERK,
	CLASS_FADE,
	CLASS_ONOS,
	CLASS_MARINE,
	CLASS_JETPACK,
	CLASS_HEAVY,
	CLASS_COMMANDER,
	CLASS_GESTATE,
	CLASS_DEAD,
	CLASS_NOTEAM
};
```

#### Enum starting with WEAPON_NONE

Enum starting with WEAPON_NONE

```pawn
enum {
	WEAPON_NONE = 0,
	WEAPON_CLAWS,
	WEAPON_SPIT,
	WEAPON_SPORES,
	WEAPON_SPIKE,
	WEAPON_BITE,
	WEAPON_BITE2,
	WEAPON_SWIPE,
	WEAPON_WEBSPINNER,
	WEAPON_METABOLIZE,
	WEAPON_PARASITE,
	WEAPON_BLINK,
	WEAPON_DIVINEWIND,
	WEAPON_KNIFE,
	WEAPON_PISTOL,
	WEAPON_LMG,
	WEAPON_SHOTGUN,
	WEAPON_HMG,
	WEAPON_WELDER,
	WEAPON_MINE,
	WEAPON_GRENADE_GUN,
	WEAPON_LEAP,
	WEAPON_CHARGE,
	WEAPON_UMBRA,
	WEAPON_PRIMALSCREAM,
	WEAPON_BILEBOMB,
	WEAPON_ACIDROCKET,
	WEAPON_HEALINGSPRAY,
	WEAPON_GRENADE,
	WEAPON_STOMP,
	WEAPON_DEVOUR,
	WEAPON_MAX
};
```

#### Enum starting with HIVETRAIT_NONE

Enum starting with HIVETRAIT_NONE

```pawn
enum {
	HIVETRAIT_NONE	= 0,
	HIVETRAIT_DC	= 92,
	HIVETRAIT_SC	= 93,
	HIVETRAIT_MC	= 94
};
```

#### NSPS_VelShape

NSPS_VelShape

```pawn
enum NSPS_VelShape
{
	NSPS_VS_POINT = 1,
	NSPS_VS_BOX,
	NSPS_VS_SPHERE,
	NSPS_VS_BLOB
};
```

#### NSPS_GenShape

Genshape used in ns_set_ps_genshape
NOTE: The following are in the ns.ps file but
      are not listed in the .fgd file.  Use
      at your own risk!
      Line, Triangle, Plane, Cylinder,
      Cone, Disc, Rectangle and None

```pawn
enum NSPS_GenShape
{
	NSPS_GS_POINT = 0,
	NSPS_GS_LINE,
	NSPS_GS_TRIANGLE,
	NSPS_GS_PLANE,
	NSPS_GS_BOX,
	NSPS_GS_CYLINDER,
	NSPS_GS_CONE,
	NSPS_GS_BLOB,
	NSPS_GS_DISC,
	NSPS_GS_RECTANGLE,
	NSPS_GS_NONE
};
```

#### NSPS_RenderMode

NSPS_RenderMode

```pawn
enum NSPS_RenderMode
{
	NSPS_R_NORMAL = 0,
	NSPS_R_TRANSCOLOR,
	NSPS_R_TRANSTEXTURE,
	NSPS_R_GLOW,
	NSPS_R_TRANSALPHA,
	NSPS_R_ADDITIVE
};
```

#### NSPS_Flags

NSPS_Flags

```pawn
enum NSPS_Flags
{
	NSPS_FL_START_ON = 1,
	NSPS_FL_PARTICLE_DENSITY = 2,
	NSPS_FL_FADE_IN = 4,
	NSPS_FL_FADE_OUT = 8,
	NSPS_FL_USE_GRAVITY = 16,
	NSPS_FL_USE_TRI = 32,
	NSPS_FL_CONSTRAIN_PITCH = 128,
	NSPS_FL_COLLIDE = 256,
	NSPS_FL_HI_DETAIL = 512,
	NSPS_FL_FACE_UP = 1024
};
```

## amxmodx 1.8.2 hg65 / nvault.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault
- Group: amxmodx 1.8.2 hg65
- Functions: 9
- Documented constants: 0

### Functions

#### nvault_close

- Include: `nvault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault/function/nvault_close
- Line: 51

##### Syntax

```pawn
native nvault_close(vault);
```

##### Description

Closes a vault

#### nvault_get

- Include: `nvault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault/function/nvault_get
- Line: 32

##### Syntax

```pawn
native nvault_get(vault, const key[], {Float,_}:...);
```

##### Description

Gets a vault value by returning an int
setting a byref float or setting a string + maxlength

#### nvault_lookup

- Include: `nvault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault/function/nvault_lookup
- Line: 37

##### Syntax

```pawn
native nvault_lookup(vault, const key[], value[], maxlen, &timestamp);
```

##### Description

Looks up a vault value for full information
Returns 0 if the entry is not found

#### nvault_open

- Include: `nvault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault/function/nvault_open
- Line: 27

##### Syntax

```pawn
native nvault_open(const name[]);
```

##### Description

Opens a vault by name (such as "myvault")
Returns a vault id, INVALID_HANDLE otherwise (-1)

#### nvault_prune

- Include: `nvault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault/function/nvault_prune
- Line: 48

##### Syntax

```pawn
native nvault_prune(vault, start, end);
```

##### Description

Prunes the vault for entries that are within the given timestamps.
This will not erase values set with pset

#### nvault_pset

- Include: `nvault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault/function/nvault_pset
- Line: 43

##### Syntax

```pawn
native nvault_pset(vault, const key[], const value[]);
```

##### Description

Sets a permanent vault value (no timestamp)

#### nvault_remove

- Include: `nvault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault/function/nvault_remove
- Line: 54

##### Syntax

```pawn
native nvault_remove(vault, const key[]);
```

##### Description

Removes a key from the vault

#### nvault_set

- Include: `nvault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault/function/nvault_set
- Line: 40

##### Syntax

```pawn
native nvault_set(vault, const key[], const value[]);
```

##### Description

Sets a vault value (with current timestamp)

#### nvault_touch

- Include: `nvault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/nvault/function/nvault_touch
- Line: 61

##### Syntax

```pawn
native nvault_touch(vault, const key[], timestamp=-1);
```

##### Description

"Touches" a key to update its timestamp value.
If stamp is -1 (default), it will use the current time.
Like the unix command "touch," it will create an empty key
 if the value does not exist.

## amxmodx 1.8.2 hg65 / regex.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/regex
- Group: amxmodx 1.8.2 hg65
- Functions: 5
- Documented constants: 1

### Constants

#### Regex

Regex

```pawn
enum Regex
{
	REGEX_MATCH_FAIL = -2,
	REGEX_PATTERN_FAIL,
	REGEX_NO_MATCH,
	REGEX_OK
};
```

### Functions

#### regex_compile

- Include: `regex.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/regex/function/regex_compile
- Line: 53

##### Syntax

```pawn
native Regex:regex_compile(const pattern[], &ret, error[], maxLen, const flags[]="");
```

##### Description

Precompile a regular expression.  Use this if you intend on using the
same expression multiple times.  Pass the regex handle returned here to
regex_match_c to check for matches.

##### Parameters

- `pattern`: The regular expression pattern.
- `errcode`: Error code encountered, if applicable.
- `error`: Error message encountered, if applicable.
- `maxLen`: Maximum string length of the error buffer.
- `flags`: General flags for the regular expression.
i = Ignore case
m = Multilines (affects ^ and $ so that they match
the start/end of a line rather than matching the
start/end of the string).
s = Single line (affects . so that it matches any character,
even new line characters).
x = Pattern extension (ignore whitespace and # comments).

##### Return

-1 on error in the pattern, > valid regex handle (> 0) on success.

##### Note

This handle is automatically freed on map change.  However,
if you are completely done with it before then, you should
call regex_free on this handle.

#### regex_free

- Include: `regex.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/regex/function/regex_free
- Line: 134

##### Syntax

```pawn
native regex_free(&Regex:id);
```

##### Description

Frees the memory associated with a regex result, and sets the handle to 0.
This must be called on all results from regex_match() when you are done extracting
the results with regex_substr().
The results of regex_compile() (and subsequently, regex_match_c()) only need to be freed
when you are done using the pattern.

##### Parameters

- `id`: The regex handle to free.

##### Return

This function has no return value.

##### Note

Do not use the handle again after freeing it!

#### regex_match

- Include: `regex.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/regex/function/regex_match
- Line: 105

##### Syntax

```pawn
native Regex:regex_match(const string[], const pattern[], &ret, error[], maxLen, const flags[] = "");
```

##### Description

Matches a string against a regular expression pattern.

##### Parameters

- `string`: The string to check.
- `pattern`: The regular expression pattern.
- `ret`: Error code, or result state of the match.
- `error`: Error message, if applicable.
- `maxLen`: Maximum length of the error buffer.
- `flags`: General flags for the regular expression.
i = Ignore case
m = Multilines (affects ^ and $ so that they match
the start/end of a line rather than matching the
start/end of the string).
s = Single line (affects . so that it matches any character,
even new line characters).
x = Pattern extension (ignore whitespace and # comments).

##### Note

If you intend on using the same regular expression pattern
multiple times, consider using regex_compile and regex_match_c
instead of making this function reparse the expression each time.

##### Return

-2 = Matching error (error code is stored in ret)
-1 = Error in pattern (error message and offset # in error and ret)
0 = No match.
>1 = Handle for getting more information (via regex_substr)

##### Note

Flags only exist in amxmodx 1.8 and later.

##### Note

You should free the returned handle (with regex_free())
when you are done extracting all of the substrings.

#### regex_match_c

- Include: `regex.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/regex/function/regex_match_c
- Line: 73

##### Syntax

```pawn
native regex_match_c(const string[], Regex:pattern, &ret);
```

##### Description

Matches a string against a pre-compiled regular expression pattern.

##### Parameters

- `pattern`: The regular expression pattern.
- `string`: The string to check.
- `ret`: Error code, if applicable, or number of results on success.

##### Return

-2 = Matching error (error code is stored in ret)
0 = No match.
>1 = Number of results.

##### Note

You should free the returned handle (with regex_free())
when you are done with this pattern.

##### Note

Use the regex handle passed to this function to extract
matches with regex_substr().

#### regex_substr

- Include: `regex.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/regex/function/regex_substr
- Line: 118

##### Syntax

```pawn
native regex_substr(Regex:id, str_id, buffer[], maxLen);
```

##### Description

Returns a matched substring from a regex handle.
Substring ids start at 0 and end at ret-1, where ret is from the corresponding
regex_match or regex_match_c function call.

##### Parameters

- `id`: The regex handle to extract data from.
- `str_id`: The index of the expression to get - starts at 0, and ends at ret - 1.
- `buffer`: The buffer to set to the matching substring.
- `maxLen`: The maximum string length of the buffer.

## amxmodx 1.8.2 hg65 / sockets.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sockets
- Group: amxmodx 1.8.2 hg65
- Functions: 6
- Documented constants: 2

### Constants

#### SOCKET_TCP

SOCKET_TCP

```pawn
#define SOCKET_TCP 1
```

#### SOCKET_UDP

SOCKET_UDP

```pawn
#define SOCKET_UDP 2
```

### Functions

#### socket_change

- Include: `sockets.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sockets/function/socket_change
- Line: 64

##### Syntax

```pawn
native socket_change(_socket, _timeout=100000);
```

##### Description

This function has no description.

#### socket_close

- Include: `sockets.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sockets/function/socket_close
- Line: 46

##### Syntax

```pawn
native socket_close(_socket);
```

##### Description

Closes a Socket

#### socket_open

- Include: `sockets.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sockets/function/socket_open
- Line: 42

##### Syntax

```pawn
native socket_open(const _hostname[], _port, _protocol = SOCKET_TCP, &_error);
```

##### Description

Opens a new connection to hostname:port via protocol (either SOCKET_TCP or SOCKET_UDP),
returns a socket (positive) or negative or zero on error.
States of error:
0 - no error
1 - error while creating socket
2 - couldn't resolve hostname
3 - couldn't connect to given hostname:port

#### socket_recv

- Include: `sockets.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sockets/function/socket_recv
- Line: 50

##### Syntax

```pawn
native socket_recv(_socket, _data[], _length);
```

##### Description

Recieves Data to string with the given length

#### socket_send

- Include: `sockets.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sockets/function/socket_send
- Line: 54

##### Syntax

```pawn
native socket_send(_socket, const _data[], _length);
```

##### Description

Sends data to the Socket

#### socket_send2

- Include: `sockets.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sockets/function/socket_send2
- Line: 58

##### Syntax

```pawn
native socket_send2(_socket, const _data[], _length);
```

##### Description

Same as socket_send but Data can contain null bytes

## amxmodx 1.8.2 hg65 / sorting.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sorting
- Group: amxmodx 1.8.2 hg65
- Functions: 5
- Documented constants: 2

### Constants

#### SortMethod

SortMethod

```pawn
enum SortMethod
{
	Sort_Ascending = 0,
	Sort_Descending = 1,
};
```

#### Custom sorting functions below.

Custom sorting functions below.

### Functions

#### SortCustom1D

- Include: `sorting.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sorting/function/SortCustom1D
- Line: 55

##### Syntax

```pawn
native SortCustom1D(array[], array_size, const comparefunc[], data[]="", data_size=0);
```

##### Description

Sorts a custom 1D array.  You must pass in a comparison function.
The sorting algorithm then uses your comparison function to sort the data.
The function is called in the following manner:

public MySortFunc(elem1, elem2, const array[], const data[], data_size)

 elem1, elem2	- Current element pair being compared
 array[]			- Array in its current mid-sorted state.
 data[]			- Extra data array you passed to the sort func.
 data_size		- Size of extra data you passed to the sort func.

Your function should return:
 -1 if elem1 should go before elem2
  0 if elem1 and elem2 are equal
  1 if elem1 should go after elem2
Note that the parameters after elem2 are all optional and you do not need to specify them.

#### SortCustom2D

- Include: `sorting.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sorting/function/SortCustom2D
- Line: 76

##### Syntax

```pawn
native SortCustom2D(array[][], array_size, const comparefunc[], data[]="", data_size=0);
```

##### Description

Sorts a custom 2D array.
The sorting algorithm then uses your comparison function to sort the data.
The function is called in the following manner:

public MySortFunc(const elem1[], const elem2[], const array[], data[], data_size)

 elem1[], elem2[] - Current element array pairs being compared
 array[][]		 - Array in its currently being sorted state.
 data[]			 - Extra data array you passed to the sort func.
 data_size		 - Size of extra data you passed to the sort func.

Your function should return:
 -1 if elem1[] should go before elem2[]
  0 if elem1[] and elem2 are equal[]
  1 if elem1[] should go after elem2[]
Note that the parameters after elem2[] are all optional and you do not need to specify them.

#### SortFloats

- Include: `sorting.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sorting/function/SortFloats
- Line: 29

##### Syntax

```pawn
native SortFloats(Float:array[], array_size, SortMethod:order = Sort_Ascending);
```

##### Description

This function has no description.

#### SortIntegers

- Include: `sorting.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sorting/function/SortIntegers
- Line: 27

##### Syntax

```pawn
native SortIntegers(array[], array_size, SortMethod:order = Sort_Ascending);
```

##### Description

Basic sorting functions below.

#### SortStrings

- Include: `sorting.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sorting/function/SortStrings
- Line: 31

##### Syntax

```pawn
native SortStrings(array[][], num_strings, SortMethod:order = Sort_Ascending);
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / sqlx.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx
- Group: amxmodx 1.8.2 hg65
- Functions: 29
- Documented constants: 5

### Constants

#### _sqlx_included

SQLX - Newer version of SQL stuff

```pawn
#if defined _sqlx_included
  #endinput
#endif
#define _sqlx_included

//eh..
#define SQL_NumRows SQL_NumResults

#if AMXX_VERSION_NUM >= 175
 #pragma reqclass sqlx
 #if !defined AMXMODX_NOAUTOLOAD
  #pragma defclasslib sqlx mysql
 #endif //!defined AMXMODX_NOAUTOLOAD
#endif //AMXX_VERSION_NUM
```

#### Handle

Handle

```pawn
enum Handle
{
   Empty_Handle
};
```

#### TQUERY_CONNECT_FAILED

TQUERY_CONNECT_FAILED

```pawn
#define TQUERY_CONNECT_FAILED	-2
```

#### TQUERY_QUERY_FAILED

TQUERY_QUERY_FAILED

```pawn
#define TQUERY_QUERY_FAILED	-1
```

#### TQUERY_SUCCESS

TQUERY_SUCCESS

```pawn
#define TQUERY_SUCCESS		0
```

### Functions

#### SQL_AffectedRows

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_AffectedRows
- Line: 182

##### Syntax

```pawn
native SQL_AffectedRows(Handle:query);
```

##### Description

Returns the number of affected rows.

#### SQL_Connect

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_Connect
- Line: 54

##### Syntax

```pawn
native Handle:SQL_Connect(Handle:cn_tuple, &errcode, error[], maxlength);
```

##### Description

Opens a database connection.
Returns an SQL handle, which must be freed.
Returns Empty_Handle on failure.

#### SQL_Execute

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_Execute
- Line: 134

##### Syntax

```pawn
native SQL_Execute(Handle:query);
```

##### Description

Executes a query.
Returns 1 if the query succeeded.
Returns 0 if the query failed.
NOTE: You can call this multiple times as long as its parent
 connection is kept open.  Each time the result set will be freed
 from the previous call.

#### SQL_FieldNameToNum

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_FieldNameToNum
- Line: 207

##### Syntax

```pawn
native SQL_FieldNameToNum(Handle:query, const name[]);
```

##### Description

Returns the number of a named column, or -1 if not found.

#### SQL_FieldNumToName

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_FieldNumToName
- Line: 201

##### Syntax

```pawn
native SQL_FieldNumToName(Handle:query, num, name[], maxlength);
```

##### Description

Returns the name of a column.
Errors on a bad field number.

#### SQL_FreeHandle

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_FreeHandle
- Line: 46

##### Syntax

```pawn
native SQL_FreeHandle(Handle:h);
```

##### Description

Frees an SQL handle.
The handle can be to anything (tuple, connection, query, results, etc).
If you free a database connection, it closes the connection as well.

#### SQL_GetAffinity

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_GetAffinity
- Line: 226

##### Syntax

```pawn
native SQL_GetAffinity(driver[], maxlen);
```

##### Description

Returns which driver this plugin is currently bound to.

#### SQL_GetInsertId

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_GetInsertId
- Line: 220

##### Syntax

```pawn
native SQL_GetInsertId(Handle:query);
```

##### Description

Returns the insert id of the last INSERT query.
Returns 0 otherwise.

#### SQL_GetQueryString

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_GetQueryString
- Line: 250

##### Syntax

```pawn
native SQL_GetQueryString(Handle:query, buffer[], maxlength);
```

##### Description

Returns the original query string that a query handle used.

#### SQL_IsNull

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_IsNull
- Line: 154

##### Syntax

```pawn
native SQL_IsNull(Handle:query, column);
```

##### Description

Tells whether a specific column in the current row
 is NULL or not.

#### SQL_MakeDbTuple

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_MakeDbTuple
- Line: 38

##### Syntax

```pawn
native Handle:SQL_MakeDbTuple(const host[], const user[], const pass[], const db[], timeout=0);
```

##### Description

Creates a connection information tuple.
This tuple must be passed into connection routines.
Freeing the tuple is not necessary, but is a good idea if you
 create many of them.  You can cache these handles globally.
!!NOTE!! I have seen most people think that this connects to the DB.
  Nowhere does it say this, and in fact it does not.  It only caches
  the connection information, the host/user/pass/etc.

The optional timeout parameter specifies how long connections should wait before
giving up.  If 0, the default (which is undefined) is used.

#### SQL_MoreResults

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_MoreResults
- Line: 147

##### Syntax

```pawn
native SQL_MoreResults(Handle:query);
```

##### Description

Returns 1 if there are more results to be read,
 0 otherwise.

#### SQL_NextResultSet

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_NextResultSet
- Line: 264

##### Syntax

```pawn
native bool:SQL_NextResultSet(Handle:query);
```

##### Description

For queries which return multiple result sets, this advances to the next
result set if one is available.  Otherwise, the current result set is
destroyed and will no longer be accessible.

This function will always return false on SQLite, and when using threaded
queries in MySQL.  Nonetheless, it has the same effect of removing the last
result set.

##### Parameters

- `query`: Query Handle.

##### Return

True on success, false on failure.

#### SQL_NextRow

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_NextRow
- Line: 176

##### Syntax

```pawn
native SQL_NextRow(Handle:query);
```

##### Description

Advances to the next result (return value should be ignored).

#### SQL_NumColumns

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_NumColumns
- Line: 194

##### Syntax

```pawn
native SQL_NumColumns(Handle:query);
```

##### Description

Returns the number of columns total.

#### SQL_NumResults

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_NumResults
- Line: 188

##### Syntax

```pawn
native SQL_NumResults(Handle:query);
```

##### Description

Returns the number of rows total.

#### SQL_PrepareQuery

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_PrepareQuery
- Line: 62

##### Syntax

```pawn
native Handle:SQL_PrepareQuery(Handle:db, const fmt[], any:...);
```

##### Description

Prepares a query.
The query must always be freed.
This does not actually do the query!

#### SQL_QueryError

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_QueryError
- Line: 140

##### Syntax

```pawn
native SQL_QueryError(Handle:query, error[], maxlength);
```

##### Description

Gets information about a failed query error.
Returns the errorcode.

#### SQL_QuoteString

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_QuoteString
- Line: 77

##### Syntax

```pawn
native SQL_QuoteString(Handle:db, buffer[], buflen, const string[]);
```

##### Description

Back-quotes characters in a string for database querying.
Note: The buffer's maximum size should be 2*strlen(string) to catch
all scenarios.

##### Parameters

- `db`: Database handle for localization, or Empty_Handle
for when a handle is not available.
- `buffer`: Buffer to copy to.
- `buflen`: Maximum size of the buffer.
- `string`: String to backquote (should not overlap buffer).

##### Return

Length of new string, or -1 on failure.

#### SQL_QuoteStringFmt

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_QuoteStringFmt
- Line: 92

##### Syntax

```pawn
native SQL_QuoteStringFmt(Handle:db, buffer[], buflen, const fmt[], any:...);
```

##### Description

Back-quotes characters in a string for database querying.
Note: The buffer's maximum size should be 2*strlen(string) to catch
all scenarios.

##### Parameters

- `db`: Database handle for localization, or Empty_Handle
for when a handle is not available.
- `buffer`: Buffer to copy to.
- `buflen`: Maximum size of the buffer.
- `fmt`: Format of string to backquote (should not overlap buffer).
- `...`: Format arguments.

##### Return

Length of new string, or -1 on failure.

#### SQL_ReadResult

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_ReadResult
- Line: 170

##### Syntax

```pawn
native SQL_ReadResult(Handle:query, column, {Float,_}:...);
```

##### Description

Retrieves the current result.
A successful query starts at the first result,
 so you should not call SQL_NextRow() first.
Passing no extra params - return int
Passing one extra param - return float in 1st extra arg
Passing two extra params - return string in 1st arg, max length in 2nd
Example:
 new num = SQL_ReadResult(query, 0)
 new Float:num2
 new str[32]
 SQL_ReadResult(query, 1, num2)
 SQL_ReadResult(query, 2, str, 31)

#### SQL_Rewind

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_Rewind
- Line: 213

##### Syntax

```pawn
native SQL_Rewind(Handle:query);
```

##### Description

Rewinds a result set to the first row.

#### SQL_SetAffinity

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_SetAffinity
- Line: 245

##### Syntax

```pawn
native SQL_SetAffinity(const driver[]);
```

##### Description

Sets driver affinity.  You can use this to force a particular
 driver implementation.  This will automatically change all SQL
 natives in your plugin to be "bound" to the module in question.
If no such module is found, it will return 0.  This isn't necessarily bad -
 the user might have typed the wrong driver.  Unless your plugin is built
 to handle different driver types at once, you should let this error pass.
Note, that using this while you have open handles to another database
 type will cause problems.  I.e., you cannot open a handle, switch
 affinity, then close the handle with a different driver.
Switching affinity is an O(n*m) operation, where n is the number of
 SQL natives and m is the number of used natives in total.
Intuitive programmers will note that this causes problems for threaded queries.
 You will have to either force your script to work under one affinity, or to
 pack the affinity type into the query data, check it against the current, then
 set the new affinity if necessary.  Then, restore the old for safety.

#### SQL_ThreadQuery

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_ThreadQuery
- Line: 123

##### Syntax

```pawn
native SQL_ThreadQuery(Handle:db_tuple, const handler[], const query[], const data[]="", dataSize=0);
```

##### Description

Prepares and executes a threaded query.
This will not interrupt gameplay in the event of a poor/lossed
 connection, however, the interface is more complicated and
 asynchronous.  Furthermore, a new connection/disconnection is
 made for each query to simplify driver support.
The handler should look like:

##### Parameters

- `failstate`: - One of the three TQUERY_ defines.
- `query`: - Handle to the query, do not free it.
- `error`: - An error message, if any.
- `errnum`: - An error code, if any.
- `data`: - Data array you passed in.
- `size`: - Size of the data array you passed in.
- `queuetime`: - Amount of gametime that passed while the query was resolving.
public QueryHandler(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime)
Note! The handle you pass in is a DB Tuple, NOT an active connection!
Note! The handle does not need to be freed.
Also note: This function is not guaranteed to be in another thread
(in fact - it's not).  You're seeing data "after the fact",
and as such to execute another query you should run
SQL_ThreadQuery again with new data.

#### SQL_MakeStdTuple

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_MakeStdTuple
- Line: 361

##### Syntax

```pawn
stock Handle:SQL_MakeStdTuple(timeout = 0)
```

##### Description

This function has no description.

#### SQL_QueryAndIgnore

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_QueryAndIgnore
- Line: 339

##### Syntax

```pawn
stock SQL_QueryAndIgnore(Handle:db, const queryfmt[], any:...)
```

##### Description

Use this for executing a query and not caring about the error.
Returns -1 on error, >=0 on success (with number of affected rows)

#### SQL_SimpleQuery

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_SimpleQuery
- Line: 292

##### Syntax

```pawn
stock SQL_SimpleQuery(Handle:db, const query[], error[]="", maxlength=0, &rows=0)
```

##### Description

Use this for executing a query where you don't care about the result.
Returns 0 on failure, 1 on success

#### SQL_SimpleQueryFmt

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/SQL_SimpleQueryFmt
- Line: 314

##### Syntax

```pawn
stock SQL_SimpleQueryFmt(Handle:db, error[]="", maxlength=0, &rows=0, const fmt[], any:...)
```

##### Description

Use this for executing a query where you don't care about the result.
Returns 0 on failure, 1 on success

#### sqlite_TableExists

- Include: `sqlx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/sqlx/function/sqlite_TableExists
- Line: 270

##### Syntax

```pawn
stock bool:sqlite_TableExists(Handle:db, const table[])
```

##### Description

This function can be used to find out if a table in a Sqlite database exists.
(updated for newer API)

## amxmodx 1.8.2 hg65 / string.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string
- Group: amxmodx 1.8.2 hg65
- Functions: 36
- Documented constants: 1

### Constants

#### charsmax

charsmax

```pawn
#define charsmax(%1) (sizeof(%1)-1)
```

### Functions

#### add

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/add
- Line: 29

##### Syntax

```pawn
native add(dest[],len,const src[],max=0);
```

##### Description

Adds one string to another. Last parameter different from 0, specifies
how many chars we want to add. Function returns number of all merged chars.

#### contain

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/contain
- Line: 18

##### Syntax

```pawn
native contain(const source[],const string[]);
```

##### Description

Checks if source contains string. On success function
returns position in source, on failure returns -1.

#### containi

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/containi
- Line: 22

##### Syntax

```pawn
native containi(const source[],const string[]);
```

##### Description

Checks if source contains string with case ignoring. On success function
returns position in source, on failure returns -1.

#### copy

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/copy
- Line: 97

##### Syntax

```pawn
native copy(dest[],len,const src[]);
```

##### Description

Copies one string to another. By len var
 you may specify max. number of chars to copy.

#### copyc

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/copyc
- Line: 101

##### Syntax

```pawn
native copyc(dest[],len,const src[],ch);
```

##### Description

Copies one string to another until char ch is found.
 By len var you may specify max. number of chars to copy.

#### equal

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/equal
- Line: 89

##### Syntax

```pawn
native equal(const a[],const b[],c=0);
```

##### Description

Checks if two strings equal. If len var is set
then there are only c chars comapred.

#### equali

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/equali
- Line: 93

##### Syntax

```pawn
native equali(const a[],const b[],c=0);
```

##### Description

Checks if two strings equal with case ignoring.
If len var is set then there are only c chars comapred.

#### float_to_str

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/float_to_str
- Line: 82

##### Syntax

```pawn
native float_to_str(Float:fl, string[], len);
```

##### Description

Converts float to string.

#### format

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/format
- Line: 39

##### Syntax

```pawn
native format(output[] ,len ,const format[] , any:...);
```

##### Description

Fills string with given format and parameters.
Function returns number of copied chars.
Example: format(dest,"Hello %s. You are %d years old","Tom",17).
If any of your input buffers overlap with the destination buffer,
 format() falls back to a "copy-back" version as of 1.65.  This is
 slower, so you should using a source string that is the same as
 the destination.

#### format_args

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/format_args
- Line: 73

##### Syntax

```pawn
native format_args(output[] ,len ,pos = 0);
```

##### Description

Gets parameters from function as formated string.

#### formatex

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/formatex
- Line: 50

##### Syntax

```pawn
native formatex(output[] ,len ,const format[] , any:...);
```

##### Description

Same as format(), except does not perform a "copy back" check.
This means formatex() is faster, but DOES NOT ALLOW this type
of call:
 formatex(buffer, len, "%s", buffer)
 formatex(buffer, len, buffer, buffer)
 formatex(buffer, len, "%s", buffer[5])
This is because the output is directly stored into "buffer",
 rather than copied back at the end.

#### isalnum

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/isalnum
- Line: 157

##### Syntax

```pawn
native isalnum(ch);
```

##### Description

Returns true when value is letter or digit.

#### isalpha

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/isalpha
- Line: 151

##### Syntax

```pawn
native isalpha(ch);
```

##### Description

Returns true when value is letter.

#### isdigit

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/isdigit
- Line: 148

##### Syntax

```pawn
native isdigit(ch);
```

##### Description

Returns true when value is digit.

#### isspace

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/isspace
- Line: 154

##### Syntax

```pawn
native isspace(ch);
```

##### Description

Returns true when value is space.

#### num_to_str

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/num_to_str
- Line: 76

##### Syntax

```pawn
native num_to_str(num,string[],len);
```

##### Description

Converts number to string.

#### parse

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/parse
- Line: 111

##### Syntax

```pawn
native parse(const text[], ... );
```

##### Description

Gets parameters from text.
Example: to split text: "^"This is^" the best year",
call function like this: parse(text,arg1,len1,arg2,len2,arg3,len3,arg4,len4)
and you will get: "This is", "the", "best", "year"
Function returns number of parsed parameters.

#### replace

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/replace
- Line: 25

##### Syntax

```pawn
native replace(text[], len, const what[], const with[]);
```

##### Description

Replaces given string to another in given text.

#### setc

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/setc
- Line: 104

##### Syntax

```pawn
native setc(src[],len,ch);
```

##### Description

Sets string with given character.

#### str_to_float

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/str_to_float
- Line: 85

##### Syntax

```pawn
native Float:str_to_float(const string[]);
```

##### Description

Parses a float.

#### str_to_num

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/str_to_num
- Line: 79

##### Syntax

```pawn
native str_to_num(const string[]);
```

##### Description

Returns converted string to number.

#### strbreak

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/strbreak
- Line: 133

##### Syntax

```pawn
native strbreak(const text[], Left[], leftLen, Right[], rightLen);
```

##### Description

Gets parameters from text one at a time
   It breaks a string into the first parameter and the rest of the parameters
   (A left side and right side of the string)
   Example: to split text: "^"This is^" the best year",
   strbreak(text, arg1, len1, arg2, len2)
   arg1="This is", arg2=the best year
   This is more useful than parse() because you can keep breaking
   any number of arguments

#### strcat

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/strcat
- Line: 160

##### Syntax

```pawn
native strcat(dest[], const source[], maxlength);
```

##### Description

Concatenates a string.  Maxlength is the total buffer of the destination.

#### strcmp

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/strcmp
- Line: 166

##### Syntax

```pawn
native strcmp(const string1[], const string2[], ignorecase=0);
```

##### Description

Compares two strings with the C function strcmp().  Returns 0 on equal.

#### strfind

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/strfind
- Line: 163

##### Syntax

```pawn
native strfind(const string[], const sub[], ignorecase=0, pos=0);
```

##### Description

Finds a string in another string.  Returns -1 if not found.

#### strtok

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/strtok
- Line: 122

##### Syntax

```pawn
native strtok(const text[], Left[], leftLen, Right[], rightLen, token=' ', trimSpaces=0);
```

##### Description

Breaks a string into two halves, by token.
   See strbreak() for doing this with parameters.
   Example:
   str1[] = This *is*some text
   strtok(str1, left, 24, right, 24, '*')
   left will be "This "
   Right will be "is*some text"
   If you use trimSpaces, all spaces are trimmed from Left.

#### strtolower

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/strtolower
- Line: 139

##### Syntax

```pawn
native strtolower(string[]);
```

##### Description

Converts all chars in string to lower case.

#### strtoupper

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/strtoupper
- Line: 142

##### Syntax

```pawn
native strtoupper(string[]);
```

##### Description

Converts all chars in string to upper case.

#### trim

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/trim
- Line: 136

##### Syntax

```pawn
native trim(text[]);
```

##### Description

Strips spaces from the beginning and end of a string.

#### ucfirst

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/ucfirst
- Line: 145

##### Syntax

```pawn
native ucfirst(string[]);
```

##### Description

Make a string's first character uppercase

#### vdformat

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/vdformat
- Line: 70

##### Syntax

```pawn
native vdformat(buffer[], len, fmt_arg, vararg, ...);
```

##### Description

Same as vformat(), except works in normal style dynamic natives.
Instead of passing the format arg string, you can only pass the
 actual format argument number itself.
If you pass 0, it will read the format string from an optional
 fifth parameter.

#### vformat

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/vformat
- Line: 61

##### Syntax

```pawn
native vformat(buffer[], len, const fmt[], vararg);
```

##### Description

Replacement for format_args.  Much faster and %L compatible.
This works exactly like vsnprintf() from C.
You must pass in the output buffer and its size,
 the string to format, and the number of the FIRST variable
 argument parameter.  For example, for:
 function (a, b, c, ...)
 You would pass 4 (a is 1, b is 2, c is 3, et cetera).
There is no vformatex().

#### is_str_num

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/is_str_num
- Line: 169

##### Syntax

```pawn
stock bool:is_str_num(const sString[])
```

##### Description

Tests if given string contains only digits. Also, returns false for zero-length strings.

#### remove_filepath

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/remove_filepath
- Line: 209

##### Syntax

```pawn
stock remove_filepath(const szFilePath[], szFile[], pMax)
```

##### Description

Removes a path from szFilePath leaving the name of the file in szFile for a pMax length.

#### replace_all

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/replace_all
- Line: 224

##### Syntax

```pawn
stock replace_all(string[], len, const what[], const with[])
```

##### Description

Replaces a contained string iteratively.
This ensures that no infinite replacements will take place by
 intelligently moving to the next string position each iteration.

#### split

- Include: `string.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/string/function/split
- Line: 184

##### Syntax

```pawn
stock split(const szInput[], szLeft[], pL_Max, szRight[], pR_Max, const szDelim[])
```

##### Description

It is basically strbreak but you have a delimiter that is more than one character in length.
   You pass the Input string, the Left output, the max length of the left output,
   the right output , the max right length, and then the delimiter string.
   By Suicid3

## amxmodx 1.8.2 hg65 / svn_version.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/svn_version
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 2

### Constants

#### AMXX_VERSION

AMXX_VERSION

```pawn
#define AMXX_VERSION		1.82
```

#### AMXX_VERSION_NUM

AMXX_VERSION_NUM

```pawn
#define AMXX_VERSION_NUM	182
```

## amxmodx 1.8.2 hg65 / tfcconst.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcconst
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 9

### Constants

#### TFCMAX_WEAPONS

TFCMAX_WEAPONS

```pawn
#define TFCMAX_WEAPONS	37
```

#### Enum starting with TFC_AMMO_SHELLS

Enum starting with TFC_AMMO_SHELLS

```pawn
enum {
	TFC_AMMO_SHELLS = 0,
	TFC_AMMO_BULLETS,
	TFC_AMMO_CELLS,
	TFC_AMMO_ROCKETS,
	TFC_AMMO_NADE1,
	TFC_AMMO_NADE2,
};
```

#### Enum starting with TFC_WPN_NONE

Enum starting with TFC_WPN_NONE

```pawn
enum {
	TFC_WPN_NONE = 0,
	TFC_WPN_TIMER,//TFC_WPN_UNK1,
	TFC_WPN_SENTRYGUN,//TFC_WPN_UNK2,
	TFC_WPN_MEDIKIT,
	TFC_WPN_SPANNER,
	TFC_WPN_AXE,
	TFC_WPN_SNIPERRIFLE,
	TFC_WPN_AUTORIFLE,
	TFC_WPN_SHOTGUN,
	TFC_WPN_SUPERSHOTGUN,
	TFC_WPN_NG,
	TFC_WPN_SUPERNG,
	TFC_WPN_GL,
	TFC_WPN_FLAMETHROWER,
	TFC_WPN_RPG,
	TFC_WPN_IC,
	TFC_WPN_FLAMES,//TFC_WPN_UNK16,
	TFC_WPN_AC,
	TFC_WPN_UNK18,
	TFC_WPN_UNK19,
	TFC_WPN_TRANQ,
	TFC_WPN_RAILGUN,
	TFC_WPN_PL,
	TFC_WPN_KNIFE,
	TFC_WPN_CALTROP, // 24
	TFC_WPN_CONCUSSIONGRENADE,
	TFC_WPN_NORMALGRENADE,
	TFC_WPN_NAILGRENADE,
	TFC_WPN_MIRVGRENADE,
	TFC_WPN_NAPALMGRENADE,
	TFC_WPN_GASGRENADE,
	TFC_WPN_EMPGRENADE,
};
```

#### Enum starting with TFC_PC_SCOUT

Enum starting with TFC_PC_SCOUT

```pawn
enum {
	TFC_PC_SCOUT = 1,
	TFC_PC_SNIPER,
	TFC_PC_SOLDIER,
	TFC_PC_DEMOMAN,
	TFC_PC_MEDIC,
	TFC_PC_HWGUY,
	TFC_PC_PYRO,
	TFC_PC_SPY,
	TFC_PC_ENGENEER,
	TFC_PC_CIVILIAN,
};
```

#### TFC_PC_ENGINEER

TFC_PC_ENGINEER

```pawn
#define TFC_PC_ENGINEER TFC_PC_ENGENEER
```

#### TFC_GOALITEM_BLUE

TFC_GOALITEM_BLUE

```pawn
#define TFC_GOALITEM_BLUE   (1 << 17)
```

#### TFC_GOALITEM_RED

TFC_GOALITEM_RED

```pawn
#define TFC_GOALITEM_RED    (1 << 18)
```

#### TFC_GOALITEM_YELLOW

TFC_GOALITEM_YELLOW

```pawn
#define TFC_GOALITEM_YELLOW (1 << 24)
```

#### TFC_GOALITEM_GREEN

TFC_GOALITEM_GREEN

```pawn
#define TFC_GOALITEM_GREEN  (1 << 25)
```

## amxmodx 1.8.2 hg65 / tfcstats.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats
- Group: amxmodx 1.8.2 hg65
- Functions: 9
- Documented constants: 0

### Functions

#### get_stats

- Include: `tfcstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats/function/get_stats
- Line: 52

##### Syntax

```pawn
native get_stats(index,stats[8],bodyhits[8],name[],len);
```

##### Description

Gets overall stats which stored in stats.dat file in amx folder
and updated on every mapchange or user disconnect.
Function returns next index of stats entry or 0 if no more exists.

#### get_statsnum

- Include: `tfcstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats/function/get_statsnum
- Line: 55

##### Syntax

```pawn
native get_statsnum();
```

##### Description

Returns number of all entries in stats.

#### get_user_astats

- Include: `tfcstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats/function/get_user_astats
- Line: 44

##### Syntax

```pawn
native get_user_astats(index,wpnindex,stats[8],bodyhits[8],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have been killed/hurt. If killer is 0
then stats are from all attacks. If killer has not hurt user, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_rstats

- Include: `tfcstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats/function/get_user_rstats
- Line: 34

##### Syntax

```pawn
native get_user_rstats(index,stats[8],bodyhits[8]);
```

##### Description

Gets round stats of player.

#### get_user_stats

- Include: `tfcstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats/function/get_user_stats
- Line: 31

##### Syntax

```pawn
native get_user_stats(index,stats[8],bodyhits[8]);
```

##### Description

Gets overall stats which are stored in file on server
and updated on every respawn or user disconnect.
Function returns the position in stats by diff. kills to deaths.

#### get_user_vstats

- Include: `tfcstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats/function/get_user_vstats
- Line: 39

##### Syntax

```pawn
native get_user_vstats(index,victim,stats[8],bodyhits[8],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have killed/hurt his victim. If victim is 0
then stats are from all victims. If victim has not been hurt, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_wrstats

- Include: `tfcstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats/function/get_user_wrstats
- Line: 26

##### Syntax

```pawn
native get_user_wrstats(index,wpnindex,stats[8],bodyhits[8]);
```

##### Description

Gets round stats from given weapon index.

#### get_user_wstats

- Include: `tfcstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats/function/get_user_wstats
- Line: 23

##### Syntax

```pawn
native get_user_wstats(index,wpnindex,stats[8],bodyhits[8]);
```

##### Description

Gets stats from given weapon index. If wpnindex is 0
then the stats are from all weapons. If weapon has not been used function
returns 0 in other case 1. Fields in stats are:
0 - kills
1 - deaths
2 - headshots
3 - teamkilling
4 - shots
5 - hits
6 - damage
For body hits fields see amxconst.inc.

#### reset_user_wstats

- Include: `tfcstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcstats/function/reset_user_wstats
- Line: 47

##### Syntax

```pawn
native reset_user_wstats(index);
```

##### Description

Resets life, weapon, victims and attackers user stats.

## amxmodx 1.8.2 hg65 / tfcx.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx
- Group: amxmodx 1.8.2 hg65
- Functions: 26
- Documented constants: 1

### Constants

#### Forward types

Forward types

```pawn
enum {
  XMF_DAMAGE = 0,
  XMF_DEATH,
};
```

### Functions

#### client_damage

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/client_damage
- Line: 37

##### Syntax

```pawn
forward client_damage(attacker,victim,damage,wpnindex,hitplace,TA);
```

##### Description

Function is called after player to player attacks ,
if players were damaged by teammate TA is set to 1

#### client_death

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/client_death
- Line: 41

##### Syntax

```pawn
forward client_death(killer,victim,wpnindex,hitplace,TK);
```

##### Description

Function is called after player death ,
if player was killed by teammate TK is set to 1

#### custom_weapon_add

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/custom_weapon_add
- Line: 45

##### Syntax

```pawn
native custom_weapon_add( const wpnname[],melee = 0,const logname[]="" );
```

##### Description

function will return index of new weapon

#### custom_weapon_dmg

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/custom_weapon_dmg
- Line: 47

##### Syntax

```pawn
native custom_weapon_dmg( weapon, att, vic, damage, hitplace=0 );
```

##### Description

Function will pass damage done by this custom weapon to stats module and other plugins

#### custom_weapon_shot

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/custom_weapon_shot
- Line: 49

##### Syntax

```pawn
native custom_weapon_shot( weapon,index ); // weapon id , player id
```

##### Description

Function will pass info about custom weapon shot to stats module

#### register_statsfwd

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/register_statsfwd
- Line: 33

##### Syntax

```pawn
native register_statsfwd( ftype );
```

##### Description

Use this function to register forwards

#### tfc_clearmodel

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_clearmodel
- Line: 107

##### Syntax

```pawn
native 	tfc_clearmodel(index);
```

##### Description

This function has no description.

#### tfc_get_user_goalitem

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_get_user_goalitem
- Line: 135

##### Syntax

```pawn
native tfc_get_user_goalitem(index, &team);
```

##### Description

Returns 1 if user is carrying a goal item such as a flag or a keycard, else 0.
Team is by reference parameter that will be set to owning team(s) of the goal item.
Use the TFC_GOALITEM_* constants to determine the owning team.

#### tfc_getbammo

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_getbammo
- Line: 111

##### Syntax

```pawn
native 	tfc_getbammo(index, ammo);
```

##### Description

Ammo Types in tfcconst.inc

#### tfc_getweaponammo

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_getweaponammo
- Line: 125

##### Syntax

```pawn
native tfc_getweaponammo(index);
```

##### Description

Index must be weapon's entity index

#### tfc_getweaponbammo

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_getweaponbammo
- Line: 118

##### Syntax

```pawn
native tfc_getweaponbammo(index, weapon);
```

##### Description

Weapons list in tfcconst.inc

#### tfc_is_team_ally

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_is_team_ally
- Line: 145

##### Syntax

```pawn
native tfc_is_team_ally(TeamA,TeamB);
```

##### Description

Returns 1 if the two teams are allies, 0 otherwise
Note: Team must be 1->4
      Team 0 will always return 0
      Any other team will result in an error

#### tfc_is_user_feigning

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_is_user_feigning
- Line: 138

##### Syntax

```pawn
native tfc_is_user_feigning(index);
```

##### Description

Returns 1 if the player is a spy and is currently feigning death

#### tfc_setbammo

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_setbammo
- Line: 114

##### Syntax

```pawn
native 	tfc_setbammo(index, ammo, value);
```

##### Description

Set amount of ammo in backpack on a user for a specific weapon

#### tfc_setmodel

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_setmodel
- Line: 106

##### Syntax

```pawn
native 	tfc_setmodel(index, const Model[], const Skin[]);
```

##### Description

This function has no description.

#### tfc_setpddata

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_setpddata
- Line: 102

##### Syntax

```pawn
native tfc_setpddata(timer,sentrygun,shells,bullets,cells,rockets,nade1,nade2);
```

##### Description

Use this function to set private data offsets if needed
Default offsets:
	timer: 932
	sentrygun: 83
from AssKicR
	shells: 53
	bullets: 55
	cells: 57
	rockets: 59
	nade1: 14
	nade2: 15

#### tfc_setweaponammo

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_setweaponammo
- Line: 129

##### Syntax

```pawn
native tfc_setweaponammo(index, value);
```

##### Description

Index must be weapon's entity index

#### tfc_setweaponbammo

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_setweaponbammo
- Line: 121

##### Syntax

```pawn
native tfc_setweaponbammo(index, weapon, value);
```

##### Description

Sets amount of ammo in weapon's clip (backpack)

#### tfc_userkill

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_userkill
- Line: 88

##### Syntax

```pawn
native tfc_userkill( index );
```

##### Description

This function has no description.

#### xmod_get_maxweapons

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/xmod_get_maxweapons
- Line: 61

##### Syntax

```pawn
native xmod_get_maxweapons();
```

##### Description

Returns weapons array size

#### xmod_get_stats_size

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/xmod_get_stats_size
- Line: 64

##### Syntax

```pawn
native xmod_get_stats_size();
```

##### Description

Returns stats array size ex. 8 in TS , 9 in DoD

#### xmod_get_wpnlogname

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/xmod_get_wpnlogname
- Line: 58

##### Syntax

```pawn
native xmod_get_wpnlogname(wpnindex,name[],len);
```

##### Description

Returns weapon logname.

#### xmod_get_wpnname

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/xmod_get_wpnname
- Line: 55

##### Syntax

```pawn
native xmod_get_wpnname(wpnindex,name[],len);
```

##### Description

Returns weapon name.

#### xmod_is_custom_wpn

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/xmod_is_custom_wpn
- Line: 67

##### Syntax

```pawn
native xmod_is_custom_wpn(wpnindex);
```

##### Description

Returns 1 if true

#### xmod_is_melee_wpn

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/xmod_is_melee_wpn
- Line: 52

##### Syntax

```pawn
native xmod_is_melee_wpn(wpnindex);
```

##### Description

function will return 1 if true

#### tfc_isgrenade

- Include: `tfcx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tfcx/function/tfc_isgrenade
- Line: 71

##### Syntax

```pawn
stock tfc_isgrenade( weapon ){
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / time.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/time
- Group: amxmodx 1.8.2 hg65
- Functions: 1
- Documented constants: 5

### Constants

#### Time unit types for get_time_length()

Time unit types for get_time_length()

```pawn
enum
{
    timeunit_seconds = 0,
    timeunit_minutes,
    timeunit_hours,
    timeunit_days,
    timeunit_weeks,
};
```

#### SECONDS_IN_MINUTE

SECONDS_IN_MINUTE

```pawn
#define SECONDS_IN_MINUTE 60
```

#### SECONDS_IN_HOUR

SECONDS_IN_HOUR

```pawn
#define SECONDS_IN_HOUR   3600
```

#### SECONDS_IN_DAY

SECONDS_IN_DAY

```pawn
#define SECONDS_IN_DAY    86400
```

#### SECONDS_IN_WEEK

SECONDS_IN_WEEK

```pawn
#define SECONDS_IN_WEEK   604800
```

### Functions

#### get_time_length

- Include: `time.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/time/function/get_time_length
- Line: 30

##### Syntax

```pawn
stock get_time_length(id, unitCnt, type, output[], outputLen)
```

##### Description

Stock by Brad

## amxmodx 1.8.2 hg65 / translator.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/translator
- Group: amxmodx 1.8.2 hg65
- Functions: 3
- Documented constants: 0

### Functions

#### translate

- Include: `translator.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/translator/function/translate
- Line: 22

##### Syntax

```pawn
native translate(const string[], destid=-1, forcelang=-1);
```

##### Description

Translation backend, used by _T (since natives can't return arrays).

#### _T

- Include: `translator.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/translator/function/_T
- Line: 24

##### Syntax

```pawn
stock _T(const string[], destid=-1, forcelang=-1)
```

##### Description

This function has no description.

#### load_translations

- Include: `translator.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/translator/function/load_translations
- Line: 31

##### Syntax

```pawn
stock load_translations(const file[])
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / tsconst.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsconst
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 38

### Constants

#### TSMAX_WEAPONS

TSMAX_WEAPONS

```pawn
#define TSMAX_WEAPONS 44	// 37 + throwing knife + brekable + 5 custom weapon slots
```

#### TSPWUP_NONE

TSPWUP_NONE

```pawn
#define TSPWUP_NONE			0
```

#### TSPWUP_RANDOM

TSPWUP_RANDOM

```pawn
#define TSPWUP_RANDOM			0
```

#### TSPWUP_SLOWMO

TSPWUP_SLOWMO

```pawn
#define TSPWUP_SLOWMO 			1
```

#### TSPWUP_INFAMMO

TSPWUP_INFAMMO

```pawn
#define TSPWUP_INFAMMO		 	2
```

#### TSPWUP_KUNGFU

TSPWUP_KUNGFU

```pawn
#define TSPWUP_KUNGFU		 	4
```

#### TSPWUP_SLOWPAUSE

TSPWUP_SLOWPAUSE

```pawn
#define TSPWUP_SLOWPAUSE 		8
```

#### TSPWUP_DFIRERATE

TSPWUP_DFIRERATE

```pawn
#define TSPWUP_DFIRERATE		16
```

#### TSPWUP_GRENADE

TSPWUP_GRENADE

```pawn
#define TSPWUP_GRENADE			32
```

#### TSPWUP_HEALTH

TSPWUP_HEALTH

```pawn
#define TSPWUP_HEALTH			64
```

#### TSPWUP_ARMOR

TSPWUP_ARMOR

```pawn
#define TSPWUP_ARMOR			128
```

#### TSPWUP_SUPERJUMP

TSPWUP_SUPERJUMP

```pawn
#define TSPWUP_SUPERJUMP		256
```

#### TSITEM_KUNGFU

TSITEM_KUNGFU

```pawn
#define TSITEM_KUNGFU			1<<0
```

#### TSITEM_SUPERJUMP

TSITEM_SUPERJUMP

```pawn
#define TSITEM_SUPERJUMP		1<<1
```

#### TSKF_STUNTKILL

TSKF_STUNTKILL

```pawn
#define TSKF_STUNTKILL			1<<0
```

#### TSKF_SLIDINGKILL

TSKF_SLIDINGKILL

```pawn
#define TSKF_SLIDINGKILL		1<<1
```

#### TSKF_DOUBLEKILL

TSKF_DOUBLEKILL

```pawn
#define TSKF_DOUBLEKILL			1<<2
```

#### TSKF_ISSPEC

TSKF_ISSPEC

```pawn
#define TSKF_ISSPEC			1<<3
```

#### TSKF_KILLEDSPEC

TSKF_KILLEDSPEC

```pawn
#define TSKF_KILLEDSPEC			1<<4
```

#### TSA_SILENCER

TSA_SILENCER

```pawn
#define TSA_SILENCER			1
```

#### TSA_LASERSIGHT

TSA_LASERSIGHT

```pawn
#define TSA_LASERSIGHT			2
```

#### TSA_FLASHLIGHT

TSA_FLASHLIGHT

```pawn
#define TSA_FLASHLIGHT			4
```

#### TSA_SCOPE

TSA_SCOPE

```pawn
#define TSA_SCOPE				8
```

#### TSMSG_NORMAL

TSMSG_NORMAL

```pawn
#define TSMSG_NORMAL			6
```

#### TSMSG_WAITING

TSMSG_WAITING

```pawn
#define TSMSG_WAITING			11
```

#### TSMSG_DEAD

TSMSG_DEAD

```pawn
#define TSMSG_DEAD			1
```

#### TSMSG_KILLER

TSMSG_KILLER

```pawn
#define TSMSG_KILLER			2
```

#### TSMSG_DEMOLITION

TSMSG_DEMOLITION

```pawn
#define TSMSG_DEMOLITION		3
```

#### TSMSG_SPECIALIST

TSMSG_SPECIALIST

```pawn
#define TSMSG_SPECIALIST		4
```

#### TSMSG_UNSTOPPABLE

TSMSG_UNSTOPPABLE

```pawn
#define TSMSG_UNSTOPPABLE		5
```

#### TSMSG_THEONE

TSMSG_THEONE

```pawn
#define TSMSG_THEONE			10
```

#### STUNT_NONE

STUNT_NONE

```pawn
#define STUNT_NONE 0
```

#### STUNT_DUCK

STUNT_DUCK

```pawn
#define STUNT_DUCK 1
```

#### STUNT_ROLL

STUNT_ROLL

```pawn
#define STUNT_ROLL 2
```

#### STUNT_DIVE

STUNT_DIVE

```pawn
#define STUNT_DIVE 3
```

#### STUNT_GETUP

STUNT_GETUP

```pawn
#define STUNT_GETUP 4
```

#### STUNT_FLIP

STUNT_FLIP

```pawn
#define STUNT_FLIP 5
```

#### Enum starting with TSW_GLOCK18

Enum starting with TSW_GLOCK18

```pawn
enum {
  TSW_GLOCK18 = 1,
  TSW_UNK1,
  TSW_UZI,
  TSW_M3,
  TSW_M4A1,
  TSW_MP5SD,
  TSW_MP5K,
  TSW_ABERETTAS,
  TSW_MK23,
  TSW_AMK23,
  TSW_USAS,
  TSW_DEAGLE,
  TSW_AK47,
  TSW_57,
  TSW_AUG,
  TSW_AUZI,
  TSW_TMP,
  TSW_M82A1,
  TSW_MP7,
  TSW_SPAS,
  TSW_GCOLTS,
  TSW_GLOCK20,
  TSW_UMP,
  TSW_M61GRENADE,
  TSW_CKNIFE,
  TSW_MOSSBERG,
  TSW_M16A4,
  TSW_MK1,
  TSW_C4,
  TSW_A57,
  TSW_RBULL,
  TSW_M60E3,
  TSW_SAWED_OFF,
  TSW_KATANA,
  TSW_SKNIFE,
  TSW_KUNG_FU,
  TSW_TKNIFE,
};
```

## amxmodx 1.8.2 hg65 / tsfun.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun
- Group: amxmodx 1.8.2 hg65
- Functions: 47
- Documented constants: 1

### Constants

#### Forward types

Forward types

```pawn
enum {
  XMF_DAMAGE = 0,
  XMF_DEATH,
};
```

### Functions

#### Melee_Attack

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/Melee_Attack
- Line: 39

##### Syntax

```pawn
forward Melee_Attack(id,Float:time,Float:damage,UNAVAILABLE);
```

##### Description

Function is called just before a kung foo attack is done,
damage and time length may be altered with natives.
Return PLUGIN_HANDLED to stop attack.
UNAVAILABLE IN 1.70

#### client_powerup

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/client_powerup
- Line: 51

##### Syntax

```pawn
forward client_powerup(id,powerup,UNAVAILABLE);
```

##### Description

Function is called when powerups are ran,
Returns value of powerup. Use TSPWUP_*'s
to find exactly which one it is.
UNAVAILABLE IN 1.70

#### client_stunt

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/client_stunt
- Line: 44

##### Syntax

```pawn
forward client_stunt(id,stunttype,UNAVAILABLE);
```

##### Description

This function has no description.

#### ts_createpwup

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_createpwup
- Line: 90

##### Syntax

```pawn
native ts_createpwup( pwup );
```

##### Description

Function will create pwup entity and return its index (pwupent)

#### ts_force_run_powerup

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_force_run_powerup
- Line: 154

##### Syntax

```pawn
native ts_force_run_powerup(id,PWUP_TYPE);
```

##### Description

This function has no description.

#### ts_get_message

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_get_message
- Line: 104

##### Syntax

```pawn
native ts_get_message(id);
```

##### Description

This function has no description.

#### ts_getkillingstreak

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_getkillingstreak
- Line: 74

##### Syntax

```pawn
native ts_getkillingstreak( index );
```

##### Description

This function has no description.

#### ts_getusercash

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_getusercash
- Line: 63

##### Syntax

```pawn
native ts_getusercash( index );
```

##### Description

This function has no description.

#### ts_getuserkillflags

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_getuserkillflags
- Line: 73

##### Syntax

```pawn
native ts_getuserkillflags(killer);
```

##### Description

This function has no description.

#### ts_getuserlastfrag

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_getuserlastfrag
- Line: 75

##### Syntax

```pawn
native ts_getuserlastfrag( index );
```

##### Description

This function has no description.

#### ts_getuserpwup

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_getuserpwup
- Line: 79

##### Syntax

```pawn
native ts_getuserpwup( index );
```

##### Description

This function has no description.

#### ts_getuserslots

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_getuserslots
- Line: 66

##### Syntax

```pawn
native ts_getuserslots( index );
```

##### Description

This function has no description.

#### ts_getuserspace

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_getuserspace
- Line: 71

##### Syntax

```pawn
native ts_getuserspace( index );
```

##### Description

This function has no description.

#### ts_getuserstate

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_getuserstate
- Line: 69

##### Syntax

```pawn
native ts_getuserstate( index );
```

##### Description

This function has no description.

#### ts_getuserwpn

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_getuserwpn
- Line: 70

##### Syntax

```pawn
native ts_getuserwpn( index,&clip=0,&ammo=0,&mode=0,&extra=0 );
```

##### Description

This function has no description.

#### ts_givepwup

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_givepwup
- Line: 92

##### Syntax

```pawn
native ts_givepwup( index,pwupent );
```

##### Description

This function has no description.

#### ts_giveweapon

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_giveweapon
- Line: 77

##### Syntax

```pawn
native ts_giveweapon( index,weapon,clips,extra );
```

##### Description

This function has no description.

#### ts_has_fupowerup

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_has_fupowerup
- Line: 123

##### Syntax

```pawn
native ts_has_fupowerup(id);					//!
```

##### Description

This function has no description.

#### ts_has_superjump

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_has_superjump
- Line: 122

##### Syntax

```pawn
native ts_has_superjump(id);					//!
```

##### Description

This function has no description.

#### ts_is_in_slowmo

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_in_slowmo
- Line: 124

##### Syntax

```pawn
native ts_is_in_slowmo(id);
```

##### Description

This function has no description.

#### ts_is_running_powerup

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_running_powerup
- Line: 149

##### Syntax

```pawn
native ts_is_running_powerup(id);
```

##### Description

This function has no description.

#### ts_set_bullettrail

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_set_bullettrail
- Line: 132

##### Syntax

```pawn
native ts_set_bullettrail(id,yesorno);
```

##### Description

This function has no description.

#### ts_set_fakeslowmo

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_set_fakeslowmo
- Line: 135

##### Syntax

```pawn
native ts_set_fakeslowmo(id,Float:time);
```

##### Description

This function has no description.

#### ts_set_fakeslowpause

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_set_fakeslowpause
- Line: 136

##### Syntax

```pawn
native ts_set_fakeslowpause(id,Float:time);
```

##### Description

This function has no description.

#### ts_set_message

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_set_message
- Line: 101

##### Syntax

```pawn
native ts_set_message(id,message);
```

##### Description

This function has no description.

#### ts_set_physics_speed

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_set_physics_speed
- Line: 146

##### Syntax

```pawn
native ts_set_physics_speed(id,Float:speed);
```

##### Description

Sets physics speed artificially. Things like sparks and sounds will be effected.
Any negative number will render all physics paused.

#### ts_set_speed

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_set_speed
- Line: 142

##### Syntax

```pawn
native ts_set_speed(id,Float:speed,Float:auradist,Float:time);
```

##### Description

Sets speed artificially. 1.0 is default, Go into fractions and decimals for slower
and put in higher numbers for higher speeds. Aura is how far things around you are effected
Time is the time until it wears off. 0.0 for speed will freeze people. Do not use negatives.

#### ts_setpddata

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_setpddata
- Line: 94

##### Syntax

```pawn
native ts_setpddata( knifeoffset );
```

##### Description

This function has no description.

#### ts_setusercash

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_setusercash
- Line: 64

##### Syntax

```pawn
native ts_setusercash( index, money );
```

##### Description

This function has no description.

#### ts_setuserslots

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_setuserslots
- Line: 67

##### Syntax

```pawn
native ts_setuserslots( index, slots );
```

##### Description

This function has no description.

#### ts_wpnlogtoid

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_wpnlogtoid
- Line: 57

##### Syntax

```pawn
native ts_wpnlogtoid(const logname[]);
```

##### Description

weapon logname to weapon index convertion

#### ts_wpnlogtoname

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_wpnlogtoname
- Line: 54

##### Syntax

```pawn
native ts_wpnlogtoname(const logname[],name[],len);
```

##### Description

weapon logname to weapon name convertion

#### ts_has_armor

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_has_armor
- Line: 87

##### Syntax

```pawn
stock ts_has_armor(id) return (ts_getuserpwup(id) &TSPWUP_ARMOR);
```

##### Description

This function has no description.

#### ts_has_dfirerate

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_has_dfirerate
- Line: 84

##### Syntax

```pawn
stock ts_has_dfirerate(id) return (ts_getuserpwup(id) &TSPWUP_DFIRERATE);
```

##### Description

This function has no description.

#### ts_has_grenade

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_has_grenade
- Line: 85

##### Syntax

```pawn
stock ts_has_grenade(id) return (ts_getuserpwup(id) &TSPWUP_GRENADE);
```

##### Description

This function has no description.

#### ts_has_health

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_has_health
- Line: 86

##### Syntax

```pawn
stock ts_has_health(id) return (ts_getuserpwup(id) &TSPWUP_HEALTH);
```

##### Description

This function has no description.

#### ts_has_infammo

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_has_infammo
- Line: 82

##### Syntax

```pawn
stock ts_has_infammo(id) return (ts_getuserpwup(id) &TSPWUP_INFAMMO);
```

##### Description

This function has no description.

#### ts_has_slowmo

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_has_slowmo
- Line: 81

##### Syntax

```pawn
stock ts_has_slowmo(id) return (ts_getuserpwup(id) &TSPWUP_SLOWMO);
```

##### Description

This function has no description.

#### ts_has_slowpause

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_has_slowpause
- Line: 83

##### Syntax

```pawn
stock ts_has_slowpause(id) return (ts_getuserpwup(id) &TSPWUP_SLOWPAUSE);
```

##### Description

This function has no description.

#### ts_is_dead

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_dead
- Line: 113

##### Syntax

```pawn
stock ts_is_dead(id) return (ts_get_message(id) == TSMSG_DEAD);
```

##### Description

This function has no description.

#### ts_is_demolition

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_demolition
- Line: 115

##### Syntax

```pawn
stock ts_is_demolition(id) return (ts_get_message(id) == TSMSG_DEMOLITION);
```

##### Description

This function has no description.

#### ts_is_killer

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_killer
- Line: 114

##### Syntax

```pawn
stock ts_is_killer(id) return (ts_get_message(id) == TSMSG_KILLER);
```

##### Description

This function has no description.

#### ts_is_normal

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_normal
- Line: 106

##### Syntax

```pawn
stock ts_is_normal(id)
```

##### Description

This function has no description.

#### ts_is_specialist

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_specialist
- Line: 116

##### Syntax

```pawn
stock ts_is_specialist(id) return (ts_get_message(id) == TSMSG_SPECIALIST);
```

##### Description

This function has no description.

#### ts_is_theone

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_theone
- Line: 118

##### Syntax

```pawn
stock ts_is_theone(id) return (ts_get_message(id) == TSMSG_THEONE);
```

##### Description

This function has no description.

#### ts_is_unstoppable

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_unstoppable
- Line: 117

##### Syntax

```pawn
stock ts_is_unstoppable(id) return (ts_get_message(id) == TSMSG_UNSTOPPABLE);
```

##### Description

This function has no description.

#### ts_is_waiting

- Include: `tsfun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsfun/function/ts_is_waiting
- Line: 112

##### Syntax

```pawn
stock ts_is_waiting(id) return (ts_get_message(id) == TSMSG_WAITING);
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / tsstats.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats
- Group: amxmodx 1.8.2 hg65
- Functions: 10
- Documented constants: 0

### Functions

#### get_stats

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/get_stats
- Line: 55

##### Syntax

```pawn
native get_stats(index,stats[8],bodyhits[8],name[],len);
```

##### Description

Gets overall stats which stored in stats.dat file in amx folder
and updated on every mapchange or user disconnect.
Function returns next index of stats entry or 0 if no more exists.

#### get_statsnum

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/get_statsnum
- Line: 58

##### Syntax

```pawn
native get_statsnum();
```

##### Description

Returns number of all entries in stats.

#### get_user_astats

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/get_user_astats
- Line: 47

##### Syntax

```pawn
native get_user_astats(index,wpnindex,stats[8],bodyhits[8],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have been killed/hurt. If killer is 0
then stats are from all attacks. If killer has not hurt user, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_rstats

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/get_user_rstats
- Line: 37

##### Syntax

```pawn
native get_user_rstats(index,stats[8],bodyhits[8]);
```

##### Description

Gets round stats of player.

#### get_user_stats

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/get_user_stats
- Line: 34

##### Syntax

```pawn
native get_user_stats(index,stats[8],bodyhits[8]);
```

##### Description

Gets overall stats which are stored in file on server
and updated on every respawn or user disconnect.
Function returns the position in stats by diff. kills to deaths.

#### get_user_vstats

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/get_user_vstats
- Line: 42

##### Syntax

```pawn
native get_user_vstats(index,victim,stats[8],bodyhits[8],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have killed/hurt his victim. If victim is 0
then stats are from all victims. If victim has not been hurt, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_wlstats

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/get_user_wlstats
- Line: 29

##### Syntax

```pawn
native get_user_wlstats(index,wpnindex,stats[8],bodyhits[8]);
```

##### Description

Gets life (from spawn to spawn) stats from given weapon index.

#### get_user_wrstats

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/get_user_wrstats
- Line: 26

##### Syntax

```pawn
native get_user_wrstats(index,wpnindex,stats[8],bodyhits[8]);
```

##### Description

Gets round stats from given weapon index.

#### get_user_wstats

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/get_user_wstats
- Line: 23

##### Syntax

```pawn
native get_user_wstats(index,wpnindex,stats[8],bodyhits[8]);
```

##### Description

Gets stats from given weapon index. If wpnindex is 0
then the stats are from all weapons. If weapon has not been used function
returns 0 in other case 1. Fields in stats are:
0 - kills
1 - deaths
2 - headshots
3 - teamkilling
4 - shots
5 - hits
6 - damage
For body hits fields see amxconst.inc.

#### reset_user_wstats

- Include: `tsstats.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsstats/function/reset_user_wstats
- Line: 50

##### Syntax

```pawn
native reset_user_wstats(index);
```

##### Description

Resets life, weapon, victims and attackers user stats.

## amxmodx 1.8.2 hg65 / tsx.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx
- Group: amxmodx 1.8.2 hg65
- Functions: 13
- Documented constants: 1

### Constants

#### Forward types

Forward types

```pawn
enum {
  XMF_DAMAGE = 0,
  XMF_DEATH,
};
```

### Functions

#### client_damage

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/client_damage
- Line: 38

##### Syntax

```pawn
forward client_damage(attacker,victim,damage,wpnindex,hitplace,TA);
```

##### Description

Function is called after player to player attacks ,
if players were damaged by teammate TA is set to 1

#### client_death

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/client_death
- Line: 42

##### Syntax

```pawn
forward client_death(killer,victim,wpnindex,hitplace,TK);
```

##### Description

Function is called after player death ,
if player was killed by teammate TK is set to 1

#### custom_weapon_add

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/custom_weapon_add
- Line: 46

##### Syntax

```pawn
native custom_weapon_add( const wpnname[],melee = 0,const logname[]="" );
```

##### Description

function will return index of new weapon

#### custom_weapon_dmg

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/custom_weapon_dmg
- Line: 48

##### Syntax

```pawn
native custom_weapon_dmg( weapon, att, vic, damage, hitplace=0 );
```

##### Description

Function will pass damage done by this custom weapon to stats module and other plugins

#### custom_weapon_shot

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/custom_weapon_shot
- Line: 50

##### Syntax

```pawn
native custom_weapon_shot( weapon,index ); // weapon id , player id
```

##### Description

Function will pass info about custom weapon shot to stats module

#### register_statsfwd

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/register_statsfwd
- Line: 34

##### Syntax

```pawn
native register_statsfwd( ftype );
```

##### Description

Use this function to register forwards
DEPRECATED

#### xmod_get_maxweapons

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/xmod_get_maxweapons
- Line: 62

##### Syntax

```pawn
native xmod_get_maxweapons();
```

##### Description

Returns weapons array size

#### xmod_get_stats_size

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/xmod_get_stats_size
- Line: 65

##### Syntax

```pawn
native xmod_get_stats_size();
```

##### Description

Returns stats array size ex. 8 in TS , 9 in DoD

#### xmod_get_wpnlogname

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/xmod_get_wpnlogname
- Line: 59

##### Syntax

```pawn
native xmod_get_wpnlogname(wpnindex,name[],len);
```

##### Description

Returns weapon logname.

#### xmod_get_wpnname

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/xmod_get_wpnname
- Line: 56

##### Syntax

```pawn
native xmod_get_wpnname(wpnindex,name[],len);
```

##### Description

Returns weapon name.

#### xmod_is_custom_wpn

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/xmod_is_custom_wpn
- Line: 68

##### Syntax

```pawn
native xmod_is_custom_wpn(wpnindex);
```

##### Description

Returns 1 if true

#### xmod_is_melee_wpn

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/xmod_is_melee_wpn
- Line: 53

##### Syntax

```pawn
native xmod_is_melee_wpn(wpnindex);
```

##### Description

function will return 1 if true

#### ts_weaponspawn

- Include: `tsx.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/tsx/function/ts_weaponspawn
- Line: 73

##### Syntax

```pawn
stock ts_weaponspawn(const weaponid[], const duration[], const extraclip[], const spawnflags[], const Float:Origin[3])
```

##### Description

Spawns a Weapon

## amxmodx 1.8.2 hg65 / vault.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vault
- Group: amxmodx 1.8.2 hg65
- Functions: 4
- Documented constants: 0

### Functions

#### get_vaultdata

- Include: `vault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vault/function/get_vaultdata
- Line: 17

##### Syntax

```pawn
native get_vaultdata(const key[], data[] = "", len = 0);
```

##### Description

Reads a data from given key.
If len is set to zero then get_vaultdata
returns value as an number.

#### remove_vaultdata

- Include: `vault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vault/function/remove_vaultdata
- Line: 23

##### Syntax

```pawn
native remove_vaultdata(const key[]);
```

##### Description

Removes a key from vault.

#### set_vaultdata

- Include: `vault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vault/function/set_vaultdata
- Line: 20

##### Syntax

```pawn
native set_vaultdata(const key[], const data[] = "");
```

##### Description

Sets a data under given key.

#### vaultdata_exists

- Include: `vault.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vault/function/vaultdata_exists
- Line: 26

##### Syntax

```pawn
native vaultdata_exists(const key[]);
```

##### Description

Checks if a key exists in the vault.

## amxmodx 1.8.2 hg65 / vector.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector
- Group: amxmodx 1.8.2 hg65
- Functions: 9
- Documented constants: 3

### Constants

#### ANGLEVECTOR_FORWARD

ANGLEVECTOR_FORWARD

```pawn
#define ANGLEVECTOR_FORWARD      1
```

#### ANGLEVECTOR_RIGHT

ANGLEVECTOR_RIGHT

```pawn
#define ANGLEVECTOR_RIGHT        2
```

#### ANGLEVECTOR_UP

ANGLEVECTOR_UP

```pawn
#define ANGLEVECTOR_UP           3
```

### Functions

#### angle_vector

- Include: `vector.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector/function/angle_vector
- Line: 31

##### Syntax

```pawn
native angle_vector(const Float:vector[3], FRU, Float:ret[3]);
```

##### Description

Changes an angle vector into a vector.

#### get_distance

- Include: `vector.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector/function/get_distance
- Line: 19

##### Syntax

```pawn
native get_distance(const origin1[3], const origin2[3]);
```

##### Description

Returns distance between two vectors.

#### get_distance_f

- Include: `vector.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector/function/get_distance_f
- Line: 22

##### Syntax

```pawn
native Float:get_distance_f(const Float:Origin1[3], const Float:Origin2[3]);
```

##### Description

Gets distance between two origins (float).

#### vector_distance

- Include: `vector.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector/function/vector_distance
- Line: 37

##### Syntax

```pawn
native Float:vector_distance(const Float:vVector[3], const Float:vVector2[3]);
```

##### Description

Gets the distance between 2 vectors (float[3]).

#### vector_length

- Include: `vector.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector/function/vector_length
- Line: 34

##### Syntax

```pawn
native Float:vector_length(const Float:vVector[3]);
```

##### Description

Gets the length of a vector (float[3]).

#### vector_to_angle

- Include: `vector.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector/function/vector_to_angle
- Line: 28

##### Syntax

```pawn
native vector_to_angle(const Float:fVector[3], Float:vReturn[3]);
```

##### Description

Changes a vector into an angle vector.

#### velocity_by_aim

- Include: `vector.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector/function/velocity_by_aim
- Line: 25

##### Syntax

```pawn
native velocity_by_aim(iIndex, iVelocity, Float:vRetValue[3]);
```

##### Description

Gives you a velocity in the direction a player is looking, iVelocity is the multiplier.

#### FVecIVec

- Include: `vector.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector/function/FVecIVec
- Line: 52

##### Syntax

```pawn
stock FVecIVec(const Float:FVec[3], IVec[3])
```

##### Description

Changes a float vec to an integer vec

#### IVecFVec

- Include: `vector.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/vector/function/IVecFVec
- Line: 42

##### Syntax

```pawn
stock IVecFVec(const IVec[3], Float:FVec[3])
```

##### Description

Changes an integer vec to a floating vec
This is not a for loop because that's slower

## amxmodx 1.8.2 hg65 / VexdUM.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM
- Group: amxmodx 1.8.2 hg65
- Functions: 26
- Documented constants: 0

### Functions

#### client_postthink

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/client_postthink
- Line: 58

##### Syntax

```pawn
forward client_postthink(id);
```

##### Description

Wrapper around client_PostThink

#### client_prethink

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/client_prethink
- Line: 55

##### Syntax

```pawn
forward client_prethink(id);
```

##### Description

Wrapper around client_PreThink

#### emitambientsound

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/emitambientsound
- Line: 66

##### Syntax

```pawn
forward emitambientsound(entity, const sample[]);
```

##### Description

This function has no description.

#### emitsound

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/emitsound
- Line: 62

##### Syntax

```pawn
forward emitsound(entity, const sample[]);
```

##### Description

This function has no description.

#### entity_spawn

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/entity_spawn
- Line: 52

##### Syntax

```pawn
forward entity_spawn(entity);
```

##### Description

Wrapper around pfn_spawn

#### entity_think

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/entity_think
- Line: 49

##### Syntax

```pawn
forward entity_think(entity);
```

##### Description

Wrapper around pfn_think

#### entity_touch

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/entity_touch
- Line: 46

##### Syntax

```pawn
forward entity_touch(entity1, entity2);
```

##### Description

Wrapper around pfn_touch

#### keyvalue

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/keyvalue
- Line: 87

##### Syntax

```pawn
forward keyvalue(entity);
```

##### Description

This function has no description.

#### set_model

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/set_model
- Line: 70

##### Syntax

```pawn
forward set_model(entity, const model[]);
```

##### Description

This function has no description.

#### setclientkeyvalue

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/setclientkeyvalue
- Line: 82

##### Syntax

```pawn
forward setclientkeyvalue(id, key[], value[]);
```

##### Description

This function has no description.

#### traceline

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/traceline
- Line: 74

##### Syntax

```pawn
forward traceline(entity);
```

##### Description

This function has no description.

#### DispatchKeyValue

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/DispatchKeyValue
- Line: 30

##### Syntax

```pawn
native DispatchKeyValue(ent, szKey[], szValue[]);
```

##### Description

This function has no description.

#### entity_use

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/entity_use
- Line: 27

##### Syntax

```pawn
native entity_use(eUsed, eOther);
```

##### Description

This function has no description.

#### get_num_ents

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/get_num_ents
- Line: 28

##### Syntax

```pawn
native get_num_ents();
```

##### Description

This function has no description.

#### radius_damage

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/radius_damage
- Line: 24

##### Syntax

```pawn
native radius_damage(inflictor, Float:dmg, Float:orig[3], Float:rad, bit = DMG_BULLET, wpnName[]="", hs = 0);
```

##### Description

This function has no description.

#### set_user_model

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/set_user_model
- Line: 26

##### Syntax

```pawn
native set_user_model(id, const Model[]="");
```

##### Description

This function has no description.

#### take_damage

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/take_damage
- Line: 25

##### Syntax

```pawn
native take_damage(victim, attacker, Float:orig[3], Float:dmg, bit = DMG_BULLET, wpnName[]="", hs = 0);
```

##### Description

This function has no description.

#### trace_line

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/trace_line
- Line: 34

##### Syntax

```pawn
native trace_line(ent, Float:vStart[3], Float:vEnd[3], Float:vReturn[3]);
```

##### Description

This function has no description.

#### traceline_get_edict

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/traceline_get_edict
- Line: 42

##### Syntax

```pawn
native traceline_get_edict(iVar);
```

##### Description

This function has no description.

#### traceline_get_float

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/traceline_get_float
- Line: 38

##### Syntax

```pawn
native Float:traceline_get_float(iVar);
```

##### Description

This function has no description.

#### traceline_get_int

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/traceline_get_int
- Line: 36

##### Syntax

```pawn
native traceline_get_int(iVar);
```

##### Description

This function has no description.

#### traceline_get_vector

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/traceline_get_vector
- Line: 40

##### Syntax

```pawn
native traceline_get_vector(iVar, Float:vVal[3]);
```

##### Description

This function has no description.

#### traceline_set_edict

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/traceline_set_edict
- Line: 43

##### Syntax

```pawn
native traceline_set_edict(iVar, iEnt);
```

##### Description

This function has no description.

#### traceline_set_float

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/traceline_set_float
- Line: 39

##### Syntax

```pawn
native traceline_set_float(iVar, Float:fVal);
```

##### Description

This function has no description.

#### traceline_set_int

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/traceline_set_int
- Line: 37

##### Syntax

```pawn
native traceline_set_int(iVar, iVal);
```

##### Description

This function has no description.

#### traceline_set_vector

- Include: `VexdUM.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM/function/traceline_set_vector
- Line: 41

##### Syntax

```pawn
native traceline_set_vector(iVar, Float:vVal[3]);
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / VexdUM_const.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_const
- Group: amxmodx 1.8.2 hg65
- Functions: 0
- Documented constants: 4

### Constants

#### TraceLine Integer

TraceLine Integer

```pawn
enum {
  TR_INT_fAllSolid,     // if true, plane is not valid
  TR_INT_fStartSolid,     // if true, the initial point was in a solid area
  TR_INT_fInOpen,
  TR_INT_fInWater,
  TR_INT_iHitgroup,     // 0 == generic, non zero is specific body part
};
```

#### TraceLine Float

TraceLine Float

```pawn
enum {
  TR_FL_flFraction,     // time completed, 1.0 = didn't hit anything
  TR_FL_flPlaneDist,
};
```

#### TraceLine Vector

TraceLine Vector

```pawn
enum {
  TR_VEC_vecEndPos,     // final position
  TR_VEC_vecPlaneNormal,  // surface normal at impact
};
```

#### TraceLine Edict

TraceLine Edict

```pawn
enum {
  TR_ENT_pHit,      // entity the surface is on
};
```

## amxmodx 1.8.2 hg65 / VexdUM_stock.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_stock
- Group: amxmodx 1.8.2 hg65
- Functions: 8
- Documented constants: 1

### Constants

#### find_entity

find_entity

```pawn
#define find_entity vexd_find_entity
```

### Functions

#### can_see

- Include: `VexdUM_stock.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_stock/function/can_see
- Line: 42

##### Syntax

```pawn
stock can_see(ent1, ent2)
```

##### Description

This function has no description.

#### find_entity_sphere

- Include: `VexdUM_stock.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_stock/function/find_entity_sphere
- Line: 132

##### Syntax

```pawn
stock find_entity_sphere(ent, Float:Orig[3], Float:Rad)
```

##### Description

This function has no description.

#### get_maxentities

- Include: `VexdUM_stock.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_stock/function/get_maxentities
- Line: 37

##### Syntax

```pawn
stock get_maxentities()
```

##### Description

This function has no description.

#### get_offset_int

- Include: `VexdUM_stock.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_stock/function/get_offset_int
- Line: 22

##### Syntax

```pawn
stock get_offset_int(ent, offset, linos = 5)
```

##### Description

This function has no description.

#### in_view_cone

- Include: `VexdUM_stock.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_stock/function/in_view_cone
- Line: 32

##### Syntax

```pawn
stock in_view_cone(ent, Float:Orig[3])
```

##### Description

This function has no description.

#### is_entity

- Include: `VexdUM_stock.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_stock/function/is_entity
- Line: 17

##### Syntax

```pawn
stock is_entity(ent)
```

##### Description

This function has no description.

#### set_offset_int

- Include: `VexdUM_stock.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_stock/function/set_offset_int
- Line: 27

##### Syntax

```pawn
stock set_offset_int(ent, offset, value, linos = 5)
```

##### Description

This function has no description.

#### vexd_find_entity

- Include: `VexdUM_stock.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/VexdUM_stock/function/vexd_find_entity
- Line: 101

##### Syntax

```pawn
stock vexd_find_entity(ent, szValue[], type=0)
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / Vexd_Utilities.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities
- Group: amxmodx 1.8.2 hg65
- Functions: 31
- Documented constants: 0

### Functions

#### ServerFrame

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/ServerFrame
- Line: 109

##### Syntax

```pawn
forward ServerFrame();
```

##### Description

This function has no description.

#### vexd_pfntouch

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/vexd_pfntouch
- Line: 107

##### Syntax

```pawn
forward vexd_pfntouch(pToucher, pTouched);
```

##### Description

This function has no description.

#### AttachView

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/AttachView
- Line: 98

##### Syntax

```pawn
stock AttachView(iIndex, iTargetIndex)
```

##### Description

This function has no description.

#### CreateEntity

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/CreateEntity
- Line: 56

##### Syntax

```pawn
stock CreateEntity(szClassname[])
```

##### Description

This function has no description.

#### ENT_SetModel

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/ENT_SetModel
- Line: 59

##### Syntax

```pawn
stock ENT_SetModel(iIndex, szModel[])
```

##### Description

This function has no description.

#### ENT_SetOrigin

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/ENT_SetOrigin
- Line: 62

##### Syntax

```pawn
stock ENT_SetOrigin(iIndex, Float:fNewOrigin[3])
```

##### Description

This function has no description.

#### Entvars_Get_Byte

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Get_Byte
- Line: 50

##### Syntax

```pawn
stock Entvars_Get_Byte(iIndex, iVariable)
```

##### Description

This function has no description.

#### Entvars_Get_Edict

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Get_Edict
- Line: 38

##### Syntax

```pawn
stock Entvars_Get_Edict(iIndex, iVariable)
```

##### Description

This function has no description.

#### Entvars_Get_Float

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Get_Float
- Line: 26

##### Syntax

```pawn
stock Float:Entvars_Get_Float(iIndex, iVariable)
```

##### Description

This function has no description.

#### Entvars_Get_Int

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Get_Int
- Line: 20

##### Syntax

```pawn
stock Entvars_Get_Int(iIndex, iVariable)
```

##### Description

This function has no description.

#### Entvars_Get_String

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Get_String
- Line: 44

##### Syntax

```pawn
stock Entvars_Get_String(iIndex, iVariable, szReturnValue[], iReturnLen)
```

##### Description

This function has no description.

#### Entvars_Get_Vector

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Get_Vector
- Line: 32

##### Syntax

```pawn
stock Entvars_Get_Vector(iIndex, iVariable, Float:vRetVector[3])
```

##### Description

This function has no description.

#### Entvars_Set_Byte

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Set_Byte
- Line: 53

##### Syntax

```pawn
stock Entvars_Set_Byte(iIndex, iVariable, iNewValue)
```

##### Description

This function has no description.

#### Entvars_Set_Edict

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Set_Edict
- Line: 41

##### Syntax

```pawn
stock Entvars_Set_Edict(iIndex, iVariable, iNewIndex)
```

##### Description

This function has no description.

#### Entvars_Set_Float

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Set_Float
- Line: 29

##### Syntax

```pawn
stock Entvars_Set_Float(iIndex, iVariable, Float:fNewValue)
```

##### Description

This function has no description.

#### Entvars_Set_Int

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Set_Int
- Line: 23

##### Syntax

```pawn
stock Entvars_Set_Int(iIndex, iVariable, iNewValue)
```

##### Description

This function has no description.

#### Entvars_Set_String

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Set_String
- Line: 47

##### Syntax

```pawn
stock Entvars_Set_String(iIndex, iVariable, szNewValue[])
```

##### Description

This function has no description.

#### Entvars_Set_Vector

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/Entvars_Set_Vector
- Line: 35

##### Syntax

```pawn
stock Entvars_Set_Vector(iIndex, iVariable, Float:vNewVector[3])
```

##### Description

This function has no description.

#### FakeTouch

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/FakeTouch
- Line: 95

##### Syntax

```pawn
stock FakeTouch(iToucher, iTouched)
```

##### Description

This function has no description.

#### FindEntity

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/FindEntity
- Line: 65

##### Syntax

```pawn
stock FindEntity(iIndex, szValue[])
```

##### Description

This function has no description.

#### GetMessageBlock

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/GetMessageBlock
- Line: 89

##### Syntax

```pawn
stock GetMessageBlock(iMessage)
```

##### Description

This function has no description.

#### HLTime

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/HLTime
- Line: 92

##### Syntax

```pawn
stock Float:HLTime()
```

##### Description

This function has no description.

#### MessageBlock

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/MessageBlock
- Line: 86

##### Syntax

```pawn
stock MessageBlock(iMessage, iMessageFlags)
```

##### Description

This function has no description.

#### RemoveEntity

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/RemoveEntity
- Line: 68

##### Syntax

```pawn
stock RemoveEntity(iIndex)
```

##### Description

This function has no description.

#### SetSpeak

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/SetSpeak
- Line: 104

##### Syntax

```pawn
stock SetSpeak(iIndex, iSpeakFlags)
```

##### Description

This function has no description.

#### SetView

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/SetView
- Line: 101

##### Syntax

```pawn
stock SetView(iIndex, ViewType)
```

##### Description

This function has no description.

#### TraceLn

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/TraceLn
- Line: 71

##### Syntax

```pawn
stock TraceLn(iIgnoreEnt, Float:fStart[3], Float:fEnd[3], Float:vReturn[3])
```

##### Description

This function has no description.

#### TraceNormal

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/TraceNormal
- Line: 74

##### Syntax

```pawn
stock TraceNormal(iIgnoreEnt, Float:fStart[3], Float:fEnd[3], Float:vReturn[3])
```

##### Description

This function has no description.

#### VecDist

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/VecDist
- Line: 83

##### Syntax

```pawn
stock Float:VecDist(Float:vVector[3], Float:vVector2[3])
```

##### Description

This function has no description.

#### VecLength

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/VecLength
- Line: 80

##### Syntax

```pawn
stock Float:VecLength(Float:vVector[3])
```

##### Description

This function has no description.

#### VecToAngles

- Include: `Vexd_Utilities.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/Vexd_Utilities/function/VecToAngles
- Line: 77

##### Syntax

```pawn
stock VecToAngles(Float:fVector[3], Float:vReturn[3])
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / xs.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xs
- Group: amxmodx 1.8.2 hg65
- Functions: 8
- Documented constants: 45

### Constants

#### XS_FLEQ_TOLERANCE

XS_FLEQ_TOLERANCE

```pawn
	#define XS_FLEQ_TOLERANCE 0.000005
```

#### XS_DEBUG

XS_DEBUG

```pawn
	#define XS_DEBUG 0
```

#### XS_LOGBUFFER_SIZE

XS_LOGBUFFER_SIZE

```pawn
	#define XS_LOGBUFFER_SIZE 512
```

#### XS_TASK_MAXPARAMS

XS_TASK_MAXPARAMS

```pawn
	#define XS_TASK_MAXPARAMS 8
```

#### XS_TASK_MAXPARAMSIZE

XS_TASK_MAXPARAMSIZE

```pawn
	#define XS_TASK_MAXPARAMSIZE 512
```

#### XS_TASK_MANAGEDIDS

XS_TASK_MANAGEDIDS

```pawn
	#define XS_TASK_MANAGEDIDS 2048
```

#### XS_REPLACEBUF_SIZE

XS_REPLACEBUF_SIZE

```pawn
	#define XS_REPLACEBUF_SIZE 3072
```

#### XS_AMX

XS_AMX

```pawn
#define XS_AMX		0
```

#### XS_AMXX

XS_AMXX

```pawn
#define XS_AMXX		1
```

#### XS_PLATFORM

XS_PLATFORM

```pawn
	#define XS_PLATFORM XS_AMXX
```

#### XS__LIBRELEASE

XS__LIBRELEASE

```pawn
#define XS__LIBRELEASE 1
```

#### XS_LIBFUNC_ATTRIB

XS_LIBFUNC_ATTRIB

```pawn
	#define XS_LIBFUNC_ATTRIB stock
```

#### XS_LIBVAR_ATTRIB

XS_LIBVAR_ATTRIB

```pawn
	#define XS_LIBVAR_ATTRIB stock
```

#### xs_logtypes

xs_logtypes

```pawn
	enum xs_logtypes
	{
		xs_debug,
		xs_message,
		xs_warning,
		xs_error,
		xs_fatalerror,
		xs__assertionfailed,

		// must come last
		xs_logtypes_count
	}
```

#### xs_assert

xs_assert

```pawn
	#define xs_assert(%1,%2) if (!xs_assertfunc(%1,%2)) xs__global_null /= xs__global_null
```

#### xs_assert_dbg

xs_assert_dbg

```pawn
		#define xs_assert_dbg(%1,%2) if (!xs_assertfunc(%1,%2)) xs__global_null /= xs__global_null
```

#### anglemode

anglemode

```pawn
		enum anglemode
		{
			radian = 0,
			degrees,
			grades
		}
```

#### XS_FLEQ

XS_FLEQ

```pawn
	#define XS_FLEQ(%1,%2) (((%1) <= ((%2) + XS_FLEQ_TOLERANCE)) && ((%1) >= ((%2) - XS_FLEQ_TOLERANCE)))
```

#### xs_fabs

xs_fabs

```pawn
		#define xs_fabs(%1) fabs(%1)
```

#### xs_asin

xs_asin

```pawn
		#define xs_asin(%1,%2) asin(xs__2rad(%1, %2))
```

#### xs_sin

xs_sin

```pawn
		#define xs_sin(%1,%2) sin(xs__2rad(%1, %2))
```

#### xs_acos

xs_acos

```pawn
		#define xs_acos(%1,%2) acos(xs__2rad(%1, %2))
```

#### xs_cos

xs_cos

```pawn
		#define xs_cos(%1,%2) cos(xs__2rad(%1, %2))
```

#### xs_atan

xs_atan

```pawn
		#define xs_atan(%1,%2) atan(xs__2rad(%1, %2))
```

#### xs_atan2

xs_atan2

```pawn
		#define xs_atan2(%1,%2) atan2(xs__2rad(%1, %2))
```

#### xs_tan

xs_tan

```pawn
		#define xs_tan(%1,%2) tan(xs__2rad(%1, %2))
```

#### XS__IL_RMULT

XS__IL_RMULT

```pawn
	#define XS__IL_RMULT 1103515245
```

#### XS_PLANE_A

XS_PLANE_A

```pawn
	#define XS_PLANE_A 0
```

#### XS_PLANE_B

XS_PLANE_B

```pawn
	#define XS_PLANE_B 1
```

#### XS_PLANE_C

XS_PLANE_C

```pawn
	#define XS_PLANE_C 2
```

#### XS_PLANE_D

XS_PLANE_D

```pawn
	#define XS_PLANE_D 3
```

#### XS_PITCH

XS_PITCH

```pawn
	#define	XS_PITCH				0		// up / down
```

#### XS_YAW

XS_YAW

```pawn
	#define	XS_YAW					1		// left / right
```

#### XS_ROLL

XS_ROLL

```pawn
	#define	XS_ROLL					2		// fall over
```

#### message_begin

message_begin

```pawn
		#define message_begin xs__hook_message_begin
```

#### XS__MAX_ENGINE_MESSAGES

XS__MAX_ENGINE_MESSAGES

```pawn
	#define XS__MAX_ENGINE_MESSAGES 63
```

#### XS__MAX_POSSIBLE_MESSAGES

XS__MAX_POSSIBLE_MESSAGES

```pawn
	#define XS__MAX_POSSIBLE_MESSAGES 255
```

#### xs_paramtypes

**** managed tasks

```pawn
	enum xs_paramtypes
	{
		xs_invalid = 0,
		xs_int,
		xs_float,
		xs_string
	}
```

#### xs__TaskParamCount

xs__TaskParamCount

```pawn
	#define xs__TaskParamCount xs__TaskParam[0]
```

#### xs__TaskParamType

xs__TaskParamType

```pawn
	#define xs__TaskParamType[%1] xs__TaskParam[1 + %1]
```

#### xs__TaskParamValue

xs__TaskParamValue

```pawn
	#define xs__TaskParamValue[%1] xs__TaskParam[1 + XS_TASK_MAXPARAMS + (%1 * (XS_TASK_MAXPARAMSIZE char))]
```

#### xs__ITaskParamCount

xs__ITaskParamCount

```pawn
	#define xs__ITaskParamCount xs__ITaskParam[0]
```

#### xs__ITaskParamType

xs__ITaskParamType

```pawn
	#define xs__ITaskParamType[%1] xs__ITaskParam[1 + %1]
```

#### xs__ITaskParamValue

xs__ITaskParamValue

```pawn
	#define xs__ITaskParamValue[%1] xs__ITaskParam[1 + XS_TASK_MAXPARAMS + (%1 * (XS_TASK_MAXPARAMSIZE char))]
```

#### XS_MAKE_TASKFUNC

XS_MAKE_TASKFUNC

```pawn
	#define XS_MAKE_TASKFUNC(%1) public %1(const _xs__taskparam[], _xs__taskid) if(xs__task_setup(_xs__taskparam, _xs__taskid))
```

### Functions

#### xs_acos

- Include: `xs.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xs/function/xs_acos
- Line: 340

##### Syntax

```pawn
stock Float:xs_acos(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_asin

- Include: `xs.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xs/function/xs_asin
- Line: 327

##### Syntax

```pawn
stock Float:xs_asin(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_atan

- Include: `xs.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xs/function/xs_atan
- Line: 354

##### Syntax

```pawn
stock Float:xs_atan(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_atan2

- Include: `xs.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xs/function/xs_atan2
- Line: 361

##### Syntax

```pawn
stock Float:xs_atan2(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_cos

- Include: `xs.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xs/function/xs_cos
- Line: 347

##### Syntax

```pawn
stock Float:xs_cos(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_fabs

- Include: `xs.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xs/function/xs_fabs
- Line: 320

##### Syntax

```pawn
stock Float:xs_fabs(Float:pa)
```

##### Description

This function has no description.

#### xs_sin

- Include: `xs.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xs/function/xs_sin
- Line: 334

##### Syntax

```pawn
stock Float:xs_sin(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_tan

- Include: `xs.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xs/function/xs_tan
- Line: 368

##### Syntax

```pawn
stock Float:xs_tan(Float:pa, Float:pb)
```

##### Description

This function has no description.

## amxmodx 1.8.2 hg65 / xtrafun.inc

- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xtrafun
- Group: amxmodx 1.8.2 hg65
- Functions: 7
- Documented constants: 1

### Constants

#### Enum starting with classname

Enum starting with classname

```pawn
enum {
   classname = 0,
   target,
   targetname
};
```

### Functions

#### current_num_ents

- Include: `xtrafun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xtrafun/function/current_num_ents
- Line: 74

##### Syntax

```pawn
stock current_num_ents() {
```

##### Description

Find the number of entities in the game

#### find_entity

- Include: `xtrafun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xtrafun/function/find_entity
- Line: 88

##### Syntax

```pawn
stock find_entity(start_from_ent, category, value[]) {
```

##### Description

Find an entity ID from start_from_ent id (use 0 to start from
the beginning, category is either "classname", "target" or
"targetname", value is the name you are searching for

#### get_entity_origin

- Include: `xtrafun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xtrafun/function/get_entity_origin
- Line: 31

##### Syntax

```pawn
stock get_entity_origin(index, origin[3]) {
```

##### Description

Gets the origin of an entity

#### get_entity_velocity

- Include: `xtrafun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xtrafun/function/get_entity_velocity
- Line: 17

##### Syntax

```pawn
stock get_entity_velocity(index, velocity[3]) {
```

##### Description

Gets the velocity of an entity

#### get_grenade_index

- Include: `xtrafun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xtrafun/function/get_grenade_index
- Line: 53

##### Syntax

```pawn
stock get_grenade_index(index, model[], len, grenadeindex = 0) {
```

##### Description

Get the index of the grenade belonging to index.
Model of grenade is returned in model[].
Specify the grenadeindex to start searching from,
or leave it at 0 to search from the start.
Returns grenade index.
Paths + models of grenades in Counter-Strike:
HEGRENADE = "models/w_hegrenade.mdl"
FLASHBANG = "models/w_flashbang.mdl"
SMOKEGRENADE = "models/w_smokegrenade.mdl"

#### set_entity_origin

- Include: `xtrafun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xtrafun/function/set_entity_origin
- Line: 38

##### Syntax

```pawn
stock set_entity_origin(index, origin[3]) {
```

##### Description

Sets the origin of an entity

#### set_entity_velocity

- Include: `xtrafun.inc`
- Group: `amxmodx 1.8.2 hg65`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/amxmodx-1-8-2-hg65/xtrafun/function/set_entity_velocity
- Line: 24

##### Syntax

```pawn
stock set_entity_velocity(index, velocity[3]) {
```

##### Description

Sets the velocity of an entity

## amxmodx_version.inc

- HTML: https://amxx-api.csrevo.com/amxmodx_version
- Group: Base includes
- Functions: 0
- Documented constants: 11

### Constants

#### AMXX_VERSION_TAG

AMXX_VERSION_TAG

```pawn
#define AMXX_VERSION_TAG            ""
```

#### AMXX_VERSION_CSET

AMXX_VERSION_CSET

```pawn
#define AMXX_VERSION_CSET           "460d9630"
```

#### AMXX_VERSION_MAJOR

AMXX_VERSION_MAJOR

```pawn
#define AMXX_VERSION_MAJOR          "1"
```

#### AMXX_VERSION_MAJOR_NUM

AMXX_VERSION_MAJOR_NUM

```pawn
#define AMXX_VERSION_MAJOR_NUM      1
```

#### AMXX_VERSION_MINOR

AMXX_VERSION_MINOR

```pawn
#define AMXX_VERSION_MINOR          "10"
```

#### AMXX_VERSION_MINOR_NUM

AMXX_VERSION_MINOR_NUM

```pawn
#define AMXX_VERSION_MINOR_NUM      10
```

#### AMXX_VERSION_RELEASE

AMXX_VERSION_RELEASE

```pawn
#define AMXX_VERSION_RELEASE        "0"
```

#### AMXX_VERSION_LOCAL_REV_NUM

AMXX_VERSION_LOCAL_REV_NUM

```pawn
#define AMXX_VERSION_LOCAL_REV_NUM  5476
```

#### AMXX_VERSION_LOCAL_REV

AMXX_VERSION_LOCAL_REV

```pawn
#define AMXX_VERSION_LOCAL_REV      "5476"
```

#### AMXX_VERSION

AMXX_VERSION

```pawn
#define AMXX_VERSION                1.100
```

#### AMXX_VERSION_NUM

AMXX_VERSION_NUM

```pawn
#define AMXX_VERSION_NUM            200
```

## cellarray.inc

- HTML: https://amxx-api.csrevo.com/cellarray
- Group: Base includes
- Functions: 29
- Documented constants: 1

### Constants

#### Array

Cellarray tag declaration

```pawn
enum Array
{
	Invalid_Array = 0
};
```

##### Note

These dynamic arrays are intended to be used for a form of global
storage without requiring a #define that needs to be increased each
time the plugin author requires more storage. These are not designed
to be a full replacement for normal arrays, as those are faster and
should be used whenever possible.

##### Note

Plugins are responsible for freeing all Array handles they acquire,
including those from ArrayClone. Failing to free handles will result
in the plugin and AMXX leaking memory.

### Functions

#### ArrayClear

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayClear
- Line: 91

##### Syntax

```pawn
native ArrayClear(Array:which);
```

##### Description

Clears all entries from the array.

##### Parameters

- `which`: Array handle

##### Return

This function has no return value.

##### Error

Invalid handle

#### ArrayClone

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayClone
- Line: 81

##### Syntax

```pawn
native Array:ArrayClone(Array:which);
```

##### Description

Clones an array, returning a new handle with the same size and data.

##### Parameters

- `which`: Array handle

##### Return

Handle to the cloned array on success, 0 otherwise

##### Error

If an invalid handle is provided an error will be
thrown.

#### ArrayCreate

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayCreate
- Line: 70

##### Syntax

```pawn
native Array:ArrayCreate(cellsize = 1, reserved = 32);
```

##### Description

Creates a handle to a dynamically sized array.

##### Parameters

- `cellsize`: Size of each array entry in cells
- `reserved`: Pre-allocates space in the array for the specified
number of items. The items are not valid to read or set
until they have actually been pushed into the array.

##### Note

It is very important that the provided cellsize matches up with the
buffer sizes that are passed with subsequent Array[Get|Set|Push] calls.

##### Note

Initially the "reserved" parameter was intended to create blank entries
that would immediately be usable with Array[Get|Set] functions. This
functionality was never working as intended, and can now be achieved
using ArrayResize().

##### Return

New array handle, which must be freed via ArrayDestroy()

##### Error

If an invalid cellsize is provided an error will be
thrown.

#### ArrayDeleteItem

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayDeleteItem
- Line: 382

##### Syntax

```pawn
native ArrayDeleteItem(Array:which, item);
```

##### Description

Deletes an item from the array. All items beyond it get shifted down by one.

##### Parameters

- `which`: Array handle
- `item`: Item to delete

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArrayDestroy

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayDestroy
- Line: 439

##### Syntax

```pawn
native ArrayDestroy(&Array:which);
```

##### Description

Destroys the array and frees its memory.

##### Parameters

- `which`: Array to destroy

##### Note

The function automatically sets the variable passed to it to 0 to aid
in preventing accidental usage after destroy.

##### Return

1 if the Array was destroyed, 0 if nothing had to be
destroyed (invalid handle)

#### ArrayFindString

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayFindString
- Line: 394

##### Syntax

```pawn
native ArrayFindString(Array:which, const item[]);
```

##### Description

Searches through the array and returns the index of the first occurence of
the specified string.

##### Parameters

- `which`: Array handle
- `item`: String to search for

##### Return

Array index on success, -1 if the string can't be found

##### Error

Invalid handle.

#### ArrayFindValue

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayFindValue
- Line: 407

##### Syntax

```pawn
native ArrayFindValue(Array:which, any:item);
```

##### Description

Searches through the array and returns the index of the first occurence of
the specified value.

##### Parameters

- `which`: Array handle
- `item`: Value to search for

##### Return

Array index on success, -1 if the value can't be found

##### Error

If an invalid handle is provided an error will be
thrown.

#### ArrayGetArray

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayGetArray
- Line: 135

##### Syntax

```pawn
native ArrayGetArray(Array:which, item, any:output[], size = -1);
```

##### Description

Retrieves an array of data from a cellarray.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `output`: Buffer to copy value to
- `size`: If not set, assumes the buffer size is equal to the
cellsize. Otherwise, the specified size is used.

##### Note

If the size parameter is specified as -1 the output buffer has to match
the size the array was created with.

##### Return

Number of cells copied

##### Error

If an invalid handle or index is provided an error will
be thrown.

#### ArrayGetCell

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayGetCell
- Line: 150

##### Syntax

```pawn
native any:ArrayGetCell(Array:which, item, block = 0, bool:asChar = false);
```

##### Description

Returns a single cell of data from an array

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `block`: If the array has a cellsize >1 this optionally specifies
which block to read from
- `asChar`: If true reads the value as a byte instead of a cell

##### Return

Integer value

##### Error

If an invalid handle, index or block is provided an
error will be thrown.

#### ArrayGetString

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayGetString
- Line: 164

##### Syntax

```pawn
native ArrayGetString(Array:which, item, output[], size);
```

##### Description

Returieves string data from an array.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `output`: Buffer to copy value to
- `size`: Maximum size of the buffer

##### Return

Number of characters copied

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArrayGetStringHandle

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayGetStringHandle
- Line: 426

##### Syntax

```pawn
native DoNotUse:ArrayGetStringHandle(Array:which, item);
```

##### Description

Creates a special handle that can be passed to a string format routine for
printing as a string (with the %a format option).

##### Parameters

- `which`: Array handle
- `item`: Item to retrieve handle of

##### Note

It is recommended to pass the function as a parameter to the format
routine directly. The array item must contain a null-terminated string!

##### Note

Do not save or otherwise use the handles returned by this function.

##### Note

Example usage:
console_print(id, "%a", ArrayGetStringHandle(MessageArray, i));

##### Return

Handle to the item

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArrayInsertArrayAfter

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayInsertArrayAfter
- Line: 282

##### Syntax

```pawn
native ArrayInsertArrayAfter(Array:which, item, const any:input[]);
```

##### Description

Creates a new item behind the specified item and copies the provided array
into it. All items beyond it get shifted up by one.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `input`: Array to copy to the cellarray

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArrayInsertArrayBefore

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayInsertArrayBefore
- Line: 327

##### Syntax

```pawn
native ArrayInsertArrayBefore(Array:which, item, const any:input[]);
```

##### Description

Creates a new item in front of the specified item and copies the provided
array into it. All items beyond it get shifted up by one.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `input`: Array to copy to the cellarray

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArrayInsertCellAfter

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayInsertCellAfter
- Line: 296

##### Syntax

```pawn
native ArrayInsertCellAfter(Array:which, item, any:input);
```

##### Description

Creates a new item behind the specified item and sets the item's single cell
value. All items beyond it get shifted up by one.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `input`: Value to set

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArrayInsertCellBefore

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayInsertCellBefore
- Line: 341

##### Syntax

```pawn
native ArrayInsertCellBefore(Array:which, item, const any:input);
```

##### Description

Creates a new item in front of the specified item and sets the item's single
cell value. All items beyond it get shifted up by one.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `input`: Value to set

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArrayInsertStringAfter

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayInsertStringAfter
- Line: 313

##### Syntax

```pawn
native ArrayInsertStringAfter(Array:which, item, const input[]);
```

##### Description

Creates a new item behind the specified item and copies the provided string
into it. All items beyond it get shifted up by one.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `input`: String to copy to the array

##### Note

The input will be truncated if it is longer than the cellsize the array
was created with.

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArrayInsertStringBefore

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayInsertStringBefore
- Line: 358

##### Syntax

```pawn
native ArrayInsertStringBefore(Array:which, item, const input[]);
```

##### Description

Creates a new item in front of the specified item and copies the provided
string into it. All items beyond it get shifted up by one.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `input`: String to copy to the array

##### Note

The input will be truncated if it is longer than the cellsize the array
was created with.

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArrayPushArray

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayPushArray
- Line: 239

##### Syntax

```pawn
native ArrayPushArray(Array:which, const any:input[], size = -1);
```

##### Description

Creates a new item at the end of the cellarray and copies the provided array
into it.

##### Parameters

- `which`: Array handle
- `input`: Array to copy to the cellarray
- `size`: If not set, assumes the buffer size is equal to the
cellsize. Otherwise, the specified size is used.

##### Note

The input will be truncated if it is bigger than the cellsize the array
was created with.

##### Return

Index of the new entry

##### Error

If an invalid handle is provided or the resizing
operation runs out of memory, an error will be thrown.

#### ArrayPushCell

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayPushCell
- Line: 252

##### Syntax

```pawn
native ArrayPushCell(Array:which, any:input);
```

##### Description

Creates a new item at the end of the array and sets the item's single cell
value.

##### Parameters

- `which`: Array handle
- `input`: Value to set

##### Return

Index of the new entry

##### Error

If an invalid handle is provided or the resizing
operation runs out of memory, an error will be thrown.

#### ArrayPushString

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayPushString
- Line: 268

##### Syntax

```pawn
native ArrayPushString(Array:which, const input[]);
```

##### Description

Creates a new item at the end of the array and copies the provided string
into it.

##### Parameters

- `which`: Array handle
- `input`: String to copy to the array

##### Note

The input will be truncated if it is longer than the cellsize the array
was created with.

##### Return

Index of the new entry

##### Error

If an invalid handle is provided or the resizing
operation runs out of memory, an error will be thrown.

#### ArrayResize

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArrayResize
- Line: 117

##### Syntax

```pawn
native bool:ArrayResize(Array:which, newsize);
```

##### Description

Resizes an array.

##### Parameters

- `which`: Array handle
- `newsize`: New size

##### Note

If the size is smaller than the current array size the array is
truncated and data lost.

##### Return

This function has no return value.

##### Error

If an invalid handle is provided or the resizing
operation runs out of memory, an error will be thrown.

#### ArraySetArray

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArraySetArray
- Line: 184

##### Syntax

```pawn
native ArraySetArray(Array:which, item, const any:input[], size =-1);
```

##### Description

Fills an item's data with the contents of an array.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `input`: Array to copy to the cellarray
- `size`: If not set, assumes the buffer size is equal to the
cellsize. Otherwise, the specified size is used.

##### Note

If the size parameter is specified as -1 the input buffer has to match
the size the array was created with.

##### Note

The item index must already be valid. Use ArrayPushArray to create
a new array item in the cellarray.

##### Return

Number of cells copied

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArraySetCell

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArraySetCell
- Line: 203

##### Syntax

```pawn
native ArraySetCell(Array:which, item, any:input, block = 0, bool:asChar = false);
```

##### Description

Sets an item's data to a single cell value.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `input`: Value to set
- `block`: If the array has a cellsize >1 this optionally specifies
which block to write to
- `asChar`: If true writes the value as a byte instead of a cell

##### Note

The item index must already be valid. Use ArrayPushArray to create
a new array item in the cellarray.

##### Return

This function has no return value.

##### Error

If an invalid handle, index or block is provided an
error will be thrown.

#### ArraySetString

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArraySetString
- Line: 221

##### Syntax

```pawn
native ArraySetString(Array:which, item, const input[]);
```

##### Description

Sets an item's data to a string value.

##### Parameters

- `which`: Array handle
- `item`: Item index in the array
- `input`: String to copy to the array

##### Note

The input will be truncated if it is longer than the cellsize the array
was created with.

##### Note

The item index must already be valid. Use ArrayPushString to create
a new array item in the cellarray.

##### Return

Number of characters copied

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ArraySize

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArraySize
- Line: 102

##### Syntax

```pawn
native ArraySize(Array:which);
```

##### Description

Returns the number of elements in the array.

##### Parameters

- `which`: Array handle

##### Return

Number of elements in the array

##### Error

If an invalid handle is provided an error will be
thrown.

#### ArraySort

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArraySort
- Line: 473

##### Syntax

```pawn
native ArraySort(Array:array, const comparefunc[], data[]="", data_size=0);
```

##### Description

Similar to sorting.inc's CustomSort, the sorting algorithm then uses the
custom comparison function to sort the data.

##### Parameters

- `array`: Array handle
- `comparefunc`: Callback function used for comparison
- `data`: Extra data that is passed through to the callback
- `data_size`: Size of extra data

##### Note

The function is called in the following manner:
public MySortFunc(Array:array, item1, item2, const data[], data_size)
array           - Array handle in its current un-sorted state
item1, item2    - Current item pair being compared
data[]          - Extra data array passed to the sort func
data_size       - Size of extra data

##### Note

The comparison function should return:
-1 if item1 should go before item2
0 if item1 and item2 are equal
1 if item1 should go after item2

##### Note

All parameters after item2 are optional and do not need to be specified
and used.

##### Note

Unlike the sorting.inc version, the array passed to the callback is not
in mid-sorted state.

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid callback is provided
an error will be thrown.

#### ArraySortEx

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArraySortEx
- Line: 525

##### Syntax

```pawn
native ArraySortEx(Array:array, const comparefunc[], data[]="", data_size=0);
```

##### Description

A faster version of ArraySort, the sorting algorithm then uses the custom
comparison function to sort the data.

##### Parameters

- `array`: Array handle
- `comparefunc`: Callback function used for comparison
- `data`: Extra data that is passed through to the callback
- `data_size`: Size of extra data

##### Note

The advantage of this function is that the data of the elements being
compared is directly passed to the function, instead of the item
indexes that are passed by ArraySort. This removes the need for calling
ArrayGet[Cell|String|Array] every time before being able to compare the
elements.

##### Note

For Arrays with a cellsize of 1 (used for storing integers and floats),
the function is called in the following manner:
public MySortFunc(Array:array, elem1, elem2, const data[], data_size)
array           - Array handle in its current un-sorted state
elem1, elem2    - Current element pair being compared
data[]          - Extra data array passed to the sort func
data_size       - Size of extra data

##### Note

For Arrays with a cellsize larger than 1 (used for storing arrays and
strings), the function is called in the following manner:
public MySortFunc(Array:array, elem1[], elem2[], const data[], data_size)
array               - Array handle in its current un-sorted state
elem1[], elem2[]    - Current element pair being compared
data[]              - Extra data array passed to the sort func
data_size           - Size of extra data

##### Note

The comparison function should return:
-1 if elem1 should go before elem2
0 if elem1 and elem2 are equal
1 if elem1 should go after elem2

##### Note

All parameters after item2 are optional and do not need to be specified
and used.

##### Note

Unlike the sorting.inc version, the array passed to the callback is not
in mid-sorted state.

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid callback is provided
an error will be thrown.

#### ArraySwap

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ArraySwap
- Line: 370

##### Syntax

```pawn
native ArraySwap(Array:which, item1, item2);
```

##### Description

Swaps the position of two items.

##### Parameters

- `which`: Array handle
- `item1,item2`: Item pair to swap

##### Return

This function has no return value.

##### Error

If an invalid handle or an invalid index is provided an
error will be thrown.

#### ByteCountToCells

- Include: `cellarray.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/cellarray/function/ByteCountToCells
- Line: 41

##### Syntax

```pawn
stock ByteCountToCells(size)
```

##### Description

Returns the number of cells required to fit a string of the specified size
(including the null terminator).

##### Parameters

- `size`: Number of bytes.

##### Return

Minimum number of cells required to fit the byte count.

## cellstack.inc

- HTML: https://amxx-api.csrevo.com/cellstack
- Group: Base includes
- Functions: 10
- Documented constants: 1

### Constants

#### Stack

Stack tag declaration

```pawn
enum Stack
{
	Invalid_Stack = 0
};
```

##### Note

Plugins are responsible for freeing all Stack handles they acquire.
Failing to free handles will result in the plugin and AMXX leaking
memory.

### Functions

#### CreateStack

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellstack/function/CreateStack
- Line: 44

##### Syntax

```pawn
native Stack:CreateStack(blocksize = 1);
```

##### Description

Creates a stack structure. A stack is a LIFO (last in, first out) vector of
of items. It has O(1) insertion and O(1) removal.

##### Parameters

- `blocksize`: The number of cells each entry in the stack can hold

##### Note

Stacks provide only two operations: Push (adding an item to the top)
and Pop (remove an item from the top, in reverse-push order).

##### Note

The contents of the stack are uniform; i.e. storing a string and then
retrieving it as an integer is NOT the same as str_to_num()!

##### Note

The "blocksize" determines how many cells each stack slot has, it can
not be changed after creation.

##### Return

New stack Handle, which must be freed via DestroyStack()

##### Error

If an invalid blocksize is provided an error will be
thrown.

#### DestroyStack

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellstack/function/DestroyStack
- Line: 166

##### Syntax

```pawn
native DestroyStack(&Stack:handle);
```

##### Description

Destroys a stack and frees its memory.

##### Parameters

- `handle`: Stack to destroy

##### Note

The function automatically sets the variable passed to it to 0 to aid
in preventing accidental usage after destroy.

##### Return

1 if the Stack was destroyed, 0 if nothing had to be
destroyed (invalid handle)

#### IsStackEmpty

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellstack/function/IsStackEmpty
- Line: 139

##### Syntax

```pawn
native bool:IsStackEmpty(Stack:handle);
```

##### Description

Returns if a stack is empty.

##### Parameters

- `handle`: Stack handle

##### Return

True if empty, false if not empty

##### Error

If an invalid handle is provided an error will be thrown.

#### PopStackArray

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellstack/function/PopStackArray
- Line: 129

##### Syntax

```pawn
native bool:PopStackArray(Stack:handle, any:buffer[], size = -1);
```

##### Description

Pops an array of cells from a stack.

##### Parameters

- `handle`: Stack handle
- `buffer`: Array to copy value to
- `size`: Size of buffer, if not set (-1) assumes the size is equal to
the stack blocksize

##### Return

True on success, false if the stack is empty

##### Error

If an invalid handle is provided an error will be thrown.

#### PopStackCell

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellstack/function/PopStackCell
- Line: 103

##### Syntax

```pawn
native bool:PopStackCell(Stack:handle, &any:value, block = 0, bool:asChar = false);
```

##### Description

Pops a cell value from a stack.

##### Parameters

- `handle`: Stack handle
- `value`: Variable to store the value in
- `block`: Optionally specify which block to read from (useful if the
blocksize is > 0)
- `asChar`: Optionally read as a byte instead of a cell

##### Return

True on success, false if the stack is empty.

##### Error

If an invalid handle, invalid block or invalid byte is
provided, an error will be thrown.

#### PopStackString

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellstack/function/PopStackString
- Line: 116

##### Syntax

```pawn
native bool:PopStackString(Stack:handle, buffer[], maxlength, &written = 0);
```

##### Description

Pops a string value from a stack.

##### Parameters

- `handle`: Stack handle
- `buffer`: Buffer to copy string to
- `maxlength`: Maximum size of the buffer
- `written`: Variable to store number of characters copied to

##### Return

True on success, false if the stack is empty

##### Error

If an invalid handle is provided an error will be thrown.

#### PushStackArray

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellstack/function/PushStackArray
- Line: 88

##### Syntax

```pawn
native PushStackArray(Stack:handle, const any:values[], size= -1);
```

##### Description

Pushes an array of cells onto the end of a stack. The cells are pushed as a
block (i.e. the entire array takes up one stack slot), rather than pushing
each cell individually.

##### Parameters

- `handle`: Stack handle
- `values`: Block of values to copy
- `size`: If not set, the number of elements copied from the array
will be equal to the blocksize, if set higher than the
blocksize, the operation will be truncated,

##### Return

This function has no return value.

##### Error

If an invalid handle is provided or the resizing
operation runs out of memory, an error will be thrown.

#### PushStackCell

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellstack/function/PushStackCell
- Line: 59

##### Syntax

```pawn
native PushStackCell(Stack:handle, any:value);
```

##### Description

Pushes a value onto the end of the stack, adding a new index.

##### Parameters

- `handle`: Stack handle
- `value`: Value to push

##### Note

This may safely be used even if the stack has a blocksize greater than
1.

##### Return

This function has no return value.

##### Error

If an invalid handle is provided or the resizing
operation runs out of memory, an error will be thrown.

#### PushStackString

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cellstack/function/PushStackString
- Line: 71

##### Syntax

```pawn
native PushStackString(Stack:handle, const value[]);
```

##### Description

Pushes a string onto the end of a stack, truncating it if it is too long.

##### Parameters

- `handle`: Stack handle
- `value`: String to push

##### Return

This function has no return value.

##### Error

If an invalid handle is provided or the resizing
operation runs out of memory, an error will be thrown.

#### PopStack

- Include: `cellstack.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/cellstack/function/PopStack
- Line: 149

##### Syntax

```pawn
stock PopStack(Stack:handle)
```

##### Description

Pops a value off a stack, ignoring it completely.

##### Parameters

- `handle`: Stack handle

##### Return

True if a value was popped, false if stack is empty

##### Error

If an invalid handle is provided an error will be thrown.

## celltrie.inc

- HTML: https://amxx-api.csrevo.com/celltrie
- Group: Base includes
- Functions: 26
- Documented constants: 3

### Constants

#### Trie

Hash map tag declaration

```pawn
enum Trie
{
	Invalid_Trie = 0
};
```

##### Note

The word "Trie" in this API is historical. As of AMX Mod X 1.8.3,
tries have been internally replaced with hash tables, which have O(1)
insertion time instead of O(n).

##### Note

Plugins are responsible for freeing all Trie handles they acquire.
Failing to free handles will result in the plugin and AMXX leaking
memory.

#### TrieIter

Hash map iterator tag declaration

```pawn
enum TrieIter
{
	Invalid_TrieIter = 0
}
```

##### Note

The word "Trie" in this API is historical. As of AMX Mod X 1.8.3,
tries have been internally replaced with hash tables, which have O(1)
insertion time instead of O(n).

##### Note

Plugins are responsible for freeing all TrieIter handles they acquire.
Failing to free handles will result in the plugin and AMXX leaking
memory.

#### Snapshot

Hash map snapshot tag declaration

```pawn
enum Snapshot
{
	Invalid_Snapshot = 0
};
```

##### Note

Plugins are responsible for freeing all Snapshot handles they acquire.
Failing to free handles will result in the plugin and AMXX leaking
memory.

### Functions

#### TrieClear

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieClear
- Line: 79

##### Syntax

```pawn
native TrieClear(Trie:handle);
```

##### Description

Clears all entries from a Map.

##### Parameters

- `handle`: Map handle

##### Error

If an invalid handle is provided an error will be
thrown.

##### Return

This function has no return value.

#### TrieCreate

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieCreate
- Line: 68

##### Syntax

```pawn
native Trie:TrieCreate();
```

##### Description

Creates a hash map. A hash map is a container that maps strings (called keys)
to arbitrary values (cells, arrays or strings).

##### Note

Keys in a hash map are unique so there is no more than one entry in the
map for any given key.

##### Note

Insertion, deletion, and lookup in a hash map are all considered to be
fast operations, amortized to O(1), or constant time.

##### Return

New Map handle, which must be freed via TrieDestroy()

#### TrieDeleteKey

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieDeleteKey
- Line: 185

##### Syntax

```pawn
native bool:TrieDeleteKey(Trie:handle, const key[]);
```

##### Description

Removes an entry from a hash map.

##### Parameters

- `handle`: Map handle
- `key`: Key string

##### Return

True on success, false if the key was never set

##### Error

If an invalid handle is provided an error will be
thrown.

#### TrieDestroy

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieDestroy
- Line: 209

##### Syntax

```pawn
native TrieDestroy(&Trie:handle);
```

##### Description

Destroys a hash map and frees its memory.

##### Parameters

- `handle`: Map handle

##### Note

The function automatically sets the variable passed to it to 0 to aid
in preventing accidental usage after destroy.

##### Return

1 on success, 0 if an invalid handle was passed in

#### TrieGetArray

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieGetArray
- Line: 173

##### Syntax

```pawn
native bool:TrieGetArray(Trie:handle, const key[], any:output[], outputsize, &size = 0);
```

##### Description

Retrieves a string from a hash map.

##### Parameters

- `handle`: Map handle
- `key`: Key string
- `output`: Array to copy the value to
- `outputsize`: Maximum size of array
- `size`: Optional variable to store the number of cells written
to the array in

##### Return

True on success, false if either the key is not set or
the value type does not match (value is cell or string)

##### Error

If an invalid handle or array size is provided an error
will be thrown.

#### TrieGetCell

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieGetCell
- Line: 139

##### Syntax

```pawn
native bool:TrieGetCell(Trie:handle, const key[], &any:value);
```

##### Description

Retrieves a cell value from a hash map.

##### Parameters

- `handle`: Map handle
- `key`: Key string
- `value`: Variable to store value to

##### Return

True on success, false if either the key is not set or the
value type does not match (value is string or array)

##### Error

If an invalid handle is provided an error will be
thrown.

#### TrieGetSize

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieGetSize
- Line: 220

##### Syntax

```pawn
native TrieGetSize(Trie:handle);
```

##### Description

Returns the number of entries in a hash map.

##### Parameters

- `handle`: Map handle

##### Return

Number of elements in the hash map

##### Error

If an invalid handle is provided an error will be
thrown.

#### TrieGetString

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieGetString
- Line: 156

##### Syntax

```pawn
native bool:TrieGetString(Trie:handle, const key[], output[], outputsize, &size = 0);
```

##### Description

Retrieves a string from a hash map.

##### Parameters

- `handle`: Map handle
- `key`: Key string
- `output`: Buffer to copy the value to
- `outputsize`: Maximum size of buffer
- `size`: Optional variable to store the number of cells written
to the buffer in

##### Return

True on success, false if either the key is not set or
the value type does not match (value is cell or array)

##### Error

If an invalid handle is provided an error will be
thrown.

#### TrieIterCreate

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieIterCreate
- Line: 304

##### Syntax

```pawn
native TrieIter:TrieIterCreate(Trie:handle);
```

##### Description

Creates an iterator for a map. It provides iterative read-only access to the
maps contents.

##### Note

Removing or adding keys to the underlying map will invalidate all its
iterators. Updating values of existing keys is allowed and the changes
will be immediately reflected in the iterator.

##### Note

Iterators are designed to be short-lived and not stored, and creating
them is very cheap. Reading data from an iterator is just as fast as
reading directly from the map.

##### Note

Just like in snapshots the keys are not sorted.

##### Return

New iterator handle, which must be freed via TrieIterDestroy().

##### Error

Invalid Handle

#### TrieIterDestroy

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieIterDestroy
- Line: 412

##### Syntax

```pawn
native TrieIterDestroy(&TrieIter:handle);
```

##### Description

Destroys an iterator handle.

##### Parameters

- `handle`: Iterator handle.

##### Return

True on success, false if the value was never set.

#### TrieIterEnded

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieIterEnded
- Line: 316

##### Syntax

```pawn
native bool:TrieIterEnded(TrieIter:handle);
```

##### Description

Returns if the iterator has reached its end and no more data can be read.

##### Parameters

- `handle`: Iterator handle

##### Return

True if iterator has reached the end, false otherwise

##### Error

Invalid Handle
Iterator has been closed (underlying map destroyed)
Iterator is outdated

#### TrieIterGetArray

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieIterGetArray
- Line: 403

##### Syntax

```pawn
native bool:TrieIterGetArray(TrieIter:handle, any:array[], outputsize, &size = 0);
```

##### Description

Retrieves an array at the current position of the iterator.

##### Parameters

- `handle`: Iterator handle
- `buffer`: Buffer to store the array
- `outputsize`: Maximum size of buffer
- `size`: Optional parameter to store the number of bytes written to the buffer

##### Return

True on success, false if the iterator is empty or the current
value is not an array.

##### Error

Invalid handle
Invalid buffer size
Iterator has been closed (underlying map destroyed)
Iterator is outdated

#### TrieIterGetCell

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieIterGetCell
- Line: 369

##### Syntax

```pawn
native bool:TrieIterGetCell(TrieIter:handle, &any:value);
```

##### Description

Retrieves a value at the current position of the iterator.

##### Parameters

- `handle`: Iterator handle
- `value`: Variable to store value in

##### Return

True on success, false if the iterator is empty or the current
value is an array or a string.

##### Error

Invalid handle
Iterator has been closed (underlying map destroyed)
Iterator is outdated

#### TrieIterGetKey

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieIterGetKey
- Line: 341

##### Syntax

```pawn
native TrieIterGetKey(TrieIter:handle, key[], outputsize);
```

##### Description

Retrieves the key the iterator currently points to.

##### Parameters

- `handle`: Iterator handle.
- `key`: Buffer to store the current key in.
- `outputsize`: Maximum size of string buffer.

##### Return

Nnumber of bytes written to the buffer

##### Error

Invalid handle
Iterator has been closed (underlying map destroyed)
Iterator is outdated

#### TrieIterGetSize

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieIterGetSize
- Line: 355

##### Syntax

```pawn
native TrieIterGetSize(TrieIter:handle);
```

##### Description

Retrieves the number of elements in the underlying map.

##### Parameters

- `handle`: Iterator handle

##### Note

When used on a valid iterator this is exactly the same as calling TrieGetSize on the map directly.

##### Return

Number of elements in the map

##### Error

Invalid handle
Iterator has been closed (underlying map destroyed)
Iterator is outdated

#### TrieIterGetString

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieIterGetString
- Line: 386

##### Syntax

```pawn
native bool:TrieIterGetString(TrieIter:handle, buffer[], outputsize, &size = 0);
```

##### Description

Retrieves a string at the current position of the iterator.

##### Parameters

- `handle`: Iterator handle
- `buffer`: Buffer to store the string in
- `outputsize`: Maximum size of string buffer
- `size`: Optional parameter to store the number of bytes written to the buffer.

##### Return

True on success, false if the iterator is empty or the current value
is not a string.

##### Error

Invalid handle
Invalid buffer size
Iterator has been closed (underlying map destroyed)
Iterator is outdated

#### TrieIterNext

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieIterNext
- Line: 327

##### Syntax

```pawn
native TrieIterNext(TrieIter:handle);
```

##### Description

Advances the iterator to the next key/value pair if one is available.

##### Parameters

- `handle`: Iterator handle

##### Error

Invalid Handle
Iterator has been closed (underlying map destroyed)
Iterator is outdated

#### TrieKeyExists

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieKeyExists
- Line: 197

##### Syntax

```pawn
native bool:TrieKeyExists(Trie:handle, const key[]);
```

##### Description

Checks a hash map for the existence of an entry.

##### Parameters

- `handle`: Map handle
- `key`: Key string

##### Return

True if the key is set, false otherwise

##### Error

If an invalid handle is provided an error will be
thrown.

#### TrieSetArray

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieSetArray
- Line: 125

##### Syntax

```pawn
native TrieSetArray(Trie:handle, const key[], const any:buffer[], size, bool:replace = true);
```

##### Description

Sets an array value in a hash map, either inserting a new entry or replacing
an old one.

##### Parameters

- `handle`: Map handle
- `key`: Key string
- `buffer`: Array to store
- `size`: Array size
- `replace`: If false the operation will fail if the key is already set

##### Return

1 on success, 0 otherwise

##### Error

If an invalid handle is provided an error will be
thrown. or invalid array size

#### TrieSetCell

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieSetCell
- Line: 94

##### Syntax

```pawn
native TrieSetCell(Trie:handle, const key[], any:value, bool:replace = true);
```

##### Description

Sets a cell value in a hash map, either inserting a new entry or replacing
an old one.

##### Parameters

- `handle`: Map handle
- `key`: Key string
- `value`: Value to store
- `replace`: If false the operation will fail if the key is already set

##### Return

1 on success, 0 otherwise

##### Error

If an invalid handle is provided an error will be
thrown.

#### TrieSetString

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieSetString
- Line: 109

##### Syntax

```pawn
native TrieSetString(Trie:handle, const key[], const value[], bool:replace = true);
```

##### Description

Sets a string value in a hash map, either inserting a new entry or replacing
an old one.

##### Parameters

- `handle`: Map handle
- `key`: Key string
- `value`: String to store
- `replace`: If false the operation will fail if the key is already set

##### Return

1 on success, 0 otherwise

##### Error

If an invalid handle is provided an error will be
thrown.

#### TrieSnapshotCreate

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieSnapshotCreate
- Line: 234

##### Syntax

```pawn
native Snapshot:TrieSnapshotCreate(Trie:handle);
```

##### Description

Creates a snapshot of all keys in a hash map. If the map is changed
afterwards,  the changes are not reflected in the snapshot.
Keys are not sorted.

##### Parameters

- `handle`: Map handle

##### Return

New map snapshot handle, which must be freed via
TrieSnapshotDestroy()

##### Error

If an invalid handle is provided an error will be
thrown.

#### TrieSnapshotDestroy

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieSnapshotDestroy
- Line: 286

##### Syntax

```pawn
native TrieSnapshotDestroy(&Snapshot:handle);
```

##### Description

Destroys a map snapshot and frees its memory.

##### Parameters

- `handle`: Map snapshot handle

##### Note

The function automatically sets the variable passed to it to 0 to aid
in preventing accidental usage after destroy.

##### Return

1 on success, 0 if an invalid handle was passed in

#### TrieSnapshotGetKey

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieSnapshotGetKey
- Line: 274

##### Syntax

```pawn
native TrieSnapshotGetKey(Snapshot:handle, index, buffer[], maxlength);
```

##### Description

Retrieves the key string of a given key in a map snapshot.

##### Parameters

- `handle`: Map snapshot handle
- `index`: Key index (starting from 0)
- `buffer`: String buffer
- `maxlength`: Maximum buffer length

##### Return

Number of bytes written to the buffer

##### Error

If an invalid handle is provided an error will be
thrown. or index out of range

#### TrieSnapshotKeyBufferSize

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieSnapshotKeyBufferSize
- Line: 260

##### Syntax

```pawn
native TrieSnapshotKeyBufferSize(Snapshot:handle, index);
```

##### Description

Returns the buffer size required to store a given key. That is, it returns
the length of the key plus one.

##### Parameters

- `handle`: Map snapshot handle
- `index`: Key index (starting from 0)

##### Return

Buffer size required to store the key string

##### Error

If an invalid handle is provided an error will be
thrown. or index out of range

#### TrieSnapshotLength

- Include: `celltrie.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/celltrie/function/TrieSnapshotLength
- Line: 247

##### Syntax

```pawn
native TrieSnapshotLength(Snapshot:handle);
```

##### Description

Returns the number of keys in a map snapshot. Note that this may be
different from the size of the map, since the map can change after the
snapshot of its keys was taken.

##### Parameters

- `handle`: Map snapshot handle

##### Return

Number of keys

##### Error

If an invalid handle is provided an error will be
thrown.

## core.inc

- HTML: https://amxx-api.csrevo.com/core
- Group: Base includes
- Functions: 18
- Documented constants: 0

### Functions

#### clamp

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/clamp
- Line: 131

##### Syntax

```pawn
native clamp(value, min = cellmin, max = cellmax);
```

##### Description

Limits a provided value between two specified bounds.

##### Parameters

- `value`: Value to clamp
- `min`: Lower bound
- `max`: Upper bound

##### Return

The value if it is between the lower and upper bound, min if
value is below, max if it is above the specified bounds.

#### date

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/date
- Line: 176

##### Syntax

```pawn
native date(&year = 0, &month = 0, &day = 0);
```

##### Description

Retrieves the current date in year, month and day.

##### Parameters

- `year`: Variable to store year in
- `month`: Variable to store month in
- `day`: Variable to store day in

##### Return

This function has no return value.

#### funcidx

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/funcidx
- Line: 32

##### Syntax

```pawn
native funcidx(const name[]);
```

##### Description

Returns the function index of a public function declared in the plugin.

##### Parameters

- `name`: Function name

##### Return

Function index > 0 on success, -1 if function was not found

##### Error

If the function name is too long (longer than 63 characters)
an error will be thrown.

#### getarg

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/getarg
- Line: 49

##### Syntax

```pawn
native getarg(arg, index = 0);
```

##### Description

Retrieves an argument value passed into the currently executed function.

##### Parameters

- `arg`: Argument index
- `index`: Index to retrieve from the argument (for arrays and strings)

##### Return

Argument value at given index

#### heapspace

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/heapspace
- Line: 21

##### Syntax

```pawn
native heapspace();
```

##### Description

Returns the free memory space available to the plugin.

##### Note

This is a debugging function that is not intended for general plugin
use.

##### Return

Free memory space in bytes

#### max

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/max
- Line: 119

##### Syntax

```pawn
native max(value1, value2);
```

##### Description

Returns the bigger of two provided values.

##### Parameters

- `value1`: Value one
- `value2`: Value two

##### Return

Bigger of the two values

#### min

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/min
- Line: 109

##### Syntax

```pawn
native min(value1, value2);
```

##### Description

Returns the smaller of two provided values.

##### Parameters

- `value1`: Value one
- `value2`: Value two

##### Return

Smaller of the two values

#### numargs

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/numargs
- Line: 39

##### Syntax

```pawn
native numargs();
```

##### Description

Returns the number of arguments passed into the currently executed function.

##### Return

Number of arguments passed

#### power

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/power
- Line: 141

##### Syntax

```pawn
native power(value, exponent);
```

##### Description

Returns a value raised to a specified exponent.

##### Parameters

- `value`: Value
- `exponent`: Exponent to raise value to

##### Return

Value to the power of exponent

#### random

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/random
- Line: 99

##### Syntax

```pawn
native random(max);
```

##### Description

Returns a random number between 0 and a specified upper bound.

##### Parameters

- `max`: Exclusive upper bound

##### Return

Random value

#### setarg

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/setarg
- Line: 59

##### Syntax

```pawn
native setarg(arg, index = 0, value);
```

##### Description

Sets the value of an argument passed into the currently executed function.

##### Parameters

- `arg`: Argument index
- `index`: Index to set in the argument (for arrays and strings)

##### Note

This is not equal to assigning a new value to a by-reference argument.

#### sqroot

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/sqroot
- Line: 154

##### Syntax

```pawn
native sqroot(value);
```

##### Description

Returns the approximated square root of a value.

##### Parameters

- `value`: Value

##### Note

This uses a simple successice approximation algorithm (continuously
dividing the value) and only deals with integers, this makes it very
imprecise.

##### Return

Square root of the value

#### swapchars

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/swapchars
- Line: 90

##### Syntax

```pawn
native swapchars(c);
```

##### Description

Swaps the bytes of a value (the lowest byte becomes the highest byte).

##### Parameters

- `c`: Value to swap

##### Return

Byte-swapped value

#### tickcount

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/tickcount
- Line: 190

##### Syntax

```pawn
native tickcount(&granularity = 0);
```

##### Description

Returns the elapsed CPU seconds.

##### Parameters

- `granularity`: Unused

##### Note

This is a debugging function that is not intended for general plugin
use.

##### Note

This uses the C clock() function internally and comes with all its
drawbacks attached.

##### Return

Number of CPU seconds elapsed

#### time

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/time
- Line: 165

##### Syntax

```pawn
native time(&hour = 0, &minute = 0, &second = 0);
```

##### Description

Retrieves the current time in hours, minutes and seconds.

##### Parameters

- `hour`: Variable to store hours in
- `minute`: Variable to store minutes in
- `second`: Variable to store seconds in

##### Return

Unix timestamp

#### tolower

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/tolower
- Line: 70

##### Syntax

```pawn
native tolower(c);
```

##### Description

Converts a character to lowercase.

##### Parameters

- `c`: Character to convert

##### Note

This is not UTF8 or locale-safe.

##### Return

Converted character

#### toupper

- Include: `core.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/core/function/toupper
- Line: 81

##### Syntax

```pawn
native toupper(c);
```

##### Description

Converts a character to uppercase.

##### Parameters

- `c`: Character to convert

##### Note

This is not UTF8 or locale-safe.

##### Return

Converted character

#### abs

- Include: `core.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/core/function/abs
- Line: 199

##### Syntax

```pawn
stock abs(x)
```

##### Description

Returns the absolute value of a number.

##### Parameters

- `x`: Integral value

##### Return

Absolute value of x (x if it is greater than 0, -x otherwise)

## csstats.inc

- HTML: https://amxx-api.csrevo.com/csstats
- Group: Base includes
- Functions: 11
- Documented constants: 0

### Functions

#### get_stats

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_stats
- Line: 246

##### Syntax

```pawn
native get_stats(index, stats[STATSX_MAX_STATS], bodyhits[MAX_BODYHITS], name[], len, authid[] = "", authidlen = 0);
```

##### Description

Retrieves statistics from the permanent storage on the server via iterative,
incremental access.

##### Parameters

- `index`: Rank index
- `stats`: Buffer to copy statistics to
- `bodyhits`: Buffer to copy body hits to
- `name`: Buffer to copy client name to
- `len`: Maximum name buffer size
- `authid`: Buffer to copy client auth id to
- `authidlen`: Maximum authid buffer size

##### Note

The permanent storage is updated on every respawn or client disconnect.

##### Note

Player rank is determined by the customizable "get_score" function in
"data/csstats.amxx". By default it uses the difference of kills to
deaths/teamkills.

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Note

For a list of possible stat constants see the STATSX_* constants in
amxconst.inc

##### Note

The fields in the statistics are:
0 - Kills
1 - Deaths
2 - Headshots
3 - Teamkills
4 - Shots
5 - Hits
6 - Damage
7 - Rank

##### Return

Next rank index (> 0 and > index), or 0 if no more
statistics exist

#### get_stats2

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_stats2
- Line: 298

##### Syntax

```pawn
native get_stats2(index, stats[STATSX_MAX_OBJECTIVE], authid[] = "", authidlen = 0);
```

##### Description

Retrieves objective statistics from the permanent storage on the server via
iterative, incremental access.

##### Parameters

- `index`: Client index
- `stats`: Buffer to copy statistics to
- `authid`: Buffer to copy client auth id to
- `authidlen`: Maximum authid buffer size

##### Note

The permanent storage is updated on every respawn or client disconnect.

##### Note

For a list of possible stat constants see the STATSX_* constants in
amxconst.inc

##### Note

The fields in the statistics are:
0 - total defusions
1 - bomb defused
2 - bomb plants
3 - bomb explosions

##### Return

Next rank index (> 0 and > index), or 0 if no more
statistics exist

#### get_statsnum

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_statsnum
- Line: 253

##### Syntax

```pawn
native get_statsnum();
```

##### Description

Returns the number of all entries in the permanent statistics storage.

##### Return

Number of entries in statistics storage

#### get_user_astats

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_user_astats
- Line: 200

##### Syntax

```pawn
native get_user_astats(index, wpnindex, stats[STATSX_MAX_STATS], bodyhits[MAX_BODYHITS], wpnname[] = "", len = 0);
```

##### Description

Retrieves the client's statistics received from another client from the
current round.

##### Parameters

- `index`: Client index
- `wpnindex`: Attacker client index, or 0 to retrieve the statistics from
all attackers
- `stats`: Buffer to copy statistics to
- `bodyhits`: Buffer to copy body hits to
- `wpnname`: Optional buffer to copy last used weapon name to
- `len`: Maximum buffer size

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Note

For a list of possible stat constants see the STATSX_* constants in
amxconst.inc

##### Note

The fields in the statistics are:
0 - Kills
1 - Deaths
2 - Headshots
3 - Teamkills
4 - Shots
5 - Hits
6 - Damage

##### Return

1 on success, 0 if no statistics are available against the
specified attacker

##### Error

If an invalid client index is provided, an error will be
thrown.

#### get_user_rstats

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_user_rstats
- Line: 136

##### Syntax

```pawn
native get_user_rstats(index, stats[STATSX_MAX_STATS], bodyhits[MAX_BODYHITS]);
```

##### Description

Retrieves the client's statistics from the current round.

##### Parameters

- `index`: Client index
- `stats`: Buffer to copy statistics to
- `bodyhits`: Buffer to copy body hits to

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Note

For a list of possible stat constants see the STATSX_* constants in
amxconst.inc

##### Note

The fields in the statistics are:
0 - Kills
1 - Deaths
2 - Headshots
3 - Teamkills
4 - Shots
5 - Hits
6 - Damage

##### Return

1 on success, 0 if no statistics are available

##### Error

If an invalid client index is provided, an error will be
thrown.

#### get_user_stats

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_user_stats
- Line: 110

##### Syntax

```pawn
native get_user_stats(index, stats[STATSX_MAX_STATS], bodyhits[MAX_BODYHITS]);
```

##### Description

Retrieves the client's weapon statistics from the permanent storage on the
server.

##### Parameters

- `index`: Client index
- `stats`: Buffer to copy statistics to
- `bodyhits`: Buffer to copy body hits to

##### Note

The permanent storage is updated on every respawn or client disconnect.

##### Note

Player rank is determined by the customizable "get_score" function in
"data/csstats.amxx". By default it uses the difference of kills to
deaths/teamkills.

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Note

For a list of possible stat constants see the STATSX_* constants in
amxconst.inc

##### Note

The fields in the statistics are:
0 - Kills
1 - Deaths
2 - Headshots
3 - Teamkills
4 - Shots
5 - Hits
6 - Damage
7 - Rank

##### Return

Players rank > 0 on success, or 0 if player is not ranked
and no statistics are available

##### Error

If an invalid client index is provided, an error will be
thrown.

#### get_user_stats2

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_user_stats2
- Line: 275

##### Syntax

```pawn
native get_user_stats2(index, stats[STATSX_MAX_OBJECTIVE]);
```

##### Description

Retrieves the client's objective statistics from the permanent storage.

##### Parameters

- `index`: Client index
- `stats`: Buffer to copy statistics to

##### Note

The permanent storage is updated on every respawn or client disconnect.

##### Note

For a list of possible stat constants see the STATSX_* constants in
amxconst.inc

##### Note

The fields in the statistics are:
0 - total defusions
1 - bomb defused
2 - bomb plants
3 - bomb explosions

##### Return

Players rank > 0 on success, or 0 if player is not ranked
and no statistics are available

##### Error

If an invalid client index is provided, an error will be
thrown.

#### get_user_vstats

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_user_vstats
- Line: 168

##### Syntax

```pawn
native get_user_vstats(index, victim, stats[STATSX_MAX_STATS], bodyhits[MAX_BODYHITS], wpnname[] = "", len = 0);
```

##### Description

Retrieves the client's statistics inflicted upon another client from the
current round.

##### Parameters

- `index`: Client index
- `victim`: Victim client index, or 0 to retrieve the statistics against
all victims
- `stats`: Buffer to copy statistics to
- `bodyhits`: Buffer to copy body hits to
- `wpnname`: Optional buffer to copy last used weapon name to
- `len`: Maximum buffer size

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Note

For a list of possible stat constants see the STATSX_* constants in
amxconst.inc

##### Note

The fields in the statistics are:
0 - Kills
1 - Deaths
2 - Headshots
3 - Teamkills
4 - Shots
5 - Hits
6 - Damage

##### Return

1 on success, 0 if no statistics are available against the
specified victim

##### Error

If an invalid client index is provided, an error will be
thrown.

#### get_user_wrstats

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_user_wrstats
- Line: 77

##### Syntax

```pawn
native get_user_wrstats(index, wpnindex, stats[STATSX_MAX_STATS], bodyhits[MAX_BODYHITS]);
```

##### Description

Retrieves the client's weapon statistics from the current round.

##### Parameters

- `index`: Client index
- `wpnindex`: Weapon id, or 0 to retrieve total statistics across all
weapons
- `stats`: Buffer to copy statistics to
- `bodyhits`: Buffer to copy body hits to

##### Note

For a list of default CS weapon ids see the CSW_* constants in
amxconst.inc, this function also works on custom weapons.

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Note

For a list of possible stat constants see the STATSX_* constants in
amxconst.inc

##### Note

The fields in the statistics are:
0 - Kills
1 - Deaths
2 - Headshots
3 - Teamkills
4 - Shots
5 - Hits
6 - Damage

##### Return

1 on success, 0 if no statistics are available for the
weapon id

##### Error

If an invalid client index or weapon id is provided, an
error will be thrown.

#### get_user_wstats

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/get_user_wstats
- Line: 46

##### Syntax

```pawn
native get_user_wstats(index, wpnindex, stats[STATSX_MAX_STATS], bodyhits[MAX_BODYHITS]);
```

##### Description

Retrieves the client's current weapon statistics.

##### Parameters

- `index`: Client index
- `wpnindex`: Weapon id, or 0 to retrieve total statistics across all
weapons
- `stats`: Buffer to copy statistics to
- `bodyhits`: Buffer to copy body hits to

##### Note

For a list of default CS weapon ids see the CSW_* constants in
amxconst.inc, this function also works on custom weapons.

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Note

For a list of possible stat constants see the STATSX_* constants in
amxconst.inc

##### Note

The fields in the statistics are:
0 - Kills
1 - Deaths
2 - Headshots
3 - Teamkills
4 - Shots
5 - Hits
6 - Damage

##### Return

1 on success, 0 if no statistics are available for the weapon
id

##### Error

If an invalid client index or weapon id is provided, an
error will be thrown.

#### reset_user_wstats

- Include: `csstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csstats/function/reset_user_wstats
- Line: 211

##### Syntax

```pawn
native reset_user_wstats(index);
```

##### Description

Resets the current round weapon, attacker and victim statistics.

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

##### Error

If an invalid client index is provided, an error will be
thrown.

## csstats_const.inc

- HTML: https://amxx-api.csrevo.com/csstats_const
- Group: Base includes
- Functions: 0
- Documented constants: 1

### Constants

#### Constants for objective based statistics

Constants for objective based statistics

```pawn
enum
{
	STATSX_TOTAL_DEFUSIONS = 0,
	STATSX_BOMBS_DEFUSED,
	STATSX_BOMBS_PLANTED,
	STATSX_BOMB_EXPLOSIONS,
	STATSX_MAX_OBJECTIVE
}
```

## cstrike.inc

- HTML: https://amxx-api.csrevo.com/cstrike
- Group: Base includes
- Functions: 76
- Documented constants: 0

### Functions

#### CS_InternalCommand

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/cstrike/function/CS_InternalCommand
- Line: 1257

##### Syntax

```pawn
forward CS_InternalCommand(id, const cmd[]);
```

##### Description

Called when CS internally fires a command to a player.

##### Parameters

- `id`: Client index
- `cmd`: Command string

##### Note

This is most notably used by the rebuy/autobuy functionality,
Condition Zero also uses this to pass commands to bots internally.

##### Return

PLUGIN_CONTINUE to let the command continue
PLUGIN_HANDLED to block the command

#### CS_OnBuy

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/cstrike/function/CS_OnBuy
- Line: 1287

##### Syntax

```pawn
forward CS_OnBuy(index, item);
```

##### Description

Called when a client purchases an item.

##### Parameters

- `index`: Client index
- `item`: Item id

##### Note

This is called right before the user receives the item and before the
money is deducted from their cash reserves.

##### Note

For a list of possible item ids see the CSI_* constants.

##### Return

PLUGIN_CONTINUE to let the buy continue
PLUGIN_HANDLED to block the buy

#### CS_OnBuyAttempt

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/cstrike/function/CS_OnBuyAttempt
- Line: 1272

##### Syntax

```pawn
forward CS_OnBuyAttempt(index, item);
```

##### Description

Called when a client attempts to purchase an item.

##### Parameters

- `index`: Client index
- `item`: Item id

##### Note

This is called immediately when the client issues a buy command. The
game has not yet checked if the client can actually buy the weapon.

##### Note

For a list of possible item ids see the CSI_* constants.

##### Return

PLUGIN_CONTINUE to let the buy attempt continue
PLUGIN_HANDLED to block the buy attempt

#### cs_create_entity

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_create_entity
- Line: 1018

##### Syntax

```pawn
native cs_create_entity(const classname[]);
```

##### Description

Creates an entity using Counter-Strike's custom CreateNamedEntity wrapper.

##### Parameters

- `classname`: Entity class name

##### Note

Unlike other mods CS keeps track of entities using a custom hashtable.
This function adds entities to this hashtable, providing benefits over
the default CreateNamedEntity (used by create_entity() for example):
- Storing entities in a hashtable allows CS to improve classname lookup
performance compared to functions like FindEntityByString (used by
find_ent_by_class() for example) that usually have to loop
through all entities incrementally.
- As CS exclusively uses the hashtable for classname lookup, entities
created using the default engine functions will not be found by the
game. For example "weaponbox" entities are supposed to be
automatically cleaned up on round restart but are not considered if
they have not been added to the hashtable.

##### Note

The faster hashtable lookup can be utilized with cs_find_ent_by_class()

##### Note

When creating an entity the classname has to be valid in the mod, as
the engine needs to link the entity to an existing class internally.
The classname string that is stored in the entvar struct
(EV_SZ_classname) is separate from this association and can later be
freely changed to serve other purposes.

##### Return

Index of the created entity (> 0), 0 otherwise

#### cs_find_ent_by_class

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_find_ent_by_class
- Line: 1037

##### Syntax

```pawn
native cs_find_ent_by_class(start_index, const classname[]);
```

##### Description

Finds an entity in the world using Counter-Strike's custom FindEntityByString
wrapper.

##### Parameters

- `start_index`: Entity index to start searching from. -1 to start from
the first entity
- `classname`: Classname to search for

##### Note

Unlike other mods CS keeps track of entities using a custom hashtable.
This function utilizes the hasthable and allows for considerably faster
classname lookup compared to the default FindEntityByString (used by
find_ent_by_class() for example).

##### Note

This exclusively considers entities in the hashtable, created by the
game itself, using cs_create_entity(), or added via cs_set_ent_class().

##### Return

Entity index > 0 if found, 0 otherwise

#### cs_find_ent_by_owner

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_find_ent_by_owner
- Line: 1057

##### Syntax

```pawn
native cs_find_ent_by_owner(start_index, const classname[], owner);
```

##### Description

Finds an entity in the world using Counter-Strike's custom FindEntityByString
wrapper, matching by owner.

##### Parameters

- `start_index`: Entity index to start searching from. -1 to start from
the first entity
- `classname`: Classname to search for
- `owner`: Entity index to search for entity's owner

##### Note

Unlike other mods CS keeps track of entities using a custom hashtable.
This function utilizes the hasthable and allows for considerably faster
classname lookup compared to the default FindEntityByString (used by
find_ent_by_owner() for example).

##### Note

This exclusively considers entities in the hashtable, created by the
game itself, using cs_create_entity(), or added via cs_set_ent_class().

##### Return

Entity index > 0 if found, 0 otherwise

#### cs_get_armoury_type

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_armoury_type
- Line: 716

##### Syntax

```pawn
native cs_get_armoury_type(index, &count = 1);
```

##### Description

Returns the armoury entity's weapon id.

##### Parameters

- `index`: Armoury entity index
- `count`: Optional variable to store in the number of times that an item can be retrieved
from the same entity before being hidden

##### Note

Not all weapon ids are supported by Counter-Strike, an armoury entity
can not be a pistol, a knife or a bomb for exmaple. The full list is:
CSW_SCOUT, CSW_HEGRENADE, CSW_XM1014, CSW_MAC10, CSW_AUG,
CSW_SMOKEGRENADE, CSW_AWP, CSW_MP5NAVY, CSW_M249, CSW_M3, CSW_M4A1,
CSW_TMP, CSW_G3SG1, CSW_VEST, CSW_VESTHELM, CSW_FLASHBANG,
CSW_SG552, CSW_AK47, CSW_P90

##### Return

Weapon id

##### Error

If a non-armoury entity is provided, an error will be
thrown.

#### cs_get_c4_defusing

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_c4_defusing
- Line: 978

##### Syntax

```pawn
native bool:cs_get_c4_defusing(c4index);
```

##### Description

Returns if the bomb is being defused.

##### Parameters

- `c4index`: C4 entity

##### Return

1 if the bomb is being defused, 0 otherwise

##### Error

If the provided entity index is not a bomb, an error will be
thrown.

#### cs_get_c4_explode_time

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_c4_explode_time
- Line: 955

##### Syntax

```pawn
native Float:cs_get_c4_explode_time(index);
```

##### Description

Returns the game time at which the bomb will explode.

##### Parameters

- `index`: C4 entity

##### Return

Explosion time

##### Error

If the provided entity index is not a bomb, an error will be
thrown.

#### cs_get_hostage_foll

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_hostage_foll
- Line: 64

##### Syntax

```pawn
native cs_get_hostage_foll(index);
```

##### Description

Returns index of the entity that a hostage is following.

##### Parameters

- `index`: Hostage entity index

##### Note

Hostages can theoretically follow any entity in the game, so the
returned entity index is not necessarily a client index.

##### Return

Entity index if hostage is following something, 0 otherwise

##### Error

If the provided entity index is not a hostage, an error will
be thrown.

#### cs_get_hostage_id

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_hostage_id
- Line: 90

##### Syntax

```pawn
native cs_get_hostage_id(index);
```

##### Description

Returns unique id of a hostage.

##### Parameters

- `index`: Hostage entity index

##### Return

Unique hostage id

##### Error

If the provided entity index is not a hostage, an error will
be thrown.

#### cs_get_hostage_lastuse

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_hostage_lastuse
- Line: 909

##### Syntax

```pawn
native Float:cs_get_hostage_lastuse(index);
```

##### Description

Returns the last time a hostage was used.

##### Parameters

- `index`: Hostage entity

##### Return

Last use time

##### Error

If the provided entity index is not a hostage, an error will
be thrown.

#### cs_get_hostage_nextuse

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_hostage_nextuse
- Line: 932

##### Syntax

```pawn
native Float:cs_get_hostage_nextuse(index);
```

##### Description

Returns the next time a hostage can be used.

##### Parameters

- `index`: Hostage entity

##### Return

Next use time

##### Error

If the provided entity index is not a hostage, an error will
be thrown.

#### cs_get_item_alias

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_item_alias
- Line: 1099

##### Syntax

```pawn
native bool:cs_get_item_alias(itemid, name[], name_maxlen, altname[] = "", altname_maxlen = 0);
```

##### Description

Returns the alias name associated with an item index.

##### Parameters

- `itemid`: Item id (CSI_* constants)
- `name`: Buffer to store alias name to
- `name_maxlen`: Maximum buffer size
- `altname`: Optional buffer to store if available alternative alias name to
- `altname_maxlen`: Maximum buffer size

##### Return

True if alias is found, false otherwise

#### cs_get_item_id

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_item_id
- Line: 1086

##### Syntax

```pawn
native any:cs_get_item_id(const name[], &CsWeaponClassType:classid = CS_WEAPONCLASS_NONE);
```

##### Description

Returns the item id associated with an item name and its aliases.

##### Parameters

- `name`: Alias or classname
- `classid`: If item is a weapon, variable to store the associated
weapon class id in (CS_WEAPONCLASS_* constants)

##### Note

The item name is case sensitive an can be with or without
weapon_ and item_ prefixes. This can be a command alias as well.
Values examples: ak47, weapon_ak47, kevlar, item_kevlar, vest, bullpup, ...

##### Return

Item id (CSI_* constants)

#### cs_get_no_knives

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_no_knives
- Line: 666

##### Syntax

```pawn
native cs_get_no_knives();
```

##### Description

Returns if "no knives" mode is enabled.

##### Note

"No knives" mode means that the CStrike module will prevent the game
from creating (and thus attaching) "weapon_knife" entities. This means
that clients will spawn without knives, but knives can still be put
into the client inventories directly.

##### Return

1 if "no knives" mode is enabled, 0 otherwise

#### cs_get_translated_item_alias

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_translated_item_alias
- Line: 1113

##### Syntax

```pawn
native bool:cs_get_translated_item_alias(const alias[], itemname[], maxlength);
```

##### Description

Returns an item name associated with a command alias.

##### Parameters

- `alias`: Alias name
- `itemname`: Buffer to store item name to
- `maxlength`: Maximum buffer size

##### Note

The alias is case sensitive.

##### Note

If not an alias to a weapon, buffer will be set with the original alias.

##### Return

True if alias is translated, false otherwise

#### cs_get_user_armor

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_armor
- Line: 513

##### Syntax

```pawn
native cs_get_user_armor(index, &CsArmorType:armortype = CS_ARMOR_NONE);
```

##### Description

Returns the client's armor value and retrieves the type of armor.

##### Parameters

- `index`: Client index
- `armortype`: Variable to store armor type in

##### Note

For a list of possible armor types see the CsArmorType enum.

##### Return

Amount of armor, 0 if client has no armor

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error
will be thrown.

#### cs_get_user_bpammo

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_bpammo
- Line: 121

##### Syntax

```pawn
native cs_get_user_bpammo(index, weapon);
```

##### Description

Returns amount of ammo in the client's backpack for a specific weapon.

##### Parameters

- `index`: Client index
- `weapon`: Weapon id

##### Note

For a list of possible weapon ids see the CSW_* constants in
amxconst.inc

##### Note

Some weapons share ammo types and therefore ammo backpack pools. List
of ammo types:
ammo_338magnum  - awp
ammo_762nato    - scout, ak47, g3sg1
ammo_556natobox - m249
ammo_556nato    - famas, m4a1, aug, sg550, galil, sg552
ammo_buckshot   - m3, xm1014
ammo_45acp      - usp, ump45, mac10
ammo_57mm       - fiveseven, p90
ammo_50ae       - deagle
ammo_357sig     - p228
ammo_9mm        - glock, mp5, tmp, elites
/               - hegrenade
/               - flashbang
/               - smokegrenade

##### Return

Amount of ammo in backpack

##### Error

If the client index is not within the range of 1 to
MaxClients, the client is not connected, or an invalid
weapon id is provided, an error will be thrown.

#### cs_get_user_buyzone

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_buyzone
- Line: 197

##### Syntax

```pawn
native cs_get_user_buyzone(index);
```

##### Description

Returns if the client is inside a buyzone.

##### Parameters

- `index`: Client index

##### Return

1 if the client is inside a buyzone, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_deaths

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_deaths
- Line: 36

##### Syntax

```pawn
native cs_get_user_deaths(index);
```

##### Description

Returns client's deaths.

##### Parameters

- `index`: Client index

##### Return

Client deaths

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_defuse

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_defuse
- Line: 165

##### Syntax

```pawn
native cs_get_user_defuse(index);
```

##### Description

Returns if the client has a defuse kit.

##### Parameters

- `index`: Client index

##### Return

1 if the client has a defuse kit, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, the client is not connected, or an invalid
weapon id is provided, an error will be thrown.

#### cs_get_user_driving

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_driving
- Line: 474

##### Syntax

```pawn
native cs_get_user_driving(index);
```

##### Description

Returns if the client is currently driving a vehicle and if so, indicates
the speed.

##### Parameters

- `index`: Client index

##### Return

0 if the client is not driving, 1 if driving a vehicle but
not moving, 2 to 4 if driving positive speeds, 5 if
driving at a negative speed (backing), see TRAIN_* constants
in hlsdk_const.inc

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_hasprim

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_hasprim
- Line: 210

##### Syntax

```pawn
native cs_get_user_hasprim(index);
```

##### Description

Returns if the client has a primary weapon or a shield in the inventory.

##### Parameters

- `index`: Client index

##### Return

1 if the client has a primary weapon or shield in the
inventory, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_hostagekills

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_hostagekills
- Line: 880

##### Syntax

```pawn
native cs_get_user_hostagekills(index);
```

##### Description

Returns the amount of hostages that the client has killed.

##### Parameters

- `index`: Client index

##### Note

This is the value that the internal Counter-Strike hostage punisher
uses to determine if a client should be kicked, depending on the
value of the mp_hostagepenalty value.

##### Return

Amount of hostages killed

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be

#### cs_get_user_lastactivity

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_lastactivity
- Line: 850

##### Syntax

```pawn
native Float:cs_get_user_lastactivity(index);
```

##### Description

Returns the client's last activity time.

##### Parameters

- `index`: Client index

##### Note

This is the time that the internal Counter-Strike afk kicker uses to
see who has been inactive too long.

##### Return

Last activity time

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be

#### cs_get_user_mapzones

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_mapzones
- Line: 767

##### Syntax

```pawn
native cs_get_user_mapzones(index);
```

##### Description

Returns the map zones the client is inside of as a bitflag value.

##### Parameters

- `index`: Client index

##### Note

If the user does not have the ability to plant (cs_get_user_plant()
returns 0) then the bitflag will not contain CS_MAPZONE_BOMBTARGET.

##### Nore

For a list of possible zone flags see the CS_MAPZONE_* constants.

##### Return

Bitflag value of map zones

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_model

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_model
- Line: 224

##### Syntax

```pawn
native cs_get_user_model(index, model[], len);
```

##### Description

Retrieves the client's player model.

##### Parameters

- `index`: Client index
- `model`: Buffer to copy model to
- `len`: Maximum buffer size

##### Return

Number of cells written to buffer

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_money

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_money
- Line: 272

##### Syntax

```pawn
native cs_get_user_money(index);
```

##### Description

Returns the client's amount of money.

##### Parameters

- `index`: Client index

##### Return

Amount of money

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_nvg

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_nvg
- Line: 299

##### Syntax

```pawn
native cs_get_user_nvg(index);
```

##### Description

Returns if the client's has night vision goggles.

##### Parameters

- `index`: Client index

##### Return

1 if user has NVG, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_plant

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_plant
- Line: 329

##### Syntax

```pawn
native cs_get_user_plant(index);
```

##### Description

Returns if the client has the ability to plant the bomb.

##### Parameters

- `index`: Client index

##### Note

Only with this set can the client plant the bomb within the usual bomb
target areas. If this is not set the user can not plant the bomb, even
when he has one in the inventory.

##### Return

1 if the client is able to plant the bomb, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_shield

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_shield
- Line: 486

##### Syntax

```pawn
native cs_get_user_shield(index);
```

##### Description

Returns if the client has a shield in the inventory.

##### Parameters

- `index`: Client index

##### Return

1 if the client has a shield, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_stationary

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_stationary
- Line: 498

##### Syntax

```pawn
native cs_get_user_stationary(index);
```

##### Description

Returns if the client is using a stationary gun.

##### Parameters

- `index`: Client index

##### Return

1 if the client uses a stationary gun, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_submodel

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_submodel
- Line: 820

##### Syntax

```pawn
native cs_get_user_submodel(index);
```

##### Description

Returns if a submodel is set on the client.

##### Parameters

- `index`: Client index

##### Note

In Counter-Strike the submodel setting determines whether the user has
a bomb backpack (if a Terrorist) or a defuse kit (if a CT) on their
model.

##### Return

1 if submodel is set, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_team

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_team
- Line: 388

##### Syntax

```pawn
native CsTeams:cs_get_user_team(index, &any:model = CS_DONTCHANGE);
```

##### Description

Returns the client's team and optionally the model id.

##### Parameters

- `index`: Client index
- `model`: Optional variable to store model id in

##### Note

For a list of valid team ids see the CsTeams enum, and for a list of
valid internal model ids see the CsInternalModel enum.

##### Return

Team id

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_tked

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_tked
- Line: 439

##### Syntax

```pawn
native cs_get_user_tked(index);
```

##### Description

Returns if the client has committed a team kill in the current round.

##### Parameters

- `index`: Client index

##### Note

If this is set to 1 the client will be punished at the start of the
next round depending on the value of the mp_tkpunish cvar. The team
kill status is then reset.

##### Return

1 if the client has committed a team kill, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_vip

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_vip
- Line: 400

##### Syntax

```pawn
native cs_get_user_vip(index);
```

##### Description

Returns if the client is a VIP.

##### Parameters

- `index`: Client index

##### Return

1 if the client is a VIP, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_weapon

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_weapon
- Line: 1152

##### Syntax

```pawn
native cs_get_user_weapon(playerIndex, &clip = 0, &ammo = 0);
```

##### Description

Returns weapon index of the active weapon.

##### Parameters

- `playerIndex`: Player index
- `clip`: Optional variable to store clip ammo to
- `ammo`: Optional variable to store backpack ammo to

##### Note

More reliable than get_user_weapon.

##### Return

Weapon index on success or 0 if there is no active weapon

##### Error

If the client index is not within the range of 1 to
maxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_weapon_entity

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_weapon_entity
- Line: 1136

##### Syntax

```pawn
native cs_get_user_weapon_entity(playerIndex);
```

##### Description

Returns active weapon entity.

##### Parameters

- `playerIndex`: Player index

##### Return

Weapon entity index on success or 0 if there is no active weapon

##### Error

If the client index is not within the range of 1 to
maxClients, or the client is not connected, an error will be
thrown.

#### cs_get_user_zoom

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_user_zoom
- Line: 804

##### Syntax

```pawn
native cs_get_user_zoom(index);
```

##### Description

Returns if the client is zooming.

##### Parameters

- `index`: Client index

##### Note

For a list of possible zoom types see the zoom type enum above
(CS_*_ZOOM constants).

##### Return

Zoom type if the user is zoomed in, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_weapon_ammo

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_weapon_ammo
- Line: 622

##### Syntax

```pawn
native cs_get_weapon_ammo(index);
```

##### Description

Returns the amount of ammo in weapon's magazine.

##### Parameters

- `index`: Weapon entity index

##### Note

This native does not verify that the provided entity is a weapon
entity. It will return incorrect values for non-weapon entities.

##### Return

Amount of ammo in magazine

##### Error

If an invalid entity index or a client index is provided,
an error will be thrown.

#### cs_get_weapon_burst

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_weapon_burst
- Line: 546

##### Syntax

```pawn
native cs_get_weapon_burst(index);
```

##### Description

Returns if the weapon is in burst mode.

##### Parameters

- `index`: Weapon entity index

##### Note

Only the Glock and Famas can return 1 as they are the only guns in the
game that have a burst fire mode.

##### Note

This native does not verify that the provided entity is a weapon
entity. It will return incorrect values for non-weapon entities.

##### Return

1 if the weapon is in burst mode, 0 otherwise

##### Error

If an invalid entity index or a client index is provided,
an error will be thrown.

#### cs_get_weapon_id

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_weapon_id
- Line: 654

##### Syntax

```pawn
native cs_get_weapon_id(index);
```

##### Description

Returns the weapon id of an entity.

##### Parameters

- `index`: Weapon entity index

##### Note

For a list of possible weapon ids see the CSW_* constants in
amxconst.inc

##### Note

This native does not verify that the provided entity is a weapon
entity. It will return incorrect values for non-weapon entities.

##### Return

Weapon id

##### Error

If an invalid entity index or a client index is provided,
an error will be thrown.

#### cs_get_weapon_info

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_weapon_info
- Line: 1124

##### Syntax

```pawn
native any:cs_get_weapon_info(weapon_id, CsWeaponInfo:type);
```

##### Description

Returns some information about a weapon.

##### Parameters

- `weapon_id`: Weapon id, see CSW_* constants
- `type`: Info type, see CS_WEAPONINFO_* constants

##### Return

Weapon information value

##### Error

If weapon_id and type are out of bound, an error will be thrown.

#### cs_get_weapon_silen

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_weapon_silen
- Line: 582

##### Syntax

```pawn
native cs_get_weapon_silen(index);
```

##### Description

Returns if the weapon is in silenced mode.

##### Parameters

- `index`: Weapon entity index

##### Note

Only the USP and M4A1 can return 1 as they are the only guns in the
game that have a silenced fire mode.

##### Note

This native does not verify that the provided entity is a weapon
entity. It will return incorrect values for non-weapon entities.

##### Return

1 if the weapon is in silenced mode, 0 otherwise

##### Error

If an invalid entity index or a client index is provided,
an error will be thrown.

#### cs_get_weaponbox_item

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_weaponbox_item
- Line: 751

##### Syntax

```pawn
native cs_get_weaponbox_item(weaponboxIndex);
```

##### Description

Returns the weapon entity index that was packed into a weaponbox.

##### Parameters

- `weaponboxIndex`: Weaponbox entity index

##### Return

Weapon entity index on success or 0 if no weapon can be found

##### Error

If a non-weaponbox entity is provided or the entity is invalid, an error will be
thrown.

#### cs_reset_user_model

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_reset_user_model
- Line: 260

##### Syntax

```pawn
native cs_reset_user_model(index);
```

##### Description

Resets the client's model.

##### Parameters

- `index`: Client index

##### Note

This lifts the model-lock set by a previous cs_set_user_model() call.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_set_armoury_type

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_armoury_type
- Line: 740

##### Syntax

```pawn
native cs_set_armoury_type(index, type, count = -1);
```

##### Description

Sets the amoury entity type.

##### Parameters

- `index`: Armoury entity index
- `type`: Weapon id
- `count`: Number of times that an item can be retrieved from
the same entity before being hidden
If zero, the entity is hidden
If below zero, nothing is set

##### Note

Not all weapon ids are supported by Counter-Strike, an armoury entity
can not be a pistol, a knife or a bomb for exmaple. The full list is:
CSW_SCOUT, CSW_HEGRENADE, CSW_XM1014, CSW_MAC10, CSW_AUG,
CSW_SMOKEGRENADE, CSW_AWP, CSW_MP5NAVY, CSW_M249, CSW_M3, CSW_M4A1,
CSW_TMP, CSW_G3SG1, CSW_VEST, CSW_VESTHELM, CSW_FLASHBANG,
CSW_SG552, CSW_AK47, CSW_P90

##### Note

This does not update the entity model.

##### Note

On restart, entity is always unhidden and the count is restored (this can not be below 1).

##### Return

This function has no return value.

##### Error

If a non-armoury entity is provided, an error will be
thrown.

#### cs_set_c4_defusing

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_c4_defusing
- Line: 990

##### Syntax

```pawn
native cs_set_c4_defusing(c4index, bool:defusing);
```

##### Description

Sets if the bomb is being defused.

##### Parameters

- `c4index`: C4 entity
- `defusing`: True if the bomb should be defused, false otherwise

##### Return

This function has no return value.

##### Error

If the provided entity index is not a bomb, an error will be
thrown.

#### cs_set_c4_explode_time

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_c4_explode_time
- Line: 967

##### Syntax

```pawn
native cs_set_c4_explode_time(index, Float:value);
```

##### Description

Sets the game time at which the bomb will explode.

##### Parameters

- `index`: C4 entity
- `value`: New explosion time

##### Return

This function has no return value.

##### Error

If the provided entity index is not a bomb, an error will be
thrown.

#### cs_set_ent_class

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_ent_class
- Line: 1071

##### Syntax

```pawn
native cs_set_ent_class(index, const classname[]);
```

##### Description

Sets a custom classname of an entity.

##### Parameters

- `index`: Entity index
- `classname`: Classname to update for

##### Note

Unlike other mods CS keeps track of entities using a custom hashtable.
This function adds or updates the classname in the hasthable as well.
This is useful for use with cs_find_ent_by_class() and cs_find_ent_by_owner().

##### Return

This function has no return value.

#### cs_set_hostage_foll

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_hostage_foll
- Line: 79

##### Syntax

```pawn
native cs_set_hostage_foll(index, followedindex = 0);
```

##### Description

Sets hostage to follow an entity.

##### Parameters

- `index`: Hostage entity index
- `followedindex`: New entity to follow

##### Note

Hostages can theoretically follow any entity in the game, so the
followedindex does not have to be a client index.

##### Return

This function has no return value.

##### Error

If the provided entity index is not a hostage, an
error will be thrown.

#### cs_set_hostage_lastuse

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_hostage_lastuse
- Line: 921

##### Syntax

```pawn
native cs_set_hostage_lastuse(index, Float:value);
```

##### Description

Sets the last time a hostage was used.

##### Parameters

- `index`: Hostage entity
- `value`: New last use time

##### Return

This function has no return value.

##### Error

If the provided entity index is not a hostage, an error will
be thrown.

#### cs_set_hostage_nextuse

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_hostage_nextuse
- Line: 944

##### Syntax

```pawn
native cs_set_hostage_nextuse(index, Float:value);
```

##### Description

Sets the next time a hostage can be used.

##### Parameters

- `index`: Hostage entity
- `value`: New next use time

##### Return

This function has no return value.

##### Error

If the provided entity index is not a hostage, an error will
be thrown.

#### cs_set_no_knives

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_no_knives
- Line: 680

##### Syntax

```pawn
native cs_set_no_knives(noknives = 0);
```

##### Description

Enables or disables the "no knives" mode.

##### Parameters

- `noknives`: If nonzero enable "no knives" mode, disable otherwise

##### Note

"No knives" mode means that the CStrike module will prevent the game
from creating (and thus attaching) "weapon_knife" entities. This means
that clients will spawn without knives, but knives can still be put
into the client inventories directly.

##### Return

This function has no return value.

#### cs_set_user_armor

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_armor
- Line: 530

##### Syntax

```pawn
native cs_set_user_armor(index, armorvalue, CsArmorType:armortype);
```

##### Description

Sets the client's armor value the type of armor.

##### Parameters

- `index`: Client index
- `armorvalue`: Amount of armor to set
- `armortype`: CS armor type

##### Note

For a list of possible armor types see the CsArmorType enum.

##### Note

Sends the appropriate message to update the client's HUD.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error
will be thrown.

#### cs_set_user_bpammo

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_bpammo
- Line: 153

##### Syntax

```pawn
native cs_set_user_bpammo(index, weapon, amount);
```

##### Description

Sets amount of ammo in the client's backpack for a specific weapon.

##### Parameters

- `index`: Client index
- `weapon`: Weapon id
- `amount`: New backpack ammo amount to set

##### Note

For a list of possible weapon ids see the CSW_* constants in
amxconst.inc

##### Note

Some weapons share ammo types and therefore ammo backpack pools. List
of ammo types:
ammo_338magnum  - awp
ammo_762nato    - scout, ak47, g3sg1
ammo_556natobox - m249
ammo_556nato    - famas, m4a1, aug, sg550, galil, sg552
ammo_buckshot   - m3, xm1014
ammo_45acp      - usp, ump45, mac10
ammo_57mm       - fiveseven, p90
ammo_50ae       - deagle
ammo_357sig     - p228
ammo_9mm        - glock, mp5, tmp, elites
/               - hegrenade
/               - flashbang
/               - smokegrenade

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, the client is not connected, or an invalid
weapon id is provided, an error will be thrown.

#### cs_set_user_deaths

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_deaths
- Line: 50

##### Syntax

```pawn
native cs_set_user_deaths(index, newdeaths, bool:scoreboard = true);
```

##### Description

Sets client's deaths.

##### Parameters

- `index`: Client index
- `newdeaths`: New value to set
- `scoreboard`: If true the scoreboard will be updated to reflect the new value.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error
will be thrown.

#### cs_set_user_defuse

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_defuse
- Line: 185

##### Syntax

```pawn
native cs_set_user_defuse(index, defusekit = 1, r = 0, g = 160, b = 0, icon[] = "defuser", flash = 0);
```

##### Description

Sets the client's defusekit status and allows to set a custom HUD icon and
color.

##### Parameters

- `index`: Client index
- `defusekit`: If nonzero the client will have a defusekit, otherwise
it will be removed
- `r`: Red component of icon color
- `g`: Green component of icon color
- `b`: Blue component of icon color
- `icon`: HUD sprite to use as icon
- `flash`: If nonzero the icon will flash red

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error
will be thrown.

#### cs_set_user_hostagekills

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_hostagekills
- Line: 898

##### Syntax

```pawn
native cs_set_user_hostagekills(index, value);
```

##### Description

Sets the amount of hostages that the client has killed.

##### Parameters

- `index`: Client index
- `value`: New amount of hostages killed

##### Note

This is the value that the internal Counter-Strike hostage punisher
uses to determine if a client should be kicked, depending on the
value of the mp_hostagepenalty value. The punisher only checks this
value when a hostage is killed, so setting this will not cause the
client to be kicked until they actually kill a hostage.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be

#### cs_set_user_lastactivity

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_lastactivity
- Line: 865

##### Syntax

```pawn
native cs_set_user_lastactivity(index, Float:value);
```

##### Description

Sets the client's last activity time.

##### Parameters

- `index`: Client index
- `value`: New last activity time

##### Note

This is the time that the internal Counter-Strike afk kicker uses to
see who has been inactive too long.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be

#### cs_set_user_model

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_model
- Line: 246

##### Syntax

```pawn
native cs_set_user_model(index, const model[], bool:update_index = false);
```

##### Description

Sets the client's player model.

##### Parameters

- `index`: Client index
- `model`: Model name
- `update_index`: If true, the modelindex is updated as well

##### Note

This is not a one-time set. The CStrike module will remember the
selected model and try to prevent attempts at changing the player
model, or immediately re-apply it if necessary.

##### Note

Updating modelindex is useful for custom models which don't have
the same structure as the default ones (hitbox, etc..). Model must
be precached before.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, the client is not connected, the provided
model is empty, or if modeindex is updated and the
provided model is not precached, an error will be thrown.

#### cs_set_user_money

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_money
- Line: 287

##### Syntax

```pawn
native cs_set_user_money(index, money, flash = 1);
```

##### Description

Sets the client's amount of money.

##### Parameters

- `index`: Client index
- `money`: New amount to set
- `flash`: If nonzero the HUD will flash the difference between new
and old amount in red or green

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_set_user_nvg

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_nvg
- Line: 313

##### Syntax

```pawn
native cs_set_user_nvg(index, nvgoggles = 1);
```

##### Description

Sets the client's night vision goggles.

##### Parameters

- `index`: Client index
- `nvgoogles`: If nonzero the NVG will be added to the client's
inventory, otherwise they will be removed from it

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error
will be thrown.

#### cs_set_user_plant

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_plant
- Line: 353

##### Syntax

```pawn
native cs_set_user_plant(index, plant = 1, showbombicon = 1);
```

##### Description

Sets the client's ability to plant the bomb and displays or hides the bomb
HUD icon.

##### Parameters

- `index`: Client index
- `plant`: If nonzero the client will be able to plant the bomb,
otherwise he will be unable to
- `showbombicon`: If nonzero the green C4 icon will be displayed on the
client's hud, otherwise it will be hidden

##### Note

Only with this set can the client plant the bomb within the usual bomb
target areas. If this is not set the user can not plant the bomb, even
when he has one in the inventory. This is only correctly set when the
client touches a bomb and picks it up "manually" (only possible for
Terrorists), so this should be used if the bomb is added to the
inventory through other means.

##### Return

1 if the client is able to plant the bomb, 0 otherwise

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error
will be thrown.

#### cs_set_user_submodel

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_submodel
- Line: 836

##### Syntax

```pawn
native cs_set_user_submodel(index, value);
```

##### Description

Sets the submodel on a client.

##### Parameters

- `index`: Client index
- `value`: If nonzero the submodel is set, otherwise it is removed

##### Note

In Counter-Strike the submodel setting determines whether the user has
a bomb backpack (if a Terrorist) or a defuse kit (if a CT) on their
model.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be

#### cs_set_user_team

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_team
- Line: 372

##### Syntax

```pawn
native cs_set_user_team(index, any:team, any:model = CS_DONTCHANGE, bool:send_teaminfo = true);
```

##### Description

Sets the client's team without killing the player, and sets the client model.

##### Parameters

- `index`: Client index
- `team`: Team id
- `model`: Internal model id, if CS_DONTCHANGE the game will choose the model
or if CS_NORESET the game will not update it.
- `send_teaminfo`: If true, a TeamInfo message will be sent

##### Note

For a list of valid team ids see the CsTeams enum, and for a list of
valid internal model ids see the CsInternalModel enum.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_set_user_tked

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_tked
- Line: 458

##### Syntax

```pawn
native cs_set_user_tked(index, tk = 1, subtract = 1);
```

##### Description

Sets the client's team kill status, indicating whether the client has
committed a team kill in the current round.

##### Parameters

- `index`: Client index
- `tk`: Team kill status
- `subtract`: Amount of frags to subtract, negative values add frags

##### Note

If this is set to 1 the client will be punished at the start of the
next round depending on the value of the mp_tkpunish cvar. The team
kill status is then reset.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_set_user_vip

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_vip
- Line: 423

##### Syntax

```pawn
native cs_set_user_vip(index, vip = 1, model = 1, scoreboard = 1);
```

##### Description

Sets the client's VIP status and displayed model and scoreboard flag.

##### Parameters

- `index`: Client index
- `vip`: If nonzero the client will be made a VIP, otherwise the
VIP status will be removed
- `model`: If nonzero the client's model will be changed to the VIP
model, otherwise a random CT model will be selected
- `scoreboard`: If nonzero the scoreboard will be updated to reflect the
new VIP status

##### Note

This is mostly useful for removing VIP status so the client can change
teams and/or buy items properly. It does not alter gameplay, the player
that is selected as VIP at the start of a round will retain the
internal VIP status and remain the primary objective for the game mode.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error
will be thrown.

#### cs_set_user_zoom

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_user_zoom
- Line: 789

##### Syntax

```pawn
native cs_set_user_zoom(index, type, mode);
```

##### Description

Sets a zoom type on the client.

##### Parameters

- `index`: Client index
- `type`: Zoom type
- `mode`: If zero (blocking) the client will be forced to use the zoom
type set and won't be able to change it until it is reset
with CS_RESET_ZOOM, otherwise the user can restore back to
normal as usual

##### Note

Zoom types are not tied to their intended weapons, so any zoom type can
be combined with any weapon.

##### Note

For a list of possible zoom types see the zoom type enum above
(CS_*_ZOOM constants).

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, the client is not connected, or an invalid zoom
type is provided, an error will be thrown.

#### cs_set_weapon_ammo

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_weapon_ammo
- Line: 638

##### Syntax

```pawn
native cs_set_weapon_ammo(index, newammo);
```

##### Description

Sets the amount of ammo in weapon's clip.

##### Parameters

- `index`: Weapon entity index
- `newammo`: New ammo amount

##### Note

This native does not verify that the provided entity is a weapon
entity. It will result in undefined behavior if used on non-weapon
entities.

##### Return

This function has no return value.

##### Error

If an invalid entity index or a client index is provided,
an error will be thrown.

#### cs_set_weapon_burst

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_weapon_burst
- Line: 566

##### Syntax

```pawn
native cs_set_weapon_burst(index, burstmode = 1);
```

##### Description

Sets the weapon's burst mode.

##### Parameters

- `index`: Weapon entity index
- `burstmode`: If nonzero the weapon will be put into burstmode,
otherwise the burst mode will be removed

##### Note

Only the Glock and Famas can be set to burst fire mode as they are the
only guns in the game that provide such a mode.

##### Note

This native does not verify that the provided entity is a weapon
entity. It will result in undefined behavior if used on non-weapon
entities.

##### Return

1 if burst mode set successfully, 0 if entity is not
an applicable weapon

##### Error

If an invalid entity index or a client index is
provided, an error will be thrown.

#### cs_set_weapon_silen

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_set_weapon_silen
- Line: 608

##### Syntax

```pawn
native cs_set_weapon_silen(index, silence = 1, draw_animation = 1);
```

##### Description

Sets the weapon's silenced mode.

##### Parameters

- `index`: Weapon entity index
- `silence`: If nonzero the weapon will be put into silenced
mode, otherwise the silenced mode will be removed
- `draw_animation`: If 1 and the weapon is currently held by a
client, the appropriate weapon animation will be
played
If 2, same as 1 but follows game behavior by playing
the associated player's model sequence and disallowing
firing while animation is playing.

##### Note

Only the USP and M4A1 can be set to silenced fire mode as they are the
only guns in the game that provide such a mode.

##### Note

This native does not verify that the provided entity is a weapon
entity. It will result in undefined behavior if used on non-weapon
entities.

##### Return

1 if silenced mode set successfully, 0 if entity is
not an applicable weapon

##### Error

If an invalid entity index or a client index is
provided, an error will be thrown.

#### cs_user_spawn

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_user_spawn
- Line: 696

##### Syntax

```pawn
native cs_user_spawn(player);
```

##### Description

Sets a dead client up for spawning.

##### Parameters

- `player`: Client index

##### Note

This sets the client deadflag and triggers a client think, effectively
making the game respawn the client. Should only be used on dead
clients.

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### cs_get_weapon_class

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_get_weapon_class
- Line: 1161

##### Syntax

```pawn
stock CsWeaponClassType:cs_get_weapon_class(weapon_id)
```

##### Description

Returns a weapon class id associated with a weapon id.

##### Parameters

- `weapon_id`: Weapon id (CSI_* constants)

##### Return

Weapon class id (CS_WEAPONCLASS_* constants)

#### cs_is_valid_itemid

- Include: `cstrike.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/cstrike/function/cs_is_valid_itemid
- Line: 1225

##### Syntax

```pawn
stock bool:cs_is_valid_itemid(id, bool:weapon_only = false)
```

##### Description

Checks whether an item id is not out of bounds.

##### Parameters

- `id`: Item id (CSI_* constants)
- `weapon_only`: If true, only the real weapon ids will be checked,
including shield as well

##### Return

True if item id is valid, false otherwise

## cstrike_const.inc

- HTML: https://amxx-api.csrevo.com/cstrike_const
- Group: Base includes
- Functions: 0
- Documented constants: 32

### Constants

#### CSW_NONE

IDs of weapons in CS

```pawn
#define CSW_NONE            0
#define CSW_P228            1
#define CSW_GLOCK           2  // Unused by game, See CSW_GLOCK18.
#define CSW_SCOUT           3
#define CSW_HEGRENADE       4
#define CSW_XM1014          5
#define CSW_C4              6
#define CSW_MAC10           7
#define CSW_AUG             8
#define CSW_SMOKEGRENADE    9
#define CSW_ELITE           10
#define CSW_FIVESEVEN       11
#define CSW_UMP45           12
#define CSW_SG550           13
#define CSW_GALI            14
#define CSW_GALIL           14
#define CSW_FAMAS           15
#define CSW_USP             16
#define CSW_GLOCK18         17
#define CSW_AWP             18
#define CSW_MP5NAVY         19
#define CSW_M249            20
#define CSW_M3              21
#define CSW_M4A1            22
#define CSW_TMP             23
#define CSW_G3SG1           24
#define CSW_FLASHBANG       25
#define CSW_DEAGLE          26
#define CSW_SG552           27
#define CSW_AK47            28
#define CSW_KNIFE           29
#define CSW_P90             30
#define CSW_VEST            31  // Custom
#define CSW_VESTHELM        32  // Custom
#define CSW_SHIELDGUN       99
#define CSW_LAST_WEAPON     CSW_P90

const CSW_ALL_WEAPONS      = (~(1<<CSW_VEST));
const CSW_ALL_PISTOLS      = (1<<CSW_P228  | 1<<CSW_ELITE | 1<<CSW_FIVESEVEN | 1<<CSW_USP | 1<<CSW_GLOCK18 | 1<<CSW_DEAGLE);
const CSW_ALL_SHOTGUNS     = (1<<CSW_M3    | 1<<CSW_XM1014);
const CSW_ALL_SMGS         = (1<<CSW_MAC10 | 1<<CSW_UMP45 | 1<<CSW_MP5NAVY | 1<<CSW_TMP  | 1<<CSW_P90);
const CSW_ALL_RIFLES       = (1<<CSW_AUG   | 1<<CSW_GALIL | 1<<CSW_FAMAS   | 1<<CSW_M4A1 | 1<<CSW_AK47 | 1<<CSW_SG552);
const CSW_ALL_SNIPERRIFLES = (1<<CSW_SCOUT | 1<<CSW_AWP   | 1<<CSW_G3SG1   | 1<<CSW_SG550);
const CSW_ALL_MACHINEGUNS  = (1<<CSW_M249);
const CSW_ALL_GRENADES     = (1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_FLASHBANG);
const CSW_ALL_ARMORS       = (1<<CSW_VEST | 1<<CSW_VESTHELM);
const CSW_ALL_GUNS         = (CSW_ALL_PISTOLS | CSW_ALL_SHOTGUNS | CSW_ALL_SMGS | CSW_ALL_RIFLES | CSW_ALL_SNIPERRIFLES | CSW_ALL_MACHINEGUNS);
```

#### Team and team model constants, used by cs_[get|set]_user_team().

Team and team model constants, used by cs_[get|set]_user_team().

#### CsInternalModel

Internal Counter-Strike model id constants.

```pawn
enum CsInternalModel
{
	CS_NORESET     = -1,
	CS_DONTCHANGE  = 0,
	CS_UNASSIGNED  = 0,
	CS_CT_URBAN    = 1,
	CS_T_TERROR    = 2,
	CS_T_LEET      = 3,
	CS_T_ARCTIC    = 4,
	CS_CT_GSG9     = 5,
	CS_CT_GIGN     = 6,
	CS_CT_SAS      = 7,
	CS_T_GUERILLA  = 8,
	CS_CT_VIP      = 9,
	CZ_T_MILITIA   = 10,
	CZ_CT_SPETSNAZ = 11,
};
```

##### Note

Model ids starting with CZ_ are only valid in Condition Zero.

#### CsTeams

Counter-Strike team id constants.

```pawn
enum CsTeams
{
	CS_TEAM_UNASSIGNED = 0,
	CS_TEAM_T          = 1,
	CS_TEAM_CT         = 2,
	CS_TEAM_SPECTATOR  = 3,
};
```

#### CsArmorType

Counter-Strike armor types for use with cs_[get|set]_user_armor().

```pawn
enum CsArmorType
{
	CS_ARMOR_NONE     = 0,  // no armor
	CS_ARMOR_KEVLAR   = 1,  // body vest only
	CS_ARMOR_VESTHELM = 2,  // vest and helmet
};
```

#### CS_MAPZONE_BUY

Map zone flags returned by cs_get_user_mapzones().

```pawn
#define CS_MAPZONE_BUY              (1<<0) // Buyzone
#define CS_MAPZONE_BOMBTARGET       (1<<1) // Bomb target zone
#define CS_MAPZONE_HOSTAGE_RESCUE   (1<<2) // Hostage rescue zone
#define CS_MAPZONE_ESCAPE           (1<<3) // Terrorist escape zone
#define CS_MAPZONE_VIP_SAFETY       (1<<4) // VIP escape zone
```

#### Constants used for cs_[get|set]_user_zoom().

Constants used for cs_[get|set]_user_zoom().

```pawn
enum
{
	CS_RESET_ZOOM = 0,      // Reset any zoom blocking (mode has no effect)
	CS_SET_NO_ZOOM,         // Disable any sort of zoom
	CS_SET_FIRST_ZOOM,      // Set first zoom level (AWP style)
	CS_SET_SECOND_ZOOM,     // Set second zoom level (AWP style)
	CS_SET_AUGSG552_ZOOM,   // Set AUG/SG552 zoom style
};
```

#### CSI_NONE

Constants used for the CS_OnBuy() and CS_OnBuyAttempt() forwards.

```pawn
#define CSI_NONE                CSW_NONE
#define CSI_P228                CSW_P228
#define CSI_GLOCK               CSW_GLOCK  // Unused by game, See CSI_GLOCK18.
#define CSI_SCOUT               CSW_SCOUT
#define CSI_HEGRENADE           CSW_HEGRENADE
#define CSI_XM1014              CSW_XM1014
#define CSI_C4                  CSW_C4
#define CSI_MAC10               CSW_MAC10
#define CSI_AUG                 CSW_AUG
#define CSI_SMOKEGRENADE        CSW_SMOKEGRENADE
#define CSI_ELITE               CSW_ELITE
#define CSI_FIVESEVEN           CSW_FIVESEVEN
#define CSI_UMP45               CSW_UMP45
#define CSI_SG550               CSW_SG550
#define CSI_GALIL               CSW_GALIL
#define CSI_FAMAS               CSW_FAMAS
#define CSI_USP                 CSW_USP
#define CSI_GLOCK18             CSW_GLOCK18
#define CSI_AWP                 CSW_AWP
#define CSI_MP5NAVY             CSW_MP5NAVY
#define CSI_M249                CSW_M249
#define CSI_M3                  CSW_M3
#define CSI_M4A1                CSW_M4A1
#define CSI_TMP                 CSW_TMP
#define CSI_G3SG1               CSW_G3SG1
#define CSI_FLASHBANG           CSW_FLASHBANG
#define CSI_DEAGLE              CSW_DEAGLE
#define CSI_SG552               CSW_SG552
#define CSI_AK47                CSW_AK47
#define CSI_KNIFE               CSW_KNIFE
#define CSI_P90                 CSW_P90
#define CSI_SHIELDGUN           CSW_SHIELDGUN   // The real CS value, use CSI_SHELD instead.
#define CSI_VEST                CSW_VEST        // Custom
#define CSI_VESTHELM            CSW_VESTHELM    // Custom
#define CSI_DEFUSER             33              // Custom
#define CSI_NVGS                34              // Custom
#define CSI_SHIELD              35              // Custom - The value passed by the forward, more convenient for plugins.
#define CSI_PRIAMMO             36              // Custom
#define CSI_SECAMMO             37              // Custom
#define CSI_MAX_COUNT           38
#define CSI_LAST_WEAPON         CSW_LAST_WEAPON

#define CSI_ALL_WEAPONS         CSW_ALL_WEAPONS
#define CSI_ALL_PISTOLS         CSW_ALL_PISTOLS
#define CSI_ALL_SHOTGUNS        CSW_ALL_SHOTGUNS
#define CSI_ALL_SMGS            CSW_ALL_SMGS
#define CSI_ALL_RIFLES          CSW_ALL_RIFLES
#define CSI_ALL_SNIPERRIFLES    CSW_ALL_SNIPERRIFLES
#define CSI_ALL_MACHINEGUNS     CSW_ALL_MACHINEGUNS
#define CSI_ALL_GRENADES        CSW_ALL_GRENADES
#define CSI_ALL_ARMORS          CSW_ALL_ARMORS
#define CSI_ALL_GUNS            CSW_ALL_GUNS
```

##### Note

While these mostly overlap with the CSW_* constants the CSI_* constants
contain custom AMXX values that do not correspond to any real value in
the game. The CSI_* constants should therefore be used for consistency.

#### CS_PLAYER_FATAL_FALL_SPEED

Player's movements constants.

```pawn
#define CS_PLAYER_FATAL_FALL_SPEED       1100.0
#define CS_PLAYER_MAX_SAFE_FALL_SPEED    500.0
#define CS_DAMAGE_FOR_FALL_SPEED         100.0 / (CS_PLAYER_FATAL_FALL_SPEED - CS_PLAYER_MAX_SAFE_FALL_SPEED)
#define CS_PLAYER_MIN_BOUNCE_SPEED       350
#define CS_PLAYER_FALL_PUNCH_THRESHHOLD  250.0
```

#### CS_HINT_ROUND_STARTED

Hint message flags for use with m_flDisplayHistory.

```pawn
#define CS_HINT_ROUND_STARTED     (1<<1)
#define CS_HINT_HOSTAGE_SEEN_FAR  (1<<2)
#define CS_HINT_HOSTAGE_SEEN_NEAR (1<<3)
#define CS_HINT_HOSTAGE_USED      (1<<4)
#define CS_HINT_HOSTAGE_INJURED   (1<<5)
#define CS_HINT_HOSTAGE_KILLED    (1<<6)
#define CS_HINT_FRIEND_SEEN       (1<<7)
#define CS_HINT_ENEMY_SEEN        (1<<8)
#define CS_HINT_FRIEND_INJURED    (1<<9)
#define CS_HINT_FRIEND_KILLED     (1<<10)
#define CS_HINT_ENEMY_KILLED      (1<<11)
#define CS_HINT_BOMB_RETRIEVED    (1<<12)
#define CS_HINT_AMMO_EXHAUSTED    (1<<15)
#define CS_HINT_IN_TARGET_ZONE    (1<<16)
#define CS_HINT_IN_RESCUE_ZONE    (1<<17)
#define CS_HINT_IN_ESCAPE_ZONE    (1<<18)
#define CS_HINT_IN_VIPSAFETY_ZONE (1<<19)
#define CS_HINT_NIGHTVISION       (1<<20)
#define CS_HINT_HOSTAGE_CTMOVE    (1<<21)
#define	CS_HINT_SPEC_DUCK         (1<<22)
```

#### CS_IGNOREMSG_NONE

Constants for use with m_iIgnoreGlobalChat (ignoremsg client's command)

```pawn
#define CS_IGNOREMSG_NONE  0
#define CS_IGNOREMSG_ENEMY 1
#define CS_IGNOREMSG_TEAM  2
```

#### CsPlayerAnim

Player's gait animation constants.

```pawn
enum CsPlayerAnim
{
	CS_PLAYER_IDLE          = 0,
	CS_PLAYER_WALK          = 1,
	CS_PLAYER_JUMP          = 2,
	CS_PLAYER_SUPERJUMP     = 3,
	CS_PLAYER_DIE           = 4,
	CS_PLAYER_ATTACK1       = 5,
	CS_PLAYER_ATTACK2       = 6,
	CS_PLAYER_FLINCH        = 7,
	CS_PLAYER_LARGE_FLINCH  = 8,
	CS_PLAYER_RELOAD        = 9,
	CS_PLAYER_HOLDBOMB      = 10,
};
```

#### CsMenu

Player's menu states for use with m_iMenu.

```pawn
enum CsMenu
{
	CS_Menu_OFF              = 0,
	CS_Menu_ChooseTeam       = 1,
	CS_Menu_IGChooseTeam     = 2,
	CS_Menu_ChooseAppearance = 3,
	CS_Menu_Buy              = 4,
	CS_Menu_BuyPistol        = 5,
	CS_Menu_BuyRifle         = 6,
	CS_Menu_BuyMachineGun    = 7,
	CS_Menu_BuyShotgun       = 8,
	CS_Menu_BuySubMachineGun = 9,
	CS_Menu_BuyItem          = 10,
	CS_Menu_Radio1           = 11,
	CS_Menu_Radio2           = 12,
	CS_Menu_Radio3           = 13,
	CS_Menu_ClientBuy        = 14,
};
```

#### CsJoinState

Player's join states for use with m_iJoiningState.

```pawn
enum CsJoinState
{
	CS_STATE_JOINED           = 0,
	CS_STATE_SHOW_LTEXT       = 1,
	CS_STATE_READING_LTEXT    = 2,
	CS_STATE_SHOW_TEAM_SELECT = 3,
	CS_STATE_PICKING_TEAM     = 4,
	CS_STATE_GET_INTO_GAME    = 5,
};
```

#### CsThrowDirection

Player's throw direction on killed for use with m_iThrowDirection.

```pawn
enum CsThrowDirection
{
	CS_THROW_NONE                = 0,
	CS_THROW_FORWARD             = 1,
	CS_THROW_BACKWARD            = 2,
	CS_THROW_HITVEL              = 3,
	CS_THROW_BOMB                = 4,
	CS_THROW_GRENADE             = 5,
	CS_THROW_HITVEL_MINUS_AIRVEL = 6,
};
```

#### Player's status bar constants.

Player's status bar constants.

#### CS_PLAYERID_EVERYONE

Constants associated with mp_playerid server cvar.

```pawn
#define CS_PLAYERID_EVERYONE 0
#define CS_PLAYERID_TEAMONLY 1
#define CS_PLAYERID_OFF      2
```

#### CS_MAX_ID_RANGE

Maximum range a status bar can be displayed.

```pawn
#define CS_MAX_ID_RANGE             2048
#define CS_MAX_SPECTATOR_ID_RANGE   8192
```

#### CS_SBAR_STRING_SIZE

Maximum buffer length of a status bar message.

```pawn
#define CS_SBAR_STRING_SIZE         128
```

#### CS_SBAR_TARGETTYPE_TEAMMATE

Constants associated to CS_SBAR_ID_TARGETTYPE.

```pawn
#define CS_SBAR_TARGETTYPE_TEAMMATE 1
#define CS_SBAR_TARGETTYPE_ENEMY    2
#define CS_SBAR_TARGETTYPE_HOSTAGE  3
```

#### CsStatusBar

Status bar states.

```pawn
enum CsStatusBar
{
	CS_SBAR_ID_TARGETTYPE   = 1,
	CS_SBAR_ID_TARGETNAME   = 2,
	CS_SBAR_ID_TARGETHEALTH = 3,
};
```

#### CS_WEAPONSLOT_PRIMARY

Weapon slot types.

```pawn
#define CS_WEAPONSLOT_PRIMARY    1
#define CS_WEAPONSLOT_SECONDARY  2
#define CS_WEAPONSLOT_KNIFE      3
#define CS_WEAPONSLOT_GRENADE    4
#define CS_WEAPONSLOT_C4         5
```

#### CsWeaponClassType

Weapon class types.

```pawn
enum CsWeaponClassType
{
	CS_WEAPONCLASS_NONE          = 0,
	CS_WEAPONCLASS_KNIFE         = 1,
	CS_WEAPONCLASS_PISTOL        = 2,
	CS_WEAPONCLASS_GRENADE       = 3,
	CS_WEAPONCLASS_SUBMACHINEGUN = 4,
	CS_WEAPONCLASS_SHOTGUN       = 5,
	CS_WEAPONCLASS_MACHINEGUN    = 6,
	CS_WEAPONCLASS_RIFLE         = 7,
	CS_WEAPONCLASS_SNIPERRIFLE   = 8,
};
```

#### CsAutoBuyClassType

Weapon autobuy class types.

```pawn
enum CsAutoBuyClassType
{
	CS_AUTOBUYCLASS_PRIMARY     = (1<<0),
	CS_AUTOBUYCLASS_SECONDARY   = (1<<1),
	CS_AUTOBUYCLASS_AMMO        = (1<<2),
	CS_AUTOBUYCLASS_ARMOR       = (1<<3),
	CS_AUTOBUYCLASS_DEFUSER     = (1<<4),
	CS_AUTOBUYCLASS_PISTOL      = (1<<5),
	CS_AUTOBUYCLASS_SMG         = (1<<6),
	CS_AUTOBUYCLASS_RIFLE       = (1<<7),
	CS_AUTOBUYCLASS_SNIPERRIFLE = (1<<8),
	CS_AUTOBUYCLASS_SHOTGUN     = (1<<9),
	CS_AUTOBUYCLASS_MACHINEGUN  = (1<<10),
	CS_AUTOBUYCLASS_GRENADE     = (1<<11),
	CS_AUTOBUYCLASS_NIGHTVISION = (1<<12),
	CS_AUTOBUYCLASS_SHIELD      = (1<<13),
};
```

#### CsAmmoType

Ammo types for use with cs_get_weapon_info().

```pawn
enum CsAmmoType
{
	CS_AMMO_BUCKSHOT   = 0,
	CS_AMMO_9MM        = 1,
	CS_AMMO_556NATO    = 2,
	CS_AMMO_556NATOBOX = 3,
	CS_AMMO_762NATO    = 4,
	CS_AMMO_45ACP      = 5,
	CS_AMMO_50AE       = 6,
	CS_AMMO_338MAGNUM  = 7,
	CS_AMMO_57MM       = 8,
	CS_AMMO_357SIG     = 9,
};
```

#### CsWeaponInfo

Weapon info types for use with cs_get_weapon_info().

```pawn
enum CsWeaponInfo
{
	CS_WEAPONINFO_COST          = 0,
	CS_WEAPONINFO_CLIP_COST     = 1,
	CS_WEAPONINFO_BUY_CLIP_SIZE = 2,
	CS_WEAPONINFO_GUN_CLIP_SIZE = 3,
	CS_WEAPONINFO_MAX_ROUNDS    = 4,
	CS_WEAPONINFO_AMMO_TYPE     = 5,
};
```

#### CsWeaponCostType

Weapon default cost.

```pawn
enum CsWeaponCostType
{
	CS_AK47_PRICE      = 2500,
	CS_AWP_PRICE       = 4750,
	CS_DEAGLE_PRICE    = 650,
	CS_G3SG1_PRICE     = 5000,
	CS_SG550_PRICE     = 4200,
	CS_GLOCK18_PRICE   = 400,
	CS_M249_PRICE      = 5750,
	CS_M3_PRICE        = 1700,
	CS_M4A1_PRICE      = 3100,
	CS_AUG_PRICE       = 3500,
	CS_MP5NAVY_PRICE   = 1500,
	CS_P228_PRICE      = 600,
	CS_P90_PRICE       = 2350,
	CS_UMP45_PRICE     = 1700,
	CS_MAC10_PRICE     = 1400,
	CS_SCOUT_PRICE     = 2750,
	CS_SG552_PRICE     = 3500,
	CS_TMP_PRICE       = 1250,
	CS_USP_PRICE       = 500,
	CS_ELITE_PRICE     = 800,
	CS_FIVESEVEN_PRICE = 750,
	CS_XM1014_PRICE    = 3000,
	CS_GALIL_PRICE     = 2000,
	CS_FAMAS_PRICE     = 2250,
	CS_SHIELDGUN_PRICE = 2200
};
```

#### CsItemCostType

Equipment default cost.

```pawn
enum CsItemCostType
{
	CS_ASSAULTSUIT_PRICE  = 1000,
	CS_FLASHBANG_PRICE    = 200,
	CS_HEGRENADE_PRICE    = 300,
	CS_SMOKEGRENADE_PRICE = 300,
	CS_KEVLAR_PRICE       = 650,
	CS_HELMET_PRICE       = 350,
	CS_NVG_PRICE          = 1250,
	CS_DEFUSEKIT_PRICE    = 200
};
```

#### CsAmmoCostType

Ammo default cost.

```pawn
enum CsAmmoCostType
{
	CS_AMMO_338MAG_PRICE   = 125,
	CS_AMMO_357SIG_PRICE   = 50,
	CS_AMMO_45ACP_PRICE    = 25,
	CS_AMMO_50AE_PRICE     = 40,
	CS_AMMO_556NATO_PRICE  = 60,
	CS_AMMO_57MM_PRICE     = 50,
	CS_AMMO_762NATO_PRICE  = 80,
	CS_AMMO_9MM_PRICE      = 20,
	CS_AMMO_BUCKSHOT_PRICE = 65
};
```

#### CS_WPNSTATE_USP_SILENCED

Weapon state for use with m_iWeaponState.

```pawn
#define CS_WPNSTATE_USP_SILENCED       (1<<0)
#define CS_WPNSTATE_GLOCK18_BURST_MODE (1<<1)
#define CS_WPNSTATE_M4A1_SILENCED      (1<<2)
#define CS_WPNSTATE_ELITE_LEFT         (1<<3)
#define CS_WPNSTATE_FAMAS_BURST_MODE   (1<<4)
#define CS_WPNSTATE_SHIELD_DRAWN       (1<<5)
```

#### CS_CMD_SAY

Internal commands, for use with m_flLastCommandTime.

```pawn
#define CS_CMD_SAY           0
#define CS_CMD_SAYTEAM       1
#define CS_CMD_FULLUPDATE    2
#define CS_CMD_VOTE          3
#define CS_CMD_VOTEMAP       4
#define CS_CMD_LISTMAPS      5
#define CS_CMD_LISTPLAYERS   6
#define CS_CMD_NIGHTVISION   7
```

#### CS_SIGNAL_BUY

Signal state for use with m_signals.

```pawn
#define CS_SIGNAL_BUY        (1<<0)
#define CS_SIGNAL_BOMB       (1<<1)
#define CS_SIGNAL_RESCUE     (1<<2)
#define CS_SIGNAL_ESCAPE     (1<<3)
#define CS_SIGNAL_VIPSAFETY  (1<<4)
```

## csx.inc

- HTML: https://amxx-api.csrevo.com/csx
- Group: Base includes
- Functions: 17
- Documented constants: 2

### Constants

#### MapObjective

Map objective flags returned by get_map_objectives().

```pawn
enum MapObjective
{
	MapObjective_Bomb    = (1<<0),
	MapObjective_Hostage = (1<<1),
	MapObjective_Vip     = (1<<2),
	MapObjective_Escape  = (1<<3),
};
```

#### Shared natives

Shared natives

### Functions

#### bomb_defused

- Include: `csx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/csx/function/bomb_defused
- Line: 131

##### Syntax

```pawn
forward bomb_defused(defuser);
```

##### Description

Called after a bomb defuse has finished.

##### Parameters

- `defuser`: Defuser client index

##### Return

This function has no return value.

#### bomb_defusing

- Include: `csx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/csx/function/bomb_defusing
- Line: 122

##### Syntax

```pawn
forward bomb_defusing(defuser);
```

##### Description

Called after a bomb defuse attempt has started.

##### Parameters

- `defuser`: Defuser client index

##### Return

This function has no return value.

#### bomb_explode

- Include: `csx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/csx/function/bomb_explode
- Line: 113

##### Syntax

```pawn
forward bomb_explode(planter, defuser);
```

##### Description

Called when the bomb exploded.

##### Parameters

- `planter`: Planter client index
- `defuser`: Defuser client index, if applicable

##### Return

This function has no return value.

#### bomb_planted

- Include: `csx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/csx/function/bomb_planted
- Line: 103

##### Syntax

```pawn
forward bomb_planted(planter);
```

##### Description

Called after a bomb plant has finished.

##### Parameters

- `planter`: Planter client index

##### Return

This function has no return value.

#### bomb_planting

- Include: `csx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/csx/function/bomb_planting
- Line: 94

##### Syntax

```pawn
forward bomb_planting(planter);
```

##### Description

Called after a bomb plant attempt has started.

##### Parameters

- `planter`: Planter client index

##### Return

This function has no return value.

#### client_damage

- Include: `csx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/csx/function/client_damage
- Line: 54

##### Syntax

```pawn
forward client_damage(attacker, victim, damage, wpnindex, hitplace, TA);
```

##### Description

Called after a client attacks another client.

##### Parameters

- `attacker`: Attacker client index
- `victim`: Victim client index
- `damage`: Damage dealt to victim
- `wpnindex`: Weapon id
- `hitplace`: Body hitplace
- `ta`: If nonzero the attack was a team attack

##### Note

For a list of possible weapon ids see the CSW_* constants in
amxconst.inc

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Return

This function has no return value.

#### client_death

- Include: `csx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/csx/function/client_death
- Line: 72

##### Syntax

```pawn
forward client_death(killer, victim, wpnindex, hitplace, TK);
```

##### Description

Called after a client death.

##### Parameters

- `attacker`: Attacker client index
- `victim`: Victim client index
- `wpnindex`: Weapon id
- `hitplace`: Body hitplace
- `tk`: If nonzero the death was a teamkill

##### Note

For a list of possible weapon ids see the CSW_* constants in
amxconst.inc

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Return

This function has no return value.

#### grenade_throw

- Include: `csx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/csx/function/grenade_throw
- Line: 85

##### Syntax

```pawn
forward grenade_throw(index, greindex, wId);
```

##### Description

Called after a grenade was thrown.

##### Parameters

- `index`: Client index
- `greindex`: Grenade entity index
- `wId`: Weapon id

##### Note

Weapon id is one of CSW_HEGRENADE, CSW_SMOKEGRENADE or CSW_FLASHBANG.

##### Return

This function has no return value.

#### custom_weapon_add

- Include: `csx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csx/function/custom_weapon_add
- Line: 150

##### Syntax

```pawn
native custom_weapon_add(const wpnname[], melee = 0, const logname[] = "");
```

##### Description

Adds a custom weapon to the stats system.

##### Parameters

- `wpnname`: Full weapon name
- `melee`: If nonzero the weapon will be considered a melee weapon
- `logname`: Weapon short name

##### Note

The weapon name should be the full display name of the gun such as
"Desert Eagle" while the logname should be "weapon_deagle".

##### Return

Cusom weapon id (>0) on success, 0 if no more custom weapons
can be added

#### custom_weapon_dmg

- Include: `csx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csx/function/custom_weapon_dmg
- Line: 171

##### Syntax

```pawn
native custom_weapon_dmg(weapon, att, vic, damage, hitplace = 0);
```

##### Description

Triggers a damage event on a custom weapon, adding it to the internal stats.

##### Parameters

- `weapon`: Custom weapon id
- `att`: Attacker client index
- `vic`: Victim client index
- `damage`: Damage dealt
- `hitplace`: Optional body hitplace

##### Note

This will also call the client_damage() and client_kill() forwards if
applicable.

##### Note

For a list of possible body hitplaces see the HIT_* constants in
amxconst.inc

##### Return

This function has no return value.

##### Error

If the weapon id is not a custom weapon, an invalid client
index, damage value or hitplace is provided, an error will
be thrown.

#### custom_weapon_shot

- Include: `csx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csx/function/custom_weapon_shot
- Line: 183

##### Syntax

```pawn
native custom_weapon_shot(weapon, index);
```

##### Description

Adds a shot event on a custom weapon to the internal stats.

##### Parameters

- `weapon`: Custom weapon id
- `index`: Client index

##### Return

This function has no return value.

##### Error

If the weapon id is not a custom weapon or an invalid client
index is provided, an error will be thrown.

#### get_map_objectives

- Include: `csx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csx/function/get_map_objectives
- Line: 259

##### Syntax

```pawn
native MapObjective:get_map_objectives();
```

##### Description

Returns the current map's objectives as a bitflag value.

##### Note

For a list of possible map objective flags see the MapObjective enum.

##### Return

Bitflag value of map objectives

#### xmod_get_maxweapons

- Include: `csx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csx/function/xmod_get_maxweapons
- Line: 239

##### Syntax

```pawn
native xmod_get_maxweapons();
```

##### Description

Returns the maximum amount of weapons that the stats system supports.

##### Return

Maximum number of weapons supported

#### xmod_get_stats_size

- Include: `csx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csx/function/xmod_get_stats_size
- Line: 246

##### Syntax

```pawn
native xmod_get_stats_size();
```

##### Description

Returns the number of stats tracked by the stats system.

##### Return

Number of stats tracked

#### xmod_get_wpnlogname

- Include: `csx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csx/function/xmod_get_wpnlogname
- Line: 232

##### Syntax

```pawn
native xmod_get_wpnlogname(wpnindex, name[], len);
```

##### Description

Retrieves the weapon log name of a weapon id.

##### Parameters

- `wpnindex`: Weapon id
- `name`: Buffer to copy weapon log name to
- `len`: Maximmum buffer size

##### Note

For a list of default CS weapon ids see the CSW_* constants in
amxconst.inc, this function also works on custom weapons.

##### Note

For the default CS weapons this obviously returns true only for
CSW_KNIFE.

##### Return

Number of cells written to buffer

##### Error

If an invalid weapon id is provided an error will be thrown.

#### xmod_get_wpnname

- Include: `csx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csx/function/xmod_get_wpnname
- Line: 215

##### Syntax

```pawn
native xmod_get_wpnname(wpnindex, name[], len);
```

##### Description

Retrieves the full weapon name of a weapon id.

##### Parameters

- `wpnindex`: Weapon id
- `name`: Buffer to copy weapon name to
- `len`: Maximmum buffer size

##### Note

For a list of default CS weapon ids see the CSW_* constants in
amxconst.inc, this function also works on custom weapons.

##### Note

For the default CS weapons this obviously returns true only for
CSW_KNIFE.

##### Return

Number of cells written to buffer

##### Error

If an invalid weapon id is provided an error will be thrown.

#### xmod_is_melee_wpn

- Include: `csx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/csx/function/xmod_is_melee_wpn
- Line: 198

##### Syntax

```pawn
native xmod_is_melee_wpn(wpnindex);
```

##### Description

Returns if the weapon is considered a melee weapon.

##### Parameters

- `wpnindex`: Weapon id

##### Note

For a list of default CS weapon ids see the CSW_* constants in
amxconst.inc, this function also works on custom weapons.

##### Note

For the default CS weapons this obviously returns true only for
CSW_KNIFE.

##### Return

1 if weapon is a melee weapon, 0

##### Error

If an invalid weapon id is provided an error will be thrown.

## cvars.inc

- HTML: https://amxx-api.csrevo.com/cvars
- Group: Base includes
- Functions: 34
- Documented constants: 2

### Constants

#### FCVAR_NONE

CVAR flags for create_cvar() and register_cvar().

```pawn
#define FCVAR_NONE              0   // No special behavior
#define FCVAR_ARCHIVE           1   // Cvar will be saved to vars.rc Set to cause it to be saved to vars.rc
#define FCVAR_USERINFO          2   // Cvar changes the client's info string
#define FCVAR_SERVER            4   // Clients get notified when cvar value is changed
#define FCVAR_EXTDLL            8   // Defined by an external DLL
#define FCVAR_CLIENTDLL         16  // Defined by the client DLL
#define FCVAR_PROTECTED         32  // Cvar value is masked from outside access, should be used for sensitive cvars like passwords
#define FCVAR_SPONLY            64  // Cvar can't be changed by clients connected to a multiplayer server
#define FCVAR_PRINTABLEONLY     128 // The cvar string value can not contain unprintable characters
#define FCVAR_UNLOGGED          256 // If the cvar is FCVAR_SERVER, don't log changes to a file/the console
#define FCVAR_NOEXTRAWHITEPACE  512 // Automatically strips trailing/leading white space from the string value
```

#### CvarBounds

Cvar bound constants used with [get|set]_pcvar_bounds().

```pawn
enum CvarBounds
{
	CvarBound_Upper = 0,
	CvarBound_Lower
};
```

### Functions

#### bind_pcvar_float

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/bind_pcvar_float
- Line: 474

##### Syntax

```pawn
native bind_pcvar_float(pcvar, &Float:var);
```

##### Description

Binds a cvar's float value to a global variable. The variable will then
always contain the current cvar value as it is automatically kept up to date.

##### Parameters

- `pcvar`: Pointer to cvar
- `var`: Global variable to keep updated

##### Note

The variable *has* to be a global or a static variable. Local variables
created within functions can not be used for technical reasons.

##### Note

Variables can not be bound to multiple cvars.

##### Return

This function has no return value.

##### Error

If an invalid cvar pointer or variable is provided, an error
will be thrown.

#### bind_pcvar_num

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/bind_pcvar_num
- Line: 457

##### Syntax

```pawn
native bind_pcvar_num(pcvar, &any:var);
```

##### Description

Binds a cvar's integer value to a global variable. The variable will then
always contain the current cvar value as it is automatically kept up to date.

##### Parameters

- `pcvar`: Pointer to cvar
- `var`: Global variable to keep updated

##### Note

The variable *has* to be a global or a static variable. Local variables
created within functions can not be used for technical reasons.

##### Note

Variables can not be bound to multiple cvars.

##### Return

This function has no return value.

##### Error

If an invalid cvar pointer or variable is provided, an error
will be thrown.

#### bind_pcvar_string

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/bind_pcvar_string
- Line: 492

##### Syntax

```pawn
native bind_pcvar_string(pcvar, any:var[], varlen);
```

##### Description

Binds a cvar's string value to a global array. The array will then
always contain the current cvar value as it is automatically kept up to date.

##### Parameters

- `pcvar`: Pointer to cvar
- `var`: Global array to keep updated
- `varlen`: Maximum length of string array

##### Note

The array *has* to be a global or a static array. Local arrays
created within functions can not be used for technical reasons.

##### Note

Arrays can not be bound to multiple cvars.

##### Return

This function has no return value.

##### Error

If an invalid cvar pointer or variable is provided, an error
will be thrown.

#### create_cvar

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/create_cvar
- Line: 67

##### Syntax

```pawn
native create_cvar(const name[], const string[], flags = FCVAR_NONE, const description[] = "", bool:has_min = false, Float:min_val = 0.0, bool:has_max = false, Float:max_val = 0.0);
```

##### Description

Creates a new cvar for the engine.

##### Parameters

- `name`: Cvar name
- `string`: Default cvar value
- `flags`: Optional bitsum of flags specifying cvar behavior
- `description`: Optional description of the cvar
- `has_min`: Optional boolean that specifies if the cvar has a
minimum value
- `min_val`: Minimum floating point value
- `has_max`: Optional boolean that specifies if the cvar has a
maximum value
- `max_val`: Maximum floating point value

##### Note

This has the same effect as register_cvar() but provides more options.

##### Note

For a list of possible cvar flags see FCVAR_* constants above.

##### Note

If an already existing cvar is registered it will not be duplicated.
The default value is only set when the cvar is registered for the very
first time since the server was started. Cvar bounds are overwritten
by the create_cvar() call just as if they were re-set using
set_pcvar_bounds().

##### Note

The returned cvar pointer should be used with the get_pcvar_* and
set_pcvar_* set of functions.

##### Return

Unique cvar pointer

##### Error

If invalid bounds are provided (min_val > max_val or
vice versa), an error will be thrown.

#### cvar_exists

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/cvar_exists
- Line: 96

##### Syntax

```pawn
native cvar_exists(const cvar[]);
```

##### Description

Returns if a cvar is registered on the server.

##### Parameters

- `cvar`: Cvar name to check

##### Return

1 if the cvar exists, 0 otherwise

#### disable_cvar_hook

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/disable_cvar_hook
- Line: 145

##### Syntax

```pawn
native disable_cvar_hook(cvarhook:handle);
```

##### Description

Disables a cvar hook, stopping it from being called.

##### Parameters

- `handle`: Forward to disable

##### Note

Use the handle returned by hook_cvar_change as the parameter here.

##### Error

If an invalid hook handle is provided, an error will be
thrown.

#### enable_cvar_hook

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/enable_cvar_hook
- Line: 156

##### Syntax

```pawn
native enable_cvar_hook(cvarhook:handle);
```

##### Description

Enables a cvar hook, restoring it to being called.

##### Parameters

- `handle`: Forward to enable

##### Note

Use the handle returned by hook_cvar_change as the parameter here.

##### Error

If an invalid hook handle is provided, an error will be
thrown.

#### get_cvar_flags

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_cvar_flags
- Line: 170

##### Syntax

```pawn
native get_cvar_flags(const cvar[]);
```

##### Description

Returns flags of a cvar. The cvar is accessed by name.

##### Parameters

- `cvar`: Cvar name to retrieve flags from

##### Note

For a list of possible flags see the FCVAR_* constants in amxconst.inc

##### Note

Accessing a Cvar by name is slower than direct pointer access, which is
why the otherwise equivalent get_pcvar_flags() function should be used
instead.

##### Return

Flag value

#### get_cvar_float

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_cvar_float
- Line: 248

##### Syntax

```pawn
native Float:get_cvar_float(const cvarname[]);
```

##### Description

Returns a floating value from a cvar. The cvar is accessed by name.

##### Parameters

- `cvarname`: Cvar name to retrieve value from

##### Note

Accessing a Cvar by name is slower than direct pointer access, which is
why the otherwise equivalent get_pcvar_float() function should be used
instead.

##### Return

Cvar value, converted to float

#### get_cvar_num

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_cvar_num
- Line: 275

##### Syntax

```pawn
native get_cvar_num(const cvarname[]);
```

##### Description

Returns an integer value from a cvar. The cvar is accessed by name.

##### Parameters

- `cvarname`: Cvar name to retrieve value from

##### Note

Accessing a Cvar by name is slower than direct pointer access, which is
why the otherwise equivalent get_pcvar_num() function should be used
instead.

##### Return

Cvar value, converted to int

#### get_cvar_pointer

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_cvar_pointer
- Line: 109

##### Syntax

```pawn
native get_cvar_pointer(const cvar[]);
```

##### Description

Returns the cvar pointer of the specified cvar.

##### Parameters

- `cvar`: Cvar name to find

##### Note

A pointer is also returned by register_cvar() and create_cvar().
Plugins can (and should) retrieve and use pointers for already existing
mod cvars.

##### Return

Cvar pointer on success, 0 if cvar was not found

#### get_cvar_string

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_cvar_string
- Line: 221

##### Syntax

```pawn
native get_cvar_string(const cvarname[], output[], iLen);
```

##### Description

Gets a string value from a cvar. The cvar is accessed by name.

##### Parameters

- `cvar`: Cvar name to retrieve value from
- `output`: Buffer to copy cvar value to
- `iLen`: Maximum size of the buffer

##### Note

Accessing a Cvar by name is slower than direct pointer access, which is
why the otherwise equivalent get_pcvar_string() function should be used
instead.

##### Return

Number of cells written to buffer.

#### get_pcvar_bool

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_pcvar_bool
- Line: 340

##### Syntax

```pawn
native bool:get_pcvar_bool(pcvar);
```

##### Description

Returns an boolean value from a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to retrieve value from

##### Return

Cvar value, converted to bool

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

#### get_pcvar_bounds

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_pcvar_bounds
- Line: 425

##### Syntax

```pawn
native bool:get_pcvar_bounds(pcvar, CvarBounds:type, &Float:value);
```

##### Description

Retrieves the specified value boundary of a cvar.

##### Parameters

- `pcvar`: Pointer to cvar
- `type`: Type of boundary to retrieve
- `value`: Variable to store the specified boundary to

##### Return

True if the cvar has a boundary set, false otherwise

##### Error

If an invalid cvar pointer or boundary type is provided,
an error will be thrown.

#### get_pcvar_flags

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_pcvar_flags
- Line: 302

##### Syntax

```pawn
native get_pcvar_flags(pcvar);
```

##### Description

Returns flags of a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to retrieve flags from

##### Note

For a list of possible flags see the FCVAR_* constants in amxconst.inc

##### Return

1 on success, 0 if cvar pointer is invalid

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

#### get_pcvar_float

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_pcvar_float
- Line: 375

##### Syntax

```pawn
native Float:get_pcvar_float(pcvar);
```

##### Description

Returns a float value from a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to retrieve value from

##### Return

Cvar value, converted to float

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

#### get_pcvar_num

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_pcvar_num
- Line: 329

##### Syntax

```pawn
native get_pcvar_num(pcvar);
```

##### Description

Returns an integer value from a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to retrieve value from

##### Return

Cvar value, converted to int

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

#### get_pcvar_string

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_pcvar_string
- Line: 400

##### Syntax

```pawn
native get_pcvar_string(pcvar, string[], maxlen);
```

##### Description

Returns a string value from a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to retrieve value from
- `string`: Buffer to copy cvar value to
- `maxlen`: Maximum size of the buffer

##### Return

Number of cells written to buffer.

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

#### get_plugins_cvar

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_plugins_cvar
- Line: 520

##### Syntax

```pawn
native get_plugins_cvar(num, name[], namelen, &flags = 0, &plugin_id = 0, &pcvar_handle = 0, description[] = "", desc_len = 0);
```

##### Description

Retrieves information about a plugin-registered cvar via iterative access.

##### Parameters

- `num`: Index to retrieve
- `name`: Buffer to copy cvar name to
- `namelen`: Maximum buffer size
- `flags`: Variable to store cvar flags to
- `plugin_id`: Variable to store id of the registering plugin to
- `pcvar_handle`: Variable to store cvar pointer to
- `description`: Variable to store cvar description to
- `desc_len`: Maximum length of string buffer

##### Note

The returned cvar pointer should be used with the get_pcvar_* and
set_pcvar_* set of functions.

##### Note

The cvar index does not equal the cvar pointer. It is the internal
AMXX id of a cvar, incremented for each registered cvar.

##### Return

1 on success, 0 if index is invalid

#### get_plugins_cvarsnum

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/get_plugins_cvarsnum
- Line: 499

##### Syntax

```pawn
native get_plugins_cvarsnum();
```

##### Description

Returns the number of plugin-registered cvars.

##### Return

Number of registered cvars

#### hook_cvar_change

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/hook_cvar_change
- Line: 134

##### Syntax

```pawn
native cvarhook:hook_cvar_change(pcvar, const callback[]);
```

##### Description

Creates a hook for when a cvar's value is changed.

##### Parameters

- `pcvar`: Pointer to cvar
- `callback`: Name of callback function

##### Note

Changing the cvar value from within this forward can lead to infinite
recursion and should be avoided.

##### Note

The callback will be called in the following manner:
public cvar_change_callback(pcvar, const old_value[], const new_value[])
pcvar         - Pointer to cvar that was changed
old_value     - Buffer containing the previous value of the cvar
new_value     - Buffer containing the new value of the cvar
The return value is ignored

##### Return

Callback handle that can be used with
[disable|enable]_cvar_hook

##### Error

If an invalid cvar pointer or callback function is provided,
an error will be thrown.

#### query_client_cvar

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/query_client_cvar
- Line: 547

##### Syntax

```pawn
native query_client_cvar(id, const cvar[], const resultFunc[], paramlen = 0, const params[] = "");
```

##### Description

Dispatches a client cvar query, allowing the plugin to query for its value on
the client.

##### Parameters

- `id`: Client index
- `cvar`: Cvar to query
- `resultFunc`: Callback function
- `paramlen`: Size of extra data
- `params`: Extra data to pass through to callback

##### Note

The callback will be called in the following manner:
public cvar_query_callback(id, const cvar[], const value[], const param[])
id      - Client index
cvar    - Cvar queried
value   - Cvar value on the client
param   - Optional extra data

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, the client is not connected, the callback
function is invalid or the querying process encounters
a problem, an error will be thrown.

#### register_cvar

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/register_cvar
- Line: 87

##### Syntax

```pawn
native register_cvar(const name[], const string[], flags = FCVAR_NONE, Float:fvalue = 0.0);
```

##### Description

Registers a new cvar for the engine.

##### Parameters

- `name`: Cvar name
- `string`: Default cvar value
- `flags`: Optional bitsum of flags specifying cvar behavior
- `fvalue`: Unused

##### Note

Deprecated. Consider to use create_cvar for more options.

##### Note

For a list of possible cvar flags see FCVAR_* constants in cvars.inc

##### Note

If an already existing cvar is registered it will not be duplicated.
The default value is only set when the cvar is registered for the very
first time since the server was started.

##### Note

The returned cvar pointer should be used with the get_pcvar_* and
set_pcvar_* set of functions.

##### Return

Unique cvar pointer

#### remove_cvar_flags

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/remove_cvar_flags
- Line: 206

##### Syntax

```pawn
native remove_cvar_flags(const cvar[], flags=-1);
```

##### Description

Removes specified flags from a cvar. The cvar is accessed by name.

##### Parameters

- `cvar`: Cvar name to remove flags from
- `flags`: Bitflag sum of flags to remove

##### Note

Not permitted for the "amx_version", "amxmodx_version", "fun_version"
and "sv_cheats" cvars.

##### Note

For a list of possible flags see the FCVAR_* constants in amxconst.inc

##### Note

This function removes the flags using a bitwise-and operation.

##### Note

Accessing a Cvar by name is slower than direct pointer access, which is
why the set_pcvar_flags() function should be used instead.

##### Return

1 on success, 0 if cvar does not exist or is not permitted

#### set_cvar_flags

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_cvar_flags
- Line: 189

##### Syntax

```pawn
native set_cvar_flags(const cvar[], flags);
```

##### Description

Sets specified flags to a cvar. The cvar is accessed by name.

##### Parameters

- `cvar`: Cvar name to remove flags from
- `flags`: Bitflag sum of flags to set

##### Note

Not permitted for the "amx_version", "amxmodx_version", "fun_version"
and "sv_cheats" cvars.

##### Note

For a list of possible flags see the FCVAR_* constants in amxconst.inc

##### Note

This function just adds the flags using a bitwise-or operation. After
it has run the flags may not exactly equal the specified bitflag sum.

##### Note

Accessing a Cvar by name is slower than direct pointer access, which is
why the otherwise equivalent set_pcvar_flags() function should be used
instead.

##### Return

1 on success, 0 if cvar does not exist or is not permitted

#### set_cvar_float

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_cvar_float
- Line: 262

##### Syntax

```pawn
native set_cvar_float(const cvar[], Float:value);
```

##### Description

Sets a cvar to a given float value. The cvar is accessed by name.

##### Parameters

- `cvar`: Cvar name to set value of
- `value`: Value to set cvar to

##### Note

Accessing a Cvar by name is slower than direct pointer access, which is
why the otherwise equivalent set_pcvar_float() function should be used
instead.

##### Return

This function has no return value.

#### set_cvar_num

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_cvar_num
- Line: 289

##### Syntax

```pawn
native set_cvar_num(const cvarname[], value);
```

##### Description

Sets a cvar to a given integer value. The cvar is accessed by name.

##### Parameters

- `cvar`: Cvar name to set value of
- `value`: Value to set cvar to

##### Note

Accessing a Cvar by name is slower than direct pointer access, which is
why the otherwise equivalent set_pcvar_num() function should be used
instead.

##### Return

This function has no return value.

#### set_cvar_string

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_cvar_string
- Line: 235

##### Syntax

```pawn
native set_cvar_string(const cvar[], const value[]);
```

##### Description

Sets a cvar to a given string value. The cvar is accessed by name.

##### Parameters

- `cvar`: Cvar name to set value of
- `value`: Value to set cvar to

##### Note

Accessing a Cvar by name is slower than direct pointer access, which is
why the otherwise equivalent set_pcvar_string() function should be used
instead.

##### Return

This function has no return value.

#### set_pcvar_bool

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_pcvar_bool
- Line: 364

##### Syntax

```pawn
native set_pcvar_bool(pcvar, bool:num);
```

##### Description

Sets a boolean value to a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to set value of
- `num`: Value to set cvar to

##### Return

This function has no return value.

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

#### set_pcvar_bounds

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_pcvar_bounds
- Line: 440

##### Syntax

```pawn
native set_pcvar_bounds(pcvar, CvarBounds:type, bool:set, Float:value = 0.0);
```

##### Description

Sets the specified boundary of a cvar.

##### Parameters

- `pcvar`: Pointer to cvar
- `type`: Type of boundary to set
- `set`: If true the cvar boundary will be set, otherwise it will be
removed (value is ignored)
- `value`: Floating point value to use as the boundary

##### Return

This function has no return value.

##### Error

If an invalid cvar pointer or boundary type is provided, an
error will be thrown.

#### set_pcvar_flags

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_pcvar_flags
- Line: 318

##### Syntax

```pawn
native set_pcvar_flags(pcvar, flags);
```

##### Description

Sets specified flags to a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to set flags of
- `flags`: Bitflag sum of flags to set

##### Note

For a list of possible flags see the FCVAR_* constants in amxconst.inc

##### Note

This function directly sets the provided bitflag, unlike set_cvar_flags
which adds them using a bitwise OR.

##### Return

1 on success, 0 if cvar does not exist or is not permitted

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

#### set_pcvar_float

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_pcvar_float
- Line: 387

##### Syntax

```pawn
native set_pcvar_float(pcvar, Float:num);
```

##### Description

Sets a float value to a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to set value of
- `num`: Value to set cvar to

##### Return

This function has no return value.

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

#### set_pcvar_num

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_pcvar_num
- Line: 352

##### Syntax

```pawn
native set_pcvar_num(pcvar, num);
```

##### Description

Sets an integer value to a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to set value of
- `num`: Value to set cvar to

##### Return

This function has no return value.

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

#### set_pcvar_string

- Include: `cvars.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/cvars/function/set_pcvar_string
- Line: 412

##### Syntax

```pawn
native set_pcvar_string(pcvar, const string[]);
```

##### Description

Sets a string value to a cvar via direct pointer access.

##### Parameters

- `pcvar`: Pointer to cvar to retrieve value from
- `string`: Value to set cvar to

##### Return

This function has no return value.

##### Error

If an invalid cvar pointer is provided, an error will be
thrown.

## datapack.inc

- HTML: https://amxx-api.csrevo.com/datapack
- Group: Base includes
- Functions: 12
- Documented constants: 1

### Constants

#### DataPack

Datapack tag declaration

```pawn
enum DataPack
{
	Invalid_DataPack = 0
};
```

##### Note

Datapacks provide a way to store and move around arbitrary amounts (and
types) of data in AMX Mox X. Data is packed into a single cell value -
the DataPack handle. This handle can be passed around more easily, can
be returned by functions and can simulate advanced concepts like string
consummation.

##### Note

Plugins are responsible for freeing all datapack handles they acquire.
Failing to free handles will result in the plugin and AMXX leaking
memory.

### Functions

#### CreateDataPack

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/CreateDataPack
- Line: 37

##### Syntax

```pawn
native DataPack:CreateDataPack();
```

##### Description

Creates a new datapack.

##### Return

New datapack handle, which must be freed via DestroyDataPack().

#### DestroyDataPack

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/DestroyDataPack
- Line: 161

##### Syntax

```pawn
native DestroyDataPack(&DataPack:pack);
```

##### Description

Destroys the datapack and frees its memory.

##### Parameters

- `pack`: Datapack handle

##### Return

True if disposed, false otherwise

#### GetPackPosition

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/GetPackPosition
- Line: 126

##### Syntax

```pawn
native DataPackPos:GetPackPosition(DataPack:pack);
```

##### Description

Returns the datapack read/write position.

##### Parameters

- `pack`: Datapack handle

##### Return

Position in the datapack, only usable with calls to SetPackPosition

##### Error

If an invalid handle is provided, an error will be thrown.

#### IsPackEnded

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/IsPackEnded
- Line: 152

##### Syntax

```pawn
native bool:IsPackEnded(DataPack:pack);
```

##### Description

Returns if the datapack has reached its end and no more data can be read.

##### Parameters

- `pack`: Datapack handle

##### Return

True if datapack has reached the end, false otherwise

##### Error

If an invalid handle is provided, an error will be thrown.

#### ReadPackCell

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/ReadPackCell
- Line: 81

##### Syntax

```pawn
native any:ReadPackCell(DataPack:pack);
```

##### Description

Reads a cell from a Datapack.

##### Parameters

- `pack`: Datapack handle

##### Return

Cell value

##### Error

If an invalid handle is provided, or not enough data is left
in the datapack, an error will be thrown.

#### ReadPackFloat

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/ReadPackFloat
- Line: 92

##### Syntax

```pawn
native Float:ReadPackFloat(DataPack:pack);
```

##### Description

Reads a float from a datapack.

##### Parameters

- `pack`: Datapack handle

##### Return

Float value

##### Error

If an invalid handle is provided, or not enough data is left
in the datapack, an error will be thrown.

#### ReadPackString

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/ReadPackString
- Line: 105

##### Syntax

```pawn
native ReadPackString(DataPack:pack, buffer[], maxlen);
```

##### Description

Reads a string from a Datapack.

##### Parameters

- `pack`: Datapack handle
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of buffer

##### Return

Number of cells written to buffer

##### Error

If an invalid handle is provided, or not enough data is left
in the datapack, an error will be thrown.

#### ResetPack

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/ResetPack
- Line: 116

##### Syntax

```pawn
native ResetPack(DataPack:pack, bool:clear = false);
```

##### Description

Resets the datapack read/write position to the start.

##### Parameters

- `pack`: Datapack handle
- `clear`: If true, clears the contained data

##### Return

This function has no return value.

##### Error

If an invalid handle is provided, an error will be thrown.

#### SetPackPosition

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/SetPackPosition
- Line: 142

##### Syntax

```pawn
native SetPackPosition(DataPack:pack, DataPackPos:position);
```

##### Description

Sets the datapack read/write position.

##### Parameters

- `pack`: Datapack handle
- `position`: New position to set

##### Note

This should only ever be used with (known to be valid) positions
returned by GetPackPosition(). It is not possible for plugins to safely
compute datapack positions.

##### Return

This function has no return value.

##### Error

If an invalid handle is provided, or the new position is
out of datapack bounds, an error will be thrown.

#### WritePackCell

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/WritePackCell
- Line: 48

##### Syntax

```pawn
native WritePackCell(DataPack:pack, any:cell);
```

##### Description

Packs a cell value into a datapack.

##### Parameters

- `pack`: Datapack handle
- `cell`: Cell value to pack

##### Return

This function has no return value.

##### Error

If an invalid handle is provided, an error will be thrown.

#### WritePackFloat

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/WritePackFloat
- Line: 59

##### Syntax

```pawn
native WritePackFloat(DataPack:pack, Float:val);
```

##### Description

Packs a float value into a datapack.

##### Parameters

- `pack`: Datapack handle
- `val`: Float value to pack

##### Return

This function has no return value.

##### Error

If an invalid handle is provided, an error will be thrown.

#### WritePackString

- Include: `datapack.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/datapack/function/WritePackString
- Line: 70

##### Syntax

```pawn
native WritePackString(DataPack:pack, const str[]);
```

##### Description

Packs a string into a datapack.

##### Parameters

- `pack`: Datapack handle
- `str`: String to pack

##### Return

Length of copied string

##### Error

If an invalid handle is provided, an error will be thrown.

## dbi.inc

- HTML: https://amxx-api.csrevo.com/dbi
- Group: Base includes
- Functions: 14
- Documented constants: 2

### Constants

#### Sql

Sql

```pawn
enum Sql
{
	SQL_FAILED=0,
	SQL_OK
};
```

#### Result

Result

```pawn
enum Result
{
	RESULT_FAILED=-1,
	RESULT_NONE,
	RESULT_OK
};
```

### Functions

#### dbi_close

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_close
- Line: 105

##### Syntax

```pawn
native dbi_close(&Sql:_sql);
```

##### Description

Closes a database handle.  Internally, it will also
mark the handle as free, so this particular handle may
be re-used in the future to save time.

#### dbi_connect

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_connect
- Line: 57

##### Syntax

```pawn
native Sql:dbi_connect(_host[], _user[], _pass[], _dbname[], _error[]="", _maxlength=0);
```

##### Description

This will return a number equal to or below 0 on failure.
If it does fail, the error will be mirrored in dbi_error()
The return value will otherwise be a resource handle, not an
OK code or cell pointer.

#### dbi_error

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_error
- Line: 112

##### Syntax

```pawn
native dbi_error(Sql:_sql, _error[], _len);
```

##### Description

Returns an error message set.  For PGSQL and MySQL,
this is a direct error return from the database handle/API.
For MSSQL, it returns the last error message found from a
thrown exception.

#### dbi_field

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_field
- Line: 85

##### Syntax

```pawn
native dbi_field(Result:_result, _fieldnum, any:... );
```

##### Description

Gets a field by number.  Returns 0 on failure.
Although internally fields always start from 0,
This function takes fieldnum starting from 1.
No extra params: returns int
One extra param: returns Float: byref
Two extra param: Stores string with length

#### dbi_field_name

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_field_name
- Line: 127

##### Syntax

```pawn
native dbi_field_name(Result:result, field, name[], maxLength);
```

##### Description

Retrieves the name of a field/column in a result set.
Requires a valid result handle, and columns are numbered 1 to n.

#### dbi_free_result

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_free_result
- Line: 99

##### Syntax

```pawn
native dbi_free_result(&Result:result);
```

##### Description

Frees memory used by a result handle.  Do this or get memory leaks.

#### dbi_nextrow

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_nextrow
- Line: 76

##### Syntax

```pawn
native dbi_nextrow(Result:_result);
```

##### Description

Returns 0 on failure or End of Results.
Advances result pointer by one row.

#### dbi_num_fields

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_num_fields
- Line: 122

##### Syntax

```pawn
native dbi_num_fields(Result:result);
```

##### Description

Returns the number of fields/colums in a result set.
Unlike dbi_nextrow, you must pass a valid result handle.

#### dbi_num_rows

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_num_rows
- Line: 95

##### Syntax

```pawn
native dbi_num_rows(Result:_result);
```

##### Description

Returns the number of rows returned from a query

#### dbi_query

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_query
- Line: 65

##### Syntax

```pawn
native Result:dbi_query(Sql:_sql, _query[], any:...);
```

##### Description

This will do a simple query execution on the SQL server.
If it fails, it will return a number BELOW ZERO (0)
If zero, it succeeded with NO RETURN RESULT.
If greater than zero, make sure to call dbi_free_result() on it!
 The return is a handle to the result set

#### dbi_query2

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_query2
- Line: 71

##### Syntax

```pawn
native Result:dbi_query2(Sql:_sql, &rows, _query[], any:...);
```

##### Description

Has the same usage as dbi_query, but this native returns by
reference the number of rows affected in the query. If the
query fails rows will be equal to -1.

#### dbi_result

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_result
- Line: 91

##### Syntax

```pawn
native dbi_result(Result:_result, _field[], any:... );
```

##### Description

Gets a field by name.  Returns 0 on failure.
One extra param: returns Float: byref
Two extra param: Stores string with length

#### dbi_type

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dbi/function/dbi_type
- Line: 117

##### Syntax

```pawn
native dbi_type(_type[], _len);
```

##### Description

Returns the type of database being used.  So far:
"mysql", "pgsql", "mssql", "sqlite"

#### sqlite_table_exists

- Include: `dbi.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/dbi/function/sqlite_table_exists
- Line: 131

##### Syntax

```pawn
stock bool:sqlite_table_exists(Sql:sql, table[])
```

##### Description

This function can be used to find out if a table in a Sqlite database exists.

## dodconst.inc

- HTML: https://amxx-api.csrevo.com/dodconst
- Group: Base includes
- Functions: 0
- Documented constants: 25

### Constants

#### ALLIES

ALLIES

```pawn
#define ALLIES			1
```

#### AXIS

AXIS

```pawn
#define AXIS 			2
```

#### FT_NEW

FT_NEW

```pawn
#define FT_NEW			1<<0
```

#### FT_OLD

FT_OLD

```pawn
#define FT_OLD			1<<1
```

#### STAMINA_SET

STAMINA_SET

```pawn
#define STAMINA_SET		0
```

#### STAMINA_RESET

STAMINA_RESET

```pawn
#define STAMINA_RESET		1
```

#### FUSE_SET

FUSE_SET

```pawn
#define FUSE_SET		0
```

#### FUSE_RESET

FUSE_RESET

```pawn
#define FUSE_RESET		1
```

#### DODMAX_WEAPONS

DODMAX_WEAPONS

```pawn
#define DODMAX_WEAPONS		46 // 5 slots for custom weapons
```

#### DoD Weapon Types

DoD Weapon Types

```pawn
enum
{
	DODWT_PRIMARY = 0,
	DODWT_SECONDARY,
	DODWT_MELEE,
	DODWT_GRENADE,
	DODWT_OTHER
};
```

#### AMMO_SMG

AMMO_SMG

```pawn
#define AMMO_SMG 1 		// thompson, greasegun, sten, mp40
```

#### AMMO_ALTRIFLE

AMMO_ALTRIFLE

```pawn
#define AMMO_ALTRIFLE 2 	// carbine, k43, mg34
```

#### AMMO_RIFLE

AMMO_RIFLE

```pawn
#define AMMO_RIFLE 3 		// garand, enfield, scoped enfield, k98, scoped k98
```

#### AMMO_PISTOL

AMMO_PISTOL

```pawn
#define AMMO_PISTOL 4 		// colt, webley, luger
```

#### AMMO_SPRING

AMMO_SPRING

```pawn
#define AMMO_SPRING 5 		// springfield
```

#### AMMO_HEAVY

AMMO_HEAVY

```pawn
#define AMMO_HEAVY 6 		// bar, bren, stg44, fg42, scoped fg42
```

#### AMMO_MG42

AMMO_MG42

```pawn
#define AMMO_MG42 7    		// mg42
```

#### AMMO_30CAL

AMMO_30CAL

```pawn
#define AMMO_30CAL 8 		// 30cal
```

#### AMMO_GREN

AMMO_GREN

```pawn
#define AMMO_GREN 9 		// grenades (should be all 3 types)
```

#### AMMO_ROCKET

AMMO_ROCKET

```pawn
#define AMMO_ROCKET 13 		// bazooka, piat, panzerschreck
```

#### Enum starting with PS_NOPRONE

Enum starting with PS_NOPRONE

```pawn
enum {
	PS_NOPRONE =0,
	PS_PRONE,
	PS_PRONEDEPLOY,
	PS_DEPLOY,
};
```

#### info types for dod_get_map_info native

info types for dod_get_map_info native

```pawn
enum {
	MI_ALLIES_TEAM = 0,
	MI_ALLIES_PARAS,
	MI_AXIS_PARAS,
};
```

#### DoD weapons

DoD weapons

```pawn
enum {
	DODW_AMERKNIFE = 1,
	DODW_GERKNIFE,
	DODW_COLT,
	DODW_LUGER,
	DODW_GARAND,
	DODW_SCOPED_KAR,
	DODW_THOMPSON,
	DODW_STG44,
	DODW_SPRINGFIELD,
	DODW_KAR,
	DODW_BAR,
	DODW_MP40,
	DODW_HANDGRENADE,
	DODW_STICKGRENADE,
	DODW_STICKGRENADE_EX,
	DODW_HANDGRENADE_EX,
	DODW_MG42,
	DODW_30_CAL,
	DODW_SPADE,
	DODW_M1_CARBINE,
	DODW_MG34,
	DODW_GREASEGUN,
	DODW_FG42,
	DODW_K43,
	DODW_ENFIELD,
	DODW_STEN,
	DODW_BREN,
	DODW_WEBLEY,
	DODW_BAZOOKA,
	DODW_PANZERSCHRECK,
	DODW_PIAT,
	DODW_SCOPED_FG42,
	DODW_FOLDING_CARBINE,
	DODW_KAR_BAYONET,
	DODW_SCOPED_ENFIELD,
	DODW_MILLS_BOMB,
	DODW_BRITKNIFE,
	DODW_GARAND_BUTT,
	DODW_ENFIELD_BAYONET,
	DODW_MORTAR,
	DODW_K43_BUTT,
};
```

#### DoD Classes

DoD Classes

```pawn
enum {
	DODC_GARAND = 1,
	DODC_CARBINE,
	DODC_THOMPSON,
	DODC_GREASE,
	DODC_SNIPER,
	DODC_BAR,
	DODC_30CAL,
	DODC_BAZOOKA,
	//DODC_ALLIES_MORTAR,
	DODC_KAR = 10,
	DODC_K43,
	DODC_MP40,
	DODC_MP44,
	DODC_SCHARFSCHUTZE,
	DODC_FG42,
	DODC_SCOPED_FG42,
	DODC_MG34,
	DODC_MG42,
	DODC_PANZERJAGER,
	//DODC_AXIS_MORTAR,
	DODC_ENFIELD = 21,
	DODC_STEN,
	DODC_MARKSMAN,
	DODC_BREN,
	DODC_PIAT,
	//DODC_BRIT_MORTAR,
};
```

#### DoD stats constants

DoD stats constants

```pawn
enum {
	DODX_KILLS = 0,
	DODX_DEATHS,
	DODX_HEADSHOTS,
	DODX_TEAMKILLS,
	DODX_SHOTS,
	DODX_HITS,
	DODX_DAMAGE,
	DODX_POINTS,
	DODX_RANK,
	DODX_MAX_STATS
}
```

## dodfun.inc

- HTML: https://amxx-api.csrevo.com/dodfun
- Group: Base includes
- Functions: 25
- Documented constants: 2

### Constants

#### CP_VALUE

CP_VALUE

```pawn
enum CP_VALUE {
	CP_edict = 1,		// read only
	CP_area,			// read only
	CP_index,			// read only
	CP_owner,
	CP_default_owner,
	CP_visible,			// reinit after change
	CP_icon_neutral,		// reinit after change
	CP_icon_allies,		// reinit after change
	CP_icon_axis,		// reinit after change
	CP_origin_x,		// reinit after change
	CP_origin_y,		// reinit after change

	CP_can_touch,
	CP_pointvalue,

	CP_points_for_cap,
	CP_team_points,

	CP_model_body_neutral,
	CP_model_body_allies,
	CP_model_body_axis,

	// strings
	CP_name,
	CP_reset_capsound,
	CP_allies_capsound,
	CP_axis_capsound,
	CP_targetname,

	CP_model_neutral,
	CP_model_allies,
	CP_model_axis,
};
```

#### CA_VALUE

CA_VALUE

```pawn
enum CA_VALUE {
	CA_edict = 1,
	CA_allies_numcap,
	CA_axis_numcap,
	CA_timetocap,
	CA_can_cap,

	// strings
	CA_target,
	CA_sprite,
};
```

### Functions

#### controlpoints_init

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodfun/function/controlpoints_init
- Line: 86

##### Syntax

```pawn
forward controlpoints_init();
```

##### Description

called after first InitObj

#### grenade_throw

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodfun/function/grenade_throw
- Line: 27

##### Syntax

```pawn
forward grenade_throw(index,greindex,wId);
```

##### Description

Function is called after grenade throw

#### rocket_shoot

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodfun/function/rocket_shoot
- Line: 30

##### Syntax

```pawn
forward rocket_shoot(index,rocketindex,wId);
```

##### Description

Function is called after a rocket is shot

#### area_get_data

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/area_get_data
- Line: 149

##### Syntax

```pawn
native area_get_data( index, CA_VALUE:key, szValue[]="", len=0 );
```

##### Description

use this function to get info about specified control point's area

#### area_set_data

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/area_set_data
- Line: 152

##### Syntax

```pawn
native area_set_data( index, CA_VALUE:key , iValue=-1, const szValue[]="" );
```

##### Description

use this function to change control point's area data

#### dod_get_next_class

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_get_next_class
- Line: 47

##### Syntax

```pawn
native dod_get_next_class(index);
```

##### Description

Returns next player class. Usefull is player is using random class

#### dod_get_pl_deaths

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_get_pl_deaths
- Line: 53

##### Syntax

```pawn
native dod_get_pl_deaths(index);
```

##### Description

Returns player deaths

#### dod_get_pl_teamname

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_get_pl_teamname
- Line: 74

##### Syntax

```pawn
native dod_get_pl_teamname(index,szName[],len);
```

##### Description

Gets player team name

#### dod_get_user_ammo

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_get_user_ammo
- Line: 83

##### Syntax

```pawn
native dod_get_user_ammo(index,wid);
```

##### Description

Gets the ammo of the specified weapon entity id

#### dod_get_user_kills

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_get_user_kills
- Line: 62

##### Syntax

```pawn
native dod_get_user_kills(index);
```

##### Description

Returns player deaths.

#### dod_is_deployed

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_is_deployed
- Line: 77

##### Syntax

```pawn
native dod_is_deployed(index);
```

##### Description

Returns 1 is player weapon is deployed (bar,mg..)

#### dod_is_randomclass

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_is_randomclass
- Line: 50

##### Syntax

```pawn
native dod_is_randomclass(index);
```

##### Description

Returns 1 if player choose random class

#### dod_set_fuse

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_set_fuse
- Line: 38

##### Syntax

```pawn
native dod_set_fuse(index,set=FUSE_SET,Float:newFuse=5.0, Type=FT_NEW);
```

##### Description

types : new or preprimed

#### dod_set_pl_deaths

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_set_pl_deaths
- Line: 59

##### Syntax

```pawn
native dod_set_pl_deaths(index,value,refresh=1);
```

##### Description

Sets player deaths.
Note if you opt to refresh the scoreboard, it
will make the player appear as "DEAD" in the scoreboard.

#### dod_set_pl_teamname

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_set_pl_teamname
- Line: 71

##### Syntax

```pawn
native dod_set_pl_teamname(index,const szName[]);
```

##### Description

Sets new team name for this player

#### dod_set_stamina

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_set_stamina
- Line: 34

##### Syntax

```pawn
native dod_set_stamina(index,set=STAMINA_SET,minvalue=0,maxvalue=100);
```

##### Description

value is from 0 - 100

#### dod_set_user_ammo

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_set_user_ammo
- Line: 80

##### Syntax

```pawn
native dod_set_user_ammo(index,wid,value);
```

##### Description

Sets the ammo of the specified weapon entity id

#### dod_set_user_class

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_set_user_class
- Line: 41

##### Syntax

```pawn
native dod_set_user_class(index,classId);
```

##### Description

Sets player class

#### dod_set_user_kills

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_set_user_kills
- Line: 65

##### Syntax

```pawn
native dod_set_user_kills(index,value,refresh=1);
```

##### Description

Sets player kills.

#### dod_set_user_score

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_set_user_score
- Line: 68

##### Syntax

```pawn
native dod_set_user_score(index,value,refresh=1);
```

##### Description

Sets player score.

#### dod_set_user_team

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/dod_set_user_team
- Line: 44

##### Syntax

```pawn
native dod_set_user_team(index,teamId,refresh=1);
```

##### Description

Sets player team and random class. Don't work for spectators.

#### objective_get_data

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/objective_get_data
- Line: 131

##### Syntax

```pawn
native objective_get_data( index, CP_VALUE:key, szValue[]="", len=0 );
```

##### Description

use this function to get info about specified control point

#### objective_set_data

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/objective_set_data
- Line: 134

##### Syntax

```pawn
native objective_set_data( index, CP_VALUE:key , iValue=-1, const szValue[]="" );
```

##### Description

use this function to change control point's data

#### objectives_get_num

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/objectives_get_num
- Line: 124

##### Syntax

```pawn
native objectives_get_num();
```

##### Description

returns number of objectives

#### objectives_reinit

- Include: `dodfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodfun/function/objectives_reinit
- Line: 128

##### Syntax

```pawn
native objectives_reinit( player=0 );
```

##### Description

use this function to update client(s) hud. You need to do this sometimes. Check CP_VALUE comments.
   if player is 0 , all clients will get this message

## dodstats.inc

- HTML: https://amxx-api.csrevo.com/dodstats
- Group: Base includes
- Functions: 11
- Documented constants: 0

### Functions

#### get_stats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_stats
- Line: 66

##### Syntax

```pawn
native get_stats(index,stats[DODX_MAX_STATS],bodyhits[MAX_BODYHITS],name[],len);
```

##### Description

Gets overall stats which stored in stats.dat file in amx folder
and updated on every mapchange or user disconnect.
Function returns next index of stats entry or 0 if no more exists.

#### get_statsnum

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_statsnum
- Line: 69

##### Syntax

```pawn
native get_statsnum();
```

##### Description

Returns number of all entries in stats.

#### get_user_astats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_user_astats
- Line: 58

##### Syntax

```pawn
native get_user_astats(index,wpnindex,stats[DODX_MAX_STATS],bodyhits[MAX_BODYHITS],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have been killed/hurt. If killer is 0
then stats are from all attacks. If killer has not hurt user, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_lstats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_user_lstats
- Line: 48

##### Syntax

```pawn
native get_user_lstats(index,stats[DODX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets life (from spawn to spawn) stats of player.

#### get_user_rstats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_user_rstats
- Line: 45

##### Syntax

```pawn
native get_user_rstats(index,stats[DODX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets round stats of player.

#### get_user_stats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_user_stats
- Line: 42

##### Syntax

```pawn
native get_user_stats(index,stats[DODX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets overall stats which are stored in file on server
and updated on every respawn or user disconnect.
Function returns the position in stats by diff. kills to deaths.

#### get_user_vstats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_user_vstats
- Line: 53

##### Syntax

```pawn
native get_user_vstats(index,victim,stats[DODX_MAX_STATS],bodyhits[MAX_BODYHITS],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have killed/hurt his victim. If victim is 0
then stats are from all victims. If victim has not been hurt, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_wlstats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_user_wlstats
- Line: 37

##### Syntax

```pawn
native get_user_wlstats(index,wpnindex,stats[DODX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets life (from spawn to spawn) stats from given weapon index.

#### get_user_wrstats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_user_wrstats
- Line: 34

##### Syntax

```pawn
native get_user_wrstats(index,wpnindex,stats[DODX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets round stats from given weapon index.

#### get_user_wstats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/get_user_wstats
- Line: 31

##### Syntax

```pawn
native get_user_wstats(index,wpnindex,stats[DODX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets stats from given weapon index. If wpnindex is 0
then the stats are from all weapons. If weapon has not been used function
returns 0 in other case 1. Fields in stats are:
0 - kills
1 - deaths
2 - headshots
3 - teamkilling
4 - shots
5 - hits
6 - damage
7 - score
For body hits fields see amxconst.inc.

#### reset_user_wstats

- Include: `dodstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodstats/function/reset_user_wstats
- Line: 61

##### Syntax

```pawn
native reset_user_wstats(index);
```

##### Description

Resets life, weapon, victims and attackers user stats.

## dodx.inc

- HTML: https://amxx-api.csrevo.com/dodx
- Group: Base includes
- Functions: 38
- Documented constants: 1

### Constants

#### Forward types

Forward types

```pawn
enum {
  XMF_DAMAGE = 0,
  XMF_DEATH,
  XMF_SCORE,
};
```

### Functions

#### client_damage

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/client_damage
- Line: 41

##### Syntax

```pawn
forward client_damage(attacker, victim, damage, wpnindex, hitplace, TA);
```

##### Description

Function is called after player to player attacks ,
if players were damaged by teammate TA is set to 1

#### client_death

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/client_death
- Line: 45

##### Syntax

```pawn
forward client_death(killer, victim, wpnindex, hitplace, TK);
```

##### Description

Function is called after player death ,
if player was killed by teammate TK is set to 1

#### client_score

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/client_score
- Line: 48

##### Syntax

```pawn
forward client_score(id, score, total);
```

##### Description

Function is called if player scored

#### dod_client_changeclass

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_client_changeclass
- Line: 54

##### Syntax

```pawn
forward dod_client_changeclass(id, class, oldclass);
```

##### Description

This Forward is called if a player changes class, but just after spawn

#### dod_client_changeteam

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_client_changeteam
- Line: 51

##### Syntax

```pawn
forward dod_client_changeteam(id, team, oldteam);
```

##### Description

This Forward is called when a player changes team

#### dod_client_objectpickup

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_client_objectpickup
- Line: 85

##### Syntax

```pawn
forward dod_client_objectpickup(id, objid, Float:pos[3], value);
```

##### Description

Forward for when a player picks up a object

#### dod_client_prone

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_client_prone
- Line: 73

##### Syntax

```pawn
forward dod_client_prone(id, value);
```

##### Description

Called whenever the the player goes to or comes from prone position
value = 1 going down
value = 0 getting up

#### dod_client_scope

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_client_scope
- Line: 62

##### Syntax

```pawn
forward dod_client_scope(id, value);
```

##### Description

This will be called whenever a player scopes or unscopes
value = 1 scope up
value = 0 scope down

#### dod_client_spawn

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_client_spawn
- Line: 57

##### Syntax

```pawn
forward dod_client_spawn(id);
```

##### Description

This Forward is called when a player spawns

#### dod_client_stamina

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_client_stamina
- Line: 88

##### Syntax

```pawn
forward dod_client_stamina(id, stamina);
```

##### Description

Forward for when a users stamina decreases

#### dod_client_weaponpickup

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_client_weaponpickup
- Line: 68

##### Syntax

```pawn
forward dod_client_weaponpickup(id, weapon, value);
```

##### Description

This will be called whenever a player drops a weapon
weapon is weapon dropped or picked up
value = 1 picked up
value = 0 dropped

#### dod_client_weaponswitch

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_client_weaponswitch
- Line: 76

##### Syntax

```pawn
forward dod_client_weaponswitch(id, wpnew, wpnold);
```

##### Description

This will be called whenever a player switches a weapon

#### dod_grenade_explosion

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_grenade_explosion
- Line: 79

##### Syntax

```pawn
forward dod_grenade_explosion(id, Float:pos[3], wpnid);
```

##### Description

Forward for when a grenade explodes and its location

#### dod_rocket_explosion

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_rocket_explosion
- Line: 82

##### Syntax

```pawn
forward dod_rocket_explosion(id, Float:pos[3], wpnid);
```

##### Description

Forward for when a rocket explodes and its location

#### custom_weapon_add

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/custom_weapon_add
- Line: 108

##### Syntax

```pawn
native custom_weapon_add( const wpnname[], melee = 0, const logname[]="" );
```

##### Description

function will return index of new weapon

#### custom_weapon_dmg

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/custom_weapon_dmg
- Line: 111

##### Syntax

```pawn
native custom_weapon_dmg( weapon, att, vic, damage, hitplace=0 );
```

##### Description

Function will pass damage done by this custom weapon to stats module and other plugins

#### custom_weapon_shot

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/custom_weapon_shot
- Line: 114

##### Syntax

```pawn
native custom_weapon_shot( weapon, index ); // weapon id , player id
```

##### Description

Function will pass info about custom weapon shot to stats module

#### dod_clear_model

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_clear_model
- Line: 104

##### Syntax

```pawn
native dod_clear_model(id);
```

##### Description

Un-Sets the model for a player

#### dod_get_map_info

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_get_map_info
- Line: 142

##### Syntax

```pawn
native dod_get_map_info( info );
```

##### Description

This function has no description.

#### dod_get_pronestate

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_get_pronestate
- Line: 158

##### Syntax

```pawn
native dod_get_pronestate(index);
```

##### Description

values are: 0-no prone, 1-prone, 2-prone + w_deploy

#### dod_get_team_score

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_get_team_score
- Line: 149

##### Syntax

```pawn
native dod_get_team_score(teamId);
```

##### Description

Returns team score

#### dod_get_user_class

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_get_user_class
- Line: 152

##### Syntax

```pawn
native dod_get_user_class(index);
```

##### Description

Returns player class id

#### dod_get_user_score

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_get_user_score
- Line: 155

##### Syntax

```pawn
native dod_get_user_score(index);
```

##### Description

Returns player score

#### dod_get_user_weapon

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_get_user_weapon
- Line: 146

##### Syntax

```pawn
native dod_get_user_weapon(index,&clip=0,&ammo=0);
```

##### Description

Returns id of currently carried weapon. Gets also
ammount of ammo in clip and backpack.

#### dod_set_body_number

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_set_body_number
- Line: 101

##### Syntax

```pawn
native dod_set_body_number(id, bodynumber);
```

##### Description

Sets the model for a player

#### dod_set_model

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_set_model
- Line: 98

##### Syntax

```pawn
native dod_set_model(id, const model[]);
```

##### Description

Sets the model for a player

#### dod_set_weaponlist

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_set_weaponlist
- Line: 95

##### Syntax

```pawn
native dod_set_weaponlist(id, wpnID, slot, dropslot, totalrds);
```

##### Description

This native will change the position of a weapon within the users slots and its ammo ammount

#### dod_user_kill

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_user_kill
- Line: 161

##### Syntax

```pawn
native dod_user_kill(index);
```

##### Description

It is not as safe as original but player deaths will not be increased

#### dod_weapon_type

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_weapon_type
- Line: 92

##### Syntax

```pawn
native dod_weapon_type(id, type);
```

##### Description

We want to get just the weapon of whichever type that the player is on him
Use DODWT_* in dodconst.inc for type

#### dod_wpnlog_to_id

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_wpnlog_to_id
- Line: 140

##### Syntax

```pawn
native dod_wpnlog_to_id(const logname[]);
```

##### Description

weapon logname to weapon index convertion

#### dod_wpnlog_to_name

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/dod_wpnlog_to_name
- Line: 137

##### Syntax

```pawn
native dod_wpnlog_to_name(const logname[],name[],len);
```

##### Description

weapon logname to weapon name convertion

#### register_statsfwd

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/register_statsfwd
- Line: 37

##### Syntax

```pawn
native register_statsfwd(ftype);
```

##### Description

Use this function to register forwards

#### xmod_get_maxweapons

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/xmod_get_maxweapons
- Line: 126

##### Syntax

```pawn
native xmod_get_maxweapons();
```

##### Description

Returns weapons array size

#### xmod_get_stats_size

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/xmod_get_stats_size
- Line: 129

##### Syntax

```pawn
native xmod_get_stats_size();
```

##### Description

Returns stats array size ex. 8 in TS , 9 in DoD

#### xmod_get_wpnlogname

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/xmod_get_wpnlogname
- Line: 123

##### Syntax

```pawn
native xmod_get_wpnlogname(wpnindex, name[], len);
```

##### Description

Returns weapon logname.

#### xmod_get_wpnname

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/xmod_get_wpnname
- Line: 120

##### Syntax

```pawn
native xmod_get_wpnname(wpnindex, name[], len);
```

##### Description

Returns weapon name.

#### xmod_is_custom_wpn

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/xmod_is_custom_wpn
- Line: 132

##### Syntax

```pawn
native xmod_is_custom_wpn(wpnindex);
```

##### Description

Returns 1 if true

#### xmod_is_melee_wpn

- Include: `dodx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/dodx/function/xmod_is_melee_wpn
- Line: 117

##### Syntax

```pawn
native xmod_is_melee_wpn(wpnindex);
```

##### Description

function will return 1 if true

## easy http / easy_http.inc

- HTML: https://amxx-api.csrevo.com/easy-http/easy_http
- Group: easy http
- Functions: 48
- Documented constants: 4

### Constants

#### EzHttpErrorCode

EzHttpErrorCode

```pawn
enum EzHttpErrorCode {
    EZH_OK = 0,
    EZH_CONNECTION_FAILURE,
    EZH_EMPTY_RESPONSE,
    EZH_HOST_RESOLUTION_FAILURE,
    EZH_INTERNAL_ERROR,
    EZH_INVALID_URL_FORMAT,
    EZH_NETWORK_RECEIVE_ERROR,
    EZH_NETWORK_SEND_FAILURE,
    EZH_OPERATION_TIMEDOUT,
    EZH_PROXY_RESOLUTION_FAILURE,
    EZH_SSL_CONNECT_ERROR,
    EZH_SSL_LOCAL_CERTIFICATE_ERROR,
    EZH_SSL_REMOTE_CERTIFICATE_ERROR,
    EZH_SSL_CACERT_ERROR,
    EZH_GENERIC_SSL_ERROR,
    EZH_UNSUPPORTED_PROTOCOL,
    EZH_REQUEST_CANCELLED,
    EZH_TOO_MANY_REDIRECTS,
    EZH_UNKNOWN_ERROR = 1000,
};
```

#### EzHttpProgress

EzHttpProgress

```pawn
enum EzHttpProgress
{
    EZH_DownloadNow = 0,
    EZH_DownloadTotal,
    EZH_UploadNow,
    EZH_UploadTotal
};
```

#### EzHttpFtpSecurity

EzHttpFtpSecurity

```pawn
enum EzHttpFtpSecurity
{
    EZH_UNSECURE = 0,
    EZH_SECURE_EXPLICIT
};
```

#### EzHttpPluginEndBehaviour

EzHttpPluginEndBehaviour

```pawn
enum EzHttpPluginEndBehaviour
{
    EZH_CANCEL_REQUEST = 0,
    EZH_FORGET_REQUEST,
};
```

### Functions

#### ezhttp_cancel_request

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_cancel_request
- Line: 387

##### Syntax

```pawn
native ezhttp_cancel_request(EzHttpRequest:request_id);
```

##### Description

Cancels a request.

##### Parameters

- `request_id`: Request identifier.

##### Return

This function has no return value.

#### ezhttp_create_options

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_create_options
- Line: 67

##### Syntax

```pawn
native EzHttpOptions:ezhttp_create_options(bool:auto_destroy = true);
```

##### Description

Creates new options object. This object allows you to configure your request by specifying
such parameters as user agent, query parameters, headers, and etc.
Options are reusable request templates. Their values are copied into a request when it is sent.
By default the options handle is destroyed automatically when the last request using it finishes.

##### Parameters

- `auto_destroy`: When true, the handle is released automatically after it becomes idle.
Set to false when you want to keep reusing the same handle across
multiple request lifecycles and destroy it manually later.

##### Return

EzHttpOptions handle.

#### ezhttp_create_queue

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_create_queue
- Line: 269

##### Syntax

```pawn
native EzHttpQueue:ezhttp_create_queue();
```

##### Description

Creates a new HTTP request queue. Requests in the queue are executed sequentially.

##### Return

EzHttpQueue queue handle.

#### ezhttp_delete

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_delete
- Line: 363

##### Syntax

```pawn
native EzHttpRequest:ezhttp_delete(
    const url[] = "",
    const on_complete[] = "",
    EzHttpOptions:options_id = EzHttpOptions:0,
    const data[] = {},
    const data_len = 0
);
```

##### Description

Performs a DELETE request.

##### Parameters

- `url`: URL to send the request to.
- `on_complete`: Function to call when the request is complete.
Signature: public on_complete(EzHttpRequest:request_id)
- `options_id`: Options identifier created via ezhttp_create_options().
- `data`: Data to send with the request.
- `data_len`: Length of the data.

##### Return

Request identifier.

#### ezhttp_destroy_options

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_destroy_options
- Line: 78

##### Syntax

```pawn
native bool:ezhttp_destroy_options(EzHttpOptions:options_id);
```

##### Description

Destroys an options object previously created via ezhttp_create_options().
It is safe to destroy an options object after sending a request because the request keeps its own snapshot.
This is mainly useful when ezhttp_create_options(.auto_destroy = false) was used or when you want eager cleanup.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().

##### Return

True if the options object existed and was destroyed, false otherwise.

#### ezhttp_ftp_download

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_ftp_download
- Line: 642

##### Syntax

```pawn
native EzHttpRequest:ezhttp_ftp_download(
    const user[] = "",
    const password[] = "",
    const host[] = "",
    const remote_file[] = "",
    const local_file[] = "",
    const on_complete[] = "",
    EzHttpFtpSecurity:security = EZH_UNSECURE,
    EzHttpOptions:options_id = EzHttpOptions:0
);
```

##### Description

Downloads a file from a remote server using FTP.

##### Parameters

- `user`: The user name to use for the FTP connection.
- `password`: The password to use for the FTP connection.
- `host`: The host to connect to.
- `remote_file`: The remote file to download.
- `local_file`: The local file to save to. If the remote path uses wildcard matching
or this argument points to a directory, downloaded files keep their remote names.
- `on_complete`: The function to call when the download is complete.
Signature: public on_complete(EzHttpRequest:request_id)
- `security`: Member of EzHttpFtpSecurity. The security strategy use for the FTP connection.
Passing any other value raises a native error.
- `options_id`: The options to use for the request.

##### Return

The request handle.

#### ezhttp_ftp_download2

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_ftp_download2
- Line: 668

##### Syntax

```pawn
native EzHttpRequest:ezhttp_ftp_download2(
    const uri[] = "",
    const local_file[] = "",
    const on_complete[] = "",
    EzHttpFtpSecurity:security = EZH_UNSECURE,
    EzHttpOptions:options_id = EzHttpOptions:0
);
```

##### Description

Downloads a file from a remote server using FTP by URI.

##### Parameters

- `uri`: The URI to download from. Supports wildcard matching in the remote file name,
for example ftp://user:password@127.0.0.1/demos/hltv_demo_*.dem
- `local_file`: The local file to save to. If the URI uses wildcard matching
or this argument points to a directory, downloaded files keep their remote names.
- `on_complete`: The function to call when the download is complete.
Signature: public on_complete(EzHttpRequest:request_id)
- `security`: Member of EzHttpFtpSecurity. The security strategy use for the FTP connection.
Passing any other value raises a native error.
- `options_id`: The options to use for the request.

##### Return

The request handle.

#### ezhttp_ftp_upload

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_ftp_upload
- Line: 593

##### Syntax

```pawn
native EzHttpRequest:ezhttp_ftp_upload(
    const user[] = "",
    const password[] = "",
    const host[] = "",
    const remote_file[] = "",
    const local_file[] = "",
    const on_complete[] = "",
    EzHttpFtpSecurity:security = EZH_UNSECURE,
    EzHttpOptions:options_id = EzHttpOptions:0
);
```

##### Description

Uploads a file to a remote server using FTP.

##### Parameters

- `user`: The user name to use for the FTP connection.
- `password`: The password to use for the FTP connection.
- `host`: The host to connect to.
- `remote_file`: The remote file to upload to.
- `local_file`: The local file to upload.
- `on_complete`: The function to call when the upload is complete.
Signature: public on_complete(EzHttpRequest:request_id)
- `security`: Member of EzHttpFtpSecurity. The security strategy use for the FTP connection.
Passing any other value raises a native error.
- `options_id`: The options to use for the request.

##### Return

The request handle.

#### ezhttp_ftp_upload2

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_ftp_upload2
- Line: 617

##### Syntax

```pawn
native EzHttpRequest:ezhttp_ftp_upload2(
    const uri[] = "",
    const local_file[] = "",
    const on_complete[] = "",
    EzHttpFtpSecurity:security = EZH_UNSECURE,
    EzHttpOptions:options_id = EzHttpOptions:0
);
```

##### Description

Uploads a file to a remote server using FTP by URI.

##### Parameters

- `uri`: The URI to upload to.
- `local_file`: The local file to upload.
- `on_complete`: The function to call when the upload is complete.
Signature: public on_complete(EzHttpRequest:request_id)
- `security`: Member of EzHttpFtpSecurity. The security strategy use for the FTP connection.
Passing any other value raises a native error.
- `options_id`: The options to use for the request.

##### Return

The request handle.

#### ezhttp_get

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get
- Line: 283

##### Syntax

```pawn
native EzHttpRequest:ezhttp_get(
    const url[] = "",
    const on_complete[] = "",
    EzHttpOptions:options_id = EzHttpOptions:0,
    const data[] = {},
    const data_len = 0
);
```

##### Description

Performs a GET request.

##### Parameters

- `url`: URL to send the request to.
- `on_complete`: Function to call when the request is complete.
Signature: public on_complete(EzHttpRequest:request_id)
- `options_id`: Options identifier created via ezhttp_create_options().
- `data`: Data to send with the request.
- `data_len`: Length of the data.

##### Return

Request identifier.

#### ezhttp_get_cookies

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_cookies
- Line: 517

##### Syntax

```pawn
native bool:ezhttp_get_cookies(EzHttpRequest:request_id, const key[], value[], max_len);
```

##### Description

Returns a cookie value by name.

##### Parameters

- `request_id`: The request identifier.
- `key`: The name of the cookie to retrieve.
- `value`: The buffer to store the value.
- `max_len`: The maximum length of the buffer.

##### Return

True if the cookie was found, false otherwise

#### ezhttp_get_cookies_count

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_cookies_count
- Line: 505

##### Syntax

```pawn
native ezhttp_get_cookies_count(EzHttpRequest:request_id);
```

##### Description

Returns the number of cookies in the response.

##### Parameters

- `request_id`: The request identifier.

##### Return

The number of cookies in the response.

#### ezhttp_get_data

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_data
- Line: 423

##### Syntax

```pawn
native ezhttp_get_data(EzHttpRequest:request_id, buffer[], max_len);
```

##### Description

Gets the response data of the request.

##### Parameters

- `request_id`: The request identifier.
- `buffer`: The buffer to store the data in.
- `max_len`: The maximum length of the buffer.

##### Note

This native can only be used in the on_complete callback.

##### Return

This function has no return value.

#### ezhttp_get_downloaded_bytes

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_downloaded_bytes
- Line: 564

##### Syntax

```pawn
native ezhttp_get_downloaded_bytes(EzHttpRequest:request_id);
```

##### Description

Returns the number of bytes downloaded in the request.

##### Parameters

- `request_id`: The request identifier.

##### Return

The number of bytes downloaded in the request.

#### ezhttp_get_elapsed

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_elapsed
- Line: 496

##### Syntax

```pawn
native Float:ezhttp_get_elapsed(EzHttpRequest:request_id);
```

##### Description

Returns the elapsed time of the request in seconds.

##### Parameters

- `request_id`: The request identifier.

##### Return

The elapsed time in seconds.

#### ezhttp_get_error_code

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_error_code
- Line: 526

##### Syntax

```pawn
native EzHttpErrorCode:ezhttp_get_error_code(EzHttpRequest:request_id);
```

##### Description

Returns the error code of the connection failure of the request.

##### Parameters

- `request_id`: The request identifier.

##### Return

The error code of the request.

#### ezhttp_get_error_message

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_error_message
- Line: 537

##### Syntax

```pawn
native ezhttp_get_error_message(EzHttpRequest:request_id, buffer[], max_len);
```

##### Description

Returns the error message of the request.

##### Parameters

- `request_id`: The request identifier.
- `buffer`: The buffer to store the error message.
- `max_len`: The maximum length of the buffer.

##### Return

This function has no return value.

#### ezhttp_get_headers

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_headers
- Line: 487

##### Syntax

```pawn
native bool:ezhttp_get_headers(EzHttpRequest:request_id, const key[], value[], max_len);
```

##### Description

Returns a header value by name.

##### Parameters

- `request_id`: The request identifier.
- `key`: The name of the header to retrieve.
- `value`: The buffer to store the value.
- `max_len`: The maximum length of the buffer.

##### Return

True if the header was found, false otherwise

#### ezhttp_get_headers_count

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_headers_count
- Line: 475

##### Syntax

```pawn
native ezhttp_get_headers_count(EzHttpRequest:request_id);
```

##### Description

Returns the number of headers in the response.

##### Parameters

- `request_id`: The request identifier.

##### Return

The number of headers in the response.

#### ezhttp_get_http_code

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_http_code
- Line: 410

##### Syntax

```pawn
native ezhttp_get_http_code(EzHttpRequest:request_id);
```

##### Description

Gets the HTTP status code of the request.

##### Parameters

- `request_id`: The request identifier.

##### Note

This native can only be used in the on_complete callback.

##### Return

The HTTP status code.

#### ezhttp_get_redirect_count

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_redirect_count
- Line: 546

##### Syntax

```pawn
native ezhttp_get_redirect_count(EzHttpRequest:request_id);
```

##### Description

Returns the number of redirects in the request.

##### Parameters

- `request_id`: The request identifier.

##### Return

The number of redirects in the request.

#### ezhttp_get_uploaded_bytes

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_uploaded_bytes
- Line: 555

##### Syntax

```pawn
native ezhttp_get_uploaded_bytes(EzHttpRequest:request_id);
```

##### Description

Returns the number of bytes uploaded in the request.

##### Parameters

- `request_id`: The request identifier.

##### Return

The number of bytes uploaded in the request.

#### ezhttp_get_url

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_url
- Line: 446

##### Syntax

```pawn
native ezhttp_get_url(EzHttpRequest:request_id, buffer[], max_len);
```

##### Description

Returns the URL of the request.

##### Parameters

- `request_id`: The request identifier.
- `buffer`: The buffer to store the URL.
- `max_len`: The maximum length of the buffer.

##### Return

This function has no return value.

#### ezhttp_get_user_data

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_get_user_data
- Line: 575

##### Syntax

```pawn
native ezhttp_get_user_data(EzHttpRequest:request_id, data[]);
```

##### Description

Returns the custom data associated with the request set by ezhttp_option_set_user_data.
This is the snapshot captured when the request was sent.

##### Parameters

- `request_id`: The request identifier.
- `data`: The buffer to store the user data.

##### Return

This function has no return value.

#### ezhttp_is_request_exists

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_is_request_exists
- Line: 378

##### Syntax

```pawn
native bool:ezhttp_is_request_exists(EzHttpRequest:request_id);
```

##### Description

Checks if a request exists.

##### Parameters

- `request_id`: Request identifier.

##### Return

True if the request exists, false otherwise.

#### ezhttp_option_add_form_payload

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_add_form_payload
- Line: 110

##### Syntax

```pawn
native ezhttp_option_add_form_payload(EzHttpOptions:options_id, const key[], const value[]);
```

##### Description

Adds a key-value pair to the form payload.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `key`: Parameter key.
- `value`: Parameter value.

##### Return

This function has no return value.

#### ezhttp_option_add_url_parameter

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_add_url_parameter
- Line: 99

##### Syntax

```pawn
native ezhttp_option_add_url_parameter(EzHttpOptions:options_id, const key[], const value[]);
```

##### Description

Adds a query parameter to the URL.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `key`: Parameter key.
- `value`: Parameter value.

##### Return

This function has no return value.

#### ezhttp_option_append_body

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_append_body
- Line: 144

##### Syntax

```pawn
native ezhttp_option_append_body(EzHttpOptions:options_id, const body[]);
```

##### Description

Appends a body to the HTTP request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `body`: The body to append.

##### Return

This function has no return value.

#### ezhttp_option_set_auth

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_auth
- Line: 221

##### Syntax

```pawn
native ezhttp_option_set_auth(EzHttpOptions:options_id, const user[], const password[]);
```

##### Description

Sets an authentication for the HTTP request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `user`: The user name for the authentication.
- `password`: The password for the authentication.

##### Return

This function has no return value.

#### ezhttp_option_set_body

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_body
- Line: 120

##### Syntax

```pawn
native ezhttp_option_set_body(EzHttpOptions:options_id, const body[]);
```

##### Description

Sets the request body.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `body`: Request body.

##### Return

This function has no return value.

#### ezhttp_option_set_body_from_json

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_body_from_json
- Line: 134

##### Syntax

```pawn
native bool:ezhttp_option_set_body_from_json(EzHttpOptions:options_id, EzJSON:json, bool:pretty = false);
```

##### Description

Copies serialized string to the requests body.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `json`: EzJSON handle.
- `pretty`: True to format pretty JSON string, false to not.

##### Note

Needs to be freed using ezjson_free() native.

##### Return

True if serialization was successful, false otherwise.

##### Error

If passed handle is not a valid value. If passed options_id is not exists.

#### ezhttp_option_set_connect_timeout

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_connect_timeout
- Line: 189

##### Syntax

```pawn
native ezhttp_option_set_connect_timeout(EzHttpOptions:options_id, timeout_ms);
```

##### Description

Sets a connect timeout for the HTTP request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `timeout_ms`: The timeout to set in milliseconds.

##### Return

This function has no return value.

#### ezhttp_option_set_cookie

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_cookie
- Line: 166

##### Syntax

```pawn
native ezhttp_option_set_cookie(EzHttpOptions:options_id, const key[], const value[]);
```

##### Description

Sets a cookie for the HTTP request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `key`: The key of the cookie.
- `value`: The value of the cookie.

##### Return

This function has no return value.

#### ezhttp_option_set_header

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_header
- Line: 155

##### Syntax

```pawn
native ezhttp_option_set_header(EzHttpOptions:options_id, const key[], const value[]);
```

##### Description

Sets a header for the HTTP request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `key`: The key of the header.
- `value`: The value of the header.

##### Return

This function has no return value.

#### ezhttp_option_set_plugin_end_behaviour

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_plugin_end_behaviour
- Line: 248

##### Syntax

```pawn
native ezhttp_option_set_plugin_end_behaviour(
    EzHttpOptions:options_id,
    EzHttpPluginEndBehaviour:plugin_end_behaviour
);
```

##### Description

Sets a plugin end behaviour for the HTTP request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `plugin_end_behaviour`: Member of EzHttpPluginEndBehaviour. The plugin end behaviour to set.
Valid values are:
* EZH_CANCEL_REQUEST to cancel the request;
* EZH_FORGET_REQUEST to complete the request, but ignore its result
(callback will not be called).
Passing any other value raises a native error.

##### Return

This function has no return value.

#### ezhttp_option_set_proxy

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_proxy
- Line: 199

##### Syntax

```pawn
native ezhttp_option_set_proxy(EzHttpOptions:options_id, const proxy_url[]);
```

##### Description

Sets a proxy for the HTTP request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `proxy_url`: The URL of the proxy.

##### Return

This function has no return value.

#### ezhttp_option_set_proxy_auth

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_proxy_auth
- Line: 210

##### Syntax

```pawn
native ezhttp_option_set_proxy_auth(EzHttpOptions:options_id, const user[], const password[]);
```

##### Description

Sets a proxy authentication for the HTTP request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `user`: The user name for the proxy authentication.
- `password`: The password for the proxy authentication.

##### Return

This function has no return value.

#### ezhttp_option_set_queue

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_queue
- Line: 262

##### Syntax

```pawn
native ezhttp_option_set_queue(EzHttpOptions:options_id, EzHttpQueue:queue_id);
```

##### Description

Sets a queue for the HTTP request.
Queues allow you to run all the requests in the queue sequentially (in the order they were called).

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `queue_id`: The queue to for the request.

##### Return

This function has no return value.

#### ezhttp_option_set_timeout

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_timeout
- Line: 179

##### Syntax

```pawn
native ezhttp_option_set_timeout(EzHttpOptions:options_id, timeout_ms);
```

##### Description

Sets a timeout for the HTTP request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `timeout_ms`: The timeout to set in milliseconds.

##### Note

Specify 0 to disable timeout and make the request wait indefinitely.
Useful for long-polling.

##### Return

This function has no return value.

#### ezhttp_option_set_user_agent

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_user_agent
- Line: 88

##### Syntax

```pawn
native ezhttp_option_set_user_agent(EzHttpOptions:options_id, const user_agent[]);
```

##### Description

Sets user-agent string for a request.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `user_agent`: User-agent string.

##### Return

This function has no return value.

#### ezhttp_option_set_user_data

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_option_set_user_data
- Line: 233

##### Syntax

```pawn
native ezhttp_option_set_user_data(EzHttpOptions:options_id, const data[], len);
```

##### Description

Sets a custom request data for the HTTP request.
The data is copied into the request when it is sent, so reusing or destroying the options later is safe.

##### Parameters

- `options_id`: Options identifier created via ezhttp_create_options().
- `data`: The user data to set.
- `len`: The length of the user data.

##### Return

This function has no return value.

#### ezhttp_parse_json_response

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_parse_json_response
- Line: 435

##### Syntax

```pawn
native EzJSON:ezhttp_parse_json_response(EzHttpRequest:request_id, bool:with_comments = false);
```

##### Description

Parses http response body to JSON.

##### Parameters

- `request_id`: request_id
- `with_comments`: True if parsing JSON includes comments (it will ignore them), false otherwise

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

#### ezhttp_patch

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_patch
- Line: 343

##### Syntax

```pawn
native EzHttpRequest:ezhttp_patch(
    const url[] = "",
    const on_complete[] = "",
    EzHttpOptions:options_id = EzHttpOptions:0,
    const data[] = {},
    const data_len = 0
);
```

##### Description

Performs a PATCH request.

##### Parameters

- `url`: URL to send the request to.
- `on_complete`: Function to call when the request is complete.
Signature: public on_complete(EzHttpRequest:request_id)
- `options_id`: Options identifier created via ezhttp_create_options().
- `data`: Data to send with the request.
- `data_len`: Length of the data.

##### Return

Request identifier.

#### ezhttp_post

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_post
- Line: 303

##### Syntax

```pawn
native EzHttpRequest:ezhttp_post(
    const url[] = "",
    const on_complete[] = "",
    EzHttpOptions:options_id = EzHttpOptions:0,
    const data[] = {},
    const data_len = 0
);
```

##### Description

Performs a POST request.

##### Parameters

- `url`: URL to send the request to.
- `on_complete`: Function to call when the request is complete.
Signature: public on_complete(EzHttpRequest:request_id)
- `options_id`: Options identifier created via ezhttp_create_options().
- `data`: Data to send with the request.
- `data_len`: Length of the data.

##### Return

Request identifier.

#### ezhttp_put

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_put
- Line: 323

##### Syntax

```pawn
native EzHttpRequest:ezhttp_put(
    const url[] = "",
    const on_complete[] = "",
    EzHttpOptions:options_id = EzHttpOptions:0,
    const data[] = {},
    const data_len = 0
);
```

##### Description

Performs a PUT request.

##### Parameters

- `url`: URL to send the request to.
- `on_complete`: Function to call when the request is complete.
Signature: public on_complete(EzHttpRequest:request_id)
- `options_id`: Options identifier created via ezhttp_create_options().
- `data`: Data to send with the request.
- `data_len`: Length of the data.

##### Return

Request identifier.

#### ezhttp_request_progress

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_request_progress
- Line: 399

##### Syntax

```pawn
native ezhttp_request_progress(EzHttpRequest:request_id, progress[EzHttpProgress]);
```

##### Description

Gets the request progress.

##### Parameters

- `request_id`: Request identifier.
- `progress`: Array to store the progress values in.

##### Note

It's not recommended to use this too frequently (every frame)

##### Return

This function has no return value.

#### ezhttp_save_data_to_file

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_save_data_to_file
- Line: 456

##### Syntax

```pawn
native ezhttp_save_data_to_file(EzHttpRequest:request_id, const file_path[]);
```

##### Description

Saves the request data to a file.

##### Parameters

- `request_id`: The request identifier.
- `file_path`: The path to the file to save to. Must be relative to the mod directory.

##### Return

The number of bytes written to the file.

#### ezhttp_save_data_to_file2

- Include: `easy_http.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http/function/ezhttp_save_data_to_file2
- Line: 466

##### Syntax

```pawn
native ezhttp_save_data_to_file2(EzHttpRequest:request_id, file_handle);
```

##### Description

Saves the request data to a file.

##### Parameters

- `request_id`: The request identifier.
- `file_handle`: The file handle to write to. Must be opened via fopen with write permissions.

##### Return

The number of bytes written to the file.

## easy http / easy_http_json.inc

- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json
- Group: easy http
- Functions: 58
- Documented constants: 3

### Constants

#### EzJSONType

JSON types

```pawn
enum EzJSONType
{
	EzJSONError   = -1,
	EzJSONNull    = 1,
	EzJSONString  = 2,
	EzJSONNumber  = 3,
	EzJSONObject  = 4,
	EzJSONArray   = 5,
	EzJSONBoolean = 6
};
```

#### EzJSON

JSON invalid handle

```pawn
enum EzJSON
{
	EzInvalid_JSON = -1
}
```

#### ezjson_is_object

Helper macros for checking type

```pawn
#define ezjson_is_object(%1)   (%1 != EzInvalid_JSON && ezjson_get_type(%1) == EzJSONObject)
#define ezjson_is_array(%1)    (%1 != EzInvalid_JSON && ezjson_get_type(%1) == EzJSONArray)
#define ezjson_is_string(%1)   (%1 != EzInvalid_JSON && ezjson_get_type(%1) == EzJSONString)
#define ezjson_is_number(%1)   (%1 != EzInvalid_JSON && ezjson_get_type(%1) == EzJSONNumber)
#define ezjson_is_bool(%1)     (%1 != EzInvalid_JSON && ezjson_get_type(%1) == EzJSONBoolean)
#define ezjson_is_null(%1)     (%1 != EzInvalid_JSON && ezjson_get_type(%1) == EzJSONNull)
#define ezjson_is_true(%1)     (%1 != EzInvalid_JSON && ezjson_is_bool(%1) && ezjson_get_bool(%1))
#define ezjson_is_false(%1)    (%1 != EzInvalid_JSON && ezjson_is_bool(%1) && !ezjson_get_bool(%1))
```

### Functions

#### ezjson_array_append_bool

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_append_bool
- Line: 441

##### Syntax

```pawn
native bool:ezjson_array_append_bool(EzJSON:array, bool:boolean);
```

##### Description

Appends a boolean value in the array.

##### Parameters

- `array`: Array handle
- `boolean`: Boolean value to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_append_null

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_append_null
- Line: 451

##### Syntax

```pawn
native bool:ezjson_array_append_null(EzJSON:array);
```

##### Description

Appends a null in the array.

##### Parameters

- `array`: Array handle

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_append_number

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_append_number
- Line: 419

##### Syntax

```pawn
native bool:ezjson_array_append_number(EzJSON:array, any:number);
```

##### Description

Appends a number in the array.

##### Parameters

- `array`: Array handle
- `number`: Number to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_append_real

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_append_real
- Line: 430

##### Syntax

```pawn
native bool:ezjson_array_append_real(EzJSON:array, Float:number);
```

##### Description

Appends a real number in the array.

##### Parameters

- `array`: Array handle
- `number`: Real number to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_append_string

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_append_string
- Line: 408

##### Syntax

```pawn
native bool:ezjson_array_append_string(EzJSON:array, const string[]);
```

##### Description

Appends string data in the array.

##### Parameters

- `array`: Array handle
- `string`: String to copy

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_append_value

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_append_value
- Line: 397

##### Syntax

```pawn
native bool:ezjson_array_append_value(EzJSON:array, const EzJSON:value);
```

##### Description

Appends a value in the array.

##### Parameters

- `array`: Array handle
- `value`: EzJSON handle to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_clear

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_clear
- Line: 474

##### Syntax

```pawn
native bool:ezjson_array_clear(EzJSON:array);
```

##### Description

Removes all elements from the array.

##### Parameters

- `array`: Array handle

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_get_bool

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_get_bool
- Line: 305

##### Syntax

```pawn
native bool:ezjson_array_get_bool(const EzJSON:array, index);
```

##### Description

Gets a boolean value from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Return

Boolean value

##### Error

If passed handle is not a valid array

#### ezjson_array_get_count

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_get_count
- Line: 315

##### Syntax

```pawn
native ezjson_array_get_count(const EzJSON:array);
```

##### Description

Gets count of the elements in the array.

##### Parameters

- `array`: Array handle

##### Return

Number of elements in the array

##### Error

If passed handle is not a valid array

#### ezjson_array_get_number

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_get_number
- Line: 283

##### Syntax

```pawn
native ezjson_array_get_number(const EzJSON:array, index);
```

##### Description

Gets a number from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Return

The number as integer

##### Error

If passed handle is not a valid array

#### ezjson_array_get_real

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_get_real
- Line: 294

##### Syntax

```pawn
native Float:ezjson_array_get_real(const EzJSON:array, index);
```

##### Description

Gets a real number from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Return

The number as float

##### Error

If passed handle is not a valid array

#### ezjson_array_get_string

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_get_string
- Line: 272

##### Syntax

```pawn
native ezjson_array_get_string(const EzJSON:array, index, buffer[], maxlen);
```

##### Description

Gets string data from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer

##### Return

The number of cells written to the buffer

##### Error

If passed handle is not a valid array

#### ezjson_array_get_value

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_get_value
- Line: 259

##### Syntax

```pawn
native EzJSON:ezjson_array_get_value(const EzJSON:array, index);
```

##### Description

Gets a value from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

##### Error

If passed handle is not a valid array

#### ezjson_array_remove

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_remove
- Line: 464

##### Syntax

```pawn
native bool:ezjson_array_remove(EzJSON:array, index);
```

##### Description

Removes an element from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Note

Order of values in array may change during execution.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_replace_bool

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_replace_bool
- Line: 375

##### Syntax

```pawn
native bool:ezjson_array_replace_bool(EzJSON:array, index, bool:boolean);
```

##### Description

Replaces an element in the array with boolean value.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `boolean`: Boolean value to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_replace_null

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_replace_null
- Line: 386

##### Syntax

```pawn
native bool:ezjson_array_replace_null(EzJSON:array, index);
```

##### Description

Replaces an element in the array with null.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_replace_number

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_replace_number
- Line: 351

##### Syntax

```pawn
native bool:ezjson_array_replace_number(EzJSON:array, index, any:number);
```

##### Description

Replaces an element in the array with number.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `number`: Number to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_replace_real

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_replace_real
- Line: 363

##### Syntax

```pawn
native bool:ezjson_array_replace_real(EzJSON:array, index, Float:number);
```

##### Description

Replaces an element in the array with real number.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `number`: Real number to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_replace_string

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_replace_string
- Line: 339

##### Syntax

```pawn
native bool:ezjson_array_replace_string(EzJSON:array, index, const string[]);
```

##### Description

Replaces an element in the array with string data.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `string`: String to copy

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_array_replace_value

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_array_replace_value
- Line: 327

##### Syntax

```pawn
native bool:ezjson_array_replace_value(EzJSON:array, index, const EzJSON:value);
```

##### Description

Replaces an element in the array with value.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `value`: EzJSON handle to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### ezjson_deep_copy

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_deep_copy
- Line: 194

##### Syntax

```pawn
native EzJSON:ezjson_deep_copy(const EzJSON:value);
```

##### Description

Creates deep copy of passed value.

##### Parameters

- `value`: EzJSON handle to be copied

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

##### Error

If passed value is not a valid handle

#### ezjson_equals

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_equals
- Line: 67

##### Syntax

```pawn
native bool:ezjson_equals(const EzJSON:value1, const EzJSON:value2);
```

##### Description

Checks if the first value is the same as the second one.

##### Parameters

- `value1`: EzJSON handle
- `value2`: EzJSON handle

##### Return

True if they are the same, false otherwise

##### Error

If passed value is not a valid handle

#### ezjson_free

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_free
- Line: 204

##### Syntax

```pawn
native bool:ezjson_free(&EzJSON:handle);
```

##### Description

Frees handle.

##### Parameters

- `handle`: EzJSON handle to be freed

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid handle

#### ezjson_get_bool

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_get_bool
- Line: 246

##### Syntax

```pawn
native bool:ezjson_get_bool(const EzJSON:value);
```

##### Description

Gets a boolean value.

##### Parameters

- `value`: EzJSON handle

##### Return

Boolean value

##### Error

If passed value is not a valid handle

#### ezjson_get_number

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_get_number
- Line: 226

##### Syntax

```pawn
native ezjson_get_number(const EzJSON:value);
```

##### Description

Gets a number.

##### Parameters

- `value`: EzJSON handle

##### Return

Number

##### Error

If passed value is not a valid handle

#### ezjson_get_parent

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_get_parent
- Line: 101

##### Syntax

```pawn
native EzJSON:ezjson_get_parent(const EzJSON:value);
```

##### Description

Gets value's parent handle.

##### Parameters

- `value`: EzJSON handle

##### Note

Parent's handle needs to be freed using ezjson_free() native.

##### Return

Parent's handle

#### ezjson_get_real

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_get_real
- Line: 236

##### Syntax

```pawn
native Float:ezjson_get_real(const EzJSON:value);
```

##### Description

Gets a real number.

##### Parameters

- `value`: EzJSON handle

##### Return

Real number

##### Error

If passed value is not a valid handle

#### ezjson_get_string

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_get_string
- Line: 216

##### Syntax

```pawn
native ezjson_get_string(const EzJSON:value, buffer[], maxlen);
```

##### Description

Gets string data.

##### Parameters

- `value`: EzJSON handle
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer

##### Return

The number of cells written to the buffer

##### Error

If passed value is not a valid handle

#### ezjson_get_type

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_get_type
- Line: 111

##### Syntax

```pawn
native EzJSONType:ezjson_get_type(const EzJSON:value);
```

##### Description

Gets JSON type of passed value.

##### Parameters

- `value`: EzJSON handle

##### Return

JSON type (EzJSONType constants)

##### Error

If a value handle is invalid

#### ezjson_init_array

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_init_array
- Line: 129

##### Syntax

```pawn
native EzJSON:ezjson_init_array();
```

##### Description

Inits an empty array.

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

#### ezjson_init_bool

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_init_bool
- Line: 173

##### Syntax

```pawn
native EzJSON:ezjson_init_bool(bool:value);
```

##### Description

Inits a boolean value.

##### Parameters

- `value`: Boolean value that the handle will be initialized with

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

#### ezjson_init_null

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_init_null
- Line: 182

##### Syntax

```pawn
native EzJSON:ezjson_init_null();
```

##### Description

Inits a null.

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

#### ezjson_init_number

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_init_number
- Line: 151

##### Syntax

```pawn
native EzJSON:ezjson_init_number(any:value);
```

##### Description

Inits a number.

##### Parameters

- `value`: Integer number that the handle will be initialized with

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

#### ezjson_init_object

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_init_object
- Line: 120

##### Syntax

```pawn
native EzJSON:ezjson_init_object();
```

##### Description

Inits an empty object.

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

#### ezjson_init_real

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_init_real
- Line: 162

##### Syntax

```pawn
native EzJSON:ezjson_init_real(Float:value);
```

##### Description

Inits a real number.

##### Parameters

- `value`: Real number that the handle will be initialized with

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

#### ezjson_init_string

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_init_string
- Line: 140

##### Syntax

```pawn
native EzJSON:ezjson_init_string(const value[]);
```

##### Description

Inits string data.

##### Parameters

- `value`: String that the handle will be initialized with

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

#### ezjson_object_clear

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_clear
- Line: 727

##### Syntax

```pawn
native bool:ezjson_object_clear(EzJSON:object);
```

##### Description

Removes all keys and their values in the object.

##### Parameters

- `object`: Object handle

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### ezjson_object_get_bool

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_get_bool
- Line: 552

##### Syntax

```pawn
native bool:ezjson_object_get_bool(const EzJSON:object, const name[], bool:dot_not = false);
```

##### Description

Gets a boolean value from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

Boolean value

##### Error

If passed handle is not a valid object

#### ezjson_object_get_count

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_get_count
- Line: 562

##### Syntax

```pawn
native ezjson_object_get_count(const EzJSON:object);
```

##### Description

Gets count of the keys in the object.

##### Parameters

- `object`: Object handle

##### Return

Keys count

##### Error

If passed handle is not a valid object

#### ezjson_object_get_name

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_get_name
- Line: 575

##### Syntax

```pawn
native ezjson_object_get_name(const EzJSON:object, index, buffer[], maxlen);
```

##### Description

Gets name of the object's key.

##### Parameters

- `object`: Object handle
- `index`: Position from which get key name
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer

##### Return

The number of cells written to the buffer

##### Error

If passed handle is not a valid object

#### ezjson_object_get_number

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_get_number
- Line: 522

##### Syntax

```pawn
native ezjson_object_get_number(const EzJSON:object, const name[], bool:dot_not = false);
```

##### Description

Gets a number from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

Number

##### Error

If passed handle is not a valid object

#### ezjson_object_get_real

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_get_real
- Line: 537

##### Syntax

```pawn
native Float:ezjson_object_get_real(const EzJSON:object, const name[], bool:dot_not = false);
```

##### Description

Gets a real number from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

Real number

##### Error

If passed handle is not a valid object

#### ezjson_object_get_string

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_get_string
- Line: 507

##### Syntax

```pawn
native ezjson_object_get_string(const EzJSON:object, const name[], buffer[], maxlen, bool:dot_not = false);
```

##### Description

Gets string data from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

The number of cells written to the buffer

##### Error

If passed handle is not a valid object

#### ezjson_object_get_value

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_get_value
- Line: 490

##### Syntax

```pawn
native EzJSON:ezjson_object_get_value(const EzJSON:object, const name[], bool:dot_not = false);
```

##### Description

Gets a value from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

Needs to be freed using ezjson_free() native.

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

##### Error

If passed handle is not a valid object

#### ezjson_object_get_value_at

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_get_value_at
- Line: 588

##### Syntax

```pawn
native EzJSON:ezjson_object_get_value_at(const EzJSON:object, index);
```

##### Description

Gets a value at the specified position from the object.

##### Parameters

- `object`: Object handle
- `index`: Position from which get key name

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

##### Error

If passed handle is not a valid object

#### ezjson_object_has_value

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_has_value
- Line: 601

##### Syntax

```pawn
native bool:ezjson_object_has_value(const EzJSON:object, const name[], EzJSONType:type = EzJSONError, bool:dot_not = false);
```

##### Description

Checks if the object has a value with a specific name and type.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `type`: Type of value, if EzJSONError type will not be checked
- `dot_not`: True to use dot notation, false to not

##### Return

True if has, false if not

##### Error

If passed handle is not a valid object

#### ezjson_object_remove

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_remove
- Line: 717

##### Syntax

```pawn
native bool:ezjson_object_remove(EzJSON:object, const name[], bool:dot_not = false);
```

##### Description

Removes a key and its value in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### ezjson_object_set_bool

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_set_bool
- Line: 686

##### Syntax

```pawn
native bool:ezjson_object_set_bool(EzJSON:object, const name[], bool:boolean, bool:dot_not = false);
```

##### Description

Sets a boolean value in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `boolean`: Boolean value to set
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### ezjson_object_set_null

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_set_null
- Line: 702

##### Syntax

```pawn
native bool:ezjson_object_set_null(EzJSON:object, const name[], bool:dot_not = false);
```

##### Description

Sets a null in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### ezjson_object_set_number

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_set_number
- Line: 652

##### Syntax

```pawn
native bool:ezjson_object_set_number(EzJSON:object, const name[], any:number, bool:dot_not = false);
```

##### Description

Sets a number in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `number`: Number to set
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### ezjson_object_set_real

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_set_real
- Line: 669

##### Syntax

```pawn
native bool:ezjson_object_set_real(EzJSON:object, const name[], Float:number, bool:dot_not = false);
```

##### Description

Sets a real number in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `number`: Real number to set
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### ezjson_object_set_string

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_set_string
- Line: 635

##### Syntax

```pawn
native bool:ezjson_object_set_string(EzJSON:object, const name[], const string[], bool:dot_not = false);
```

##### Description

Sets string data in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `string`: String to copy
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### ezjson_object_set_value

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_object_set_value
- Line: 618

##### Syntax

```pawn
native bool:ezjson_object_set_value(EzJSON:object, const name[], const EzJSON:value, bool:dot_not = false);
```

##### Description

Sets a value in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `value`: EzJSON handle to set
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### ezjson_parse

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_parse
- Line: 56

##### Syntax

```pawn
native EzJSON:ezjson_parse(const string[], bool:is_file = false, bool:with_comments = false);
```

##### Description

Parses JSON string or a file that contains JSON.

##### Parameters

- `string`: String to parse
- `is_file`: True to treat string param as filename, false otherwise
- `with_comments`: True if parsing JSON includes comments (it will ignore them), false otherwise

##### Note

Needs to be freed using ezjson_free() native.

##### Return

EzJSON handle, EzInvalid_JSON if error occurred

#### ezjson_serial_size

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_serial_size
- Line: 739

##### Syntax

```pawn
native ezjson_serial_size(const EzJSON:value, bool:pretty = false, bool:null_byte = false);
```

##### Description

Gets size of serialization.

##### Parameters

- `value`: EzJSON handle
- `pretty`: True to count size for pretty format, false to not
- `null_byte`: True to include null byte, false to not

##### Return

Size of serialized string

##### Error

If passed handle is not a valid value

#### ezjson_serial_to_file

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_serial_to_file
- Line: 764

##### Syntax

```pawn
native bool:ezjson_serial_to_file(const EzJSON:value, const file[], bool:pretty = false);
```

##### Description

Copies serialized string to the file.

##### Parameters

- `value`: EzJSON handle
- `file`: Path to the file
- `pretty`: True to format pretty JSON string, false to not

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid value

#### ezjson_serial_to_string

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_serial_to_string
- Line: 752

##### Syntax

```pawn
native ezjson_serial_to_string(const EzJSON:value, buffer[], maxlen, bool:pretty = false);
```

##### Description

Copies serialized string to the buffer.

##### Parameters

- `value`: EzJSON handle
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer
- `pretty`: True to format pretty JSON string, false to not

##### Return

The number of cells written to the buffer

##### Error

If passed handle is not a valid value

#### ezjson_validate

- Include: `easy_http_json.inc`
- Group: `easy http`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/easy-http/easy_http_json/function/ezjson_validate
- Line: 90

##### Syntax

```pawn
native bool:ezjson_validate(const EzJSON:schema, const EzJSON:value);
```

##### Description

Validates json by checking if object have identically named
fields with matching types.

##### Parameters

- `schema`: EzJSON handle
- `value`: EzJSON handle

##### Note

Schema {"name":"", "age":0} will validate
{"name":"Joe", "age":25} and {"name":"Joe", "age":25, "gender":"m"},
but not {"name":"Joe"} or {"name":"Joe", "age":"Cucumber"}.

##### Note

In case of arrays, only first value in schema
is checked against all values in tested array.

##### Note

Empty objects ({}) validate all objects,
empty arrays ([]) validate all arrays,
null validates values of every type.

##### Return

True if passed value is valid, false otherwise

##### Error

If a schema handle or value handle is invalid

## engine.inc

- HTML: https://amxx-api.csrevo.com/engine
- Group: Base includes
- Functions: 83
- Documented constants: 1

### Constants

#### Forwards

Forwards

### Functions

#### client_PostThink

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/client_PostThink
- Line: 1264

##### Syntax

```pawn
forward client_PostThink(id);
```

##### Description

Called after each client think.

##### Parameters

- `id`: Client index

##### Note

Using his forward can easily become performance-critical. More specific
hooks and forwards should be used whenever possible.

##### Return

This function has no return value.

#### client_PreThink

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/client_PreThink
- Line: 1252

##### Syntax

```pawn
forward client_PreThink(id);
```

##### Description

Called at the start of each client think.

##### Parameters

- `id`: Client index

##### Note

Using his forward can easily become performance-critical. More specific
hooks and forwards should be used whenever possible.

##### Return

This function has no return value.

#### client_cmdStart

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/client_cmdStart
- Line: 1287

##### Syntax

```pawn
forward client_cmdStart(id);
```

##### Description

Called for CmdStart() on a client.

##### Parameters

- `id`: Client index

##### Note

Use [get|set]_usercmd() to read and modify information in the usercmd
struct.

##### Return

PLUGIN_CONTINUE to ignore, PLUGIN_HANDLED or higher to block

#### client_impulse

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/client_impulse
- Line: 1275

##### Syntax

```pawn
forward client_impulse(id, impulse);
```

##### Description

Called when a client triggers an impulse.

##### Parameters

- `id`: Client index
- `impulse`: Impulse triggered by client
- `PLUGIN_CONTINUE`: to ignore, PLUGIN_HANDLED or higher to
nullify impulse (CmdStart() is not blocked)

#### client_kill

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/client_kill
- Line: 1240

##### Syntax

```pawn
forward client_kill(id);
```

##### Description

Called when a client types kill in console.

##### Parameters

- `id`: Client index

##### Return

PLUGIN_CONTINUE to ignore, PLUGIN_HANDLED or higher to block

#### pfn_keyvalue

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/pfn_keyvalue
- Line: 1328

##### Syntax

```pawn
forward pfn_keyvalue(entid);
```

##### Description

Called when a keyvalue pair is sent to an entity.

##### Parameters

- `entid`: Entity index

##### Note

Use copy_keyvalue() to retrieve the keyvalue information, and
DispatchKeyVaue() to modify it.

##### Return

PLUGIN_CONTINUE to ignore, PLUGIN_HANDLED or higher to block

#### pfn_playbackevent

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/pfn_playbackevent
- Line: 1316

##### Syntax

```pawn
forward pfn_playbackevent(flags, entid, eventid, Float:delay, Float:Origin[3], Float:Angles[3], Float:fparam1, Float:fparam2, iparam1, iparam2, bparam1, bparam2);
```

##### Description

Called when an event is played.

##### Parameters

- `flags`: Event flags
- `entid`: Index of entity to invoke event on
- `eventid`: Index of event in the precache table
- `delay`: Time until the event is played
- `Origin`: Origin to play event from
- `Angles`: Angles to play event with
- `fparam1`: Float parameter 1 to pass along into/with the event
- `fparam2`: Float parameter 2 to pass along into/with the event
- `iparam1`: Integer parameter 1 to pass along into/with the event
- `iparam2`: Integer parameter 2 to pass along into/with the event
- `bparam1`: Boolean parameter 1 to pass along into/with the event
- `bparam2`: Boolean parameter 2 to pass along into/with the event

##### Return

PLUGIN_CONTINUE to ignore, PLUGIN_HANDLED or higher to block

#### pfn_spawn

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/pfn_spawn
- Line: 1337

##### Syntax

```pawn
forward pfn_spawn(entid);
```

##### Description

Called when an entity is spawned.

##### Parameters

- `entid`: Entity index

##### Return

PLUGIN_CONTINUE to ignore, PLUGIN_HANDLED or higher to block

#### pfn_think

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/pfn_think
- Line: 1296

##### Syntax

```pawn
forward pfn_think(entid);
```

##### Description

Called when an entity thinks.

##### Parameters

- `entid`: Entity index

##### Return

PLUGIN_CONTINUE to ignore, PLUGIN_HANDLED or higher to block

#### pfn_touch

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/pfn_touch
- Line: 1221

##### Syntax

```pawn
forward pfn_touch(ptr, ptd);
```

##### Description

Called when two entities touch.

##### Parameters

- `ptr`: Index of entity being touched
- `ptd`: Index of entity touching

##### Return

PLUGIN_CONTINUE to ignore, PLUGIN_HANDLED or higher to block

#### server_frame

- Include: `engine.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/engine/function/server_frame
- Line: 1231

##### Syntax

```pawn
forward server_frame();
```

##### Description

Called at the start of every server frame.

##### Note

Using his forward can easily become performance-critical. More specific
hooks and forwards should be used whenever possible.

##### Return

This function has no return value.

#### DispatchKeyValue

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/DispatchKeyValue
- Line: 865

##### Syntax

```pawn
native DispatchKeyValue(...);
```

##### Description

Fires/sets a keyvalue on an entity.

##### Parameters

- `...`: (1) To fire a new keyvalue struct, three parameters should be
provided in the following manner:
DispatchKeyValue(entity, "KeyName", "Value");
The "szClassName" value will automatically use the classname
of the specified entity, "fHandled" will be set to 0.
(2) Inside the pfn_keyvalue() forward this native can be used to
modify the keyvalue struct inline, two parameters should be
provided in the following manner:
DispatchKeyValue("KeyName", "Value");
The "szClassName" or "fHandled" values can not be changed.

##### Return

This function has no return value.

##### Error

For variant (1), if an invalid entity index is provided, an
error will be thrown. For variant (2), if it is used outside of
the pfn_keyvalue() forward, an error will be thrown.

#### DispatchSpawn

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/DispatchSpawn
- Line: 844

##### Syntax

```pawn
native DispatchSpawn(iIndex);
```

##### Description

Calls the spawn function on an entity.

##### Parameters

- `iIndex`: Entity index

##### Return

This function has no return value.

##### Error

If an invalid entity index is provided or, if the index is a
client index, the client is not connected, an error will be
thrown.

#### attach_view

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/attach_view
- Line: 1114

##### Syntax

```pawn
native attach_view(iIndex, iTargetIndex);
```

##### Description

Attaches a clients viewport to an entity.

##### Parameters

- `iIndex`: Client index
- `iTargetIndex`: Index of entity to attach to

##### Note

To reset the clients viewport, call this function with the client index
as the target entity.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error
will be thrown.

#### call_think

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/call_think
- Line: 816

##### Syntax

```pawn
native call_think(entity);
```

##### Description

Calls the DispatchThink() game DLL function on an entity, triggering it to
think if applicable.

##### Parameters

- `entity`: Entity index

##### Note

DispatchThink() checks the entity for the FL_DORMANT flag - if it is
set, the entity will not proceed to think. It will first call the
class-specific think function and eventually CBaseEntity::Think(), thus
triggering other think hooks and forwards.

##### Return

This function has no return value.

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### copy_keyvalue

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/copy_keyvalue
- Line: 897

##### Syntax

```pawn
native copy_keyvalue(szClassName[], sizea, szKeyName[], sizeb, szValue[], sizec);
```

##### Description

Retrieves buffers from the keyvalue structure.

##### Parameters

- `szClassName`: Buffer to copy classname to
- `sizea`: Maximum size of classname buffer
- `szKeyName`: Buffer to copy keyname to
- `sizeb`: Maximum size of keyname buffer
- `szVlaue`: Buffer to copy value to
- `sizec`: Maximum size of value buffer

##### Note

Can only be used inside the pfn_keyvalue() forward.

##### Return

1 on success, 0 if used outside the pfn_keyvalue()
forward

#### create_entity

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/create_entity
- Line: 615

##### Syntax

```pawn
native create_entity(const szClassname[]);
```

##### Description

Creates an entity.

##### Parameters

- `szClassname`: Entity classname

##### Note

When creating an entity the classname has to be valid in the mod, as
the engine needs to link the entity to an existing class internally.
The classname string that is stored in the entvar struct
(EV_SZ_classname) is separate from this association and can later be
freely changed to serve other purposes.

##### Return

Entity index > 0 on success, 0 otherwise

#### drop_to_floor

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/drop_to_floor
- Line: 200

##### Syntax

```pawn
native drop_to_floor(entity);
```

##### Description

Uses the DROP_TO_FLOOR() engine function on an entity, which attempts to put
it down on the floor.

##### Parameters

- `entity`: Entity index

##### Note

This engine function traces 256 units straight downwards from the
entity origin. If the trace hits the floor, the origin is updated to
the end position of the trace, FL_ONGROUND is added to the flags and
EV_ENT_groundentity is updated. When the trace does not hit anything or
the entity would be stuck inside something, the function does nothing
and returns 0.

##### Return

1 if entity is on the floor, 0 otherwise

#### eng_get_string

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/eng_get_string
- Line: 1207

##### Syntax

```pawn
native eng_get_string(_string, _returnString[], _len);
```

##### Description

Retrieves a string from the engine string table.

##### Parameters

- `_string`: String table index
- `_returnString`: Buffer to copy string to
- `_len`: Maximum size of buffer

##### Return

Number of cells written to buffer

#### entity_count

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_count
- Line: 634

##### Syntax

```pawn
native entity_count();
```

##### Description

Returns the current number of entities in the world.

##### Return

Number of entities

#### entity_get_byte

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_get_byte
- Line: 582

##### Syntax

```pawn
native entity_get_byte(iIndex, iKey);
```

##### Description

Returns a bytearray type value from an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to retrieve from

##### Note

For a list of valid bytearray type entries, see the EV_BYTE_* constants
in engine_const.inc

##### Return

Value of specified entry, 0 if an invalid entry was
specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_get_edict

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_get_edict
- Line: 492

##### Syntax

```pawn
native entity_get_edict(iIndex, iKey);
```

##### Description

Returns an edict type value from an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to retrieve from

##### Note

For a list of valid edict type entries, see the EV_ENT_* constants in
engine_const.inc

##### Note

This native returns 0 as an error value if the edict retrieved from the
entvar is an invalid entity. As 0 is an entity index that is
considered to be a valid value for some entvars ("worldspawn"), this
native can potentially return a misleading value. Use
entity_get_edict2() for a safe version.

##### Return

Entity index in specified entry, 0 if the edict in the
entvar is not a valid entity or an invalid entry was
specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_get_edict2

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_get_edict2
- Line: 512

##### Syntax

```pawn
native entity_get_edict2(iIndex, iKey);
```

##### Description

Returns an edict type value from an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to retrieve from

##### Note

For a list of valid edict type entries, see the EV_ENT_* constants in
engine_const.inc

##### Note

This native returns -1 as a safe error value if the edict retrieved
from the entvar is an invalid entity. Otherwise it is identical to
entity_get_edict().

##### Return

Entity index in specified entry, -1 if the edict in the
entvar is not a valid entity or an invalid entry was
specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_get_float

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_get_float
- Line: 419

##### Syntax

```pawn
native Float:entity_get_float(iIndex, iKey);
```

##### Description

Returns a float type value from an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to retrieve from

##### Note

For a list of valid float type entries, see the EV_FL_* constants in
engine_const.inc

##### Return

Value of specified entry, or 0 if an invalid entry was
specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_get_int

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_get_int
- Line: 386

##### Syntax

```pawn
native entity_get_int(iIndex, iKey);
```

##### Description

Returns an integer type value from an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to retrieve from

##### Note

For a list of valid integer type entries, see the EV_INT_* constants in
engine_const.inc

##### Return

Value of specified entry

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_get_string

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_get_string
- Line: 549

##### Syntax

```pawn
native entity_get_string(iIndex, iKey, szReturn[], iRetLen);
```

##### Description

Retrieves a string type value from an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to retrieve from
- `szReturn`: Buffer to copy value to
- `iRetLen`: Maximum size of buffer

##### Note

For a list of valid string type entries, see the EV_SZ_* constants in
engine_const.inc

##### Return

Number of cells written to buffer,  0 if an invalid entry
was specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_get_vector

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_get_vector
- Line: 453

##### Syntax

```pawn
native entity_get_vector(iIndex, iKey, Float:vRetVector[3]);
```

##### Description

Retrieves a vector type value from an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to retrieve from
- `vRetVector`: Array to store vector in

##### Note

For a list of valid vector type entries, see the EV_VEC_* constants in
engine_const.inc

##### Return

1 if value was sucessfully retrieved, 0 if an invalid
entry was specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_intersects

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_intersects
- Line: 371

##### Syntax

```pawn
native bool:entity_intersects(entity, other);
```

##### Description

Returns if two entities bounding boxes intersect by comparing their absolute
minimum and maximum origins.

##### Parameters

- `entity`: Entity index 1
- `other`: Entity index 2

##### Return

True if entities intersect, false otherwise

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_range

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_range
- Line: 358

##### Syntax

```pawn
native Float:entity_range(ida, idb);
```

##### Description

Returns the distance between two entities.

##### Parameters

- `ida`: Entity index 1
- `idb`: Entity index 2

##### Return

Distance between the entities

##### Error

If an invalid entity index is provided or, if either index is a
client index, that client is not connected, an error will be
thrown.

#### entity_set_byte

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_set_byte
- Line: 600

##### Syntax

```pawn
native entity_set_byte(iIndex, iKey, iVal);
```

##### Description

Sets a bytearray type value in an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to write to
- `iVal`: Value to set

##### Note

For a list of valid bytearray type entries, see the EV_BYTE_* constants
in engine_const.inc

##### Note

The value is automatically clamped to [0,255].

##### Return

1 if value was sucessfully set, 0 if an invalid entry was
specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_set_edict

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_set_edict
- Line: 531

##### Syntax

```pawn
native entity_set_edict(iIndex, iKey, iNewIndex);
```

##### Description

Sets an edict type value in an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to write to
- `iNewIndex`: Entity index to set

##### Note

For a list of valid edict type entries, see the EV_ENT_* constants in
engine_const.inc

##### Note

This native will crash the server if an invalid entity index is
provided in iNewIndex.

##### Return

1 if value was sucessfully set, 0 if an invalid entry
was specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_set_float

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_set_float
- Line: 436

##### Syntax

```pawn
native entity_set_float(iIndex, iKey, Float:iVal);
```

##### Description

Sets a float type value in an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to write to
- `iVal`: Value to set

##### Note

For a list of valid float type entries, see the EV_FL_* constants in
engine_const.inc

##### Return

1 if value was sucessfully set, 0 if an invalid entry was
specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_set_int

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_set_int
- Line: 403

##### Syntax

```pawn
native entity_set_int(iIndex, iKey, iVal);
```

##### Description

Sets an integer type value in an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to write to
- `iVal`: Value to set

##### Note

For a list of valid integer type entries, see the EV_INT_* constants in
engine_const.inc

##### Return

1 if value was sucessfully set, 0 if an invalid entry was
specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_set_model

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_set_model
- Line: 775

##### Syntax

```pawn
native entity_set_model(iIndex, const szModel[]);
```

##### Description

Sets the model of an entity.

##### Parameters

- `iIndex`: Entity index
- `szModel`: Model to set

##### Note

This native uses an engine function to set the model, keeping it
properly updated with the game. Simply writing to EV_SZ_model is an
error and will cause problems.

##### Return

This function has no return value.

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_set_origin

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_set_origin
- Line: 759

##### Syntax

```pawn
native entity_set_origin(iIndex, const Float:fNewOrigin[3]);
```

##### Description

Sets the origin of an entity.

##### Parameters

- `iIndex`: Entity index
- `fNewOrigin`: New origin

##### Note

This native uses engine functions to set the origin, keeping it
properly updated with the game. Directly writing to EV_VEC_origin is an
error and will cause problems.

##### Return

This function has no return value.

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_set_size

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_set_size
- Line: 336

##### Syntax

```pawn
native entity_set_size(index, const Float:mins[3], const Float:maxs[3]);
```

##### Description

Sets the size of the entity bounding box, as described by the minimum and
maximum vectors relative to the origin.

##### Parameters

- `index`: Entity index
- `mins`: Vector containing the minimum point relative to the origin
- `maxs`: Vector containing the maximum point relative to the origin

##### Return

This function has no return value.

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_set_string

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_set_string
- Line: 566

##### Syntax

```pawn
native entity_set_string(iIndex, iKey, const szNewVal[]);
```

##### Description

Sets a string type value in an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to retrieve from
- `szNewVal`: String to copy to the entity

##### Note

For a list of valid string type entries, see the EV_SZ_* constants in
engine_const.inc

##### Return

1 if value was sucessfully set, 0 if an invalid entry was
specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### entity_set_vector

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/entity_set_vector
- Line: 470

##### Syntax

```pawn
native entity_set_vector(iIndex, iKey, const Float:vNewVector[3]);
```

##### Description

Sets a vector type value in an entities entvar struct.

##### Parameters

- `iIndex`: Entity index
- `iKey`: Entry to write to
- `vNewVector`: Array to copy to the entity

##### Note

For a list of valid vector type entries, see the EV_VEC_* constants in
engine_const.inc

##### Return

1 if value was sucessfully set, 0 if an invalid entry
was specified

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### fake_touch

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/fake_touch
- Line: 832

##### Syntax

```pawn
native fake_touch(entTouched, entToucher);
```

##### Description

Forces an entity to touch another entity.

##### Parameters

- `entTouched`: Index of entity being touched
- `entToucher`: Index of entity touching

##### Note

This calls the game touch function even when the entities do not
intersect. It doesn't change their origins and/or bounding boxes.

##### Return

This function has no return value.

##### Error

If an invalid entity index is provided or, if the index
is a client index, the client is not connected, an error
will be thrown.

#### find_ent_by_class

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/find_ent_by_class
- Line: 659

##### Syntax

```pawn
native find_ent_by_class(iIndex, const szClass[]);
```

##### Description

Searches entities in the world, starting at a specified index and matching by
classname.

##### Parameters

- `iIndex`: Entity index to start from
- `szClass`: Classname to match

##### Return

Entity index if an entity was found, 0 otherwise

#### find_ent_by_model

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/find_ent_by_model
- Line: 709

##### Syntax

```pawn
native find_ent_by_model(iIndex, const szClass[], const szModel[]);
```

##### Description

Searches entities in the world, starting at a specified index and matching by
classname and model.

##### Parameters

- `iIndex`: Entity index to start from
- `szClass`: Classname to match
- `szModel`: Model to match

##### Return

Entity index if an entity was found, 0 otherwise

#### find_ent_by_owner

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/find_ent_by_owner
- Line: 675

##### Syntax

```pawn
native find_ent_by_owner(iIndex, const szClass[], iOwner, iJghgType = 0);
```

##### Description

Searches entities in the world, starting at a specified index, matching by
owner and a configurable entity field.

##### Parameters

- `iIndex`: Entity index to start from
- `szClass`: String to match
- `iOwner`: Owner entity index to match
- `iJghgType`: Entity field to match string against:
0 - Classname
1 - Target
2 - Targetname

##### Return

Entity index if an entity was found, 0 otherwise

#### find_ent_by_target

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/find_ent_by_target
- Line: 686

##### Syntax

```pawn
native find_ent_by_target(iIndex, const szClass[]);
```

##### Description

Searches entities in the world, starting at a specified index and matching by
target.

##### Parameters

- `iIndex`: Entity index to start from
- `szClass`: Target to match

##### Return

Entity index if an entity was found, 0 otherwise

#### find_ent_by_tname

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/find_ent_by_tname
- Line: 697

##### Syntax

```pawn
native find_ent_by_tname(iIndex, const szClass[]);
```

##### Description

Searches entities in the world, starting at a specified index and matching by
targetname.

##### Parameters

- `iIndex`: Entity index to start from
- `szClass`: Targetname to match

##### Return

Entity index if an entity was found, 0 otherwise

#### find_ent_in_sphere

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/find_ent_in_sphere
- Line: 720

##### Syntax

```pawn
native find_ent_in_sphere(start_from_ent, const Float:origin[3], Float:radius);
```

##### Description

Searches for entities inside a sphere, starting at a specified index.

##### Parameters

- `start_from_ent`: Entity index to start from
- `origin`: Center of sphere
- `radius`: Sphere radius

##### Return

Entity index if an entity was found, 0 otherwise

#### find_sphere_class

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/find_sphere_class
- Line: 743

##### Syntax

```pawn
native find_sphere_class(aroundent, const _lookforclassname[], Float:radius, entlist[], maxents, const Float:origin[3] = {0.0, 0.0, 0.0});
```

##### Description

Searches for entities inside a sphere around a specified entity or origin,
matching by classname.

##### Parameters

- `aroundent`: Entity index to center sphere around, < 1 to use
origin
- `_lookforclassname`: Classname to match
- `radius`: Sphere radius
- `entlist`: Array to store entities in
- `maxents`: Maximum size of array
- `origin`: Center of sphere, used if aroundent < 1

##### Note

This native always starts searching from entity index 0, there is no
way to specify the starting point. If the entlist array is not big
enough to accomodate all entities, the results will be truncated.

##### Return

Number of entities stored in entlist

##### Error

If an invalid entity index is provided or, if
the index is a client index, the client is not
connected, an error will be thrown.

#### force_use

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/force_use
- Line: 234

##### Syntax

```pawn
native force_use(entUsed, entUser);
```

##### Description

Forces an entity (such as a player) to use another entity (such as a button).

##### Parameters

- `entUsed`: Index of entity being used
- `entUser`: Index of entity using

##### Return

This function has no return value.

##### Error

If an invalid entity index is provided or, if either index
is a client index, that client is not connected, an error
will be thrown.

#### get_decal_index

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_decal_index
- Line: 345

##### Syntax

```pawn
native get_decal_index(const szDecalName[]);
```

##### Description

Returns the index of a decal.

##### Parameters

- `szDecalName`: Decal name

##### Return

Decal index >= 0, or -1 if decal was not found

#### get_global_edict

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_global_edict
- Line: 307

##### Syntax

```pawn
native get_global_edict(variable);
```

##### Description

Returns a edict type value from the server globals.

##### Parameters

- `variable`: Entry to retrieve from

##### Note

For a list of valid edict type entries, see the GL_* constants in
engine_const.inc under the "Edict" section.

##### Note

This native returns 0 as an error value if the edict retrieved is an
invalid entity. As 0 is an entity index that is considered to be a
valid value for some globals ("worldspawn"), this native can
potentially return a misleading value. Use get_global_edict2() for a
safe version.

##### Return

Value of specified entry

##### Error

If an invalid entry is provided, an error will be thrown.

#### get_global_edict2

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_global_edict2
- Line: 322

##### Syntax

```pawn
native get_global_edict2(variable);
```

##### Description

Returns a edict type value from the server globals.

##### Parameters

- `variable`: Entry to retrieve from

##### Note

For a list of valid edict type entries, see the GL_* constants in
engine_const.inc under the "Edict" section.

##### Note

This native returns -1 as a safe error value if the edict retrieved is
an invalid entity. Otherwise it is identical to get_global_edict().

##### Return

Value of specified entry

##### Error

If an invalid entry is provided, an error will be thrown.

#### get_global_float

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_global_float
- Line: 247

##### Syntax

```pawn
native Float:get_global_float(variable);
```

##### Description

Returns a float type value from the server globals.

##### Parameters

- `variable`: Entry to retrieve from

##### Note

For a list of valid float type entries, see the GL_* constants in
engine_const.inc under the "Float" section.

##### Return

Value of specified entry

##### Error

If an invalid entry is provided, an error will be thrown.

#### get_global_int

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_global_int
- Line: 260

##### Syntax

```pawn
native get_global_int(variable);
```

##### Description

Returns a integer type value from the server globals.

##### Parameters

- `variable`: Entry to retrieve from

##### Note

For a list of valid integer type entries, see the GL_* constants in
engine_const.inc under the "Int" section.

##### Return

Value of specified entry

##### Error

If an invalid entry is provided, an error will be thrown.

#### get_global_string

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_global_string
- Line: 275

##### Syntax

```pawn
native get_global_string(variable, string[], maxlen);
```

##### Description

Retrieves a global string type value from the server.

##### Parameters

- `variable`: Entry to retrieve from
- `string`: Buffer to copy value to
- `maxlen`: Maximum size of buffer

##### Note

For a list of valid string type entries, see the GL_* constants in
engine_const.inc under the "String" section.

##### Return

Number of cells written to buffer

##### Error

If an invalid entry is provided, an error will be thrown.

#### get_global_vector

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_global_vector
- Line: 289

##### Syntax

```pawn
native get_global_vector(variable, Float:vector[3]);
```

##### Description

Returns a vector type value from the server globals.

##### Parameters

- `variable`: Entry to retrieve from
- `vector`: Array to store vector in

##### Note

For a list of valid vector type entries, see the GL_* constants in
engine_const.inc under the "Vector" section.

##### Return

This function has no return value.

##### Error

If an invalid entry is provided, an error will be thrown.

#### get_grenade_id

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_grenade_id
- Line: 1074

##### Syntax

```pawn
native get_grenade_id(id, model[], len, grenadeid = 0);
```

##### Description

Finds a grenade entity, matching by owner.

##### Parameters

- `id`: Owner entity index to match
- `model`: Buffer to copy grenade model to
- `len`: Maximum length of buffer
- `grenadeid`: Entity index to start searching from

##### Return

Grenade entity index > 0 if found, 0 otherwise

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### get_info_keybuffer

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_info_keybuffer
- Line: 221

##### Syntax

```pawn
native get_info_keybuffer(id, buffer[], length);
```

##### Description

Retrieves keyvalue buffer from a client or the server.

##### Parameters

- `id`: Server/client index
- `buffer`: Buffer to copy keybuffer to
- `length`: Maximum size of buffer

##### Note

There are three different types of keyvalue buffers, depending on the
index passed:
-1 - "local" buffer (various server information and config values)
0 - server buffer (usually contains "*gamedir" only)
>0 - client buffer ("name", "rate" and other client info)

##### Note

The buffer is formatted as "\key1\value1\key2\value2\...\keyN\valueN"

##### Return

Number of cells written to buffer

##### Error

If an invalid entity index is provided or, if the index is a
client index, the client is not connected, an error will be
thrown.

#### get_keyvalue

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_keyvalue
- Line: 880

##### Syntax

```pawn
native get_keyvalue(entity, const szKey[], value[], maxLength);
```

##### Description

Retrieves a value from an entities keyvalues.

##### Parameters

- `entity`: Entity index
- `szKey`: Key to retrieve value of
- `value`: Buffer to copy value to
- `maxLength`: Maximum size of buffer

##### Return

Number of cells written to buffer

##### Error

If an invalid entity index is provided or, if the index
is a client index, the client is not connected, an error
will be thrown.

#### get_speak

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_speak
- Line: 183

##### Syntax

```pawn
native get_speak(iIndex);
```

##### Description

Returns the engine module speak flags currently set on a client.

##### Parameters

- `iIndex`: Client index

##### Note

For a list of available flags see the SPEAK_* constants in
engine_const.inc

##### Return

Client speak flags

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error will be
thrown.

#### get_usercmd

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/get_usercmd
- Line: 1177

##### Syntax

```pawn
native get_usercmd(type, any:...);
```

##### Description

Retrieves a value from a usercmd struct.

##### Parameters

- `type`: Entry to retrieve from
- `...`: Depending on the entry type a different number of
additional parameters should be provided:
int      - Returns the entry integer value directly, no
additional parameters required
float    - Stores the entry float value into the
variable provided as the second parameter
vector   - Copies the entry vector to the Float:array[3]
provided in the second parameter

##### Note

This native can only be used inside the client_cmdStart() forward. If
it is used outside this forward it will not retrieve any results and
always return 0.

##### Note

For a list of valid usercmd entries see the usercmd_* constants in
engine_const.inc

##### Return

Changes depending on the entry type:
int      - Returns the entry integer value
float    - Returns 1
vector   - Returns 1

#### halflife_time

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/halflife_time
- Line: 1085

##### Syntax

```pawn
native Float:halflife_time();
```

##### Description

Returns the game time based on the game tick.

##### Note

This time is counted up from map start. If the engine is not processing
this function will return the same value between calls, which makes it
unusable for profiling purposes.

##### Return

Game time, in seconds

#### is_in_viewcone

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/is_in_viewcone
- Line: 944

##### Syntax

```pawn
native is_in_viewcone(entity, const Float:origin[3], use3d = 0);
```

##### Description

Returns if an origin is in an entities view cone. Derived from SDK.

##### Parameters

- `entity`: Entity index
- `origin`: Origin
- `use3d`: If zero the calculation will ignore the z axis (height), if
nonzero it is done in 3D

##### Note

This uses the entities EV_FL_fov value in the calculations and applies
it on all axes. It might be unreliable depending on the use-case.

##### Return

1 if origin is in view code, 0 otherwise

#### is_valid_ent

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/is_valid_ent
- Line: 648

##### Syntax

```pawn
native is_valid_ent(iIndex);
```

##### Description

Returns if an entity index is valid (as required by other engine natives).

##### Parameters

- `iIndex`: Entity index

##### Note

Engine considers an entity index valid if it is in the range between 1
and the maximum number of entities possible. The index also has to
point to an existing entity or, if it is a client index, the client has
to be connected.

##### Return

1 if entity is valid, 0 otherwise

#### is_visible

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/is_visible
- Line: 963

##### Syntax

```pawn
native is_visible(entity, target);
```

##### Description

Returns if an entity is visible to another entity. Derived from SDK.

##### Parameters

- `entity`: Entity index
- `target`: Target entity index

##### Note

If the target entity has the FL_NOTARGET flag set, this native always
returns 0.

##### Note

This native fires a traceline between the view-offset origins of the
entities. If the traceline is unobstructed it returns true. This is not
a full 3D visibility check.

##### Return

1 if entity is visible, 0 otherwise

##### Error

If an invalid entity index is provided or, if the index is a
client index, the client is not connected, an error will be
thrown.

#### playback_event

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/playback_event
- Line: 1151

##### Syntax

```pawn
native playback_event(flags, invoker, eventindex, Float:delay, const Float:origin[3], const Float:angles[3], Float:fparam1, Float:fparam2, iparam1, iparam2, bparam1, bparam2);
```

##### Description

Plays back an event on the client. Most prominently used for gun firing
animations.

##### Parameters

- `flags`: Event flags
- `invoker`: Index of entity to invoke event on
- `eventindex`: Index of event in the precache table
- `delay`: Time until the event is played
- `origin`: Origin to play event from
- `angles`: Angles to play event with
- `fparam1`: Float parameter 1 to pass along into/with the event
- `fparam2`: Float parameter 2 to pass along into/with the event
- `iparam1`: Integer parameter 1 to pass along into/with the event
- `iparam2`: Integer parameter 2 to pass along into/with the event
- `bparam1`: Boolean parameter 1 to pass along into/with the event
- `bparam2`: Boolean parameter 2 to pass along into/with the event

##### Note

Event indexes can be acquired using precache_event() with the sc dummy
files in the events folder.

##### Return

This function has no return value.

#### point_contents

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/point_contents
- Line: 929

##### Syntax

```pawn
native point_contents(const Float:fCheckAt[3]);
```

##### Description

Returns the contents value of an origin.

##### Parameters

- `fCheckAt`: Origin to retrieve contents of

##### Note

For a list of valid contents values see the CONTENTS_* constants in
hlsdk_const.inc

##### Return

Contents value

#### radius_damage

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/radius_damage
- Line: 917

##### Syntax

```pawn
native radius_damage(const Float:fExplodeAt[3], iDamageMultiplier, iRadiusMultiplier);
```

##### Description

Hurts (and kills, if applicable) players in a sphere.

##### Parameters

- `fExplodeAt`: Center origin of sphere
- `iDamageMultiplier`: Damage multiplier
- `iRadiusMultiplier`: Sphere radius

##### Note

Players that have the DAMAGE_NO flag set in EV_INT_flags will be
ignored.

##### Note

The sphere has four different damage zones. Below is pseudo-code of the
algorithm, indicating how damage will be dealt to players:
if (distance <= 5 * radius) damage(10 + random(1 * dmg_multi))
if (distance <= 4 * radius) damage(25 + random(2 * dmg_multi))
if (distance <= 3 * radius) damage(50 + random(3 * dmg_multi))
if (distance <= 2 * radius) kill()

##### Return

This function has no return value.

#### register_impulse

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/register_impulse
- Line: 75

##### Syntax

```pawn
native register_impulse(impulse, const function[]);
```

##### Description

Registers a function to be called on a client impulse.

##### Parameters

- `impulse`: Impulse to hook
- `function`: Name of callback function

##### Note

The function will be called in the following manner:
public impulse_handler(client, impulse)
client     - Client index
impulse    - Impulse triggered by the client

##### Note

The callback should return PLUGIN_CONTINUE to ignore the impulse,
PLUGIN_HANDLED or higher to nullify it (CmdStart() is not blocked).

##### Note

When returning PLUGIN_HANDLED or higher from the callback, Engine will
still fire other impulse functions. This includes the client_impulse()
and client_cmdStart() forwards.

##### Return

Impulse forward id

#### register_think

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/register_think
- Line: 125

##### Syntax

```pawn
native register_think(const Classname[], const function[]);
```

##### Description

Registers a function to be called on entity think on all entities of a
specified class.

##### Parameters

- `Classname`: Entity classname to hook
- `function`: Name of callback function

##### Note

The function will be called in the following manner:
public think_handler(entity)
entity    - Index of entity thinking

##### Note

The callback should return PLUGIN_CONTINUE to ignore the think,
PLUGIN_HANDLED or higher to block it.

##### Note

When returning PLUGIN_HANDLED from the callback, Engine will still fire
other think functions like the pfn_think() forward before actually
blocking the think. To immediately block return PLUGIN_HANDLED_MAIN
instead.

##### Return

Think forward id

#### register_touch

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/register_touch
- Line: 101

##### Syntax

```pawn
native register_touch(const Touched[], const Toucher[], const function[]);
```

##### Description

Registers a function to be called on a touch action between entities of
specified classes.

##### Parameters

- `Touched`: Entity classname being touched, "*" or "" for any class
- `Toucher`: Entity classname touching, "*" or "" for any class
- `function`: Name of callback function

##### Note

The function will be called in the following manner:
public touch_handler(touched, toucher)
touched    - Index of entity being touched
toucher    - Index of entity touching

##### Note

The callback should return PLUGIN_CONTINUE to ignore the touch,
PLUGIN_HANDLED or higher to block it.

##### Note

When returning PLUGIN_HANDLED from the callback, Engine will still fire
other touch functions like the pfn_touch() forward before actually
blocking the touch. To immediately block return PLUGIN_HANDLED_MAIN
instead.

##### Return

Touch forward id

#### remove_entity

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/remove_entity
- Line: 627

##### Syntax

```pawn
native remove_entity(iIndex);
```

##### Description

Removes an entity from the world.

##### Parameters

- `iIndex`: Entity index

##### Return

1 if entity was sucessfully removed, 0 if an invalid entity
was provided

##### Error

If an entity index in the range of 0 to MaxClients is
provided, an error will be thrown.

#### set_ent_rendering

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/set_ent_rendering
- Line: 799

##### Syntax

```pawn
native set_ent_rendering(index, fx = kRenderFxNone, r = 0, g = 0, b = 0, render = kRenderNormal, amount = 0);
```

##### Description

Sets rendering options of an entity.

##### Parameters

- `index`: Entity index
- `fx`: Rendering effect
- `r`: Red component of rendering color
- `g`: Green component of rendering color
- `b`: Blue component of rendering color
- `render`: Rendering mode
- `amount`: Rendering amount

##### Note

For a list of valid rendering effects see the kRenderFx* constants in
amxconst.inc

##### Note

For a list of valid rendering modes see the kRender* constants in
amxconst.inc

##### Note

Rendering amount has different meanings depending on the rendering
effect and mode used on the entity.

##### Return

This function has no return value.

##### Error

If an invalid entity index is provided, an error will be
thrown.

#### set_lights

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/set_lights
- Line: 1098

##### Syntax

```pawn
native set_lights(const Lighting[]);
```

##### Description

Sets the map lighting level.

##### Parameters

- `Lighting`: Map lighting level (described by a character a-z), #OFF to
reset

##### Note

After setting the map lighting level, the engine module enforces it by
continuously re-applying it until it is reset.

##### Return

This function has no return value.

#### set_speak

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/set_speak
- Line: 168

##### Syntax

```pawn
native set_speak(iIndex, iSpeakFlags);
```

##### Description

Sets the engine module speak flags on a client.

##### Parameters

- `iIndex`: Client index
- `iSpeakFlags`: New flags to set

##### Note

For a list of available flags see the SPEAK_* constants in
engine_const.inc

##### Return

This function has no return value.

##### Error

If the client index is not within the range of 1 to
MaxClients, or the client is not connected, an error
will be thrown.

#### set_usercmd

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/set_usercmd
- Line: 1196

##### Syntax

```pawn
native set_usercmd(type, any:...);
```

##### Description

Sets a value in a usercmd struct.

##### Parameters

- `type`: Entry to write to
- `...`: Depending on the entry type a different additional parameter
should be provided:
int      - Second parameter should be an integer variable
float    - Second parameter should be a float variable
vector   - Second parameter should be a Float:array[3]

##### Note

This native can only be used inside the client_cmdStart() forward.

##### Note

For a list of valid usercmd entries see the usercmd_* constants in
engine_const.inc

##### Note

Changes will be immediately reflected in get_usercmd() for all plugins.

##### Return

This function has no return value.

#### set_view

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/set_view
- Line: 1127

##### Syntax

```pawn
native set_view(iIndex, ViewType);
```

##### Description

Sets the engine module view mode on a client.

##### Parameters

- `iIndex`: Client index
- `ViewType`: View mode

##### Note

For a list of valid view modes see the CAMERA_* constants in
engine_const.inc

##### Note

The engine module uses a custom entity to achieve the camera effects
and requires "models/rpgrocket.mdl" to be precached by the plugin.

#### trace_forward

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/trace_forward
- Line: 1060

##### Syntax

```pawn
native trace_forward(const Float:start[3], const Float:angle[3], Float:give, ignoreEnt, &Float:hitX, &Float:hitY, &Float:shortestDistance, &Float:shortestDistLow, &Float:shortestDistHigh);
```

##### Description

Attempts to describe an obstacle by firing trace lines in a specified
direction, offset on the z-axis around an origin.

##### Parameters

- `start`: Starting origin
- `angle`: Trace line direction
- `give`: Units that a trace line can be longer than the
shortest trace line to still be considered hitting
the same obstacle
- `ignoreEnt`: Entity index that traces will ignore, -1 if traces
should not ignore any entities
- `hitX`: Variable to store X axis value of shortest trace
line endpoint in
- `hitY`: Variable to store Y axis value of shortest trace
line endpoint in
- `shortestDistance`: Variable to store length of shortest trace line in
- `shortestDistLow`: Variable to store Z axis offset of shortest trace
line in
- `shortestDistHigh`: Variable to store Z axis offset of highest trace
line that satisfies "give" condition in

##### Note

The functionality of this native can mostly be replaced by a single
hull trace. This native does not write to the global engine module
trace handle.

##### Note

This native is intended to examine an obstacle in front of a standing
player. Start should usually be the origin of a client while angle
should be its forward angle vector. 73 traces are fired, each offset by
one unit on the z-axis from the last, starting at -36 and moving up to
+36. This is because a standing player model is 72 units high, so 73
units of clearance are required to fit them. The values stored in the
various parameters then attempt to describe the obstacle.

##### Note

To fully understand the nuances of the algorithm it is necessary to
view its source code located in engine.cpp of the engine module.

##### Return

This function has no return value.

#### trace_hull

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/trace_hull
- Line: 1022

##### Syntax

```pawn
native trace_hull(const Float:origin[3], hull, ignoredent = 0, ignoremonsters = 0, const Float:end[3] = NULL_VECTOR);
```

##### Description

Fires a trace hull on a specified origin or between two origins.

##### Parameters

- `origin`: Trace start point (and end point if not specified)
- `hull`: Hull type
- `ignoredent`: Entity index that trace will ignore
- `ignoremonsters`: Entity ignore type
- `end`: Trace end point, pass NULL_VECTOR to use start point

##### Note

This native writes to the global engine module trace handle. Additional
trace results can be retrieved using traceresult().

##### Note

For a list of valid hull types see the HULL_* constants in
hlsdk_const.inc

##### Note

For a list of valid ignore types see the *IGNORE_* constants in
hlsdk_const.inc

##### Return

Custom bitflag sum of relevant trace results
StartSolid (1), AllSolid (2) and InOpen (4)

#### trace_line

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/trace_line
- Line: 984

##### Syntax

```pawn
native trace_line(iIgnoreEnt, const Float:fStart[3], const Float:fEnd[3], Float:vReturn[3]);
```

##### Description

Fires a trace line between two origins, retrieving the end point and entity
hit.

##### Parameters

- `iIgnoreEnt`: Entity index that trace will ignore, -1 if trace should
not ignore any entities
- `fStart`: Trace starting point
- `fEnd`: Trace target point
- `vReturn`: Vector to copy trace end point to

##### Note

This native writes to the global engine module trace handle. Additional
trace results can be retrieved using traceresult().

##### Note

This native returns 0 if the trace did not hit anything. As 0 is an
entity index that is considered to be a valid value for a trace hit
("worldspawn"), this native can potentially return a misleading value.
Check other components of the trace result to verify the entity index.

##### Return

Entity index if trace hit an entity, 0 otherwise

#### trace_normal

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/trace_normal
- Line: 1001

##### Syntax

```pawn
native trace_normal(iIgnoreEnt, const Float:fStart[3], const Float:fEnd[3], Float:vReturn[3]);
```

##### Description

Fires a trace line between two origins, retrieving the trace normal.

##### Parameters

- `iIgnoreEnt`: Entity index that trace will ignore, -1 if trace should
not ignore any entities
- `fStart`: Trace starting point
- `fEnd`: Trace target point
- `vReturn`: Vector to copy trace normal to

##### Note

This native writes to the global engine module trace handle. Additional
trace results can be retrieved using traceresult().

##### Return

1 if a normal is available (trace hit something), 0
otherwise

#### traceresult

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/traceresult
- Line: 52

##### Syntax

```pawn
native traceresult(type, any:...);
```

##### Description

Retrieves a result from the global engine module trace handle.

##### Parameters

- `type`: Result to retrieve
- `...`: Depending on the result type a different number of
additional parameters should be provided:
int      - Returns the result integer value directly, no
additional parameters required
float    - Stores the result float value into the
variable provided as the second parameter
vector   - Copies the result vector to the Float:array[3]
provided in the second parameter

##### Note

For a list of trace results available see the TR_* constants in
engine_const.inc.

##### Note

Usage examples:
value = traceresult(TR_AllSolid);
traceresult(TR_Fraction, floatvalue);
traceresult(TR_EndPos, vector);

##### Return

Changes depending on the result type:
int      - Returns the result integer value
float    - Returns 1
vector   - Returns 1

#### unregister_impulse

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/unregister_impulse
- Line: 134

##### Syntax

```pawn
native unregister_impulse(registerid);
```

##### Description

Removes a previously registered impulse hook.

##### Parameters

- `registerid`: Impulse forward id

##### Return

1 on success, 0 if nothing was removed

#### unregister_think

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/unregister_think
- Line: 152

##### Syntax

```pawn
native unregister_think(registerid);
```

##### Description

Removes a previously registered think hook.

##### Parameters

- `registerid`: Think forward id

##### Return

1 on success, 0 if nothing was removed

#### unregister_touch

- Include: `engine.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/engine/function/unregister_touch
- Line: 143

##### Syntax

```pawn
native unregister_touch(registerid);
```

##### Description

Removes a previously registered touch hook.

##### Parameters

- `registerid`: Touch forward id

##### Return

1 on success, 0 if nothing was removed

## engine_const.inc

- HTML: https://amxx-api.csrevo.com/engine_const
- Group: Base includes
- Functions: 0
- Documented constants: 12

### Constants

#### SPEAK_NORMAL

Flags for the [set|get]_speak() natives.

```pawn
#define SPEAK_NORMAL        0 // Normal behavior, client follows alltalk rules
#define SPEAK_MUTED         1 // Client can not talk
#define SPEAK_ALL           2 // Client can talk to every other client
#define SPEAK_LISTENALL     4 // Client can listen to every other client
```

##### Note

These do not correspond to any HLSDK constants and are only relevant to
the custom functionality provided by the engine module.

#### CAMERA_NONE

View types for the set_view() native.

```pawn
#define CAMERA_NONE         0
#define CAMERA_3RDPERSON    1
#define CAMERA_UPLEFT       2
#define CAMERA_TOPDOWN      3
```

##### Note

These do not correspond to any HLSDK constants and are only relevant to
the custom functionality provided by the engine module.

#### Entvar constants used with entity_[get|set]_* functions.

Entvar constants used with entity_[get|set]_* functions.

#### Integers, use with entity_[get|set]_int()

Integers, use with entity_[get|set]_int()

```pawn
enum {
	EV_INT_gamestate = 0,
	EV_INT_oldbuttons,
	EV_INT_groupinfo,
	EV_INT_iuser1,
	EV_INT_iuser2,
	EV_INT_iuser3,
	EV_INT_iuser4,
	EV_INT_weaponanim,
	EV_INT_pushmsec,
	EV_INT_bInDuck,
	EV_INT_flTimeStepSound,
	EV_INT_flSwimTime,
	EV_INT_flDuckTime,
	EV_INT_iStepLeft,
	EV_INT_movetype,
	EV_INT_solid,
	EV_INT_skin,
	EV_INT_body,
	EV_INT_effects,
	EV_INT_light_level,
	EV_INT_sequence,
	EV_INT_gaitsequence,
	EV_INT_modelindex,
	EV_INT_playerclass,
	EV_INT_waterlevel,
	EV_INT_watertype,
	EV_INT_spawnflags,
	EV_INT_flags,
	EV_INT_colormap,
	EV_INT_team,
	EV_INT_fixangle,
	EV_INT_weapons,
	EV_INT_rendermode,
	EV_INT_renderfx,
	EV_INT_button,
	EV_INT_impulse,
	EV_INT_deadflag,
};
```

#### Floats, use with entity_[get|set]_float()

Floats, use with entity_[get|set]_float()

```pawn
enum {
	EV_FL_impacttime = 0,
	EV_FL_starttime,
	EV_FL_idealpitch,
	EV_FL_pitch_speed,
	EV_FL_ideal_yaw,
	EV_FL_yaw_speed,
	EV_FL_ltime,
	EV_FL_nextthink,
	EV_FL_gravity,
	EV_FL_friction,
	EV_FL_frame,
	EV_FL_animtime,
	EV_FL_framerate,
	EV_FL_health,
	EV_FL_frags,
	EV_FL_takedamage,
	EV_FL_max_health,
	EV_FL_teleport_time,
	EV_FL_armortype,
	EV_FL_armorvalue,
	EV_FL_dmg_take,
	EV_FL_dmg_save,
	EV_FL_dmg,
	EV_FL_dmgtime,
	EV_FL_speed,
	EV_FL_air_finished,
	EV_FL_pain_finished,
	EV_FL_radsuit_finished,
	EV_FL_scale,
	EV_FL_renderamt,
	EV_FL_maxspeed,
	EV_FL_fov,
	EV_FL_flFallVelocity,
	EV_FL_fuser1,
	EV_FL_fuser2,
	EV_FL_fuser3,
	EV_FL_fuser4,
};
```

#### Vectors, use with entity_[get|set]_vector()

Vectors, use with entity_[get|set]_vector()

```pawn
enum {
	EV_VEC_origin = 0,
	EV_VEC_oldorigin,
	EV_VEC_velocity,
	EV_VEC_basevelocity,
	EV_VEC_clbasevelocity,
	EV_VEC_movedir,
	EV_VEC_angles,
	EV_VEC_avelocity,
	EV_VEC_punchangle,
	EV_VEC_v_angle,
	EV_VEC_endpos,
	EV_VEC_startpos,
	EV_VEC_absmin,
	EV_VEC_absmax,
	EV_VEC_mins,
	EV_VEC_maxs,
	EV_VEC_size,
	EV_VEC_rendercolor,
	EV_VEC_view_ofs,
	EV_VEC_vuser1,
	EV_VEC_vuser2,
	EV_VEC_vuser3,
	EV_VEC_vuser4,
};
```

#### Edicts, use with entity_[get|set]_edict()

Edicts, use with entity_[get|set]_edict()

```pawn
enum {
	EV_ENT_chain = 0,
	EV_ENT_dmg_inflictor,
	EV_ENT_enemy,
	EV_ENT_aiment,
	EV_ENT_owner,
	EV_ENT_groundentity,
	EV_ENT_pContainingEntity,
	EV_ENT_euser1,
	EV_ENT_euser2,
	EV_ENT_euser3,
	EV_ENT_euser4,
};
```

#### Strings, use with entity_[get|set]_string()

Strings, use with entity_[get|set]_string()

```pawn
enum {
	EV_SZ_classname = 0,
	EV_SZ_globalname,
	EV_SZ_model,
	EV_SZ_target,
	EV_SZ_targetname,
	EV_SZ_netname,
	EV_SZ_message,
	EV_SZ_noise,
	EV_SZ_noise1,
	EV_SZ_noise2,
	EV_SZ_noise3,
	EV_SZ_viewmodel,
	EV_SZ_weaponmodel,
};
```

#### Bytearrays, use with entity_[get|set]_byte()

Bytearrays, use with entity_[get|set]_byte()

```pawn
enum {
	EV_BYTE_controller1 = 0,
	EV_BYTE_controller2,
	EV_BYTE_controller3,
	EV_BYTE_controller4,
	EV_BYTE_blending1,
	EV_BYTE_blending2,
};
```

#### Used by get_global_[edict/float/int/string/vector]()

Used by get_global_[edict/float/int/string/vector]()

```pawn
enum {

	// Edict
	GL_trace_ent = 0,

	// Float
	GL_coop,
	GL_deathmatch,
	GL_force_retouch,
	GL_found_secrets,
	GL_frametime,
	GL_serverflags,
	GL_teamplay,
	GL_time,
	GL_trace_allsolid,
	GL_trace_fraction,
	GL_trace_inopen,
	GL_trace_inwater,
	GL_trace_plane_dist,
	GL_trace_startsolid,

	// Int
	GL_cdAudioTrack,
	GL_maxClients,
	GL_maxEntities,
	GL_msg_entity,
	GL_trace_flags,
	GL_trace_hitgroup,

	// String
	GL_pStringBase,
	GL_mapname,
	GL_startspot,

	// Vector
	GL_trace_endpos,
	GL_trace_plane_normal,
	GL_v_forward,
	GL_v_right,
	GL_v_up,
	GL_vecLandmarkOffset,

	// Void (not supported)
	GL_pSaveData
};
```

#### Used by [get/set]_usercmd()

Used by [get/set]_usercmd()

```pawn
enum
{
	usercmd_float_start,
	usercmd_forwardmove,       // Float
	usercmd_sidemove,          // Float
	usercmd_upmove,            // Float
	usercmd_float_end,
	usercmd_int_start,
	usercmd_lerp_msec,         // short
	usercmd_msec,              // byte
	usercmd_lightlevel,        // byte
	usercmd_buttons,           // unsigned short
	usercmd_impulse,           // byte
	usercmd_weaponselect,      // byte
	usercmd_impact_index,      // int
	usercmd_int_end,
	usercmd_vec_start,
	usercmd_viewangles,        // Vector
	usercmd_impact_position,   // vec
	usercmd_vec_end
};
```

#### Used by the traceresult()

Used by the traceresult()

```pawn
enum
{
	TR_AllSolid,       // (int) if true, plane is not valid
	TR_StartSolid,     // (int) if true, the initial point was in a solid area
	TR_InOpen,         // (int)
	TR_InWater,        // (int)
	TR_Fraction,       // (float) time completed, 1.0 = didn't hit anything
	TR_EndPos,         // (vector) final position
	TR_PlaneDist,      // (float)
	TR_PlaneNormal,    // (vector) surface normal at impact
	TR_Hit,            // (entity) entity the surface is on
	TR_Hitgroup        // (int) 0 == generic, non zero is specific body part
};
```

## engine_stocks.inc

- HTML: https://amxx-api.csrevo.com/engine_stocks
- Group: Base includes
- Functions: 22
- Documented constants: 0

### Functions

#### IsInWorld

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/IsInWorld
- Line: 225

##### Syntax

```pawn
stock IsInWorld( ent )
```

##### Description

This function has no description.

#### PointContents

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/PointContents
- Line: 213

##### Syntax

```pawn
stock PointContents(const Float:fCheckAt[3])
```

##### Description

Will return the contents of a point (inside map? in sky? outside map? etc.).

#### RadiusDamage

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/RadiusDamage
- Line: 203

##### Syntax

```pawn
stock RadiusDamage(const Float:fExplodeAt[3], iDamageMultiplier, iRadiusMultiplier)
```

##### Description

Hurts/Kills players in a sphere, like an explosion, Multiplier determines damage.

#### VelocityByAim

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/VelocityByAim
- Line: 208

##### Syntax

```pawn
stock VelocityByAim(iIndex,iVelocity, Float:vRetValue[3])
```

##### Description

Gives you a velocity in the direction a player is looking, iVelocity is the multiplier.

#### ViewContents

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/ViewContents
- Line: 125

##### Syntax

```pawn
stock ViewContents(id)
```

##### Description

Get the contents of the point a user is aiming at

#### fakedamage

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/fakedamage
- Line: 28

##### Syntax

```pawn
stock fakedamage(idvictim,const szClassname[],Float:takedmgdamage,damagetype)
```

##### Description

This function has no description.

#### find_ent

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/find_ent
- Line: 52

##### Syntax

```pawn
stock find_ent(iStart, const szClassname[])
```

##### Description

This function has no description.

#### get_brush_entity_origin

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/get_brush_entity_origin
- Line: 96

##### Syntax

```pawn
stock get_brush_entity_origin(ent, Float:orig[3])
```

##### Description

Get origin of a brush entity

#### get_entity_distance

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/get_entity_distance
- Line: 75

##### Syntax

```pawn
stock get_entity_distance(ent1, ent2)
```

##### Description

Get the distance between two entities

#### get_entity_flags

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/get_entity_flags
- Line: 69

##### Syntax

```pawn
stock get_entity_flags(ent)
```

##### Description

Get flags an entity is flagged with

#### get_entity_visibility

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/get_entity_visibility
- Line: 186

##### Syntax

```pawn
stock get_entity_visibility(entity)
```

##### Description

Returns 1 if entity is visible.

#### get_grenade

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/get_grenade
- Line: 81

##### Syntax

```pawn
stock get_grenade(id)
```

##### Description

Get grenade thrown by this user

#### get_speed

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/get_speed
- Line: 136

##### Syntax

```pawn
stock get_speed(ent)
```

##### Description

This function has no description.

#### get_user_button

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/get_user_button
- Line: 58

##### Syntax

```pawn
stock get_user_button(id)
```

##### Description

Get the Button(s) user is pressing

#### get_user_oldbutton

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/get_user_oldbutton
- Line: 63

##### Syntax

```pawn
stock get_user_oldbutton(id)
```

##### Description

This function has no description.

#### get_user_velocity

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/get_user_velocity
- Line: 196

##### Syntax

```pawn
stock get_user_velocity(entity, Float:vec[3])
```

##### Description

This function has no description.

#### remove_entity_name

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/remove_entity_name
- Line: 112

##### Syntax

```pawn
stock remove_entity_name(const eName[])
```

##### Description

Remove entity by name

#### set_entity_flags

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/set_entity_flags
- Line: 160

##### Syntax

```pawn
stock set_entity_flags(ent,flag,onoff)
```

##### Description

Set flags on an entity

#### set_entity_visibility

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/set_entity_visibility
- Line: 178

##### Syntax

```pawn
stock set_entity_visibility(entity, visible = 1)
```

##### Description

If visible = 1, entity will be set to be visible, else invisible.

#### set_rendering

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/set_rendering
- Line: 145

##### Syntax

```pawn
stock set_rendering(index, fx=kRenderFxNone, r=255, g=255, b=255, render=kRenderNormal, amount=16)
```

##### Description

Set rendering of an entity

#### set_size

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/set_size
- Line: 218

##### Syntax

```pawn
stock set_size(index, const Float:mins[3], const Float:maxs[3])
```

##### Description

This function has no description.

#### set_user_velocity

- Include: `engine_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/engine_stocks/function/set_user_velocity
- Line: 191

##### Syntax

```pawn
stock set_user_velocity(entity, const Float:vec[3])
```

##### Description

This function has no description.

## esf.inc

- HTML: https://amxx-api.csrevo.com/esf
- Group: Base includes
- Functions: 40
- Documented constants: 1

### Constants

#### __EVOLUTION_CORE__

__EVOLUTION_CORE__

```pawn
#define __EVOLUTION_CORE__
```

### Functions

#### getClientACPL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientACPL
- Line: 21

##### Syntax

```pawn
native getClientACPL 			( Client );
```

##### Description

This function has no description.

#### getClientADPL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientADPL
- Line: 23

##### Syntax

```pawn
native getClientADPL 			( Client );
```

##### Description

This function has no description.

#### getClientATKCHARGE

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientATKCHARGE
- Line: 61

##### Syntax

```pawn
native getClientATKCHARGE 		( Client );
```

##### Description

This function has no description.

#### getClientATKSHOOT

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientATKSHOOT
- Line: 60

##### Syntax

```pawn
native getClientATKSHOOT 		( Client );
```

##### Description

This function has no description.

#### getClientBEAMJUMP

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientBEAMJUMP
- Line: 67

##### Syntax

```pawn
native getClientBEAMJUMP		( Client );
```

##### Description

This function has no description.

#### getClientBLOCK

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientBLOCK
- Line: 54

##### Syntax

```pawn
native getClientBLOCK 			( Client );
```

##### Description

This function has no description.

#### getClientFLY

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientFLY
- Line: 49

##### Syntax

```pawn
native getClientFLY 			( Client );
```

##### Description

This function has no description.

#### getClientFROZEN

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientFROZEN
- Line: 44

##### Syntax

```pawn
native getClientFROZEN 			( Client );
```

##### Description

This function has no description.

#### getClientGOD

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientGOD
- Line: 47

##### Syntax

```pawn
native getClientGOD 			( Client );
```

##### Description

This function has no description.

#### getClientHP

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientHP
- Line: 31

##### Syntax

```pawn
native getClientHP 				( Client );
```

##### Description

This function has no description.

#### getClientINFREEFALL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientINFREEFALL
- Line: 66

##### Syntax

```pawn
native getClientINFREEFALL		( Client );
```

##### Description

This function has no description.

#### getClientKI

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientKI
- Line: 28

##### Syntax

```pawn
native getClientKI 				( Client );
```

##### Description

This function has no description.

#### getClientMELEE

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientMELEE
- Line: 62

##### Syntax

```pawn
native getClientMELEE 			( Client );
```

##### Description

This function has no description.

#### getClientMHP

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientMHP
- Line: 33

##### Syntax

```pawn
native getClientMHP 			( Client );
```

##### Description

This function has no description.

#### getClientPL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientPL
- Line: 19

##### Syntax

```pawn
native getClientPL 				( Client );
```

##### Description

This function has no description.

#### getClientPOWERUP

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientPOWERUP
- Line: 57

##### Syntax

```pawn
native getClientPOWERUP 		( Client );
```

##### Description

This function has no description.

#### getClientPROTECT

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientPROTECT
- Line: 41

##### Syntax

```pawn
native getClientPROTECT 		( Client );
```

##### Description

This function has no description.

#### getClientSPEED

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientSPEED
- Line: 36

##### Syntax

```pawn
native getClientSPEED 			( Client );
```

##### Description

This function has no description.

#### getClientSWOOPING

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientSWOOPING
- Line: 59

##### Syntax

```pawn
native getClientSWOOPING 		( Client );
```

##### Description

This function has no description.

#### getClientSWOOPSPEED

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientSWOOPSPEED
- Line: 38

##### Syntax

```pawn
native getClientSWOOPSPEED 		( Client );
```

##### Description

This function has no description.

#### getClientTHROW

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientTHROW
- Line: 64

##### Syntax

```pawn
native getClientTHROW	 		( Client );
```

##### Description

This function has no description.

#### getClientTHROWAWAY

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientTHROWAWAY
- Line: 63

##### Syntax

```pawn
native getClientTHROWAWAY 		( Client );
```

##### Description

This function has no description.

#### getClientTURBO

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientTURBO
- Line: 52

##### Syntax

```pawn
native getClientTURBO 			( Client );
```

##### Description

This function has no description.

#### getClientWALLGND

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/getClientWALLGND
- Line: 65

##### Syntax

```pawn
native getClientWALLGND			( Client );
```

##### Description

This function has no description.

#### setClientACPL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientACPL
- Line: 20

##### Syntax

```pawn
native setClientACPL 			( Client, ActualPowerLevel );
```

##### Description

This function has no description.

#### setClientADPL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientADPL
- Line: 22

##### Syntax

```pawn
native setClientADPL 			( Client, AfterDeathPowerLevel );
```

##### Description

This function has no description.

#### setClientFROZEN

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientFROZEN
- Line: 43

##### Syntax

```pawn
native setClientFROZEN 			( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientGOD

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientGOD
- Line: 46

##### Syntax

```pawn
native setClientGOD 			( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientHP

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientHP
- Line: 30

##### Syntax

```pawn
native setClientHP 				( Client, Health );
```

##### Description

This function has no description.

#### setClientHiddenPOWERUP

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientHiddenPOWERUP
- Line: 56

##### Syntax

```pawn
native setClientHiddenPOWERUP 	( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientHiddenTURBO

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientHiddenTURBO
- Line: 51

##### Syntax

```pawn
native setClientHiddenTURBO 	( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientKI

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientKI
- Line: 27

##### Syntax

```pawn
native setClientKI 				( Client, Ki );
```

##### Description

This function has no description.

#### setClientMHP

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientMHP
- Line: 32

##### Syntax

```pawn
native setClientMHP	 			( Client, MaximumHealth );
```

##### Description

This function has no description.

#### setClientPL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientPL
- Line: 18

##### Syntax

```pawn
native setClientPL 				( Client, PowerLevel );
```

##### Description

This function has no description.

#### setClientPLtoADPL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientPLtoADPL
- Line: 25

##### Syntax

```pawn
native setClientPLtoADPL 		( Client );
```

##### Description

This function has no description.

#### setClientPROTECT

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientPROTECT
- Line: 40

##### Syntax

```pawn
native setClientPROTECT 		( Client, bool:Enable = true );
```

##### Description

This function has no description.

#### setClientSPEED

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientSPEED
- Line: 35

##### Syntax

```pawn
native setClientSPEED 			( Client, Speed );
```

##### Description

This function has no description.

#### setClientSPL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientSPL
- Line: 24

##### Syntax

```pawn
native setClientSPL 			( Client, PowerLevel );
```

##### Description

This function has no description.

#### setClientSWOOPSPEED

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/setClientSWOOPSPEED
- Line: 37

##### Syntax

```pawn
native setClientSWOOPSPEED 		( Client, SwoopSpeed );
```

##### Description

This function has no description.

#### silentClientKILL

- Include: `esf.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/esf/function/silentClientKILL
- Line: 70

##### Syntax

```pawn
native silentClientKILL			( Client );
```

##### Description

This function has no description.

## esf_const.inc

- HTML: https://amxx-api.csrevo.com/esf_const
- Group: Base includes
- Functions: 0
- Documented constants: 9

### Constants

#### Enum starting with Character_Buu

Enum starting with Character_Buu

```pawn
enum
{
	Character_Buu = 1,
	Character_Goku = 2,
	Character_Gohan = 3,	//my favorite :)
	Character_Krillin = 4,
	Character_Frieza = 5,
	Character_Piccolo = 6,
	Character_Trunks = 7,
	Character_Vegeta = 8,
	Character_Cell = 9,
};
```

#### Enum starting with Explosion_Blue

Enum starting with Explosion_Blue

```pawn
enum
{
	Explosion_Blue = 0,
	Explosion_Green,
	Explosion_Orange,
	Explosion_Purple,
	Explosion_Yellow,
	Explosion_Red,
	Explosion_White,
	Explosions_Total,
};
```

#### Enum starting with Attack_Kamehameha

Enum starting with Attack_Kamehameha

```pawn
enum
{
	Attack_Kamehameha=1,
	Attack_SpiritBomb,
	Attack_GalletGun,
	Attack_FinalFlash,
	Attack_Renzoku,
	Attack_Kametorpedo,
	Attack_GenericBeam,
	Attack_Throw,
};
```

#### Enum starting with Direction_Left

Enum starting with Direction_Left

```pawn
enum
{
	Direction_Left=1,
	Direction_Right,
	Direction_Up,
	Direction_Down,
	Direction_Forward,
	Direction_Backward,
};
```

#### Enum starting with Recovery_Kicked

Enum starting with Recovery_Kicked

```pawn
enum
{
	Recovery_Kicked=1,
	Recovery_Tumbled,
	Recovery_Lying,
	Recovery_Thrown,
};
```

#### ESF_CHARGING

ESF_CHARGING

```pawn
#define ESF_CHARGING		1
```

#### ESF_CONTROLLING

ESF_CONTROLLING

```pawn
#define ESF_CONTROLLING		2
```

#### ESF_SHOOTING

ESF_SHOOTING

```pawn
#define ESF_SHOOTING		3
```

#### ESF_SHOT

ESF_SHOT

```pawn
#define ESF_SHOT			4
```

## fakemeta.inc

- HTML: https://amxx-api.csrevo.com/fakemeta
- Group: Base includes
- Functions: 75
- Documented constants: 1

### Constants

#### Enum starting with Model_DefaultSize

Enum starting with Model_DefaultSize

```pawn
enum
{
	Model_DefaultSize     = -2,
	Model_CurrentSequence = -1,
};
```

### Functions

#### GetModelBoundingBox

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/GetModelBoundingBox
- Line: 1127

##### Syntax

```pawn
native GetModelBoundingBox(entity, Float:mins[3], Float:maxs[3], sequence = Model_DefaultSize);
```

##### Description

Gets size of a model bounding box.

##### Parameters

- `entity`: The entity index to use.
- `mins`: The local negative bounding box distance.
- `maxs`: The local positive bounding box distance.
- `sequence`: The animation sequence to retrieve.
Model_DefaultSize retrieves ideal moevement hull size.
Model_CurrentSequence retrieves hull size of the current sequence.
Values >= 0 will specify which sequence to retrieve size from.

##### Return

1 on success, 0 on faillure.

##### Error

Invalid entity.
Invalid model pointer.

#### copy_infokey_buffer

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/copy_infokey_buffer
- Line: 535

##### Syntax

```pawn
native copy_infokey_buffer(infoBuffer, out[], maxlen);
```

##### Description

This function has no description.

#### create_kvd

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/create_kvd
- Line: 483

##### Syntax

```pawn
native create_kvd();
```

##### Description

Creates a KeyValueData handle.

##### Note

Handles should be freed using free_kvd().

##### Return

New KeyValueData handle

#### create_tr2

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/create_tr2
- Line: 455

##### Syntax

```pawn
native create_tr2();
```

##### Description

Creates a traceresult handle.  This value should never be altered.
The handle can be used in get/set_tr2 and various traceresult engine functions.

NOTE: You must call free_tr2() on every handle made with create_tr2().

##### Return

A new TraceResult handle.

#### dllfunc

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/dllfunc
- Line: 433

##### Syntax

```pawn
native dllfunc(type,any:...);
```

##### Description

This function has no description.

#### engfunc

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/engfunc
- Line: 432

##### Syntax

```pawn
native engfunc(type,any:...);
```

##### Description

This function has no description.

#### find_ent_data_info

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/find_ent_data_info
- Line: 836

##### Syntax

```pawn
native find_ent_data_info(const class[], const member[], &FieldType:type = FIELD_NONE, &arraysize = 0, &bool:unsigned = false);
```

##### Description

Finds a offset based off an entity class and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `type`: Optional variable to store member type in (FIELD_* constants)
- `arraysize`: Optional variable to store array size in, if member is an array
- `unsigned`: Optional variable to store whether member is unsigned (short and char types only)

##### Return

Class member offset

##### Error

If either class or member is empty, no offset is found or an invalid
offset is retrieved, an error will be thrown.

#### find_gamerules_info

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/find_gamerules_info
- Line: 1041

##### Syntax

```pawn
native find_gamerules_info(const class[], const member[], &FieldType:type = FIELD_NONE, &arraysize = 0, &bool:unsigned = false);
```

##### Description

Finds a gamerules offset based off a class and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `type`: Optional variable to store member type in (FIELD_* constants)
- `arraysize`: Optional variable to store array size in, if member is an array
- `unsigned`: Optional variable to store whether member is unsigned (short and char types only)

##### Return

Class member offset

##### Error

If either class or member is empty, no offset is found or an invalid
offset is retrieved, an error will be thrown.

#### forward_return

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/forward_return
- Line: 421

##### Syntax

```pawn
native forward_return(type,any:...);
```

##### Description

Returns data for metamod

#### free_kvd

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/free_kvd
- Line: 492

##### Syntax

```pawn
native free_kvd(kvd_handle);
```

##### Description

Frees a KeyValueData handle.

##### Parameters

- `kvd_handle`: KeyValueData handle

##### Return

This function has no return value.

#### free_tr2

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/free_tr2
- Line: 465

##### Syntax

```pawn
native free_tr2(tr_handle);
```

##### Description

Frees a traceresult handle created with free_tr2().  Do not call
this more than once per handle, or on handles not created through
create_tr2().

##### Parameters

- `tr_handle`: TraceResult handle created via create_tr2().

##### Return

This function has no return value.

#### get_cd

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_cd
- Line: 498

##### Syntax

```pawn
native get_cd(cd_handle, ClientData:member, any:...);
```

##### Description

This function has no description.

#### get_ent_data

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_ent_data
- Line: 585

##### Syntax

```pawn
native any:get_ent_data(entity, const class[], const member[], element = 0);
```

##### Description

Retrieves an integer value from an entity's private data based off a class
and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `element`: Element to retrieve (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Note

This native is used to access the following (C++/engine) data types:
integer, boolean, short, character, pointer, structure, class,
stringint and function. Unsigned variants (if applicable) are supported
and will be converted automatically.

##### Return

Integer value

##### Error

If an invalid entity is provided, either class or member is
empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### get_ent_data_entity

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_ent_data_entity
- Line: 731

##### Syntax

```pawn
native get_ent_data_entity(entity, const class[], const member[], element = 0);
```

##### Description

Retrieves an entity index from an entity's private data based off a class
and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `element`: Element to retrieve (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Note

This native is used to access the following (C++/engine) data types:
classptr, entvars, edict and ehandle.

##### Return

Entity index if found, -1 otherwise

##### Error

If an invalid entity is provided, either class or member is
empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### get_ent_data_float

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_ent_data_float
- Line: 636

##### Syntax

```pawn
native Float:get_ent_data_float(entity, const class[], const member[], element = 0);
```

##### Description

Retrieves a float value from an entity's private data based off a class
and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `element`: Element to retrieve (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Return

Float value

##### Error

If an invalid entity is provided, either class or member is
empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### get_ent_data_size

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_ent_data_size
- Line: 821

##### Syntax

```pawn
native get_ent_data_size(const class[], const member[]);
```

##### Description

Retrieves the size of array of n entity class member.

##### Parameters

- `class`: Class name
- `member`: Member name

##### Return

Size of array (in elements), otherwise 1 if member is not an array

##### Error

If either class or member is empty, no offset is found or an invalid
offset is retrieved, an error will be thrown.

#### get_ent_data_string

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_ent_data_string
- Line: 784

##### Syntax

```pawn
native get_ent_data_string(entity, const class[], const member[], value[], maxlen, element = 0);
```

##### Description

Retrieves a string from an entity's private data based off a class and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `value`: Buffer to store data in
- `maxlen`: Maximum size of the buffer
- `element`: Element to retrieve (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Note

This native is used to access the following (C++/engine) data types:
string, stringptr.

##### Return

Number of cells written to buffer

##### Error

If an invalid entity is provided, either class or member is
empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### get_ent_data_vector

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_ent_data_vector
- Line: 683

##### Syntax

```pawn
native get_ent_data_vector(entity, const class[], const member[], Float:value[3], element = 0);
```

##### Description

Retrieves a vector from an entity's private data based off a class and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `value`: Vector buffer to store data in
- `element`: Element to retrieve (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Return

This function has no return value.

##### Error

If an invalid entity is provided, either class or member is
empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### get_es

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_es
- Line: 505

##### Syntax

```pawn
native get_es(es_handle, EntityState:member, any:...);
```

##### Description

This function has no description.

#### get_gamerules_entity

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_gamerules_entity
- Line: 957

##### Syntax

```pawn
native get_gamerules_entity(const class[], const member[], element = 0);
```

##### Description

Retrieves an entity index from the gamerules object based off a class
and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `element`: Element to retrieve (starting from 0) if member is an array

##### Note

This native is used to access the following (C++/engine) data types:
classptr, entvars, edict and ehandle.

##### Return

Entity index if found, -1 otherwise

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### get_gamerules_float

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_gamerules_float
- Line: 893

##### Syntax

```pawn
native Float:get_gamerules_float(const class[], const member[], element = 0);
```

##### Description

Retrieves a float value from the gamerules object based off a class
and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `element`: Element to retrieve (starting from 0) if member is an array

##### Return

Float value

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### get_gamerules_int

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_gamerules_int
- Line: 857

##### Syntax

```pawn
native any:get_gamerules_int(const class[], const member[], element = 0);
```

##### Description

Retrieves an integer value from the gamerules object based off a class
and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `element`: Element to retrieve (starting from 0) if member is an array

##### Note

This native is used to access the following (C++/engine) data types:
integer, boolean, short, character, pointer, structure, class,
stringint and function. Unsigned variants (if applicable) are supported
and will be converted automatically.

##### Return

Integer value

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### get_gamerules_size

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_gamerules_size
- Line: 1026

##### Syntax

```pawn
native get_gamerules_size(const class[], const member[]);
```

##### Description

Retrieves the size of array of a gamerules class member.

##### Parameters

- `class`: Class name
- `member`: Member name

##### Return

Size of array (in elements), otherwise 1 if member is not an array

##### Error

If either class or member is empty, no offset is found or an invalid
offset is retrieved, an error will be thrown.

#### get_gamerules_string

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_gamerules_string
- Line: 996

##### Syntax

```pawn
native get_gamerules_string(const class[], const member[], value[], maxlen, element = 0);
```

##### Description

Retrieves a string from the gamerules object based off a class and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `value`: Buffer to store data in
- `maxlen`: Maximum size of the buffer
- `element`: Element to retrieve (starting from 0) if member is an array

##### Note

This native is used to access the following (C++/engine) data types:
string, stringptr.

##### Return

Number of cells written to buffer

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### get_gamerules_vector

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_gamerules_vector
- Line: 924

##### Syntax

```pawn
native get_gamerules_vector(const class[], const member[], Float:value[3], element = 0);
```

##### Description

Retrieves a vector from the gamerules object based off a class and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `value`: Vector buffer to store data in
- `element`: Element to retrieve (starting from 0) if member is an array

##### Return

This function has no return value.

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### get_kvd

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_kvd
- Line: 469

##### Syntax

```pawn
native get_kvd(kvd_handle, KeyValueData:member, any:...);
```

##### Description

This function has no description.

#### get_orig_retval

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_orig_retval
- Line: 430

##### Syntax

```pawn
native get_orig_retval(any:...);
```

##### Description

Returns the original return value of an engine function.
This is only valid in forwards that were registered as post.

get_orig_retval() - no params, retrieves integer return value
get_orig_retval(&Float:value) - retrieves float return value by reference
get_orig_retval(value[], len) - retrives string return value

#### get_pdata_bool

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_pdata_bool
- Line: 227

##### Syntax

```pawn
native bool:get_pdata_bool(_index, _offset, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Returns a boolean from an entity's private data.

This function is byte-addressable. Unlike get_pdata_int() which searches in byte increments of 4,
get_pdata_bool searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

An boolean value is returned.

#### get_pdata_byte

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_pdata_byte
- Line: 266

##### Syntax

```pawn
native get_pdata_byte(_index, _offset, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Returns a byte value from an entity's private data.

This function is byte-addressable. Unlike get_pdata_int() which searches in byte increments of 4,
get_pdata_byte searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

A byte value is returned.

#### get_pdata_ehandle

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_pdata_ehandle
- Line: 387

##### Syntax

```pawn
native get_pdata_ehandle(_index, _offset, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Tries to retrieve an edict (entity encapsulation) pointer from an entity's private data.

This function is byte-addressable.  Unlike get_pdata_int() which searches in byte increments of 4,
get_pdata_ehandle searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

-2 if an invalid entity was found.
-1 if an empty entity was found.
0 if serialnumber is not matching.
Otherwise, an entity index is returned.

#### get_pdata_ent

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_pdata_ent
- Line: 188

##### Syntax

```pawn
native get_pdata_ent(_index, _offset, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Tries to retrieve an edict pointer from an entity's private data.

This function is byte-addressable.  Unlike get_pdata_int() which searches in byte increments of 4,
get_pdata_ent searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _Offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

-2 if an invalid entity was found.
-1 if an empty entity was found.
Otherwise, an entity index is returned.

#### get_pdata_float

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_pdata_float
- Line: 150

##### Syntax

```pawn
native Float:get_pdata_float(_index, _Offset, _linuxdiff = 5, _macdiff = 5);
```

##### Description

Returns a float from an entity's private data.

_linuxdiff value is what to add to the _Offset for linux servers.
_macdiff value is what to add to the _Offset for os x servers.

A log error is thrown on invalid _index and _Offset.

##### Parameters

- `_index`: Entity index.
- `_Offset`: Offset to search.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

An float value is returned.

#### get_pdata_int

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_pdata_int
- Line: 117

##### Syntax

```pawn
native get_pdata_int(_index, _Offset, _linuxdiff = 5, _macdiff = 5);
```

##### Description

Returns a integer from an entity's private data.

_linuxdiff value is what to add to the _Offset for linux servers.
_macdiff value is what to add to the _Offset for os x servers.

A log error is thrown on invalid _index and _Offset.

##### Parameters

- `_index`: Entity index.
- `_Offset`: Offset to search.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

An integer value is returned.

#### get_pdata_short

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_pdata_short
- Line: 305

##### Syntax

```pawn
native get_pdata_short(_index, _offset, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Returns a short value from an entity's private data.

This function is byte-addressable. Unlike get_pdata_int() which searches in byte increments of 4,
get_pdata_short searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

A short value is returned.

#### get_pdata_string

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_pdata_string
- Line: 521

##### Syntax

```pawn
native get_pdata_string(entity, offset, dest[], maxlength, byref=1, linux, mac=cellmin);
```

##### Description

This function has no description.

#### get_pdata_vector

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_pdata_vector
- Line: 345

##### Syntax

```pawn
native get_pdata_vector(_index, _offset, Float:_output[3], _linuxdiff = 20, _macdiff = 20);
```

##### Description

Returns a vector from an entity's private data.

This function is byte-addressable. Unlike get_pdata_int() which searches in byte increments of 4,
get_pdata_vector searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_output`: Vector returned by reference.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

1 on success.

#### get_tr

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_tr
- Line: 438

##### Syntax

```pawn
native get_tr(TraceResult:tr_member, any:...);
```

##### Description

This function has no description.

#### get_tr2

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_tr2
- Line: 444

##### Syntax

```pawn
native get_tr2(tr_handle, any:tr_member, any:...);
```

##### Description

This function has no description.

#### get_uc

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_uc
- Line: 512

##### Syntax

```pawn
native get_uc(uc_handle, UserCmd:member, any:...);
```

##### Description

This function has no description.

#### global_get

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/global_get
- Line: 101

##### Syntax

```pawn
native global_get(_value, any:...);
```

##### Description

Returns any global variable inside globalvars_t structure. Use the glb_* enum.

When returning data from glb_pStringBase (the global string table), you may give a pointer into that table
in order to get different strings.
Example:
new model[128]
new ptr = pev(id, pev_viewmodel)
global_get(glb_pStringBase, ptr, model, 127)

#### lookup_sequence

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/lookup_sequence
- Line: 548

##### Syntax

```pawn
native lookup_sequence(entity, const name[], &Float:framerate = 0.0, &bool:loops = false, &Float:groundspeed = 0.0);
```

##### Description

Looks up the sequence for the entity.

##### Parameters

- `entity`: The entity id to lookup.
- `name`: The sequence name to lookup, case insensitive. ("JUMP" would match "jump")
- `framerate`: The framerate of the sequence, if found.
- `loops`: Whether or not the sequence loops.
- `groundspeed`: The groundspeed setting of the sequence.

##### Return

-1 on failed lookup, the sequence number on successful lookup.

#### pev

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/pev
- Line: 43

##### Syntax

```pawn
native pev(_index,_value,any:...);
```

##### Description

Returns entvar data from an entity.  Use the pev_* enum (in fakemeta_const.inc) to specify which data you want retrieved.

##### Parameters

- `_index`: The entity index to lookup.
- `_value`: The pev field to lookup (look in fakemeta_const.inc)

##### Note

This function uses "read_data" style data syntax.  It returns integer values,
by-references float data, and sets a buffer for string data.

##### Note

If retrieving strings, you may optionally get a pointer into the global string table. Depending on
your situation, there are two ways to do this.
1: This simply gets the pointer.
new ptr = pev(entid, pev_classname)
2: The pointer will be stored in ptr AND the actual string is retrieved.
new ptr, classname[32]
pev(entid, pev_classname, ptr, classname, 31)

#### pev_serial

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/pev_serial
- Line: 90

##### Syntax

```pawn
native pev_serial(entindex);
```

##### Description

Returns the serial number for each entity.  The serial number is a unique identity
generated when an entity is created.

##### Parameters

- `entindex`: The entity id.

##### Return

The serial number for the entity.

#### pev_valid

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/pev_valid
- Line: 80

##### Syntax

```pawn
native pev_valid(entindex);
```

##### Description

Checks the validity of an entity.

##### Parameters

- `entindex`: The entity id to check.

##### Return

0 on invalid entity
1 on entity is valid
2 on entity is valid and it has private data (safe to use pdata natives on).

#### register_forward

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/register_forward
- Line: 412

##### Syntax

```pawn
native register_forward(_forwardType,const _function[],_post=0);
```

##### Description

Registers a forward.
Returns an id you can pass to unregister_forward

#### set_cd

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_cd
- Line: 499

##### Syntax

```pawn
native set_cd(cd_handle, ClientData:member, any:...);
```

##### Description

This function has no description.

#### set_controller

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_controller
- Line: 558

##### Syntax

```pawn
native Float:set_controller(entity, controller, Float:value);
```

##### Description

Sets a bone controller with the specified value.

##### Parameters

- `entity`: The entity id to set the value on.
- `controller`: Which controller to set (0 through 3).
- `value`: The value to set it to.

##### Return

The percentage that the controller is extended (0.0 through 1.0)

#### set_ent_data

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_ent_data
- Line: 613

##### Syntax

```pawn
native set_ent_data(entity, const class[], const member[], any:value, element = 0);
```

##### Description

Sets an integer value to an entity's private data based off a class
and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `value`: Value to set
- `element`: Element to set (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Note

This native is used to access the following (C++/engine) data types:
integer, boolean, short, character, pointer, stringint and function.
Unsigned variants (if applicable) are supported and will be converted
automatically.

##### Return

This function has no return value.

##### Error

If an invalid entity is provided, either class or member is
empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### set_ent_data_entity

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_ent_data_entity
- Line: 758

##### Syntax

```pawn
native set_ent_data_entity(entity, const class[], const member[], value, element = 0);
```

##### Description

Sets an entity index to an entity's private data based off a class
and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `value`: Entity index to set
- `element`: Element to set (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Note

This native is used to access the following (C++/engine) data types:
classptr, entvars, edict and ehandle.

##### Note

Pass -1 as value to act as C++ NULL.

##### Return

This function has no return value.

##### Error

If an invalid entity or value is provided, either class or member
is empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### set_ent_data_float

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_ent_data_float
- Line: 660

##### Syntax

```pawn
native set_ent_data_float(entity, const class[], const member[], Float:value, element = 0);
```

##### Description

Sets a float value to an entity's private data based off a class
and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `value`: Value to set
- `element`: Element to set (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Return

This function has no return value.

##### Error

If an invalid entity is provided, either class or member is
empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### set_ent_data_string

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_ent_data_string
- Line: 809

##### Syntax

```pawn
native set_ent_data_string(entity, const class[], const member[], const value[], element = 0);
```

##### Description

Sets a string to an entity's private data based off a class and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `value`: String to set
- `element`: Element to set (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Note

This native is used to access the following (C++/engine) data types:
string, stringptr.

##### Return

Number of cells written to buffer

##### Error

If an invalid entity is provided, either class or member is
empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### set_ent_data_vector

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_ent_data_vector
- Line: 706

##### Syntax

```pawn
native set_ent_data_vector(entity, const class[], const member[], Float:value[3], element = 0);
```

##### Description

Sets a vector to an entity's private data based off a class and member name.

##### Parameters

- `entity`: Entity index
- `class`: Class name
- `member`: Member name
- `value`: Vector to set
- `element`: Element to set (starting from 0) if member is an array

##### Note

Unlike the [get|set]_pdata_* natives that require compiling the class
member offset into the plugin, this native instead retrieves the
necessary offset from the AMXX gamedata files at runtime, based on the
provided class and member name.

##### Note

This native is safer than [get|set]_pdata_* as it can perform stricter
offset and typing checks.

##### Return

This function has no return value.

##### Error

If an invalid entity is provided, either class or member is
empty, no offset is found or an invalid offset is retrieved,
or the data type does not match, an error will be thrown.

#### set_es

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_es
- Line: 506

##### Syntax

```pawn
native set_es(es_handle, EntityState:member, any:...);
```

##### Description

This function has no description.

#### set_gamerules_entity

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_gamerules_entity
- Line: 977

##### Syntax

```pawn
native set_gamerules_entity(const class[], const member[], value, element = 0);
```

##### Description

Sets an entity index to the gamerules object based off a class
and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `value`: Entity index to set
- `element`: Element to set (starting from 0) if member is an array

##### Note

This native is used to access the following (C++/engine) data types:
classptr, entvars, edict and ehandle.

##### Note

Pass -1 as value to act as C++ NULL.

##### Return

This function has no return value.

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### set_gamerules_float

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_gamerules_float
- Line: 909

##### Syntax

```pawn
native set_gamerules_float(const class[], const member[], Float:value, element = 0);
```

##### Description

Sets a float value to the gamerules object based off a class
and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `value`: Value to set
- `element`: Element to set (starting from 0) if member is an array

##### Return

This function has no return value.

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### set_gamerules_int

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_gamerules_int
- Line: 878

##### Syntax

```pawn
native set_gamerules_int(const class[], const member[], any:value, element = 0);
```

##### Description

Sets an integer value to the gamerules objecta based off a class
and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `value`: Value to set
- `element`: Element to set (starting from 0) if member is an array

##### Note

This native is used to access the following (C++/engine) data types:
integer, boolean, short, character, pointer, stringint and function.
Unsigned variants (if applicable) are supported and will be converted
automatically.

##### Return

This function has no return value.

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### set_gamerules_string

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_gamerules_string
- Line: 1014

##### Syntax

```pawn
native set_gamerules_string(const class[], const member[], const value[], element = 0);
```

##### Description

Sets a string to the gamerules object based off a class and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `value`: String to set
- `element`: Element to set (starting from 0) if member is an array

##### Note

This native is used to access the following (C++/engine) data types:
string, stringptr.

##### Return

Number of cells written to buffer

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### set_gamerules_vector

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_gamerules_vector
- Line: 939

##### Syntax

```pawn
native set_gamerules_vector(const class[], const member[], Float:value[3], element = 0);
```

##### Description

Sets a vector to the gamerules object based off a class and member name.

##### Parameters

- `class`: Class name
- `member`: Member name
- `value`: Vector to set
- `element`: Element to set (starting from 0) if member is an array

##### Return

This function has no return value.

##### Error

If member is empty, no offset is found or an invalid offset
is retrieved, or the data type does not match, an error will
be thrown.

#### set_kvd

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_kvd
- Line: 474

##### Syntax

```pawn
native set_kvd(kvd_handle, KeyValueData:member, any:...);
```

##### Description

This function has no description.

#### set_pdata_bool

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pdata_bool
- Line: 247

##### Syntax

```pawn
native set_pdata_bool(_index, _offset, bool:_value, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Sets a boolean to an entity's private data.

This function is byte-addressable. Unlike set_pdata_int() which searches in byte increments of 4,
set_pdata_bool searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_value`: Value to set.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

1 on success.

#### set_pdata_byte

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pdata_byte
- Line: 286

##### Syntax

```pawn
native set_pdata_byte(_index, _offset, _value, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Sets a byte value to an entity's private data.

This function is byte-addressable. Unlike set_pdata_int() which searches in byte increments of 4,
set_pdata_byte searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_value`: Value to set.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

1 on success.

#### set_pdata_ehandle

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pdata_ehandle
- Line: 407

##### Syntax

```pawn
native set_pdata_ehandle(_index, _offset, _value, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Sets an edict (entity encapsulation) pointer to an entity's private data.

This function is byte-addressable.  Unlike set_pdata_int() which searches in byte increments of 4,
set_pdata_ehandle searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _Offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_value`: Value to set.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

1 on success.

#### set_pdata_ent

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pdata_ent
- Line: 208

##### Syntax

```pawn
native set_pdata_ent(_index, _offset, _value, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Sets an edict pointer to an entity's private data.

This function is byte-addressable.  Unlike set_pdata_int() which searches in byte increments of 4,
set_pdata_ent searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_value`: Value to set.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

1 on success.

#### set_pdata_float

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pdata_float
- Line: 167

##### Syntax

```pawn
native set_pdata_float(_index, _Offset, Float:_Value, _linuxdiff = 5, _macdiff = 5);
```

##### Description

Sets a float to an entity's private data.

_linuxdiff value is what to add to the _Offset for linux servers.
_macdiff value is what to add to the _Offset for os x servers.

A log error is thrown on invalid _index and _Offset.

##### Parameters

- `_index`: Entity index.
- `_Offset`: Offset to search.
- `_Value`: Value to set.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

1 on success.

#### set_pdata_int

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pdata_int
- Line: 134

##### Syntax

```pawn
native set_pdata_int(_index, _Offset, _Value, _linuxdiff = 5, _macdiff = 5);
```

##### Description

Sets an integer to an entity's private data.

_linuxdiff value is what to add to the _Offset for linux servers.
_macdiff value is what to add to the _Offset for os x servers.

A log error is thrown on invalid _index and _Offset.

##### Parameters

- `_index`: Entity index.
- `_Offset`: Offset to search.
- `_Value`: Value to set.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

1 on success.

#### set_pdata_short

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pdata_short
- Line: 325

##### Syntax

```pawn
native set_pdata_short(_index, _offset, _value, _linuxdiff = 20, _macdiff = 20);
```

##### Description

Sets a short value to an entity's private data.

This function is byte-addressable.  Unlike set_pdata_int() which searches in byte increments of 4,
set_pdata_short searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_value`: Value to set.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

1 on success.

#### set_pdata_string

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pdata_string
- Line: 531

##### Syntax

```pawn
native set_pdata_string(entity, offset, const source[], realloc=2, linux, mac=cellmin);
```

##### Description

This function has no description.

#### set_pdata_vector

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pdata_vector
- Line: 365

##### Syntax

```pawn
native set_pdata_vector(_index, _offset, Float:_origin[3], _linuxdiff = 20, _macdiff = 20);
```

##### Description

Sets a vector to an entity's private data.

This function is byte-addressable.  Unlike set_pdata_int() which searches in byte increments of 4,
set_pdata_vector searches in increments of 1.

_linuxdiff value is what to add to the _offset for linux servers.
_macdiff value is what to add to the _offset for os x servers.

A log error is thrown on invalid _index and _Offset.

##### Parameters

- `_index`: Entity index.
- `_offset`: Offset to search.
- `_origin`: Value to set.
- `_linuxdiff`: Linux difference.
- `_macdiff`: Mac OS X difference.

##### Return

1 on success.

#### set_pev

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pev
- Line: 55

##### Syntax

```pawn
native set_pev(_index,_value,any:...);
```

##### Description

Sets entvar data for an entity.  Use the pev_* enum from fakemeta_const.inc for reference.

##### Parameters

- `_index`: The entity index to set the value on.
- `_value`: The pev field to set, (look in fakemeta_const.inc)

##### Note

Setting string data will automatically allocate a new string (via AllocString)
If you have a string already allocated with your own call to AllocString, use
set_pev_string_ptr instead.

#### set_pev_string

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_pev_string
- Line: 68

##### Syntax

```pawn
native set_pev_string(_index, _value, _string);
```

##### Description

Use this native to set a pev field to a string that is already allocated (via a function such
as EngFunc_AllocString).

##### Parameters

- `_index`: The entity index to set the value on.
- `_value`: The pev field to set - MUST be a string field.
- `_string`: The string handle, retrieved from places like AllocString.

##### Note

If you specify _value as anything other than string fields, an error will be thrown.

##### Note

Pass 0 as the _string field to set it to an empty string.

#### set_tr

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_tr
- Line: 439

##### Syntax

```pawn
native set_tr(TraceResult:tr_member, any:...);
```

##### Description

This function has no description.

#### set_tr2

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_tr2
- Line: 445

##### Syntax

```pawn
native set_tr2(tr_handle, any:tr_member, any:...);
```

##### Description

This function has no description.

#### set_uc

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/set_uc
- Line: 513

##### Syntax

```pawn
native set_uc(uc_handle, UserCmd:member, any:...);
```

##### Description

This function has no description.

#### unregister_forward

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/unregister_forward
- Line: 418

##### Syntax

```pawn
native unregister_forward(_forwardType, registerId, post=0);
```

##### Description

Unregisters a forward.
The registerId must be from register_forward, and
post/forwardtype must match what you registered the forward as.

#### get_field_basetype

- Include: `fakemeta.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta/function/get_field_basetype
- Line: 1056

##### Syntax

```pawn
stock BaseFieldType:get_field_basetype(FieldType:type, type_name[] = "", maxlen = 0)
```

##### Description

Returns the data field base type based off a specific field type.

##### Parameters

- `type`: Class member type (FIELD_* constants)
- `type_name`: Optional buffer to store base type name in
- `maxlen`: Maximum size of the buffer

##### Note

From an AMXX plugin perspective, the (C++/engine) data types can be grouped
in five base types: integer, float, vector, entity and string. This stock is
essentially for convenience and debug purpose.

##### Return

Base field type (BASEFIELD_* constants)

## fakemeta_const.inc

- HTML: https://amxx-api.csrevo.com/fakemeta_const
- Group: Base includes
- Functions: 0
- Documented constants: 21

### Constants

#### FMV_STRING

FMV_STRING

```pawn
#define	FMV_STRING		1
```

#### FMV_FLOAT

FMV_FLOAT

```pawn
#define FMV_FLOAT		2
```

#### FMV_CELL

FMV_CELL

```pawn
#define FMV_CELL		3
```

#### FMRES_IGNORED

FMRES_IGNORED

```pawn
#define FMRES_IGNORED	1	// Calls target function, returns normal value
```

#### FMRES_HANDLED

FMRES_HANDLED

```pawn
#define FMRES_HANDLED	2	// Tells metamod you did something, still calls target function and returns normal value
```

#### FMRES_OVERRIDE

FMRES_OVERRIDE

```pawn
#define FMRES_OVERRIDE	3	// Supposed to still call the target function but return your value instead
```

#### FMRES_SUPERCEDE

FMRES_SUPERCEDE

```pawn
#define FMRES_SUPERCEDE	4	// Block the target call, and use your return value (if applicable)
```

#### FM_NULLENT

FM_NULLENT

```pawn
#define FM_NULLENT		-1
```

#### Used with engfunc()

Used with engfunc()

```pawn
enum {
	EngFunc_PrecacheModel,				// int  )			(char *s);
	EngFunc_PrecacheSound,				// int  )			(char *s);
	EngFunc_SetModel,					// void )			(edict_t *e, const char *m);
	EngFunc_ModelIndex,					// int  )			(const char *m);
	EngFunc_ModelFrames,				// int	)			(int modelIndex);
	EngFunc_SetSize,					// void )			(edict_t *e, const float *rgflMin, const float *rgflMax);
	EngFunc_ChangeLevel,				// void )			(char* s1, char* s2);
	EngFunc_VecToYaw,					// float)			(const float *rgflVector);
	EngFunc_VecToAngles,				// void )			(const float *rgflVectorIn, float *rgflVectorOut);
	EngFunc_MoveToOrigin,				// void )			(edict_t *ent, const float *pflGoal, float dist, int iMoveType);
	EngFunc_ChangeYaw,					// void )			(edict_t* ent);
	EngFunc_ChangePitch,				// void )			(edict_t* ent);
	EngFunc_FindEntityByString,			// edict)			(edict_t *pEdictStartSearchAfter, const char *pszField, const char *pszValue);
	EngFunc_GetEntityIllum,				// int	)			(edict_t* pEnt);
	EngFunc_FindEntityInSphere,			// edict)			(edict_t *pEdictStartSearchAfter, const float *org, float rad);
	EngFunc_FindClientInPVS,			// edict)			(edict_t *pEdict);
	EngFunc_EntitiesInPVS,				// edict)			(edict_t *pplayer);
	EngFunc_MakeVectors,				// void )			(const float *rgflVector);
	EngFunc_AngleVectors,				// void )			(const float *rgflVector, float *forward, float *right, float *up);
	EngFunc_CreateEntity,				// edict)			(void);
	EngFunc_RemoveEntity,				// void )			(edict_t *e);
	EngFunc_CreateNamedEntity,			// edict)			(int className);
	EngFunc_MakeStatic,					// void )			(edict_t *ent);
	EngFunc_EntIsOnFloor,				// int  )			(edict_t *e);
	EngFunc_DropToFloor,				// int  )			(edict_t *e);
	EngFunc_WalkMove,					// int  )			(edict_t *ent, float yaw, float dist, int iMode);
	EngFunc_SetOrigin,					// void )			(edict_t *e, const float *rgflOrigin);
	EngFunc_EmitSound,					// void )			(edict_t *entity, int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch);
	EngFunc_EmitAmbientSound,			// void )			(edict_t *entity, float *pos, const char *samp, float vol, float attenuation, int fFlags, int pitch);

	//With 1.71 you can pass an optional TraceLine ptr for trace natives
	// it can be 0, for meaning "global tr handle" (for get/set_tr2), or
	// it can be any other TR handle (such as one from a TR hook)
	EngFunc_TraceLine,					// void )			(const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr);
	EngFunc_TraceToss,					// void )			(edict_t *pent, edict_t *pentToIgnore, TraceResult *ptr);
	EngFunc_TraceMonsterHull,			// int  )			(edict_t *pEdict, const float *v1, const float *v2, int fNoMonsters, edict_t *pentToSkip, TraceResult *ptr);
	EngFunc_TraceHull,					// void )			(const float *v1, const float *v2, int fNoMonsters, int hullNumber, edict_t *pentToSkip, TraceResult *ptr);
	EngFunc_TraceModel,					// void )			(const float *v1, const float *v2, int hullNumber, edict_t *pent, TraceResult *ptr);
	EngFunc_TraceTexture,				// const char *)	(edict_t *pTextureEntity, const float *v1, const float *v2 );
	EngFunc_TraceSphere,				// void )			(const float *v1, const float *v2, int fNoMonsters, float radius, edict_t *pentToSkip, TraceResult *ptr);

	EngFunc_GetAimVector,				// void )			(edict_t *ent, float speed, float *rgflReturn);
	EngFunc_ParticleEffect,				// void )			(const float *org, const float *dir, float color, float count);
	EngFunc_LightStyle,					// void )			(int style, char *val);
	EngFunc_DecalIndex,					// int  )			(const char *name);
	EngFunc_PointContents,				// int  )			(const float *rgflVector);
	EngFunc_FreeEntPrivateData,			// void )			(edict_t *pEdict);
	EngFunc_SzFromIndex,				// const char *)	(int iString);
	EngFunc_AllocString,				// int  )			(const char *szValue);
	EngFunc_RegUserMsg,					// int	)			(const char *pszName, int iSize);
	EngFunc_AnimationAutomove,			// void )			(const edict_t *pEdict, float flTime);
	EngFunc_GetBonePosition,			// void )			(const edict_t *pEdict, int iBone, float *rgflOrigin, float *rgflAngles);
	EngFunc_GetAttachment,				// void	)			(const edict_t *pEdict, int iAttachment, float *rgflOrigin, float *rgflAngles);
	EngFunc_SetView,					// void )			(const edict_t *pClient, const edict_t *pViewent);
	EngFunc_Time,						// float)			( void );
	EngFunc_CrosshairAngle,				// void )			(const edict_t *pClient, float pitch, float yaw);
	EngFunc_FadeClientVolume,			// void )			(const edict_t *pEdict, int fadePercent, int fadeOutSeconds, int holdTime, int fadeInSeconds);
	EngFunc_SetClientMaxspeed,			// void )			(const edict_t *pEdict, float fNewMaxspeed);
	EngFunc_CreateFakeClient,			// edict)			(const char *netname);	// returns NULL if fake client can't be created
	EngFunc_RunPlayerMove,				// void )			(edict_t *fakeclient, const float *viewangles, float forwardmove, float sidemove, float upmove, unsigned short buttons, byte impulse, byte msec);
	EngFunc_NumberOfEntities,			// int  )			( void );
	EngFunc_StaticDecal,				// void )			(const float *origin, int decalIndex, int entityIndex, int modelIndex);
	EngFunc_PrecacheGeneric,			// int  )			(char* s);
	EngFunc_BuildSoundMsg,				// void )			(edict_t *entity, int channel, const char *sample, /*int*/float volume, float attenuation, int fFlags, int pitch, int msg_dest, int msg_type, const float *pOrigin, edict_t *ed);
	EngFunc_GetPhysicsKeyValue,			// const char *)	(const edict_t *pClient, const char *key);
	EngFunc_SetPhysicsKeyValue,			// void )			(const edict_t *pClient, const char *key, const char *value);
	EngFunc_GetPhysicsInfoString,		// const char *)	(const edict_t *pClient);
	EngFunc_PrecacheEvent,				// unsigned short)	(int type, const char*psz);
	EngFunc_PlaybackEvent,				// void )			(int flags, const edict_t *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2);
	EngFunc_CheckVisibility,			// int  )			(const edict_t *entity, unsigned char *pset);
	EngFunc_GetCurrentPlayer,			// int  )			( void );
	EngFunc_CanSkipPlayer,				// int  )			(const edict_t *player);
	EngFunc_SetGroupMask,				// void )			(int mask, int op);
	EngFunc_GetClientListening,			// bool )			(int iReceiver, int iSender)
	EngFunc_SetClientListening,			// bool )			(int iReceiver, int iSender, bool Listen)
	EngFunc_MessageBegin,				// void )			(int msg_dest, int msg_type, const float *pOrigin, edict_t *ed)
	EngFunc_WriteCoord,					// void )			(float flValue)
	EngFunc_WriteAngle,					// void )			(float flValue)
	EngFunc_InfoKeyValue,				// char*)			(char *infobuffer, char *key);
	EngFunc_SetKeyValue,				// void )			(char *infobuffer, char *key, char *value);
	EngFunc_SetClientKeyValue,			// void )			(int clientIndex, char *infobuffer, char *key, char *value);
	EngFunc_CreateInstBaseline,			// int  )			(int classname, struct entity_state_s *baseline);

	// Returns pointer to info buffer that can be used with the infobuffer param of InfoKeyValue, SetKeyValue, and SetClientKeyValue
	EngFunc_GetInfoKeyBuffer,			// char*)			(edict_t *e);
	EngFunc_AlertMessage,				// void )			(ALERT_TYPE atype, char *szFmt, ...);
	EngFunc_ClientPrintf,				// void )			(edict_t* pEdict, PRINT_TYPE ptype, const char *szMsg);
	EngFunc_ServerPrint					// void )			(const char *szMsg);
};
```

#### Used with dllfunc()

Used with dllfunc()

```pawn
enum
{
	DLLFunc_GameInit,					// void )			( void );
	DLLFunc_Spawn,						// int  )			(edict_t *pent);
	DLLFunc_Think,						// void )			(edict_t *pent);
	DLLFunc_Use,						// void )			(edict_t *pentUsed, edict_t *pentOther);
	DLLFunc_Touch,						// void )			(edict_t *pentTouched, edict_t *pentOther);
	DLLFunc_Blocked,					// void )			(edict_t *pentBlocked, edict_t *pentOther);

	//You can pass in 0 for glb kvd handle or a kvd handle here
	DLLFunc_KeyValue,					// void )			(edict_t *pentKeyvalue, KeyValueData *pkvd);
	DLLFunc_SetAbsBox,					// void )			(edict_t *pent);
	DLLFunc_ClientConnect,				// bool )			(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);

	DLLFunc_ClientDisconnect,			// void )			(edict_t *pEntity);
	DLLFunc_ClientKill,					// void )			(edict_t *pEntity);
	DLLFunc_ClientPutInServer,			// void )			(edict_t *pEntity);
	DLLFunc_ClientCommand,				// void )			(edict_t *pEntity);

	DLLFunc_ServerDeactivate,			// void )			( void );

	DLLFunc_PlayerPreThink,				// void )			(edict_t *pEntity);
	DLLFunc_PlayerPostThink,			// void )			(edict_t *pEntity);

	DLLFunc_StartFrame,					// void )			( void );
	DLLFunc_ParmsNewLevel,				// void )			( void );
	DLLFunc_ParmsChangeLevel,			// void )			( void );

	// Returns string describing current .dll.  E.g., TeamFotrress 2, Half-Life
	// This also gets called when the server is queried for information (for example, by a server browser tool)
	DLLFunc_GetGameDescription,	 		// const char *)	( void );

	// Spectator funcs
	DLLFunc_SpectatorConnect,			// void )			(edict_t *pEntity);
	DLLFunc_SpectatorDisconnect,		// void )			(edict_t *pEntity);
	DLLFunc_SpectatorThink,				// void )			(edict_t *pEntity);

	// Notify game .dll that engine is going to shut down.  Allows mod authors to set a breakpoint.
	DLLFunc_Sys_Error,					// void )			(const char *error_string);

	DLLFunc_PM_FindTextureType,			// char )			(char *name);
	DLLFunc_RegisterEncoders,			// void )			( void );

	// Enumerates player hulls.  Returns 0 if the hull number doesn't exist, 1 otherwise
	DLLFunc_GetHullBounds,				// int  )			(int hullnumber, float *mins, float *maxs);

	// Create baselines for certain "unplaced" items.
	DLLFunc_CreateInstBaselines,		// void )			( void );
	DLLFunc_pfnAllowLagCompensation,	// int  )			( void );
	// I know this does not fit with DLLFUNC(), but I don't want another native just for it.
	MetaFunc_CallGameEntity,			// bool	)			(plid_t plid, const char *entStr,entvars_t *pev);
	DLLFunc_ClientUserInfoChanged,		// void	)			(edict *pEntity, char *infobuffer);
	// You can pass in 0 for global cd handle or another cd handle here
	DLLFunc_UpdateClientData,			// void )			(const struct edict_s *ent, int sendweapons, struct clientdata_s *cd);
	// You can pass in 0 for global entity state handle or another entity state handle here
	DLLFunc_AddToFullPack,				// int  )			(struct entity_state_s *state, int e, edict_t *ent, edict_t *host, int hostflags, int player, unsigned char *pSet);
	// You can pass in 0 for global usercmd handle or another usercmd handle here
	DLLFunc_CmdStart,					// void )			(const edict_t *player, const struct usercmd_s *cmd, unsigned int random_seed);
	DLLFunc_CmdEnd,						// void )			(const edict_t *player);
	DLLFunc_CreateBaseline				// void )			(int player, int eindex, struct entity_state_s *baseline, struct edict_s *entity, int playermodelindex, vec3_t player_mins, vec3_t player_maxs);
};
```

#### Enum starting with pev_string_start

Enum starting with pev_string_start

```pawn
enum {
	pev_string_start = 0,
	pev_classname,
	pev_globalname,
	pev_model,
	pev_target,
	pev_targetname,
	pev_netname,
	pev_message,
	pev_noise,
	pev_noise1,
	pev_noise2,
	pev_noise3,
	pev_string_end,
	pev_edict_start,
	pev_chain,
	pev_dmg_inflictor,
	pev_enemy,
	pev_aiment,
	pev_owner,
	pev_groundentity,
	pev_euser1,
	pev_euser2,
	pev_euser3,
	pev_euser4,
	pev_edict_end,
	pev_float_start,
	pev_impacttime,
	pev_starttime,
	pev_idealpitch,
	pev_ideal_yaw,
	pev_pitch_speed,
	pev_yaw_speed,
	pev_ltime,
	pev_nextthink,
	pev_gravity,
	pev_friction,
	pev_frame,
	pev_animtime,
	pev_framerate,
	pev_scale,
	pev_renderamt,
	pev_health,
	pev_frags,
	pev_takedamage,
	pev_max_health,
	pev_teleport_time,
	pev_armortype,
	pev_armorvalue,
	pev_dmg_take,
	pev_dmg_save,
	pev_dmg,
	pev_dmgtime,
	pev_speed,
	pev_air_finished,
	pev_pain_finished,
	pev_radsuit_finished,
	pev_maxspeed,
	pev_fov,
	pev_flFallVelocity,
	pev_fuser1,
	pev_fuser2,
	pev_fuser3,
	pev_fuser4,
	pev_float_end,
	pev_int_start,
	pev_fixangle,
	pev_modelindex,
	pev_viewmodel,
	pev_weaponmodel,
	pev_movetype,
	pev_solid,
	pev_skin,
	pev_body,
	pev_effects,
	pev_light_level,
	pev_sequence,
	pev_gaitsequence,
	pev_rendermode,
	pev_renderfx,
	pev_weapons,
	pev_deadflag,
	pev_button,
	pev_impulse,
	pev_spawnflags,
	pev_flags,
	pev_colormap,
	pev_team,
	pev_waterlevel,
	pev_watertype,
	pev_playerclass,
	pev_weaponanim,
	pev_pushmsec,
	pev_bInDuck,
	pev_flTimeStepSound,
	pev_flSwimTime,
	pev_flDuckTime,
	pev_iStepLeft,
	pev_gamestate,
	pev_oldbuttons,
	pev_groupinfo,
	pev_iuser1,
	pev_iuser2,
	pev_iuser3,
	pev_iuser4,
	pev_int_end,
	pev_byte_start,
	pev_controller_0,
	pev_controller_1,
	pev_controller_2,
	pev_controller_3,
	pev_blending_0,
	pev_blending_1,
	pev_byte_end,
	pev_bytearray_start,
	pev_controller,
	pev_blending,
	pev_bytearray_end,
	pev_vecarray_start,
	pev_origin,
	pev_oldorigin,
	pev_velocity,
	pev_basevelocity,
	pev_clbasevelocity,
	pev_movedir,
	pev_angles,
	pev_avelocity,
	pev_v_angle,
	pev_endpos,
	pev_startpos,
	pev_absmin,
	pev_absmax,
	pev_mins,
	pev_maxs,
	pev_size,
	pev_rendercolor,
	pev_view_ofs,
	pev_vuser1,
	pev_vuser2,
	pev_vuser3,
	pev_vuser4,
	pev_punchangle,
	pev_vecarray_end,
	pev_string2_begin,	/* anything after here are string corrections */
	pev_weaponmodel2,
	pev_viewmodel2,
	pev_string2_end,
	pev_edict2_start,	/* edict corrections */
	pev_pContainingEntity,
	pev_absolute_end
};
```

#### Used with global_get()

Used with global_get()

```pawn
enum
{
	glb_start_int = 0,
	glb_trace_hitgroup,
	glb_trace_flags,
	glb_msg_entity,
	glb_cdAudioTrack,
	glb_maxClients,
	glb_maxEntities,
	glb_end_int,
	glb_start_float,
	glb_time,
	glb_frametime,
	glb_force_retouch,
	glb_deathmatch,
	glb_coop,
	glb_teamplay,
	glb_serverflags,
	glb_found_secrets,
	glb_trace_allsolid,
	glb_trace_startsolid,
	glb_trace_fraction,
	glb_trace_plane_dist,
	glb_trace_inopen,
	glb_trace_inwater,
	glb_end_float,
	glb_start_edict,
	glb_trace_ent,
	glb_end_edict,
	glb_start_vector,
	glb_v_forward,
	glb_v_up,
	glb_v_right,
	glb_trace_endpos,
	glb_trace_plane_normal,
	glb_vecLandmarkOffset,
	glb_end_vector,
	glb_start_string,
	glb_mapname,
	glb_startspot,
	glb_end_string,
	glb_start_pchar,
	glb_pStringBase,
	glb_end_pchar
};
```

#### Used with register_forward()

Used with register_forward()

```pawn
enum {
	FM_PrecacheModel = 1,
	FM_PrecacheSound,
	FM_SetModel,
	FM_ModelIndex,
	FM_ModelFrames,
	FM_SetSize,
	FM_ChangeLevel,
	FM_VecToYaw,
	FM_VecToAngles,
	FM_MoveToOrigin,
	FM_ChangeYaw,
	FM_ChangePitch,
	FM_FindEntityByString,
	FM_GetEntityIllum,
	FM_FindEntityInSphere,
	FM_FindClientInPVS,
	FM_EntitiesInPVS,
	FM_MakeVectors,
	FM_AngleVectors,
	FM_CreateEntity,
	FM_RemoveEntity,
	FM_CreateNamedEntity,
	FM_MakeStatic,
	FM_EntIsOnFloor,
	FM_DropToFloor,
	FM_WalkMove,
	FM_SetOrigin,
	FM_EmitSound,
	FM_EmitAmbientSound,
	FM_TraceLine,
	FM_TraceToss,
	FM_TraceMonsterHull,
	FM_TraceHull,
	FM_TraceModel,
	FM_TraceTexture,
	FM_TraceSphere,
	FM_GetAimVector,
	FM_ParticleEffect,
	FM_LightStyle,
	FM_DecalIndex,
	FM_PointContents,
	FM_MessageBegin,
	FM_MessageEnd,
	FM_WriteByte,
	FM_WriteChar,
	FM_WriteShort,
	FM_WriteLong,
	FM_WriteAngle,
	FM_WriteCoord,
	FM_WriteString,
	FM_WriteEntity,
	FM_CVarGetFloat,
	FM_CVarGetString,
	FM_CVarSetFloat,
	FM_CVarSetString,
	FM_FreeEntPrivateData,
	FM_SzFromIndex,
	FM_AllocString,
	FM_RegUserMsg,
	FM_AnimationAutomove,
	FM_GetBonePosition,
	FM_GetAttachment,
	FM_SetView,
	FM_Time,
	FM_CrosshairAngle,
	FM_FadeClientVolume,
	FM_SetClientMaxspeed,
	FM_CreateFakeClient,
	FM_RunPlayerMove,
	FM_NumberOfEntities,
	FM_StaticDecal,
	FM_PrecacheGeneric,
	FM_BuildSoundMsg,
	FM_GetPhysicsKeyValue,
	FM_SetPhysicsKeyValue,
	FM_GetPhysicsInfoString,
	FM_PrecacheEvent,
	FM_PlaybackEvent,
	FM_CheckVisibility,
	FM_GetCurrentPlayer,
	FM_CanSkipPlayer,
	FM_SetGroupMask,
	FM_Voice_GetClientListening,
	FM_Voice_SetClientListening,
	FM_InfoKeyValue,
	FM_SetKeyValue,
	FM_SetClientKeyValue,
	FM_GetPlayerAuthId,
	FM_GetPlayerWONId,
	FM_IsMapValid,

	FM_Spawn,
	FM_Think,
	FM_Use,
	FM_Touch,
	FM_Blocked,
	FM_KeyValue,
	FM_SetAbsBox,
	FM_ClientConnect,

	FM_ClientDisconnect,
	FM_ClientKill,
	FM_ClientPutInServer,
	FM_ClientCommand,

	FM_ServerDeactivate,

	FM_PlayerPreThink,
	FM_PlayerPostThink,

	FM_StartFrame,
	FM_ParmsNewLevel,
	FM_ParmsChangeLevel,

	// Returns string describing current .dll.  E.g., TeamFotrress 2, Half-Life
	// This also gets called when the server is queried for information (for example, by a server browser tool)
	FM_GetGameDescription,

	// Spectator funcs
	FM_SpectatorConnect,
	FM_SpectatorDisconnect,
	FM_SpectatorThink,

	// Notify game .dll that engine is going to shut down.  Allows mod authors to set a breakpoint.
	FM_Sys_Error,

	FM_PM_FindTextureType,
	FM_RegisterEncoders,

	// Create baselines for certain "unplaced" items.
	FM_CreateInstBaselines,

	FM_AllowLagCompensation,
	FM_AlertMessage,

	// NEW_DLL_FUNCTIONS:
	FM_OnFreeEntPrivateData,
	FM_GameShutdown,
	FM_ShouldCollide,

	// LATE ADDITIONS (v1.71)
	FM_ClientUserInfoChanged,

	// LATE ADDITIONS (v1.75)
	FM_UpdateClientData,
	FM_AddToFullPack,
	FM_CmdStart,
	FM_CmdEnd,
	FM_CreateInstBaseline,
	FM_CreateBaseline,
	FM_GetInfoKeyBuffer,
	FM_ClientPrintf,

	// LATE ADDITIONS (v1.80)
	FM_ServerPrint
};
```

#### TraceResult

TraceResult

```pawn
enum TraceResult
{
	TR_AllSolid,		// int
	TR_StartSolid,		// int
	TR_InOpen,			// int
	TR_InWater,			// int
	TR_flFraction,		// float
	TR_vecEndPos,		// float array[3]
	TR_flPlaneDist,		// float
	TR_vecPlaneNormal,	// float array[3]
	TR_pHit,			// int (edict_t*)
	TR_iHitgroup,		// int
};
```

#### KeyValueData

KeyValueData

```pawn
enum KeyValueData
{
	KV_ClassName,		// string
	KV_KeyName,			// string
	KV_Value,			// string
	KV_fHandled			// int
};
```

#### ClientData

ClientData

```pawn
enum ClientData
{
	CD_Origin,			// float array[3]
	CD_Velocity,		// float array[3]
	CD_ViewModel,		// int
	CD_PunchAngle,		// float array[3]
	CD_Flags,			// int
	CD_WaterLevel,		// int
	CD_WaterType,		// int
	CD_ViewOfs,			// float array[3]
	CD_Health,			// float
	CD_bInDuck,			// int
	CD_Weapons,			// int
	CD_flTimeStepSound,	// int
	CD_flDuckTime,		// int
	CD_flSwimTime,		// int
	CD_WaterJumpTime,	// int
	CD_MaxSpeed,		// float
	CD_FOV,				// float
	CD_WeaponAnim,		// int
	CD_ID,				// int
	CD_AmmoShells,		// int
	CD_AmmoNails,		// int
	CD_AmmoCells,		// int
	CD_AmmoRockets,		// int
	CD_flNextAttack,	// float
	CD_tfState,			// int
	CD_PushMsec,		// int
	CD_DeadFlag,		// int
	CD_PhysInfo,		// string[256]
	CD_iUser1,			// int
	CD_iUser2,			// int
	CD_iUser3,			// int
	CD_iUser4,			// int
	CD_fUser1,			// float
	CD_fUser2,			// float
	CD_fUser3,			// float
	CD_fUser4,			// float
	CD_vUser1,			// float array[3]
	CD_vUser2,			// float array[3]
	CD_vUser3,			// float array[3]
	CD_vUser4			// float array[3]
};
```

#### EntityState

EntityState

```pawn
enum EntityState
{
	// Fields which are filled in by routines outside of delta compression
	ES_EntityType,		// int
	// Index into cl_entities array for this entity
	ES_Number,			// int
	ES_MsgTime,			// float

	// Message number last time the player/entity state was updated
	ES_MessageNum,		// int

	// Fields which can be transitted and reconstructed over the network stream
	ES_Origin,			// float array[3]
	ES_Angles,			// float array[3]

	ES_ModelIndex,		// int
	ES_Sequence,		// int
	ES_Frame,			// float
	ES_ColorMap,		// int
	ES_Skin,			// short
	ES_Solid,			// short
	ES_Effects,			// int
	ES_Scale,			// float
	ES_eFlags,			// byte

	// Render information
	ES_RenderMode,		// int
	ES_RenderAmt,		// int
	ES_RenderColor,		// byte array[3], RGB value
	ES_RenderFx,		// int

	ES_MoveType,		// int
	ES_AnimTime,		// float
	ES_FrameRate,		// float
	ES_Body,			// int
	ES_Controller,		// byte array[4]
	ES_Blending,		// byte array[4]
	ES_Velocity,		// float array[3]

	// Send bbox down to client for use during prediction
	ES_Mins,			// float array[3]
	ES_Maxs,			// float array[3]

	ES_AimEnt,			// int
	// If owned by a player, the index of that player (for projectiles)
	ES_Owner,			// int

	// Friction, for prediction
	ES_Friction,		// float
	// Gravity multiplier
	ES_Gravity,			// float

	// PLAYER SPECIFIC
	ES_Team,			// int
	ES_PlayerClass,		// int
	ES_Health,			// int
	ES_Spectator,		// bool
	ES_WeaponModel,		// int
	ES_GaitSequence,	// int
	// If standing on conveyor, e.g.
	ES_BaseVelocity,	// float array[3]
	// Use the crouched hull, or the regular player hull
	ES_UseHull,			// int
	// Latched buttons last time state updated
	ES_OldButtons,		// int
	// -1 = in air, else pmove entity number
	ES_OnGround,		// int
	ES_iStepLeft,		// int
	// How fast we are falling
	ES_flFallVelocity,	// float

	ES_FOV,				// float
	ES_WeaponAnim,		// int

	// Parametric movement overrides
	ES_StartPos,		// float array[3]
	ES_EndPos,			// float array[3]
	ES_ImpactTime,		// float
	ES_StartTime,		// float

	// For mods
	ES_iUser1,			// int
	ES_iUser2,			// int
	ES_iUser3,			// int
	ES_iUser4,			// int
	ES_fUser1,			// float
	ES_fUser2,			// float
	ES_fUser3,			// float
	ES_fUser4,			// float
	ES_vUser1,			// float array[3]
	ES_vUser2,			// float array[3]
	ES_vUser3,			// float array[3]
	ES_vUser4			// float array[3]
};
```

#### UserCmd

UserCmd

```pawn
enum UserCmd
{
	// Interpolation time on client
	UC_LerpMsec,		// short
	// Duration in ms of command
	UC_Msec,			// byte
	// Command view angles
	UC_ViewAngles,		// float array[3]

	// Intended velocities
	// Forward velocity
	UC_ForwardMove,		// float
	// Sideways velocity
	UC_SideMove,		// float
	// Upward velocity
	UC_UpMove,			// float
	// Light level at spot where we are standing
	UC_LightLevel,		// byte
	// Attack buttons
	UC_Buttons,			// unsigned short
	// Impulse command issued
	UC_Impulse,			// byte
	// Current weapon id
	UC_WeaponSelect,	// byte

	// Experimental player impact stuff
	UC_ImpactIndex,		// int
	UC_ImpactPosition	// float array[3]
};
```

#### AlertType

AlertType

```pawn
enum AlertType
{
	at_notice = 0,
	at_console,		// same as at_notice, but forces a ConPrintf, not a message box
	at_aiconsole,	// same as at_console, but only shown if developer level is 2!
	at_warning,
	at_error,
	at_logged		// Server print to console (only in multiplayer games)
};
```

#### FieldType

Data field types for use with find_ent_data_info().

```pawn
enum FieldType
{
	FIELD_NONE,
	FIELD_FLOAT,        // Floating point value
	FIELD_STRINGINT,    // String ID (return from ALLOC_STRING)
	FIELD_STRINGPTR,    // String, pointer-to-char
	FIELD_STRING,       // String, fixed size
	FIELD_CLASSPTR,     // Classes pointer derived of CBaseEntity
	FIELD_CLASS,        // Arbitrary classes, direct
	FIELD_STRUCTURE,    // Arbitrary structures, direct
	FIELD_EHANDLE,      // Entity handle
	FIELD_ENTVARS,      // entvars_t*
	FIELD_EDICT,        // edict_t*
	FIELD_VECTOR,       // Vector
	FIELD_POINTER,      // Arbitrary data pointer
	FIELD_INTEGER,      // Integer or enum
	FIELD_FUNCTION,     // Class function pointer (Think, Use, etc)
	FIELD_BOOLEAN,      // Boolean
	FIELD_SHORT,        // 2 bytes integer
	FIELD_CHARACTER,    // 1 byte
};
```

#### BaseFieldType

Base data field types for use with get_ent_data_basetype().

```pawn
enum BaseFieldType
{
	BASEFIELD_NONE,
	BASEFIELD_INTEGER,
	BASEFIELD_FLOAT,
	BASEFIELD_VECTOR,
	BASEFIELD_ENTITY,
	BASEFIELD_STRING,
};
```

## fakemeta_stocks.inc

- HTML: https://amxx-api.csrevo.com/fakemeta_stocks
- Group: Base includes
- Functions: 115
- Documented constants: 0

### Functions

#### DF_AddToFullPack

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_AddToFullPack
- Line: 384

##### Syntax

```pawn
stock DF_AddToFullPack(const STATE/* = 0*/, e, ENT, HOST, hostflags, player, set) {
```

##### Description

This function has no description.

#### DF_Blocked

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_Blocked
- Line: 301

##### Syntax

```pawn
stock DF_Blocked(const ENT_Blocked, const ENT_Other) {
```

##### Description

This function has no description.

#### DF_ClientCommand

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_ClientCommand
- Line: 320

##### Syntax

```pawn
stock DF_ClientCommand(const ENTITY) {
```

##### Description

This function has no description.

#### DF_ClientConnect

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_ClientConnect
- Line: 307

##### Syntax

```pawn
stock DF_ClientConnect(const ENTITY, const NAME[], const ADDRESS[], RejectReason[128]) {
```

##### Description

This function has no description.

#### DF_ClientDisconnect

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_ClientDisconnect
- Line: 310

##### Syntax

```pawn
stock DF_ClientDisconnect(const ENTITY) {
```

##### Description

This function has no description.

#### DF_ClientKill

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_ClientKill
- Line: 313

##### Syntax

```pawn
stock DF_ClientKill(const ENTITY) {
```

##### Description

This function has no description.

#### DF_ClientPutInServer

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_ClientPutInServer
- Line: 317

##### Syntax

```pawn
stock DF_ClientPutInServer(const ENTITY) {
```

##### Description

This function has no description.

#### DF_ClientUserInfoChanged

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_ClientUserInfoChanged
- Line: 377

##### Syntax

```pawn
stock DF_ClientUserInfoChanged(const IDPLAYER) {
```

##### Description

This function has no description.

#### DF_CmdEnd

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_CmdEnd
- Line: 390

##### Syntax

```pawn
stock DF_CmdEnd(const PLAYER) {
```

##### Description

This function has no description.

#### DF_CmdStart

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_CmdStart
- Line: 387

##### Syntax

```pawn
stock DF_CmdStart(const PLAYER, const CMD/* = 0*/, randomSeed) {
```

##### Description

This function has no description.

#### DF_CreateBaseline

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_CreateBaseline
- Line: 393

##### Syntax

```pawn
stock DF_CreateBaseline(PLAYER, eIndex, baseline, playerModelIndex, Float:playerMins[3], Float:playerMaxs[3]) {
```

##### Description

This function has no description.

#### DF_CreateInstBaselines

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_CreateInstBaselines
- Line: 368

##### Syntax

```pawn
stock DF_CreateInstBaselines() {
```

##### Description

This function has no description.

#### DF_GameInit

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_GameInit
- Line: 285

##### Syntax

```pawn
stock DF_GameInit() {
```

##### Description

This function has no description.

#### DF_GetGameDescription

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_GetGameDescription
- Line: 342

##### Syntax

```pawn
stock DF_GetGameDescription() {
```

##### Description

This function has no description.

#### DF_GetHullBounds

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_GetHullBounds
- Line: 365

##### Syntax

```pawn
stock DF_GetHullBounds(hullnumber, Float:mins[3], Float:maxs[3]) {
```

##### Description

This function has no description.

#### DF_MetaFunc_CallGameEntity

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_MetaFunc_CallGameEntity
- Line: 374

##### Syntax

```pawn
stock DF_MetaFunc_CallGameEntity(const STRING[], const ENTITY) {
```

##### Description

This function has no description.

#### DF_PM_FindTextureType

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_PM_FindTextureType
- Line: 358

##### Syntax

```pawn
stock DF_PM_FindTextureType(name[]) {
```

##### Description

This function has no description.

#### DF_ParmsChangeLevel

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_ParmsChangeLevel
- Line: 339

##### Syntax

```pawn
stock DF_ParmsChangeLevel() {
```

##### Description

This function has no description.

#### DF_ParmsNewLevel

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_ParmsNewLevel
- Line: 336

##### Syntax

```pawn
stock DF_ParmsNewLevel() {
```

##### Description

This function has no description.

#### DF_PlayerPostThink

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_PlayerPostThink
- Line: 329

##### Syntax

```pawn
stock DF_PlayerPostThink(const ENTITY) {
```

##### Description

This function has no description.

#### DF_PlayerPreThink

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_PlayerPreThink
- Line: 326

##### Syntax

```pawn
stock DF_PlayerPreThink(const ENTITY) {
```

##### Description

This function has no description.

#### DF_RegisterEncoders

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_RegisterEncoders
- Line: 361

##### Syntax

```pawn
stock DF_RegisterEncoders() {
```

##### Description

This function has no description.

#### DF_ServerDeactivate

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_ServerDeactivate
- Line: 323

##### Syntax

```pawn
stock DF_ServerDeactivate() {
```

##### Description

This function has no description.

#### DF_SetAbsBox

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_SetAbsBox
- Line: 304

##### Syntax

```pawn
stock DF_SetAbsBox(const ENTITY) {
```

##### Description

This function has no description.

#### DF_Spawn

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_Spawn
- Line: 288

##### Syntax

```pawn
stock DF_Spawn(const ENTITY) {
```

##### Description

This function has no description.

#### DF_SpectatorConnect

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_SpectatorConnect
- Line: 345

##### Syntax

```pawn
stock DF_SpectatorConnect(const ENTITY) {
```

##### Description

This function has no description.

#### DF_SpectatorDisconnect

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_SpectatorDisconnect
- Line: 349

##### Syntax

```pawn
stock DF_SpectatorDisconnect(const ENTITY) {
```

##### Description

This function has no description.

#### DF_SpectatorThink

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_SpectatorThink
- Line: 352

##### Syntax

```pawn
stock DF_SpectatorThink(const ENTITY) {
```

##### Description

This function has no description.

#### DF_StartFrame

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_StartFrame
- Line: 333

##### Syntax

```pawn
stock DF_StartFrame() {
```

##### Description

This function has no description.

#### DF_Sys_Error

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_Sys_Error
- Line: 355

##### Syntax

```pawn
stock DF_Sys_Error(const ERROR_STRING[]) {
```

##### Description

This function has no description.

#### DF_Think

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_Think
- Line: 291

##### Syntax

```pawn
stock DF_Think(const ENTITY) {
```

##### Description

This function has no description.

#### DF_Touch

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_Touch
- Line: 297

##### Syntax

```pawn
stock DF_Touch(const ENT_Touched, const ENT_Toucher) {
```

##### Description

This function has no description.

#### DF_UpdateClientData

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_UpdateClientData
- Line: 381

##### Syntax

```pawn
stock DF_UpdateClientData(const ENTITY, sendweapons, const cd/* = 0*/) {
```

##### Description

This function has no description.

#### DF_Use

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_Use
- Line: 294

##### Syntax

```pawn
stock DF_Use(const ENT_Used, const ENT_User) {
```

##### Description

This function has no description.

#### DF_pfnAllowLagCompensation

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/DF_pfnAllowLagCompensation
- Line: 371

##### Syntax

```pawn
stock DF_pfnAllowLagCompensation() {
```

##### Description

This function has no description.

#### EF_AllocString

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_AllocString
- Line: 162

##### Syntax

```pawn
stock EF_AllocString(const STRING[]) {
```

##### Description

This function has no description.

#### EF_AngleVectors

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_AngleVectors
- Line: 82

##### Syntax

```pawn
stock EF_AngleVectors(const Float:VECTOR[3], Float:forward_[3], Float:right[3], Float:up[3]) {
```

##### Description

This function has no description.

#### EF_AnimationAutomove

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_AnimationAutomove
- Line: 169

##### Syntax

```pawn
stock EF_AnimationAutomove(const ENTITY, Float:flTime) {
```

##### Description

This function has no description.

#### EF_BuildSoundMSG

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_BuildSoundMSG
- Line: 209

##### Syntax

```pawn
stock EF_BuildSoundMSG(const ENTITY, channel, const SAMPLE[], Float:volume, Float:attenuation, fFlags, pitch, msg_dest, msg_type, const Float:ORIGIN[3], const ED) {
```

##### Description

This function has no description.

#### EF_CanSkipPlayer

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_CanSkipPlayer
- Line: 235

##### Syntax

```pawn
stock EF_CanSkipPlayer(const PLAYER) {
```

##### Description

This function has no description.

#### EF_ChangeLevel

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_ChangeLevel
- Line: 44

##### Syntax

```pawn
stock EF_ChangeLevel(const S1[], const S2[]) {
```

##### Description

This function has no description.

#### EF_ChangePitch

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_ChangePitch
- Line: 60

##### Syntax

```pawn
stock EF_ChangePitch(const ENTITY) {
```

##### Description

This function has no description.

#### EF_ChangeYaw

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_ChangeYaw
- Line: 57

##### Syntax

```pawn
stock EF_ChangeYaw(const ENTITY) {
```

##### Description

This function has no description.

#### EF_CheckVisibility

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_CheckVisibility
- Line: 228

##### Syntax

```pawn
stock EF_CheckVisibility(const ENTITY, set) {
```

##### Description

This function has no description.

#### EF_ClientPrintf

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_ClientPrintf
- Line: 277

##### Syntax

```pawn
stock EF_ClientPrintf(const ENTITY, const printType, const MESSAGE[]) {
```

##### Description

This function has no description.

#### EF_CreateEntity

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_CreateEntity
- Line: 85

##### Syntax

```pawn
stock EF_CreateEntity() {
```

##### Description

This function has no description.

#### EF_CreateFakeClient

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_CreateFakeClient
- Line: 194

##### Syntax

```pawn
stock EF_CreateFakeClient(const NETNAME[]) {
```

##### Description

This function has no description.

#### EF_CreateInstBaseline

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_CreateInstBaseline
- Line: 268

##### Syntax

```pawn
stock EF_CreateInstBaseline(CLASSNAME, baseline) {
```

##### Description

This function has no description.

#### EF_CreateNamedEntity

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_CreateNamedEntity
- Line: 92

##### Syntax

```pawn
stock EF_CreateNamedEntity(const CLASSNAME) {
```

##### Description

This function has no description.

#### EF_CrosshairAngle

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_CrosshairAngle
- Line: 185

##### Syntax

```pawn
stock EF_CrosshairAngle(const CLIENT, Float:pitch, Float:yaw) {
```

##### Description

This function has no description.

#### EF_DecalIndex

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_DecalIndex
- Line: 149

##### Syntax

```pawn
stock EF_DecalIndex(const NAME[]) {
```

##### Description

This function has no description.

#### EF_DropToFloor

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_DropToFloor
- Line: 101

##### Syntax

```pawn
stock EF_DropToFloor(const ENTITY) {
```

##### Description

This function has no description.

#### EF_EmitAmbientSound

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_EmitAmbientSound
- Line: 114

##### Syntax

```pawn
stock EF_EmitAmbientSound(const ENTITY, Float:pos[3], const SAMPLE[], Float:volume, Float:attenuation, fFlags, pitch) {
```

##### Description

This function has no description.

#### EF_EmitSound

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_EmitSound
- Line: 111

##### Syntax

```pawn
stock EF_EmitSound(const ENTITY, channel, const SAMPLE[], Float:volume, Float:attenuation, fFlags, pitch) {
```

##### Description

This function has no description.

#### EF_EntIsOnFloor

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_EntIsOnFloor
- Line: 98

##### Syntax

```pawn
stock EF_EntIsOnFloor(const ENTITY) {
```

##### Description

This function has no description.

#### EF_EntitiesInPVS

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_EntitiesInPVS
- Line: 76

##### Syntax

```pawn
stock EF_EntitiesInPVS(const CLIENT) {
```

##### Description

This function has no description.

#### EF_FadeClientVolume

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_FadeClientVolume
- Line: 188

##### Syntax

```pawn
stock EF_FadeClientVolume(const ENTITY, fadePercent, fadeOutSeconds, holdTime, fadeInSeconds) {
```

##### Description

This function has no description.

#### EF_FindClientInPVS

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_FindClientInPVS
- Line: 73

##### Syntax

```pawn
stock EF_FindClientInPVS(const CLIENT) {
```

##### Description

This function has no description.

#### EF_FindEntityByString

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_FindEntityByString
- Line: 63

##### Syntax

```pawn
stock EF_FindEntityByString(const STARTSEARCHAFTER, const FIELD[], const VALUE[]) {
```

##### Description

This function has no description.

#### EF_FindEntityInSphere

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_FindEntityInSphere
- Line: 69

##### Syntax

```pawn
stock EF_FindEntityInSphere(const STARTSEARCHAFTER, const Float:ORIGIN[3], Float:radius) {
```

##### Description

This function has no description.

#### EF_FreeEntPrivateData

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_FreeEntPrivateData
- Line: 156

##### Syntax

```pawn
stock EF_FreeEntPrivateData(const ENTITY) {
```

##### Description

This function has no description.

#### EF_GetAimVector

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_GetAimVector
- Line: 140

##### Syntax

```pawn
stock EF_GetAimVector(const ENTITY, Float:speed, Float:returnVector[3]) {
```

##### Description

This function has no description.

#### EF_GetAttachment

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_GetAttachment
- Line: 175

##### Syntax

```pawn
stock EF_GetAttachment(const ENTITY, iAttachment, Float:origin[3], Float:angles[3]) {
```

##### Description

This function has no description.

#### EF_GetBonePosition

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_GetBonePosition
- Line: 172

##### Syntax

```pawn
stock EF_GetBonePosition(const ENTITY, iBone, Float:origin[3], Float:angles[3]) {
```

##### Description

This function has no description.

#### EF_GetClientListening

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_GetClientListening
- Line: 241

##### Syntax

```pawn
stock EF_GetClientListening(receiver, sender) {
```

##### Description

This function has no description.

#### EF_GetCurrentPlayer

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_GetCurrentPlayer
- Line: 232

##### Syntax

```pawn
stock EF_GetCurrentPlayer() {
```

##### Description

This function has no description.

#### EF_GetEntityIllum

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_GetEntityIllum
- Line: 66

##### Syntax

```pawn
stock EF_GetEntityIllum(const ENTITY) {
```

##### Description

This function has no description.

#### EF_GetInfoKeyBuffer

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_GetInfoKeyBuffer
- Line: 274

##### Syntax

```pawn
stock EF_GetInfoKeyBuffer(const ENTITY) {
```

##### Description

This function has no description.

#### EF_GetPhysicsInfoString

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_GetPhysicsInfoString
- Line: 219

##### Syntax

```pawn
stock EF_GetPhysicsInfoString(const CLIENT, returnString[], maxLength) {
```

##### Description

This function has no description.

#### EF_GetPhysicsKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_GetPhysicsKeyValue
- Line: 212

##### Syntax

```pawn
stock EF_GetPhysicsKeyValue(const CLIENT, const KEY[]) {
```

##### Description

This function has no description.

#### EF_InfoKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_InfoKeyValue
- Line: 257

##### Syntax

```pawn
stock EF_InfoKeyValue(const INFOBUFFER, const KEY[], returnValue[], maxLength) {
```

##### Description

This function has no description.

#### EF_LightStyle

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_LightStyle
- Line: 146

##### Syntax

```pawn
stock EF_LightStyle(style, val[]) {
```

##### Description

This function has no description.

#### EF_MakeStatic

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_MakeStatic
- Line: 95

##### Syntax

```pawn
stock EF_MakeStatic(const ENTITY) {
```

##### Description

This function has no description.

#### EF_MakeVectors

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_MakeVectors
- Line: 79

##### Syntax

```pawn
stock EF_MakeVectors(const Float:VECTOR[3]) {
```

##### Description

This function has no description.

#### EF_MessageBegin

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_MessageBegin
- Line: 248

##### Syntax

```pawn
stock EF_MessageBegin(msg_dest, msg_type, const Float:ORIGIN[3], const ED) {
```

##### Description

This function has no description.

#### EF_ModelFrames

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_ModelFrames
- Line: 37

##### Syntax

```pawn
stock EF_ModelFrames(modelIndex) {
```

##### Description

This function has no description.

#### EF_ModelIndex

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_ModelIndex
- Line: 34

##### Syntax

```pawn
stock EF_ModelIndex(const STRING[]) {
```

##### Description

This function has no description.

#### EF_MoveToOrigin

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_MoveToOrigin
- Line: 53

##### Syntax

```pawn
stock EF_MoveToOrigin(const ENTITY, const Float:GOAL[3], const Float:DISTANCE, const MOVETYPE) {
```

##### Description

This function has no description.

#### EF_NumberOfEntities

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_NumberOfEntities
- Line: 201

##### Syntax

```pawn
stock EF_NumberOfEntities() {
```

##### Description

This function has no description.

#### EF_ParticleEffect

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_ParticleEffect
- Line: 143

##### Syntax

```pawn
stock EF_ParticleEffect(const Float:ORIGIN[3], const Float:DIRECTION[3], Float:color, Float:count) {
```

##### Description

This function has no description.

#### EF_PlaybackEvent

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_PlaybackEvent
- Line: 225

##### Syntax

```pawn
stock EF_PlaybackEvent(flags, const INVOKER, eventindex, Float:delay, Float:origin[3], Float:angles[3], Float:fparam1, Float:fparam2, iparam1, iparam2, bparam1, bparam2) {
```

##### Description

This function has no description.

#### EF_PointContents

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_PointContents
- Line: 153

##### Syntax

```pawn
stock EF_PointContents(const Float:VECTOR[3]) {
```

##### Description

This function has no description.

#### EF_PrecacheEvent

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_PrecacheEvent
- Line: 222

##### Syntax

```pawn
stock EF_PrecacheEvent(type, const STRING[]) {
```

##### Description

This function has no description.

#### EF_PrecacheGeneric

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_PrecacheGeneric
- Line: 206

##### Syntax

```pawn
stock EF_PrecacheGeneric(const STRING[]) {
```

##### Description

This function has no description.

#### EF_PrecacheModel

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_PrecacheModel
- Line: 24

##### Syntax

```pawn
stock EF_PrecacheModel(const string[]) {
```

##### Description

This function has no description.

#### EF_PrecacheSound

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_PrecacheSound
- Line: 28

##### Syntax

```pawn
stock EF_PrecacheSound(const string[]) {
```

##### Description

This function has no description.

#### EF_RegUserMsg

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_RegUserMsg
- Line: 165

##### Syntax

```pawn
stock EF_RegUserMsg(const NAME[], iSize) {
```

##### Description

This function has no description.

#### EF_RemoveEntity

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_RemoveEntity
- Line: 89

##### Syntax

```pawn
stock EF_RemoveEntity(const ENTITY) {
```

##### Description

This function has no description.

#### EF_RunPlayerMove

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_RunPlayerMove
- Line: 197

##### Syntax

```pawn
stock EF_RunPlayerMove(const FAKECLIENT, const Float:VIEWANGLES[3], Float:forwardmove, Float:sidemove, Float:upmove, buttons, impulse, msec) {
```

##### Description

This function has no description.

#### EF_ServerPrint

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_ServerPrint
- Line: 280

##### Syntax

```pawn
stock EF_ServerPrint(const MESSAGE[]) {
```

##### Description

This function has no description.

#### EF_SetClientKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetClientKeyValue
- Line: 264

##### Syntax

```pawn
stock EF_SetClientKeyValue(const ID, const INFOBUFFER, const KEY[], const VALUE[]) {
```

##### Description

This function has no description.

#### EF_SetClientListening

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetClientListening
- Line: 244

##### Syntax

```pawn
stock EF_SetClientListening(receiver, sender, bool:listen) {
```

##### Description

This function has no description.

#### EF_SetClientMaxspeed

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetClientMaxspeed
- Line: 191

##### Syntax

```pawn
stock EF_SetClientMaxspeed(const ENTITY, Float:newMaxspeed) {
```

##### Description

This function has no description.

#### EF_SetGroupMask

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetGroupMask
- Line: 238

##### Syntax

```pawn
stock EF_SetGroupMask(mask, op) {
```

##### Description

This function has no description.

#### EF_SetKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetKeyValue
- Line: 260

##### Syntax

```pawn
stock EF_SetKeyValue(const INFOBUFFER, const KEY[], const VALUE[]) {
```

##### Description

This function has no description.

#### EF_SetModel

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetModel
- Line: 31

##### Syntax

```pawn
stock EF_SetModel(const ID, const STRING[]) {
```

##### Description

This function has no description.

#### EF_SetOrigin

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetOrigin
- Line: 108

##### Syntax

```pawn
stock EF_SetOrigin(const ENTITY, const Float:ORIGIN[3]) {
```

##### Description

This function has no description.

#### EF_SetPhysicsKeyValue

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetPhysicsKeyValue
- Line: 216

##### Syntax

```pawn
stock EF_SetPhysicsKeyValue(const CLIENT, const KEY[], const VALUE[]) {
```

##### Description

This function has no description.

#### EF_SetSize

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetSize
- Line: 41

##### Syntax

```pawn
stock EF_SetSize(const ENTITY, const Float:MIN[3], const Float:MAX[3]) {
```

##### Description

This function has no description.

#### EF_SetView

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SetView
- Line: 178

##### Syntax

```pawn
stock EF_SetView(const CLIENT, const VIEW_ENTITY) {
```

##### Description

This function has no description.

#### EF_StaticDecal

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_StaticDecal
- Line: 204

##### Syntax

```pawn
stock EF_StaticDecal(const Float:ORIGIN[3], decalIndex, entityIndex, modelIndex)
```

##### Description

This function has no description.

#### EF_SzFromIndex

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_SzFromIndex
- Line: 159

##### Syntax

```pawn
stock EF_SzFromIndex(iString) {
```

##### Description

This function has no description.

#### EF_Time

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_Time
- Line: 181

##### Syntax

```pawn
stock EF_Time(&Float:returnValue) {
```

##### Description

This function has no description.

#### EF_TraceHull

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_TraceHull
- Line: 127

##### Syntax

```pawn
stock EF_TraceHull(const Float:V1[3], const Float:V2[3], fNoMonsters, hullNumber, const ENTITY_TO_SKIP) {
```

##### Description

This function has no description.

#### EF_TraceLine

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_TraceLine
- Line: 117

##### Syntax

```pawn
stock EF_TraceLine(const Float:V1[3], const Float:V2[3], fNoMonsters, const ENT_TO_SKIP) {
```

##### Description

This function has no description.

#### EF_TraceModel

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_TraceModel
- Line: 130

##### Syntax

```pawn
stock EF_TraceModel(const Float:V1[3], const Float:V2[3], hullNumber, const ENTITY) {
```

##### Description

This function has no description.

#### EF_TraceMonsterHull

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_TraceMonsterHull
- Line: 124

##### Syntax

```pawn
stock EF_TraceMonsterHull(const ENTITY, const Float:V1[3], const Float:V2[3], fNoMonsters, const ENTITY_TO_SKIP) {
```

##### Description

This function has no description.

#### EF_TraceSphere

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_TraceSphere
- Line: 137

##### Syntax

```pawn
stock EF_TraceSphere(const Float:V1[3], const Float:V2[3], fNoMonsters, Float:radius, const ENTITY_TO_SKIP) {
```

##### Description

This function has no description.

#### EF_TraceTexture

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_TraceTexture
- Line: 133

##### Syntax

```pawn
stock EF_TraceTexture(const TEXTURE_ENTITY, const Float:V1[3], const Float:V2[3]) {
```

##### Description

This function has no description.

#### EF_TraceToss

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_TraceToss
- Line: 121

##### Syntax

```pawn
stock EF_TraceToss(const ENTITY, const ENTITY_TO_IGNORE) {
```

##### Description

This function has no description.

#### EF_VecToAngles

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_VecToAngles
- Line: 50

##### Syntax

```pawn
stock EF_VecToAngles(const Float:VECTORIN[3], const Float:VECTOROUT[3]) {
```

##### Description

This function has no description.

#### EF_VecToYaw

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_VecToYaw
- Line: 47

##### Syntax

```pawn
stock EF_VecToYaw(const Float:VECTOR[3], &Float:returnValue) {
```

##### Description

This function has no description.

#### EF_WalkMove

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_WalkMove
- Line: 105

##### Syntax

```pawn
stock EF_WalkMove(const ENTITY, Float:yaw, Float:distance, iMode) {
```

##### Description

This function has no description.

#### EF_WriteAngle

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_WriteAngle
- Line: 254

##### Syntax

```pawn
stock EF_WriteAngle(Float:value) {
```

##### Description

This function has no description.

#### EF_WriteCoord

- Include: `fakemeta_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_stocks/function/EF_WriteCoord
- Line: 251

##### Syntax

```pawn
stock EF_WriteCoord(Float:value) {
```

##### Description

This function has no description.

## fakemeta_util.inc

- HTML: https://amxx-api.csrevo.com/fakemeta_util
- Group: Base includes
- Functions: 58
- Documented constants: 38

### Constants

#### This file provides various utility functions that use the Fakemeta module. This file is created and maintained by VEN. For support and issues, see: http://forums.alliedmods.net/showthread.php?t=28284

This file provides various utility functions that use the Fakemeta module.
This file is created and maintained by VEN.
For support and issues, see:
http://forums.alliedmods.net/showthread.php?t=28284

#### fm_precache_generic

fm_precache_generic

```pawn
#define fm_precache_generic(%1) engfunc(EngFunc_PrecacheGeneric, %1)
```

#### fm_precache_event

fm_precache_event

```pawn
#define fm_precache_event(%1,%2) engfunc(EngFunc_PrecacheEvent, %1, %2)
```

#### fm_drop_to_floor

fm_drop_to_floor

```pawn
#define fm_drop_to_floor(%1) engfunc(EngFunc_DropToFloor, %1)
```

#### fm_force_use

fm_force_use

```pawn
#define fm_force_use(%1,%2) dllfunc(DLLFunc_Use, %2, %1)
```

#### fm_entity_set_size

fm_entity_set_size

```pawn
#define fm_entity_set_size(%1,%2,%3) engfunc(EngFunc_SetSize, %1, %2, %3)
```

#### fm_get_decal_index

fm_get_decal_index

```pawn
#define fm_get_decal_index(%1) engfunc(EngFunc_DecalIndex, %1)
```

#### fm_create_entity

fm_create_entity

```pawn
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
```

#### fm_find_ent_by_class

fm_find_ent_by_class

```pawn
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
```

#### fm_find_ent_by_target

fm_find_ent_by_target

```pawn
#define fm_find_ent_by_target(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "target", %2)
```

#### fm_find_ent_by_tname

fm_find_ent_by_tname

```pawn
#define fm_find_ent_by_tname(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "targetname", %2)
```

#### fm_find_ent_in_sphere

fm_find_ent_in_sphere

```pawn
#define fm_find_ent_in_sphere(%1,%2,%3) engfunc(EngFunc_FindEntityInSphere, %1, %2, %3)
```

#### fm_call_think

fm_call_think

```pawn
#define fm_call_think(%1) dllfunc(DLLFunc_Think, %1)
```

#### fm_is_valid_ent

fm_is_valid_ent

```pawn
#define fm_is_valid_ent(%1) pev_valid(%1)
```

#### fm_entity_set_model

fm_entity_set_model

```pawn
#define fm_entity_set_model(%1,%2) engfunc(EngFunc_SetModel, %1, %2)
```

#### fm_remove_entity

fm_remove_entity

```pawn
#define fm_remove_entity(%1) engfunc(EngFunc_RemoveEntity, %1)
```

#### fm_entity_count

fm_entity_count

```pawn
#define fm_entity_count() engfunc(EngFunc_NumberOfEntities)
```

#### fm_fake_touch

fm_fake_touch

```pawn
#define fm_fake_touch(%1,%2) dllfunc(DLLFunc_Touch, %1, %2)
```

#### fm_DispatchSpawn

fm_DispatchSpawn

```pawn
#define fm_DispatchSpawn(%1) dllfunc(DLLFunc_Spawn, %1)
```

#### fm_point_contents

fm_point_contents

```pawn
#define fm_point_contents(%1) engfunc(EngFunc_PointContents, %1)
```

#### fm_halflife_time

fm_halflife_time

```pawn
#define fm_halflife_time() get_gametime()
```

#### fm_attach_view

fm_attach_view

```pawn
#define fm_attach_view(%1,%2) engfunc(EngFunc_SetView, %1, %2)
```

#### fm_eng_get_string

fm_eng_get_string

```pawn
#define fm_eng_get_string(%1,%2,%3) engfunc(EngFunc_SzFromIndex, %1, %2, %3)
```

#### fm_find_ent

fm_find_ent

```pawn
#define fm_find_ent(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
```

#### fm_get_user_button

fm_get_user_button

```pawn
#define fm_get_user_button(%1) pev(%1, pev_button)
```

#### fm_get_user_oldbutton

fm_get_user_oldbutton

```pawn
#define fm_get_user_oldbutton(%1) pev(%1, pev_oldbuttons)
```

#### fm_get_entity_flags

fm_get_entity_flags

```pawn
#define fm_get_entity_flags(%1) pev(%1, pev_flags)
```

#### fm_get_entity_distance

fm_get_entity_distance

```pawn
#define fm_get_entity_distance(%1,%2) floatround(fm_entity_range(%1, %2))
```

#### fm_get_grenade

fm_get_grenade

```pawn
#define fm_get_grenade(%1) fm_get_grenade_id(%1, "", 0)
```

#### fm_get_entity_visibility

fm_get_entity_visibility

```pawn
#define fm_get_entity_visibility(%1) (!(pev(%1, pev_effects) & EF_NODRAW))
```

#### fm_get_user_velocity

fm_get_user_velocity

```pawn
#define fm_get_user_velocity(%1,%2) pev(%1, pev_velocity, %2)
```

#### fm_get_client_listen

fm_get_client_listen

```pawn
#define fm_get_client_listen(%1,%2) engfunc(EngFunc_GetClientListening, %1, %2)
```

#### fm_set_client_listen

fm_set_client_listen

```pawn
#define fm_set_client_listen(%1,%2,%3) engfunc(EngFunc_SetClientListening, %1, %2, %3)
```

#### fm_get_user_noclip

fm_get_user_noclip

```pawn
#define fm_get_user_noclip(%1) (pev(%1, pev_movetype) == MOVETYPE_NOCLIP)
```

#### WEAPON_SUIT

WEAPON_SUIT

```pawn
#define WEAPON_SUIT 31
```

#### FEV_RELIABLE

FEV_RELIABLE

```pawn
#define FEV_RELIABLE (1<<1)
```

#### FEV_GLOBAL

FEV_GLOBAL

```pawn
#define FEV_GLOBAL (1<<2)
```

#### fm_remove_weaponbox

fm_remove_weaponbox

```pawn
#define fm_remove_weaponbox(%1) dllfunc(DLLFunc_Think, %1)
```

### Functions

#### fm_ViewContents

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_ViewContents
- Line: 326

##### Syntax

```pawn
stock fm_ViewContents(id) {
```

##### Description

This function has no description.

#### fm_boxents_distance

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_boxents_distance
- Line: 610

##### Syntax

```pawn
stock Float:fm_boxents_distance(boxent1, boxent2) {
```

##### Description

This function has no description.

#### fm_boxes_distance

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_boxes_distance
- Line: 587

##### Syntax

```pawn
stock Float:fm_boxes_distance(const Float:mins1[3], const Float:maxs1[3], const Float:mins2[3], const Float:maxs2[3]) {
```

##### Description

This function has no description.

#### fm_cs_remove_decals

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_cs_remove_decals
- Line: 806

##### Syntax

```pawn
stock fm_cs_remove_decals(index = 0) {
```

##### Description

This function has no description.

#### fm_cs_user_spawn

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_cs_user_spawn
- Line: 521

##### Syntax

```pawn
stock fm_cs_user_spawn(index) {
```

##### Description

Cstrike functions

#### fm_distance_to_box

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_distance_to_box
- Line: 575

##### Syntax

```pawn
stock Float:fm_distance_to_box(const Float:point[3], const Float:mins[3], const Float:maxs[3]) {
```

##### Description

This function has no description.

#### fm_distance_to_boxent

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_distance_to_boxent
- Line: 599

##### Syntax

```pawn
stock Float:fm_distance_to_boxent(entity, boxent) {
```

##### Description

This function has no description.

#### fm_distance_to_floor

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_distance_to_floor
- Line: 623

##### Syntax

```pawn
stock Float:fm_distance_to_floor(index, ignoremonsters = 1) {
```

##### Description

This function has no description.

#### fm_entity_range

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_entity_range
- Line: 55

##### Syntax

```pawn
stock Float:fm_entity_range(ent1, ent2) {
```

##### Description

stock fm_get_decal_index(const decalname[])
	return engfunc(EngFunc_DecalIndex, decalname)

#### fm_entity_set_origin

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_entity_set_origin
- Line: 115

##### Syntax

```pawn
stock fm_entity_set_origin(index, const Float:origin[3]) {
```

##### Description

stock fm_is_valid_ent(index)
	return pev_valid(index)

#### fm_fakedamage

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_fakedamage
- Line: 255

##### Syntax

```pawn
stock fm_fakedamage(victim, const classname[], Float:takedmgdamage, damagetype) {
```

##### Description

Engine_stocks functions

#### fm_find_ent_by_flags

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_find_ent_by_flags
- Line: 562

##### Syntax

```pawn
stock fm_find_ent_by_flags(index, pev_field, flags) {
```

##### Description

This function has no description.

#### fm_find_ent_by_integer

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_find_ent_by_integer
- Line: 549

##### Syntax

```pawn
stock fm_find_ent_by_integer(index, pev_field, value) {
```

##### Description

This function has no description.

#### fm_find_ent_by_model

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_find_ent_by_model
- Line: 92

##### Syntax

```pawn
stock fm_find_ent_by_model(index, const classname[], const model[]) {
```

##### Description

stock fm_find_ent_by_tname(index, const targetname[])
	return engfunc(EngFunc_FindEntityByString, index, "targetname", targetname)

#### fm_find_ent_by_owner

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_find_ent_by_owner
- Line: 72

##### Syntax

```pawn
stock fm_find_ent_by_owner(index, const classname[], owner, jghgtype = 0) {
```

##### Description

stock fm_find_ent_by_class(index, const classname[])
	return engfunc(EngFunc_FindEntityByString, index, "classname", classname)

#### fm_get_aim_origin

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_aim_origin
- Line: 735

##### Syntax

```pawn
stock fm_get_aim_origin(index, Float:origin[3]) {
```

##### Description

This function has no description.

#### fm_get_brush_entity_origin

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_brush_entity_origin
- Line: 303

##### Syntax

```pawn
stock fm_get_brush_entity_origin(index, Float:origin[3]) {
```

##### Description

This function has no description.

#### fm_get_grenade_id

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_grenade_id
- Line: 186

##### Syntax

```pawn
stock fm_get_grenade_id(id, model[], len, grenadeid = 0) {
```

##### Description

This function has no description.

#### fm_get_speed

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_speed
- Line: 334

##### Syntax

```pawn
stock fm_get_speed(entity) {
```

##### Description

This function has no description.

#### fm_get_user_godmode

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_user_godmode
- Line: 396

##### Syntax

```pawn
stock fm_get_user_godmode(index) {
```

##### Description

stock fm_set_client_listen(receiver, sender, listen)
	return engfunc(EngFunc_SetClientListening, receiver, sender, listen)

#### fm_get_user_gravity

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_user_gravity
- Line: 476

##### Syntax

```pawn
stock Float:fm_get_user_gravity(index) {
```

##### Description

This function has no description.

#### fm_get_user_longjump

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_user_longjump
- Line: 754

##### Syntax

```pawn
stock bool:fm_get_user_longjump(index) {
```

##### Description

This function has no description.

#### fm_get_user_maxspeed

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_user_maxspeed
- Line: 463

##### Syntax

```pawn
stock Float:fm_get_user_maxspeed(index) {
```

##### Description

This function has no description.

#### fm_get_user_suit

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_user_suit
- Line: 786

##### Syntax

```pawn
stock bool:fm_get_user_suit(index) {
```

##### Description

This function has no description.

#### fm_get_user_weapon_entity

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_user_weapon_entity
- Line: 647

##### Syntax

```pawn
stock fm_get_user_weapon_entity(id, wid = 0) {
```

##### Description

This function has no description.

#### fm_get_view_angle_diff

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_view_angle_diff
- Line: 845

##### Syntax

```pawn
stock Float:fm_get_view_angle_diff(index, const Float:point[3]) {
```

##### Description

This function has no description.

#### fm_get_weaponbox_type

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_get_weaponbox_type
- Line: 861

##### Syntax

```pawn
stock fm_get_weaponbox_type(entity) {
```

##### Description

This function has no description.

#### fm_give_item

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_give_item
- Line: 432

##### Syntax

```pawn
stock fm_give_item(index, const item[]) {
```

##### Description

This function has no description.

#### fm_is_ent_classname

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_is_ent_classname
- Line: 819

##### Syntax

```pawn
stock bool:fm_is_ent_classname(index, const classname[]) {
```

##### Description

This function has no description.

#### fm_is_ent_visible

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_is_ent_visible
- Line: 717

##### Syntax

```pawn
stock bool:fm_is_ent_visible(index, entity, ignoremonsters = 0) {
```

##### Description

This function has no description.

#### fm_is_in_viewcone

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_is_in_viewcone
- Line: 214

##### Syntax

```pawn
stock bool:fm_is_in_viewcone(index, const Float:point[3]) {
```

##### Description

This function has no description.

#### fm_is_visible

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_is_visible
- Line: 236

##### Syntax

```pawn
stock bool:fm_is_visible(index, const Float:point[3], ignoremonsters = 0) {
```

##### Description

This function has no description.

#### fm_kill_entity

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_kill_entity
- Line: 640

##### Syntax

```pawn
stock fm_kill_entity(index) {
```

##### Description

This function has no description.

#### fm_playback_event

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_playback_event
- Line: 202

##### Syntax

```pawn
stock fm_playback_event(flags, invoker, eventindex, Float:delay, const Float:origin[3], const Float:angles[3], Float:fparam1, Float:fparam2, iparam1, iparam2, bparam1, bparam2) {
```

##### Description

stock fm_attach_view(index, entity)
	return engfunc(EngFunc_SetView, index, entity)

#### fm_remove_entity_name

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_remove_entity_name
- Line: 318

##### Syntax

```pawn
stock fm_remove_entity_name(const classname[]) {
```

##### Description

This function has no description.

#### fm_set_entity_flags

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_entity_flags
- Line: 355

##### Syntax

```pawn
stock fm_set_entity_flags(index, flag, onoff) {
```

##### Description

This function has no description.

#### fm_set_entity_visibility

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_entity_visibility
- Line: 365

##### Syntax

```pawn
stock fm_set_entity_visibility(index, visible = 1) {
```

##### Description

This function has no description.

#### fm_set_kvd

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_kvd
- Line: 533

##### Syntax

```pawn
stock fm_set_kvd(entity, const key[], const value[], const classname[] = "") {
```

##### Description

This function has no description.

#### fm_set_rendering

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_rendering
- Line: 341

##### Syntax

```pawn
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
```

##### Description

This function has no description.

#### fm_set_user_armor

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_armor
- Line: 409

##### Syntax

```pawn
stock fm_set_user_armor(index, armor) {
```

##### Description

This function has no description.

#### fm_set_user_frags

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_frags
- Line: 512

##### Syntax

```pawn
stock fm_set_user_frags(index, frags) {
```

##### Description

This function has no description.

#### fm_set_user_godmode

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_godmode
- Line: 403

##### Syntax

```pawn
stock fm_set_user_godmode(index, godmode = 0) {
```

##### Description

This function has no description.

#### fm_set_user_gravity

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_gravity
- Line: 470

##### Syntax

```pawn
stock fm_set_user_gravity(index, Float:gravity = 1.0) {
```

##### Description

This function has no description.

#### fm_set_user_health

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_health
- Line: 415

##### Syntax

```pawn
stock fm_set_user_health(index, health) {
```

##### Description

This function has no description.

#### fm_set_user_longjump

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_longjump
- Line: 764

##### Syntax

```pawn
stock fm_set_user_longjump(index, bool:longjump = true, bool:tempicon = true) {
```

##### Description

This function has no description.

#### fm_set_user_maxspeed

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_maxspeed
- Line: 456

##### Syntax

```pawn
stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
```

##### Description

This function has no description.

#### fm_set_user_noclip

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_noclip
- Line: 489

##### Syntax

```pawn
stock fm_set_user_noclip(index, noclip = 0) {
```

##### Description

interferes with FM_Spawn enum, just use fm_DispatchSpawn
stock fm_spawn(entity) {
	return dllfunc(DLLFunc_Spawn, entity)
}

#### fm_set_user_origin

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_origin
- Line: 421

##### Syntax

```pawn
stock fm_set_user_origin(index, /* const */ origin[3]) {
```

##### Description

This function has no description.

#### fm_set_user_rendering

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_rendering
- Line: 428

##### Syntax

```pawn
stock fm_set_user_rendering(index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
```

##### Description

This function has no description.

#### fm_set_user_suit

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_suit
- Line: 790

##### Syntax

```pawn
stock fm_set_user_suit(index, bool:suit = true, bool:sound = true) {
```

##### Description

This function has no description.

#### fm_set_user_velocity

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_set_user_velocity
- Line: 375

##### Syntax

```pawn
stock fm_set_user_velocity(entity, const Float:vector[3]) {
```

##### Description

stock fm_get_entity_visibility(index)
	return !(pev(index, pev_effects) & EF_NODRAW)

#### fm_strip_user_gun

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_strip_user_gun
- Line: 659

##### Syntax

```pawn
stock bool:fm_strip_user_gun(index, wid = 0, const wname[] = "") {
```

##### Description

This function has no description.

#### fm_strip_user_weapons

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_strip_user_weapons
- Line: 500

##### Syntax

```pawn
stock fm_strip_user_weapons(index) {
```

##### Description

This function has no description.

#### fm_trace_hull

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_trace_hull
- Line: 159

##### Syntax

```pawn
stock fm_trace_hull(const Float:origin[3], hull, ignoredent = 0, ignoremonsters = 0) {
```

##### Description

This function has no description.

#### fm_trace_line

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_trace_line
- Line: 150

##### Syntax

```pawn
stock fm_trace_line(ignoreent, const Float:start[3], const Float:end[3], Float:ret[3]) {
```

##### Description

stock fm_point_contents(const Float:point[3])
	return engfunc(EngFunc_PointContents, point)

#### fm_trace_normal

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_trace_normal
- Line: 173

##### Syntax

```pawn
stock fm_trace_normal(ignoreent, const Float:start[3], const Float:end[3], Float:ret[3]) {
```

##### Description

This function has no description.

#### fm_transfer_user_gun

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_transfer_user_gun
- Line: 687

##### Syntax

```pawn
stock bool:fm_transfer_user_gun(index1, index2, wid = 0, const wname[] = "") {
```

##### Description

This function has no description.

#### fm_user_kill

- Include: `fakemeta_util.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/fakemeta_util/function/fm_user_kill
- Line: 832

##### Syntax

```pawn
stock fm_user_kill(index, flag = 0) {
```

##### Description

This function has no description.

## file.inc

- HTML: https://amxx-api.csrevo.com/file
- Group: Base includes
- Functions: 44
- Documented constants: 8

### Constants

#### Untitled constant

Untitled constant

##### Note

All paths in AMX Mod X natives are relative to the mod folder
unless otherwise noted.
Most functions in AMX Mod X (at least, ones that deal with direct
file manipulation) will support an alternate path specification.

#### PLATFORM_MAX_PATH

Maximum path length.

```pawn
#define PLATFORM_MAX_PATH  256
```

#### FileType

File inode types for use with open_dir() and next_file().

```pawn
enum FileType
{
	FileType_Unknown,       /* Unknown file type (device/socket) */
	FileType_Directory,     /* File is a directory */
	FileType_File,          /* File is a file */
};
```

#### FileTimeType

File time modes for use with GetFileTime().

```pawn
enum FileTimeType
{
	FileTime_LastAccess,    /* Last access (not available on FAT) */
	FileTime_Created,       /* Creation (not available on FAT) */
	FileTime_LastChange,    /* Last modification */
};
```

#### SEEK_SET

File position modes for use with fseek().

```pawn
#define SEEK_SET 0          /* Seek from start */
#define SEEK_CUR 1          /* Seek from current position */
#define SEEK_END 2          /* Seek from end position */
```

#### FSOPT_BYTES_COUNT

Options for use with file_size() flag parameter.

```pawn
#define FSOPT_BYTES_COUNT  0  /* Returns the file size in number of bytes */
#define FSOPT_LINES_COUNT  1  /* Returns how many lines there are in this file */
#define FSOPT_END_WITH_LF  2  /* Returns whether the last line is '\n' */
```

#### BLOCK_INT

Data block modes for use with fread*() and fwrite*().

```pawn
#define BLOCK_INT   4
#define BLOCK_SHORT 2
#define BLOCK_CHAR  1
#define BLOCK_BYTE  1
```

#### FPERM_U_READ

File permissions flags for use with mkdir() and SetFilePermissions().

```pawn
#define FPERM_U_READ       0x0100   /* User can read.    */
#define FPERM_U_WRITE      0x0080   /* User can write.   */
#define FPERM_U_EXEC       0x0040   /* User can exec.    */
#define FPERM_U_RWX        FPERM_U_READ | FPERM_U_WRITE | FPERM_U_EXEC

#define FPERM_G_READ       0x0020   /* Group can read.   */
#define FPERM_G_WRITE      0x0010   /* Group can write.  */
#define FPERM_G_EXEC       0x0008   /* Group can exec.   */
#define FPERM_G_RWX        FPERM_G_READ | FPERM_G_WRITE | FPERM_G_EXEC

#define FPERM_O_READ       0x0004   /* Anyone can read.  */
#define FPERM_O_WRITE      0x0002   /* Anyone can write. */
#define FPERM_O_EXEC       0x0001   /* Anyone can exec.  */
#define FPERM_O_RWX        FPERM_O_READ | FPERM_O_WRITE | FPERM_O_EXEC

#define FPERM_DIR_DEFAULT  FPERM_U_RWX | FPERM_G_RWX | FPERM_O_RWX /* rwx r-x r-x (0755) */
```

### Functions

#### FileReadInt16

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/FileReadInt16
- Line: 614

##### Syntax

```pawn
native bool:FileReadInt16(file, &any:data);
```

##### Description

Reads a single int16 (short) from a file. The value is sign-extended to
an int32.

##### Parameters

- `file`: Handle to the file
- `data`: Variable to store the data read

##### Return

True on success, false on failure

#### FileReadInt32

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/FileReadInt32
- Line: 635

##### Syntax

```pawn
native bool:FileReadInt32(file, &any:data);
```

##### Description

Reads a single int32 (int/cell) from a file.

##### Parameters

- `file`: Handle to the file
- `data`: Variable to store the data read

##### Return

True on success, false on failure

#### FileReadInt8

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/FileReadInt8
- Line: 592

##### Syntax

```pawn
native bool:FileReadInt8(file, &any:data);
```

##### Description

Reads a single int8 (byte) from a file. The returned value is sign-
extended to an int32.

##### Parameters

- `file`: Handle to the file
- `data`: Variable to store the data read

##### Return

True on success, false on failure

#### FileReadUint16

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/FileReadUint16
- Line: 625

##### Syntax

```pawn
native bool:FileReadUint16(file, &any:data);
```

##### Description

Reads a single unt16 (unsigned short) from a file. The value is zero-
extended to an int32.

##### Parameters

- `file`: Handle to the file
- `data`: Variable to store the data read

##### Return

True on success, false on failure

#### FileReadUint8

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/FileReadUint8
- Line: 603

##### Syntax

```pawn
native bool:FileReadUint8(file, &any:data);
```

##### Description

Reads a single uint8 (unsigned byte) from a file. The returned value is
zero-extended to an int32.

##### Parameters

- `file`: Handle to the file
- `data`: Variable to store the data read

##### Return

True on success, false on failure

#### FileWriteInt16

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/FileWriteInt16
- Line: 655

##### Syntax

```pawn
native bool:FileWriteInt16(file, any:data);
```

##### Description

Writes a single int16 (short) to a file.

##### Parameters

- `file`: Handle to the file
- `data`: Data to write (truncated to an int16)

##### Return

True on success, false on failure

#### FileWriteInt32

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/FileWriteInt32
- Line: 665

##### Syntax

```pawn
native bool:FileWriteInt32(file, any:data);
```

##### Description

Writes a single int32 (int/cell) to a file.

##### Parameters

- `file`: Handle to the file
- `data`: Data to write

##### Return

True on success, false on failure

#### FileWriteInt8

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/FileWriteInt8
- Line: 645

##### Syntax

```pawn
native bool:FileWriteInt8(file, any:data);
```

##### Description

Writes a single int8 (byte) to a file.

##### Parameters

- `file`: Handle to the file
- `data`: Data to write (truncated to an int8)

##### Return

True on success, false on failure

#### GetFileTime

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/GetFileTime
- Line: 571

##### Syntax

```pawn
native GetFileTime(const file[], FileTimeType:tmode);
```

##### Description

Returns a file timestamp as a unix timestamp.

##### Parameters

- `file`: File name
- `tmode`: Time mode, see FileTime_* constants

##### Return

Returns a file timestamp as a unix timestamp

#### LoadFileForMe

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/LoadFileForMe
- Line: 561

##### Syntax

```pawn
native LoadFileForMe(const file[], buffer[], maxlength, &length = 0);
```

##### Description

Loads a file using the LoadFileForMe engine function.

The data is truncated if there is not enough space.  No null-terminator
is applied; the data is the raw contents of the file.

##### Parameters

- `file`: File to load (may be a file from the GCF)
- `buffer`: Buffer to store file contents
- `maxlength`: Maximum size of the file buffer
- `length`: Variable to store the file length.  This may return
a number larger than the buffer size

##### Return

-1 if the file could not be loaded.  Otherwise,
the number of cells actually written to the buffer
are returned.

#### SetFilePermissions

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/SetFilePermissions
- Line: 581

##### Syntax

```pawn
native bool:SetFilePermissions(const path[], mode);
```

##### Description

Changes a file or directories permissions.

##### Parameters

- `path`: Path to the file
- `mode`: Permissions to set, see FPERM_* constants

##### Return

True on success, false otherwise

#### close_dir

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/close_dir
- Line: 544

##### Syntax

```pawn
native close_dir(dirh);
```

##### Description

Closes the directory.

##### Parameters

- `dirh`: Handle to a directory

#### delete_file

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/delete_file
- Line: 156

##### Syntax

```pawn
native delete_file(const file[], bool:use_valve_fs = false, const valve_path_id[] = "GAMECONFIG");
```

##### Description

Deletes a file.

##### Parameters

- `file`: Path of the file to delete
- `use_valve_fs`: If true, the Valve file system will be used instead.
This can be used to delete files existing in the Valve
search path, rather than solely files existing directly
in the gamedir.
- `valve_path_id`: If use_valve_fs, a search path from gameinfo or NULL_STRING for all search paths.

##### Return

1 on success, 0 on failure or if file not immediately removed.

#### dir_exists

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/dir_exists
- Line: 195

##### Syntax

```pawn
native dir_exists(const dir[], bool:use_valve_fs = false);
```

##### Description

Checks if a directory exists.

##### Parameters

- `dir`: Path to the directory
- `use_valve_fs`: If true, the Valve file system will be used instead.
This can be used to find files existing in any of
the Valve search paths, rather than solely files
existing directly in the gamedir.

##### Return

1 if the directory exists, 0 otherwise

#### fclose

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fclose
- Line: 272

##### Syntax

```pawn
native fclose(file);
```

##### Description

Closes a file handle.

##### Parameters

- `file`: File handle

#### feof

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/feof
- Line: 361

##### Syntax

```pawn
native feof(file);
```

##### Description

Tests if the end of file has been reached.

##### Parameters

- `file`: Handle to the file

##### Return

1 if end of file has been reached, 0 otherwise.

#### fflush

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fflush
- Line: 452

##### Syntax

```pawn
native fflush(file);
```

##### Description

Flushes a buffered output stream.

##### Parameters

- `file`: File handle, or 0 for all open streams

##### Return

0 on success, -1 on failure

#### fgetc

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fgetc
- Line: 423

##### Syntax

```pawn
native fgetc(file);
```

##### Description

Gets character from file.

##### Parameters

- `file`: Handle to the file

##### Return

Character read on success, -1 otherwise

#### fgets

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fgets
- Line: 372

##### Syntax

```pawn
native fgets(file, buffer[], maxlength);
```

##### Description

Reads a line from a text file.

##### Parameters

- `file`: Handle to the file.
- `buffer`: String buffer to hold the line
- `maxlength`: Maximum size of string buffer

##### Return

Total number of characters written on success, 0 otherwise

#### file_exists

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/file_exists
- Line: 169

##### Syntax

```pawn
native file_exists(const file[], bool:use_valve_fs = false);
```

##### Description

Checks if a file exists.

##### Parameters

- `file`: Path to the file
- `use_valve_fs`: If true, the Valve file system will be used instead.
This can be used to find files existing in any of
the Valve search paths, rather than solely files
existing directly in the gamedir.

##### Return

1 if the file exists, 0 otherwise

#### file_size

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/file_size
- Line: 214

##### Syntax

```pawn
native file_size(const file[], flag = FSOPT_BYTES_COUNT, bool:use_valve_fs = false, const valve_path_id[] = "GAME");
```

##### Description

Get the file size in bytes.

##### Parameters

- `file`: Path to the file
- `flag`: Flag options, see FSOPT_* constants
- `use_valve_fs`: If true, the Valve file system will be used instead.
This can be used to find files existing in any of
the Valve search paths, rather than solely files
existing directly in the gamedir.
If used, flag option is ignored.
- `valve_path_id`: If use_valve_fs, a search path from gameinfo or NULL_STRING for all search paths

##### Return

If flag is FSOPT_BYTES_COUNT or use_valve_fs to true, the file size in bytes
If flag is FSOPT_LINES_COUNT, the number of lines in the file
If flag is FSOPT_END_WITH_LF, 1 is returned if file ends with line feed
If file doesn't exist, -1

#### filesize

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/filesize
- Line: 462

##### Syntax

```pawn
native filesize(const filename[], any:...);
```

##### Description

Gets the formatted file size in bytes.

##### Parameters

- `filename`: Path to the file
- `...`: Variable number of format parameters

##### Return

File size in bytes, otherwise -1 if file not found

#### fopen

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fopen
- Line: 265

##### Syntax

```pawn
native fopen(const filename[], const mode[], bool:use_valve_fs = false, const valve_path_id[] = "GAME");
```

##### Description

Opens or creates a file, returning a file handle on success. File handles
should be closed with fclose().

##### Parameters

- `filename`: File to open
- `mode`: Open mode
- `use_valve_fs`: If true, the Valve file system will be used instead
This can be used to finred files existing in valve
search paths, rather than solely files existing directly
in the gamedir.
- `valve_path_id`: If use_valve_fs, a search path from gameinfo or NULL_STRING for all search paths

##### Note

The open mode may be one of the following strings:
"r": Open an existing file for reading.
"w": Create a file for writing, or truncate (delete the contents of) an
existing file and then open it for writing.
"a": Create a file for writing, or open an existing file such that writes
will be appended to the end.
"r+": Open an existing file for both reading and writing.
"w+": Create a file for reading and writing, or truncate an existing file
and then open it for reading and writing.
"a+": Create a file for both reading and writing, or open an existing file
such that writes will be appended to the end.

##### Note

The open mode may also contain an additional character after "r", "w", or "a",
but before any "+" sign. This character may be "b" (indicating binary mode) or
"t" (indicating text mode). By default, "text" mode is implied. On Linux and
Mac, this has no distinction from binary mode. On Windows, it causes the '\n'
character (0xA) to be written as "\r\n" (0xD, 0xA).
Example: "rb" opens a binary file for writing; "at" opens a text file for
appending.

##### Note

Registered paths ID are (in priority order) :
GAME           All paths related to current mod, including fallback
Depending settings, it includes: <gamedir>_lv/_addon/_<language>/_hd
and <gamedir> itself
GAMECONFIG     The default writable directory (<gamedir>)
GAMEDOWNLOAD   The download directory (<gamedir>_download)
GAME_FALLBACK  All paths related to fallback game, same as GAME
DEFAULTGAME    All paths related to the default game which is "valve", same as GAME
BASE           The base path where server is installed
Note that some paths are non-writable. It includes all <gamedir>_* (expect _download)
and DEFAULTGAME. Any file inside a non-writable path will be ignored if you try to open
it in writing mode.

##### Return

A file handle, or null if the file could not be opened.

#### fprintf

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fprintf
- Line: 394

##### Syntax

```pawn
native fprintf(file, const fmt[], any:...);
```

##### Description

Writes a line of formatted text to a text file.

##### Parameters

- `file`: Handle to the file
- `format`: Formatting rules
- `...`: Variable number of format parameters

##### Return

Total number of characters written on success, 0 otherwise

#### fputc

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fputc
- Line: 433

##### Syntax

```pawn
native fputc(file, data);
```

##### Description

Writes character to file

##### Parameters

- `file`: Handle to the file
- `data`: Character to put

##### Return

Character written on success, -1 otherwise

#### fputs

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fputs
- Line: 383

##### Syntax

```pawn
native fputs(file, const text[], bool:null_term = false);
```

##### Description

Writes a line of text to a text file.

##### Parameters

- `file`: Handle to the file
- `text`: String to write
- `null_term`: True to append NULL terminator, false otherwise

##### Return

0 on success, -1 otherwise

#### fread

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fread
- Line: 284

##### Syntax

```pawn
native fread(file, &any:data, mode);
```

##### Description

Reads a single binary data from a file.

##### Parameters

- `file`: Handle to the file
- `data`: Variable to store item read
- `mode`: Size of each element, in bytes, to be read
See BLOCK_* constants

##### Return

Number of elements read

#### fread_blocks

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fread_blocks
- Line: 297

##### Syntax

```pawn
native fread_blocks(file, any:data[], blocks, mode);
```

##### Description

Reads binary data from a file.

##### Parameters

- `file`: Handle to the file
- `data`: Array to store each item read
- `blocks`: Number of items to read into the array
- `mode`: Size of each element, in bytes, to be read
Valid sizes are 1, 2, or 4. See BLOCK_* constants.

##### Return

Number of elements read

#### fread_raw

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fread_raw
- Line: 312

##### Syntax

```pawn
native fread_raw(file, any:stream[], blocksize, blocks);
```

##### Description

Reads raw binary data from a file.

##### Parameters

- `file`: Handle to the file
- `stream`: Array to store each item read
- `blocksize`: Number of items to read into the array
- `blocks`: Size of each element, in bytes. The data is read directly.
That is, in 1 or 2-byte mode, the lower byte(s) in
each cell are used directly, rather than performing
any casts from a 4-byte number to a smaller number.

##### Return

Number of elements read

#### fseek

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fseek
- Line: 405

##### Syntax

```pawn
native fseek(file, position, start);
```

##### Description

Sets the file position indicator.

##### Parameters

- `file`: Handle to the file
- `position`: Position relative to what is specified in whence
- `start`: SEEK_ constant value of where to see from

##### Return

0 on success, a non-zero value otherwise

#### ftell

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/ftell
- Line: 414

##### Syntax

```pawn
native ftell(file);
```

##### Description

Gets current position in the file.

##### Parameters

- `file`: Handle to the file

##### Return

Value for the file position indicator

#### fungetc

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fungetc
- Line: 443

##### Syntax

```pawn
native fungetc(file, data);
```

##### Description

Ungets character from file.

##### Parameters

- `file`: Handle to the file
- `data`: Character to unget

##### Return

On success, the character put back is returned, -1 otherwise

#### fwrite

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fwrite
- Line: 324

##### Syntax

```pawn
native fwrite(file, any:data, mode);
```

##### Description

Writes a single binary data to a file.

##### Parameters

- `file`: Handle to the file
- `data`: Item to write
- `mode`: Size of each item in the array in bytes
Valid sizes are 1, 2, or 4. See BLOCK_* constants

##### Return

Number of elements written

#### fwrite_blocks

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fwrite_blocks
- Line: 337

##### Syntax

```pawn
native fwrite_blocks(file, const any:data[], blocks, mode);
```

##### Description

Writes binary data to a file.

##### Parameters

- `file`: Handle to the file
- `data`: Array of items to write
- `blocks`: Number of items in the array
- `mode`: Size of each item in the array in bytes
Valid sizes are 1, 2, or 4. See BLOCK_* constants

##### Return

Number of elements written

#### fwrite_raw

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/fwrite_raw
- Line: 352

##### Syntax

```pawn
native fwrite_raw(file, const any:stream[], blocks, mode);
```

##### Description

Writes raw binary data to a file.

##### Parameters

- `file`: Handle to the file.
- `stream`: Array of items to write.  The data is written directly.
That is, in 1 or 2-byte mode, the lower byte(s) in
each cell are used directly, rather than performing
any casts from a 4-byte number to a smaller number.
- `blocks`: Size of each item in the array in bytes.
- `mode`: Number of items in the array.

##### Return

Number of elements written

#### mkdir

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/mkdir
- Line: 489

##### Syntax

```pawn
native mkdir(const dirname[], mode = FPERM_DIR_DEFAULT, bool:use_valve_fs = false, const valve_path_id[] = "GAMECONFIG");
```

##### Description

Creates a directory.

##### Parameters

- `path`: Path to create
- `mode`: Permissions (default is o=rx,g=rx,u=rwx).  Note that folders must have
the execute bit set on Linux.  On Windows, the mode is ignored.
- `use_valve_fs`: If true, the Valve file system will be used instead
This can be used to create folders in the game's
Valve search paths, rather than directly in the gamedir.
- `valve_path_id`: If use_valve_fs, a search path from gameinfo or NULL_STRING for default
In this case, mode is ignored

##### Return

0 on success, -1 otherwise

#### next_file

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/next_file
- Line: 537

##### Syntax

```pawn
native next_file(dirh, buffer[], length, &FileType:type = FileType_Unknown);
```

##### Description

Reads the next directory entry as a local filename.

##### Parameters

- `dirh`: Handle to a directory
- `buffer`: String buffer to hold directory name
- `length`: Maximum size of string buffer
- `type`: Optional variable to store the file type. FileType_* constants

##### Note

Contents of buffers are undefined when returning false.

##### Note

Both the '.' and '..' automatic directory entries will be retrieved for Windows and Linux.

##### Return

1 on success, 0 if there are no more files to read.

#### open_dir

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/open_dir
- Line: 522

##### Syntax

```pawn
native open_dir(const dir[], firstfile[], length, &FileType:type = FileType_Unknown, bool:use_valve_fs = false, const valve_path_id[] = "GAME");
```

##### Description

Opens a directory/folder for contents enumeration.

##### Parameters

- `dir`: Path to open.
- `firstfile`: String buffer to hold first file name
- `length`: Maximum size of the string buffer
- `type`: Optional variable to store the file type
- `use_valve_fs`: If true, the Valve file system will be used instead.
This can be used to find files existing in any of
the Valve search paths, rather than solely files
existing directly in the gamedir.
- `valve_path_id`: If use_valve_fs, a search path from gameinfo or NULL_STRING for all search paths.

##### Note

Directories are closed with close_dir().

##### Return

Handle to the directory, 0 otherwise

#### read_dir

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/read_dir
- Line: 109

##### Syntax

```pawn
native read_dir(const dirname[], pos, output[], len, &outlen = 0);
```

##### Description

Reads content from directory

##### Parameters

- `dirname`: Path to open
- `pos`: Index the element
- `output`: String buffer to hold content
- `len`: Maximum size of string buffer
- `outlen`: Number of characters written to the buffer

##### Note

This native is expensive. Consider the use of open_dir(), next_file() and close_dir() instead.

##### Note

Both the '.' and '..' automatic directory entries will be retrieved for Windows and Linux.

##### Return

Returns index of next element, otherwiwe 0 when end of dir is reached

#### read_file

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/read_file
- Line: 126

##### Syntax

```pawn
native read_file(const file[], line, text[], len, &txtlen = 0);
```

##### Description

Reads line from file.

##### Parameters

- `file`: Path to open
- `line`: Index of the line, starting to 0
- `text`: String buffer to hold line read
- `len`: Maximum size of string buffer
- `txtlen`: Number of characters written to the buffer

##### Note

This native is expensive. Consider the use of new file natives (fopen(), fgets(), etc.)
if purpose is to read several lines of a file.

##### Return

Returns index of next line, otherwise 0 when end of file is reached

##### Error

Unable to read the file

#### rename_file

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/rename_file
- Line: 182

##### Syntax

```pawn
native rename_file(const oldname[], const newname[], relative = 0);
```

##### Description

Renames a file.

##### Parameters

- `oldname`: New path to the file
- `newname`: Path to the existing file
- `relative`: If true, native  will act like other natives which
use the moddir as a base directory. Otherwise, the
current directory is undefined (but assumed to be hlds).

##### Return

1 on success, 0 otherwise

#### rmdir

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/rmdir
- Line: 473

##### Syntax

```pawn
native rmdir(const path[]);
```

##### Description

Removes a directory.

##### Parameters

- `path`: Path to the directory

##### Note

On most Operating Systems you cannot remove a directory which has files inside it.

##### Return

1 on success, 0 otherwise

#### unlink

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/unlink
- Line: 503

##### Syntax

```pawn
native unlink(const filename[], bool:use_valve_fs = false, const valve_path_id[] = "GAMECONFIG");
```

##### Description

Deletes a file (delete_file macro)

##### Parameters

- `filename`: Path of the file to delete
- `use_valve_fs`: If true, the Valve file system will be used instead.
This can be used to delete files existing in the Valve
search path, rather than solely files existing directly
in the gamedir.
- `valve_path_id`: If use_valve_fs, a search path from gameinfo or NULL_STRING for all search paths

##### Return

1 on success, 0 on failure or if file not immediately removed

#### write_file

- Include: `file.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/file/function/write_file
- Line: 142

##### Syntax

```pawn
native write_file(const file[], const text[], line = -1);
```

##### Description

Writes text to file.

##### Parameters

- `file`: Path to open
- `text`: String to write to
- `line`: Index of the line, starting to 0
If < 0, content will be appended

##### Note

This native is expensive. Consider the use of new file natives (fopen(), fputs(), etc.)
if purpose is to write several lines of a file.

##### Return

This function has no return value.

##### Error

Unable to write [temporary] file

## float.inc

- HTML: https://amxx-api.csrevo.com/float
- Group: Base includes
- Functions: 59
- Documented constants: 2

### Constants

#### floatround_method

Different methods of rounding

```pawn
enum floatround_method {
	floatround_round = 0,
	floatround_floor,
	floatround_ceil,
	floatround_tozero
};
```

#### anglemode

Different units of measurement for angles

```pawn
enum anglemode {
	radian = 0,
	degrees,
	grades
};
```

### Functions

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 360

##### Syntax

```pawn
forward operator%(Float:oper1, Float:oper2);
```

##### Description

forbidden operations

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 361

##### Syntax

```pawn
forward operator%(Float:oper1, oper2);
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 362

##### Syntax

```pawn
forward operator%(oper1, Float:oper2);
```

##### Description

This function has no description.

#### float

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/float
- Line: 44

##### Syntax

```pawn
native Float:float(value);
```

##### Description

Converts an integer into a floating point value.

##### Parameters

- `value`: Value to be converted

##### Return

Converted value

#### floatabs

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatabs
- Line: 206

##### Syntax

```pawn
native Float:floatabs(Float:value);
```

##### Description

Returns the absolute value of a floating point value

##### Parameters

- `value`: The floating point value to get the absolute value from

##### Return

The absolute value

#### floatacos

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatacos
- Line: 233

##### Syntax

```pawn
native Float:floatacos(Float:angle, {anglemode,_}:radix);
```

##### Description

Returns the angle of the given cosine

##### Parameters

- `value`: The cosine to calculate the angle from
- `mode`: What unit of measurement should the output angle be in

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

The angle of a cosine

#### floatadd

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatadd
- Line: 270

##### Syntax

```pawn
native Float:floatadd(Float:dividend, Float:divisor);
```

##### Description

Add two floats together

#### floatasin

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatasin
- Line: 245

##### Syntax

```pawn
native Float:floatasin(Float:angle, {anglemode,_}:radix);
```

##### Description

Returns the angle of the given sine

##### Parameters

- `value`: The sine to calculate the angle from
- `mode`: What unit of measurement should the output angle be in

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

The angle of a sine

#### floatatan

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatatan
- Line: 221

##### Syntax

```pawn
native Float:floatatan(Float:angle, {anglemode,_}:radix);
```

##### Description

Returns the angle of the given tangent

##### Parameters

- `value`: The tangent to calculate the angle from
- `mode`: What unit of measurement should the output angle be in

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

The angle of a tangent

#### floatatan2

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatatan2
- Line: 259

##### Syntax

```pawn
native Float:floatatan2(Float:x, Float:y, {anglemode,_}:radix);
```

##### Description

Computes the principal value of arctangent of y/x

##### Parameters

- `x`: Value representing the proportion of the x-coordinate.
- `y`: Value representing the proportion of the x-coordinate.
- `mode`: What unit of measurement should the output angle be in

##### Note

Someone should verify this native, not sure what it actually does.

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

Arctangent of y/x

#### floatcmp

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatcmp
- Line: 87

##### Syntax

```pawn
native floatcmp(Float:fOne, Float:fTwo);
```

##### Description

Compares two floating point values.

##### Parameters

- `fOne`: First value to be compared
- `fTwo`: Second value to be compared

##### Return

If arguments are equal, returns 0.
If the first one is greater, returns 1.
If the second one is greater, returns -1.

#### floatcos

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatcos
- Line: 145

##### Syntax

```pawn
native Float:floatcos(Float:value, anglemode:mode=radian);
```

##### Description

Returns the cosine of a given angle

##### Parameters

- `value`: The angle to calculate the cosine from
- `mode`: What unit of measurement is the angle specified in
Defaults to radians

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

The cosine of a given angle

#### floatcosh

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatcosh
- Line: 184

##### Syntax

```pawn
native Float:floatcosh(Float:angle, anglemode:mode=radian);
```

##### Description

Returns the hyperbolic cosine of a given angle

##### Parameters

- `value`: The angle to calculate the hyperbolic cosine from
- `mode`: What unit of measurement is the angle specified in
Defaults to radians

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

The hyperbolic cosine of a given angle

#### floatdiv

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatdiv
- Line: 267

##### Syntax

```pawn
native Float:floatdiv(Float:dividend, Float:divisor);
```

##### Description

Divide the dividend float by the divisor float

#### floatfract

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatfract
- Line: 62

##### Syntax

```pawn
native Float:floatfract(Float:value);
```

##### Description

Returns the fractional part of a floating point value

##### Parameters

- `string`: Floating point value to get the fractional part from

##### Return

The fractional part

#### floatlog

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatlog
- Line: 119

##### Syntax

```pawn
native Float:floatlog(Float:value, Float:base=10.0);
```

##### Description

Returns the logarithm of value

##### Parameters

- `value`: Floating point value to calculate the logarithm for
- `base`: The optional logarithmic base to use.
Defaults to 10, or the natural logarithm

##### Return

Square root of the input value

#### floatmul

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatmul
- Line: 264

##### Syntax

```pawn
native Float:floatmul(Float:oper1, Float:oper2);
```

##### Description

Multiply two floats together

#### floatpower

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatpower
- Line: 108

##### Syntax

```pawn
native Float:floatpower(Float:value, Float:exponent);
```

##### Description

Returns the value raised to the power of the exponent

##### Parameters

- `value`: Floating point value to be raised
- `exponent`: The exponent

##### Return

Value raised to the power of the exponent

#### floatround

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatround
- Line: 75

##### Syntax

```pawn
native floatround(Float:value, floatround_method:method=floatround_round);
```

##### Description

Rounds a floating point value to an integer value

##### Parameters

- `value`: Floating point value to be rounded
- `method`: Rounding method

##### Note

For the list of available rounding methods look at
floatround_method enumeration.

##### Return

Converted value

#### floatsin

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatsin
- Line: 132

##### Syntax

```pawn
native Float:floatsin(Float:value, anglemode:mode=radian);
```

##### Description

Returns the sine of a given angle

##### Parameters

- `value`: The angle to calculate the sine from
- `mode`: What unit of measurement is the angle specified in
Defaults to radians

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

The sine of a given angle

#### floatsinh

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatsinh
- Line: 171

##### Syntax

```pawn
native Float:floatsinh(Float:angle, anglemode:mode=radian);
```

##### Description

Returns the hyperbolic sine of a given angle

##### Parameters

- `value`: The angle to calculate the hyperbolic sine from
- `mode`: What unit of measurement is the angle specified in
Defaults to radians

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

The hyperbolic sine of a given angle

#### floatsqroot

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatsqroot
- Line: 98

##### Syntax

```pawn
native Float:floatsqroot(Float:value);
```

##### Description

Returns the square root of a floating point value

##### Parameters

- `value`: Floating point value to get square root from

##### Note

Same as floatpower(value, 0.5)

##### Return

Square root of the input value

#### floatstr

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatstr
- Line: 53

##### Syntax

```pawn
native Float:floatstr(const string[]);
```

##### Description

Converts a string into a floating point value.

##### Parameters

- `string`: Input string to be converted

##### Return

Converted value

#### floatsub

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floatsub
- Line: 273

##### Syntax

```pawn
native Float:floatsub(Float:oper1, Float:oper2);
```

##### Description

Subtract oper2 float from oper1 float

#### floattan

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floattan
- Line: 158

##### Syntax

```pawn
native Float:floattan(Float:value, anglemode:mode=radian);
```

##### Description

Returns the tangent of a given angle

##### Parameters

- `value`: The angle to calculate the tangent from
- `mode`: What unit of measurement is the angle specified in
Defaults to radians

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

The tangent of a given angle

#### floattanh

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/floattanh
- Line: 197

##### Syntax

```pawn
native Float:floattanh(Float:angle, anglemode:mode=radian);
```

##### Description

Returns the hyperbolic tangent of a given angle

##### Parameters

- `value`: The angle to calculate the hyperbolic tangent from
- `mode`: What unit of measurement is the angle specified in
Defaults to radians

##### Note

For available units of measurements(modes) look at the anglemode enum

##### Return

The hyperbolic tangent of a given angle

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 276

##### Syntax

```pawn
native Float:operator*(Float:oper1, Float:oper2) = floatmul;
```

##### Description

user defined operators

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 277

##### Syntax

```pawn
native Float:operator/(Float:oper1, Float:oper2) = floatdiv;
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 278

##### Syntax

```pawn
native Float:operator+(Float:oper1, Float:oper2) = floatadd;
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 279

##### Syntax

```pawn
native Float:operator-(Float:oper1, Float:oper2) = floatsub;
```

##### Description

This function has no description.

#### floatclamp

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/floatclamp
- Line: 410

##### Syntax

```pawn
stock Float:floatclamp(Float:Value, Float:MinValue, Float:MaxValue)
```

##### Description

Clamps a value between a minimum and a maximum floating point value

##### Parameters

- `Value`: The value to be clamped
- `MinValue`: Minimum value
- `MaxValue`: Maximum value

##### Return

The Value clamped between MinValue and MaxValue

#### floatmax

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/floatmax
- Line: 391

##### Syntax

```pawn
stock Float:floatmax(Float:ValueA, Float:ValueB)
```

##### Description

Returns whichever value is the greater one

##### Parameters

- `ValueA`: The first value
- `ValueB`: The second value

##### Return

ValueA if it is greater than ValueB, and vice versa

#### floatmin

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/floatmin
- Line: 373

##### Syntax

```pawn
stock Float:floatmin(Float:ValueA, Float:ValueB)
```

##### Description

Returns whichever value is the smaller one

##### Parameters

- `ValueA`: The first value
- `ValueB`: The second value

##### Return

ValueA if it is smaller than ValueB, and vice versa

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 281

##### Syntax

```pawn
stock Float:operator++(Float:oper)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 284

##### Syntax

```pawn
stock Float:operator--(Float:oper)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 287

##### Syntax

```pawn
stock Float:operator-(Float:oper)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 290

##### Syntax

```pawn
stock Float:operator*(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 293

##### Syntax

```pawn
stock Float:operator/(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 296

##### Syntax

```pawn
stock Float:operator/(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 299

##### Syntax

```pawn
stock Float:operator+(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 302

##### Syntax

```pawn
stock Float:operator-(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 305

##### Syntax

```pawn
stock Float:operator-(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 308

##### Syntax

```pawn
stock bool:operator==(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 311

##### Syntax

```pawn
stock bool:operator==(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 314

##### Syntax

```pawn
stock bool:operator!=(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 317

##### Syntax

```pawn
stock bool:operator!=(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 320

##### Syntax

```pawn
stock bool:operator>(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 323

##### Syntax

```pawn
stock bool:operator>(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 326

##### Syntax

```pawn
stock bool:operator>(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 329

##### Syntax

```pawn
stock bool:operator>=(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 332

##### Syntax

```pawn
stock bool:operator>=(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 335

##### Syntax

```pawn
stock bool:operator>=(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 338

##### Syntax

```pawn
stock bool:operator<(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 341

##### Syntax

```pawn
stock bool:operator<(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 344

##### Syntax

```pawn
stock bool:operator<(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 347

##### Syntax

```pawn
stock bool:operator<=(Float:oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 350

##### Syntax

```pawn
stock bool:operator<=(Float:oper1, oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 353

##### Syntax

```pawn
stock bool:operator<=(oper1, Float:oper2)
```

##### Description

This function has no description.

#### operator

- Include: `float.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/float/function/operator
- Line: 356

##### Syntax

```pawn
stock bool:operator!(Float:oper)
```

##### Description

This function has no description.

## fun.inc

- HTML: https://amxx-api.csrevo.com/fun
- Group: Base includes
- Functions: 23
- Documented constants: 1

### Constants

#### Parts of body for hits, for use with set_user_hitzones().

Parts of body for hits, for use with set_user_hitzones().

```pawn
const HITZONE_GENERIC  = (1 << HIT_GENERIC);   // 1
const HITZONE_HEAD     = (1 << HIT_HEAD);      // 2
const HITZONE_CHEST    = (1 << HIT_CHEST);     // 4
const HITZONE_STOMACH  = (1 << HIT_STOMACH);   // 8
const HITZONE_LEFTARM  = (1 << HIT_LEFTARM);   // 16
const HITZONE_RIGHTARM = (1 << HIT_RIGHTARM);  // 32
const HITZONE_LEFTLEG  = (1 << HIT_LEFTLEG);   // 64
const HITZONE_RIGHTLEG = (1 << HIT_RIGHTLEG);  // 128
const HITZONES_DEFAULT = HITZONE_GENERIC | HITZONE_HEAD     | HITZONE_CHEST   | HITZONE_STOMACH | 
                         HITZONE_LEFTARM | HITZONE_RIGHTARM | HITZONE_LEFTLEG | HITZONE_RIGHTLEG; // 255
```

### Functions

#### get_client_listen

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/get_client_listen
- Line: 49

##### Syntax

```pawn
native get_client_listen(receiver, sender);
```

##### Description

Tells whether receiver hears sender via voice communication.

##### Parameters

- `receiver`: Receiver
- `sender`: Sender

##### Return

1 if receiver hears the sender, 0 otherwise.

##### Error

If receiver or sender are not connected or not
within the range of 1 to MaxClients

#### get_user_footsteps

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/get_user_footsteps
- Line: 298

##### Syntax

```pawn
native get_user_footsteps(index);
```

##### Description

Tells whether a player has silent footsteps enabled.

##### Parameters

- `index`: Client index

##### Return

1 if silent footsteps are enabled, 0 if not

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### get_user_godmode

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/get_user_godmode
- Line: 85

##### Syntax

```pawn
native get_user_godmode(index);
```

##### Description

Tells whether a player has godmode on.

##### Parameters

- `index`: Client index

##### Return

1 if player has godmode on, 0 if not

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### get_user_gravity

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/get_user_gravity
- Line: 253

##### Syntax

```pawn
native Float:get_user_gravity(index);
```

##### Description

Gets player's gravity.

##### Parameters

- `index`: Client index

##### Return

Player's gravity value, 1.0 being normal gravity (800)

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### get_user_hitzones

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/get_user_hitzones
- Line: 207

##### Syntax

```pawn
native get_user_hitzones(index, target);
```

##### Description

Gets the set of hit zone "rules" between @index and @target players.

##### Parameters

- `index`: Client index
- `target`: The target player

##### Note

For the body part bitsum, see HITZONE* constants.

##### Return

The bitsum of @target's body parts @index is able to hit

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### get_user_maxspeed

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/get_user_maxspeed
- Line: 230

##### Syntax

```pawn
native Float:get_user_maxspeed(index);
```

##### Description

Gets player's maximum movement speed.

##### Parameters

- `index`: Client index

##### Return

Player's maximum movement speed

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### get_user_noclip

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/get_user_noclip
- Line: 287

##### Syntax

```pawn
native get_user_noclip(index);
```

##### Description

Gets whether a player has noclip enabled or not.

##### Parameters

- `index`: Client index

##### Return

1 if noclip is enabled, 0 if disabled

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### get_user_rendering

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/get_user_rendering
- Line: 161

##### Syntax

```pawn
native get_user_rendering(index, &fx = kRenderFxNone, &r = 0, &g = 0, &b = 0, &render = kRenderNormal, &amount = 0);
```

##### Description

Gets player's rendering mode.

##### Parameters

- `index`: Client index
- `fx`: Variable to store the rendering effect
- `r`: Variable to store the amount of red color
- `g`: Variable to store the amount of green color
- `b`: Variable to store the amount of blue color
- `render`: Variable to store the render mode
- `amount`: Variable to store the render amount

##### Note

A really useful render modes reference:
https://sites.google.com/site/svenmanor/rendermodes

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### give_item

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/give_item
- Line: 176

##### Syntax

```pawn
native give_item(index, const item[]);
```

##### Description

Gives an item to a player.

##### Parameters

- `index`: Client index
- `item`: Classname of the item to give. Should start with either
"weapon_", "ammo_", "item_" or "tf_weapon_"

##### Return

Item entity index. If an invalid item name is
given or the item failed to create, it will return 0.
If the item was removed, it will return -1

##### Error

If player is not connected or not within the range
of 1 to MaxClients or item creation fails.

#### set_client_listen

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_client_listen
- Line: 62

##### Syntax

```pawn
native set_client_listen(receiver, sender, listen);
```

##### Description

Sets who can listen who.

##### Parameters

- `receiver`: Receiver
- `sender`: Sender
- `listen`: 1 if receiver should be able to hear sender, 0 if not

##### Return

0 if the setting can't be done for some reason

##### Error

If receiver or sender are not connected or not
within the range of 1 to MaxClients.

#### set_user_armor

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_armor
- Line: 97

##### Syntax

```pawn
native set_user_armor(index, armor);
```

##### Description

Sets player's armor amount.

##### Parameters

- `index`: Client index
- `armor`: The armor amount to set

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_footsteps

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_footsteps
- Line: 310

##### Syntax

```pawn
native set_user_footsteps(id, set = 1);
```

##### Description

Enables or disables player's silent footsteps.

##### Parameters

- `index`: Client index
- `set`: 1 if player should have silent footsteps, 0 otherwise

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_frags

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_frags
- Line: 333

##### Syntax

```pawn
native set_user_frags(index, frags);
```

##### Description

Sets player's frags amount.

##### Parameters

- `index`: Client index
- `frags`: The amount of frags to set

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_godmode

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_godmode
- Line: 74

##### Syntax

```pawn
native set_user_godmode(index, godmode = 0);
```

##### Description

Sets player's godmode.

##### Parameters

- `index`: Client index
- `godmode`: 1 to enable godmode, 0 to disable

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_gravity

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_gravity
- Line: 242

##### Syntax

```pawn
native set_user_gravity(index, Float:gravity = 1.0);
```

##### Description

Sets player's gravity.

##### Parameters

- `index`: Client index
- `gravity`: Gravity value to set, 1.0 being normal gravity (800)

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_health

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_health
- Line: 109

##### Syntax

```pawn
native set_user_health(index, health);
```

##### Description

Sets player's health amount.

##### Parameters

- `index`: Client index
- `health`: The health amount to set

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_hitzones

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_hitzones
- Line: 193

##### Syntax

```pawn
native set_user_hitzones(index = 0, target = 0, body = HITZONES_DEFAULT);
```

##### Description

Sets (adds, removes) hit zones for a player.

##### Parameters

- `index`: Client index
- `target`: The target player
- `body`: A bitsum of the body parts that can/can't be shot. See HITZONE* constants.

##### Note

This actually sets rules of how any player can hit any other.
Example: set_user_hitzones(id, target, 2) - makes @id able to
hit @target only in the head.

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_maxspeed

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_maxspeed
- Line: 219

##### Syntax

```pawn
native set_user_maxspeed(index, Float:speed = -1.0);
```

##### Description

Sets player's maximum movement speed.

##### Parameters

- `index`: Client index
- `speed`: The maximum speed player will be able to run at

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_noclip

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_noclip
- Line: 276

##### Syntax

```pawn
native set_user_noclip(index, noclip = 0);
```

##### Description

Enables or disables player's noclip.

##### Parameters

- `index`: Client index
- `noclip`: 1 to enable noclip, 0 to disable

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_origin

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_origin
- Line: 121

##### Syntax

```pawn
native set_user_origin(index, const origin[3]);
```

##### Description

Moves a player to the given origin.

##### Parameters

- `index`: Client index
- `origin`: Origin to move a player to

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### set_user_rendering

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/set_user_rendering
- Line: 141

##### Syntax

```pawn
native set_user_rendering(index, fx = kRenderFxNone, r = 0, g = 0, b = 0, render = kRenderNormal, amount = 0);
```

##### Description

Sets player's rendering mode.

##### Parameters

- `index`: Client index
- `fx`: Rendering effects. One of kRenderFx* constants
- `r`: The amount of red color (0 to 255)
- `g`: The amount of green color (0 to 255)
- `b`: The amount of blue color (0 to 255)
- `render`: Render mode. One of kRender* constants
- `amount`: Render amount (0 to 255)

##### Note

A really useful render modes reference:
https://sites.google.com/site/svenmanor/rendermodes

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### spawn

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/spawn
- Line: 264

##### Syntax

```pawn
native spawn(index);
```

##### Description

Spawns an entity.

##### Parameters

- `index`: Entity index

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

#### strip_user_weapons

- Include: `fun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/fun/function/strip_user_weapons
- Line: 321

##### Syntax

```pawn
native strip_user_weapons(index);
```

##### Description

Strips all weapons from a player, including their knife.

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

##### Error

If player is not connected or not within the range
of 1 to MaxClients.

## gameconfig.inc

- HTML: https://amxx-api.csrevo.com/gameconfig
- Group: Base includes
- Functions: 6
- Documented constants: 1

### Constants

#### GameConfig

GameConfig

```pawn
enum GameConfig
{
	Invalid_GameConfig = 0
};
```

### Functions

#### CloseGameConfigFile

- Include: `gameconfig.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/gameconfig/function/CloseGameConfigFile
- Line: 93

##### Syntax

```pawn
native CloseGameConfigFile(&GameConfig:handle);
```

##### Description

Destroys a game config and frees its memory.

##### Parameters

- `handle`: Game config handle

##### Note

The function automatically sets the variable passed to it to 0 to aid
in preventing accidental usage after destroy.

##### Return

1 on success, 0 if an invalid handle was passed in

#### GameConfGetAddress

- Include: `gameconfig.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/gameconfig/function/GameConfGetAddress
- Line: 81

##### Syntax

```pawn
native GameConfGetAddress(GameConfig:handle, const name[]);
```

##### Description

Finds an address calculation in a GameConfig file.

##### Parameters

- `handle`: Game config handle
- `name`: Name of the property to find

##### Return

An address calculated on success, otherwise 0 on failure.

##### Error

Invalid game config handle

#### GameConfGetClassOffset

- Include: `gameconfig.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/gameconfig/function/GameConfGetClassOffset
- Line: 57

##### Syntax

```pawn
native GameConfGetClassOffset(GameConfig:handle, const classname[], const key[]);
```

##### Description

Returns an offset value given a classname.

##### Parameters

- `handle`: Game config handle
- `classname`: Class name to match from the offset section
- `key`: Key to retrieve from the offset section

##### Return

An offset, or -1 on failure

##### Error

Invalid game config handle

#### GameConfGetKeyValue

- Include: `gameconfig.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/gameconfig/function/GameConfGetKeyValue
- Line: 70

##### Syntax

```pawn
native bool:GameConfGetKeyValue(GameConfig:handle, const key[], buffer[], maxlen);
```

##### Description

Gets the value of a key from the "Keys" section.

##### Parameters

- `handle`: Game config handle
- `key`: Key to retrieve from the Keys section
- `buffer`: Destination string buffer
- `maxlen`: Maximum length of output string buffer

##### Return

True if key existed, false otherwise

##### Error

Invalid game config handle

#### GameConfGetOffset

- Include: `gameconfig.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/gameconfig/function/GameConfGetOffset
- Line: 45

##### Syntax

```pawn
native GameConfGetOffset(GameConfig:handle, const key[]);
```

##### Description

Returns an offset value.

##### Parameters

- `handle`: Game config handle
- `key`: Key to retrieve from the offset section

##### Return

An offset, or -1 on failure

##### Error

Invalid game config handle

#### LoadGameConfigFile

- Include: `gameconfig.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/gameconfig/function/LoadGameConfigFile
- Line: 34

##### Syntax

```pawn
native GameConfig:LoadGameConfigFile(const file[]);
```

##### Description

Loads a game config file.

##### Parameters

- `file`: File to load

##### Note

The file path must be relative to the 'gamedata' folder under the data folder
and the extension should be omitted.

##### Return

A handle to the game config file

## geoip.inc

- HTML: https://amxx-api.csrevo.com/geoip
- Group: Base includes
- Functions: 15
- Documented constants: 6

### Constants

#### Untitled constant

Untitled constant

##### Global

IP addresses passed to these natives can contain ports, the ports will be ignored.

#### Lookup the two character country code for a given IP address. Sets the buffer to "error" on an unsuccessful lookup.

Lookup the two character country code for a given IP address. Sets the buffer to "error" on
an unsuccessful lookup.

```pawn
#pragma deprecated Use geoip_code2_ex() instead.
```

##### Deprecated

This native will overflow the buffer by one cell on an unknown ip lookup!
Use geoip_code2_ex instead.

##### Return

The result length.

#### Lookup the three character country code for a given IP address. Sets the buffer to "error" on an unsuccessful lookup.

Lookup the three character country code for a given IP address. Sets the buffer to "error" on
an unsuccessful lookup.

```pawn
#pragma deprecated Use geoip_code3_ex() instead.
```

##### Deprecated

This native will overflow the buffer by one cell on an unknown ip lookup!
Use geoip_code3_ex instead.

##### Return

The result length.

#### Lookup the full country name for the given IP address.  Sets the buffer to "error" on an unsuccessful lookup.

Lookup the full country name for the given IP address.  Sets the buffer to "error" on
an unsuccessful lookup.

```pawn
#pragma deprecated Use geoip_country_ex() instead.
```

##### Return

The result length.

#### SYSTEM_METRIC

Calculate the distance between geographical coordinates, latitude and longitude.

```pawn
#define SYSTEM_METRIC   0 // kilometers
#define SYSTEM_IMPERIAL 1 // statute miles
```

##### Note

This native requires GeoIP City database, which can be retrieved from:
http://dev.maxmind.com/geoip/geoip2/geolite2/ (MaxMind DB binary)

##### Return

The distance as result in specified system of measurement.

#### Continent

Look up the continent code for a given IP address.

```pawn
enum Continent
{
	CONTINENT_UNKNOWN = 0,
	CONTINENT_AFRICA,
	CONTINENT_ANTARCTICA,
	CONTINENT_ASIA,
	CONTINENT_EUROPE,
	CONTINENT_NORTH_AMERICA,
	CONTINENT_OCEANIA,
	CONTINENT_SOUTH_AMERICA,
};
```

##### Note

This native requires GeoIP City database, which can be retrieved from:
http://dev.maxmind.com/geoip/geoip2/geolite2/ (MaxMind DB binary)

##### Note

The code can be retrieved as integer (See CONTINENT_* constants.) or string (2 characters).

##### Note

Possible continent codes are AF, AN, AS, EU, NA, OC, SA for
Africa(1), Antarctica(2), Asia(3), Europe(4), North America(5), Oceania(6), South America(7).

##### Return

The continent id on successful lookup, 0 otherwise.

### Functions

#### geoip_city

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_city
- Line: 126

##### Syntax

```pawn
native geoip_city(const ip[], result[], len, id = -1);
```

##### Description

Look up the full city name for the given IP address.

##### Parameters

- `ip`: The IP address to look up.
- `result`: The result of the geoip look up.
- `len`: The maximum length of the result buffer.
- `id`: An optional player's index in order to return the result
in the player's language, if supported.
-1: the default language, which is english.
0: the server language. You can use LANG_SERVER define.
>=1: the player's language.

##### Note

This native requires GeoIP City database, which can be retrieved from:
http://dev.maxmind.com/geoip/geoip2/geolite2/ (MaxMind DB binary)

##### Return

The result length on successful lookup, 0 otherwise.

#### geoip_code2

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_code2
- Line: 63

##### Syntax

```pawn
native geoip_code2(const ip[], ccode[3]);
```

##### Description

This function has no description.

#### geoip_code2_ex

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_code2_ex
- Line: 37

##### Syntax

```pawn
native bool:geoip_code2_ex(const ip[], result[3]);
```

##### Description

Look up the two character country code for a given IP address.
e.g: "US", "CA", etc.

##### Parameters

- `ip`: The IP address to lookup.
- `result`: The result buffer.  If the lookup does not succeed, the buffer is not modified.

##### Return

true on a successful lookup, false on a failed lookup.

#### geoip_code3

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_code3
- Line: 78

##### Syntax

```pawn
native geoip_code3(const ip[], result[4]);
```

##### Description

This function has no description.

#### geoip_code3_ex

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_code3_ex
- Line: 48

##### Syntax

```pawn
native bool:geoip_code3_ex(const ip[], result[4]);
```

##### Description

Look up the three character country code for a given IP address.
e.g: "USA", "cAN", etc.

##### Parameters

- `ip`: The IP address to lookup.
- `result`: The result buffer.  If the lookup does not succeed, the buffer is not modified.

##### Return

true on a successful lookup, false on a failed lookup.

#### geoip_continent_code

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_continent_code
- Line: 245

##### Syntax

```pawn
native Continent:geoip_continent_code(const ip[], result[3]);
```

##### Description

This function has no description.

#### geoip_continent_name

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_continent_name
- Line: 264

##### Syntax

```pawn
native geoip_continent_name(const ip[], result[], len, id = -1);
```

##### Description

Look up the full continent name for the given IP address.

##### Parameters

- `ip`: The IP address to look up.
- `result`: The result of the geoip look up.
- `len`: The maximum length of the result buffer.
- `id`: An optional player's index in order to return the result
in the player's language, if supported.
-1: the default language, which is english.
0: the server language. You can use LANG_SERVER define.
>=1: the player's language.

##### Note

This native requires GeoIP City database, which can be retrieved from:
http://dev.maxmind.com/geoip/geoip2/geolite2/ (MaxMind DB binary)

##### Return

The result length on successful lookup, 0 otherwise.

#### geoip_country

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_country
- Line: 91

##### Syntax

```pawn
native geoip_country(const ip[], result[], len = 45);
```

##### Description

This function has no description.

#### geoip_country_ex

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_country_ex
- Line: 107

##### Syntax

```pawn
native geoip_country_ex(const ip[], result[], len, id = -1);
```

##### Description

Lookup the full country name for the given IP address.

##### Parameters

- `ip`: The IP address to lookup.
- `result`: The result of the geoip lookup.
- `len`: The maximum length of the result buffer.
- `id`: An optional player's index in order to return the result
in the player's language, if supported.
-1: the default language, which is english.
0: the server language. You can use LANG_SERVER define.
>=1: the player's language.

##### Return

The result length on successful lookup, 0 otherwise.

#### geoip_distance

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_distance
- Line: 218

##### Syntax

```pawn
native Float:geoip_distance(Float:lat1, Float:lon1, Float:lat2, Float:lon2, system = SYSTEM_METRIC);
```

##### Description

This function has no description.

#### geoip_latitude

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_latitude
- Line: 187

##### Syntax

```pawn
native Float:geoip_latitude(const ip[]);
```

##### Description

Look up the city's latitude for the given IP address.

##### Parameters

- `ip`: The IP address to look up.

##### Note

This native requires GeoIP City database, which can be retrieved from:
http://dev.maxmind.com/geoip/geoip2/geolite2/ (MaxMind DB binary)

##### Return

The result of the geoip look up, 0 if latitude is not found.

#### geoip_longitude

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_longitude
- Line: 199

##### Syntax

```pawn
native Float:geoip_longitude(const ip[]);
```

##### Description

Look up the city's longitude for the given IP address.

##### Parameters

- `ip`: The IP address to look up.

##### Note

This native requires GeoIP City database, which can be retrieved from:
http://dev.maxmind.com/geoip/geoip2/geolite2/ (MaxMind DB binary)

##### Return

The result of the geoip look up, 0 if longitude is not found.

#### geoip_region_code

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_region_code
- Line: 141

##### Syntax

```pawn
native geoip_region_code(const ip[], result[], len);
```

##### Description

Look up the region/state code for the given IP address.
e.g. "US-OH", "DE-HH", IT-82, "FR-U", etc.

##### Parameters

- `ip`: The IP address to look up.
- `result`: The result of the geoip look up.
- `len`: The maximum length of the result buffer.

##### Note

This native requires GeoIP City database, which can be retrieved from:
http://dev.maxmind.com/geoip/geoip2/geolite2/ (MaxMind DB binary)

##### Return

The result length on successful lookup, 0 otherwise.

#### geoip_region_name

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_region_name
- Line: 160

##### Syntax

```pawn
native geoip_region_name(const ip[], result[], len, id = -1);
```

##### Description

Look up the full region/state name for the given IP address.

##### Parameters

- `ip`: The IP address to look up.
- `result`: The result of the geoip look up.
- `len`: The maximum length of the result buffer.
- `id`: An optional player's index in order to return the result
in the player's language, if supported.
-1: the default language, which is english.
0: the server language. You can use LANG_SERVER define.
>=1: the player's language.

##### Note

This native requires GeoIP City database, which can be retrieved from:
http://dev.maxmind.com/geoip/geoip2/geolite2/ (MaxMind DB binary)

##### Return

The result length on successful lookup, 0 otherwise.

#### geoip_timezone

- Include: `geoip.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/geoip/function/geoip_timezone
- Line: 175

##### Syntax

```pawn
native geoip_timezone(const ip[], result[], len);
```

##### Description

Look up the full time zone for the given IP address.
e.g. America/Los_Angeles, Europe/Paris.

##### Parameters

- `ip`: The IP address to look up.
- `result`: The result of the geoip look up.
- `len`: The maximum length of the result buffer.

##### Note

This native requires GeoIP City database, which can be retrieved from:
http://dev.maxmind.com/geoip/geoip2/geolite2/ (MaxMind DB binary)

##### Return

The result length on successful lookup, 0 otherwise.

## hamsandwich.inc

- HTML: https://amxx-api.csrevo.com/hamsandwich
- Group: Base includes
- Functions: 39
- Documented constants: 1

### Constants

#### _hamsandwich_included

Ham Sandwich is a module that is used to hook and call virtual functions of
 entities.
Virtual functions are mod-specific functions.  This means that in order
 for this to work on a mod, it needs to be configured with the gamedata
 file.
Be very careful with parameter passing to these functions.

```pawn
#if defined _hamsandwich_included
	#endinput
#endif
#define _hamsandwich_included

#include <ham_const>

#pragma reqlib hamsandwich
#if !defined AMXMODX_NOAUTOLOAD
	#pragma loadlib hamsandwich
#endif
```

### Functions

#### CreateHamItemInfo

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/CreateHamItemInfo
- Line: 341

##### Syntax

```pawn
native CreateHamItemInfo();
```

##### Description

Creates an ItemInfo handle.  This value should never be altered.
The handle can be used in Get/SetHamItemInfo.

NOTE: You must call FreeHamItemInfo() on every handle made with CreateHamItemInfo().

##### Return

A new ItemInfo handle.

#### DisableHamForward

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/DisableHamForward
- Line: 86

##### Syntax

```pawn
native DisableHamForward(HamHook:fwd);
```

##### Description

Stops a ham forward from triggering.
Use the return value from RegisterHam as the parameter here!

##### Parameters

- `fwd`: The forward to stop.

#### EnableHamForward

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/EnableHamForward
- Line: 94

##### Syntax

```pawn
native EnableHamForward(HamHook:fwd);
```

##### Description

Starts a ham forward back up.
Use the return value from RegisterHam as the parameter here!

##### Parameters

- `fwd`: The forward to re-enable.

#### ExecuteHam

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/ExecuteHam
- Line: 103

##### Syntax

```pawn
native ExecuteHam(Ham:function, this, any:...);
```

##### Description

Executes the virtual function on the entity.
Look at the Ham enum for parameter lists.

##### Parameters

- `function`: The function to call.
- `id`: The id of the entity to execute it on.

#### ExecuteHamB

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/ExecuteHamB
- Line: 113

##### Syntax

```pawn
native ExecuteHamB(Ham:function, this, any:...);
```

##### Description

Executes the virtual function on the entity, this will trigger all hooks on that function.
Be very careful about recursion!
Look at the Ham enum for parameter lists.

##### Parameters

- `function`: The function to call.
- `id`: The id of the entity to execute it on.

#### FreeHamItemInfo

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/FreeHamItemInfo
- Line: 351

##### Syntax

```pawn
native FreeHamItemInfo(itemInfo_handle);
```

##### Description

Frees an ItemIndo handle created with CreateHamItemInfo().  Do not call
this more than once per handle, or on handles not created through
CreateHamItemInfo().

##### Parameters

- `itemInfo_handle`: ItemInfo handle created via CreateHamItemInfo().

##### Return

This function has no return value.

#### GetHamItemInfo

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetHamItemInfo
- Line: 322

##### Syntax

```pawn
native GetHamItemInfo(iteminfo_handle, HamItemInfo:type, any:...);
```

##### Description

Gets a parameter on the fly of the current hook.
Use this on parameters that are iteminfo result handles.

##### Parameters

- `iteminfo_handle`: Item info handle.
- `type`: Item info type. See HamItemInfo constants.

#### GetHamReturnEntity

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetHamReturnEntity
- Line: 149

##### Syntax

```pawn
native GetHamReturnEntity(&output);
```

##### Description

Gets the return value of a hook for hooks that return entities.

##### Parameters

- `output`: The variable to store the value in. Will be -1 on null.

#### GetHamReturnFloat

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetHamReturnFloat
- Line: 135

##### Syntax

```pawn
native GetHamReturnFloat(&Float:output);
```

##### Description

Gets the return value of a hook for hooks that return float.

##### Parameters

- `output`: The variable to store the value in.

#### GetHamReturnInteger

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetHamReturnInteger
- Line: 128

##### Syntax

```pawn
native GetHamReturnInteger(&output);
```

##### Description

Gets the return value of a hook for hooks that return integers or booleans.

##### Parameters

- `output`: The variable to store the value in.

#### GetHamReturnStatus

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetHamReturnStatus
- Line: 121

##### Syntax

```pawn
native GetHamReturnStatus();
```

##### Description

Gets the return status of the current hook.
This is useful to determine what return natives to use.

##### Return

The current status of the hook (such as HAM_SUPERCEDE).

#### GetHamReturnString

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetHamReturnString
- Line: 157

##### Syntax

```pawn
native GetHamReturnString(output[], size);
```

##### Description

Gets the return value of a hook for hooks that return strings.

##### Parameters

- `output`: The buffer to store the string in.
- `size`: The string size of the buffer.

#### GetHamReturnVector

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetHamReturnVector
- Line: 142

##### Syntax

```pawn
native GetHamReturnVector(Float:output[3]);
```

##### Description

Gets the return value of a hook for hooks that return Vectors.

##### Parameters

- `output`: The variable to store the value in.

#### GetOrigHamReturnEntity

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetOrigHamReturnEntity
- Line: 185

##### Syntax

```pawn
native GetOrigHamReturnEntity(&output);
```

##### Description

Gets the original return value of a hook for hooks that return entities.

##### Parameters

- `output`: The variable to store the value in. -1 on null.

#### GetOrigHamReturnFloat

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetOrigHamReturnFloat
- Line: 171

##### Syntax

```pawn
native GetOrigHamReturnFloat(&Float:output);
```

##### Description

Gets the original return value of a hook for hooks that return floats.

##### Parameters

- `output`: The variable to store the value in.

#### GetOrigHamReturnInteger

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetOrigHamReturnInteger
- Line: 164

##### Syntax

```pawn
native GetOrigHamReturnInteger(&output);
```

##### Description

Gets the original return value of a hook for hooks that return integers or booleans.

##### Parameters

- `output`: The variable to store the value in.

#### GetOrigHamReturnString

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetOrigHamReturnString
- Line: 193

##### Syntax

```pawn
native GetOrigHamReturnString(output[], size);
```

##### Description

Gets the original return value of a hook for hooks that return strings.

##### Parameters

- `output`: The buffer to store the string in.
- `size`: The size of the buffer.

#### GetOrigHamReturnVector

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/GetOrigHamReturnVector
- Line: 178

##### Syntax

```pawn
native GetOrigHamReturnVector(Float:output[3]);
```

##### Description

Gets the original return value of a hook for hooks that return Vectors.

##### Parameters

- `output`: The variable to store the value in.

#### IsHamValid

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/IsHamValid
- Line: 363

##### Syntax

```pawn
native bool:IsHamValid(Ham:function);
```

##### Description

Returns whether or not the function for the specified Ham is valid.
Things that would make it invalid would be bounds (an older module version
 may not have all of the functions), and the function not being found in
 the mod's hamdata.ini file.

##### Parameters

- `function`: The function to look up.

##### Return

true if the function is valid, false otherwise.

#### RegisterHam

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/RegisterHam
- Line: 47

##### Syntax

```pawn
native HamHook:RegisterHam(Ham:function, const EntityClass[], const Callback[], Post=0, bool:specialbot = false);
```

##### Description

Hooks the virtual table for the specified entity class.
An example would be: RegisterHam(Ham_TakeDamage, "player", "player_hurt");
Look at the Ham enum for parameter lists.

##### Parameters

- `function`: The function to hook.
- `EntityClass`: The entity classname to hook.
- `callback`: The forward to call.
- `post`: Whether or not to forward this in post.
- `specialbot`: Whether or not to enable support for bot without "player" classname.

##### Return

Returns a handle to the forward.  Use EnableHamForward/DisableHamForward to toggle the forward on or off.

#### RegisterHamFromEntity

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/RegisterHamFromEntity
- Line: 77

##### Syntax

```pawn
native HamHook:RegisterHamFromEntity(Ham:function, EntityId, const Callback[], Post=0);
```

##### Description

Hooks the virtual table for the specified entity's class.
An example would be: RegisterHam(Ham_TakeDamage, id, "player_hurt");
Look at the Ham enum for parameter lists.
Note: This will cause hooks for the entire internal class that the entity is
      not exclusively for the provided entity.

##### Parameters

- `function`: The function to hook.
- `EntityId`: The entity classname to hook.
- `callback`: The forward to call.
- `post`: Whether or not to forward this in post.

##### Return

Returns a handle to the forward.  Use EnableHamForward/DisableHamForward to toggle the forward on or off.

#### SetHamItemInfo

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamItemInfo
- Line: 331

##### Syntax

```pawn
native SetHamItemInfo(iteminfo_handle, HamItemInfo:type, any:...);
```

##### Description

Sets a parameter on the fly of the current hook.
Use this on parameters that are iteminfo result handles.

##### Parameters

- `iteminfo_handle`: Item info handle.
- `type`: Item info type. See HamItemInfo_ constants.

#### SetHamParamEntity

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamParamEntity
- Line: 274

##### Syntax

```pawn
native SetHamParamEntity(which, value);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are entities.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

##### Note

Due to a historical bug, the changes made by this native are not reflected in the corresponding post forward
for backward compatibility reasons. Use SetHamParamEntity2 if this is required.

#### SetHamParamEntity2

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamParamEntity2
- Line: 285

##### Syntax

```pawn
native SetHamParamEntity2(which, value);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are entities.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

##### Note

Same as SetHamParamEntity except the changes made by this native are reflected in the corresponding post forward.

#### SetHamParamFloat

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamParamFloat
- Line: 253

##### Syntax

```pawn
native SetHamParamFloat(which, Float:value);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are floats.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

#### SetHamParamInteger

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamParamInteger
- Line: 244

##### Syntax

```pawn
native SetHamParamInteger(which, value);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are integers.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

#### SetHamParamItemInfo

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamParamItemInfo
- Line: 312

##### Syntax

```pawn
native SetHamParamItemInfo(which, iteminfo_handle);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are trace result handles.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `iteminfo_handle`: The value to change it to.

#### SetHamParamString

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamParamString
- Line: 294

##### Syntax

```pawn
native SetHamParamString(which, const output[]);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are strings.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `ouput`: The value to change it to.

#### SetHamParamTraceResult

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamParamTraceResult
- Line: 303

##### Syntax

```pawn
native SetHamParamTraceResult(which, tr_handle);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are trace result handles.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `tr_handle`: The value to change it to.

#### SetHamParamVector

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamParamVector
- Line: 262

##### Syntax

```pawn
native SetHamParamVector(which, const Float:value[3]);
```

##### Description

Sets a parameter on the fly of the current hook.  This has no effect in post hooks.
Use this on parameters that are Vectors.

##### Parameters

- `which`: Which parameter to change.  Starts at 1, and works up from the left to right.  1 is always "this".
- `value`: The value to change it to.

#### SetHamReturnEntity

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamReturnEntity
- Line: 226

##### Syntax

```pawn
native SetHamReturnEntity(value);
```

##### Description

Sets the return value of a hook that returns an entity.  Set to -1 for null.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### SetHamReturnFloat

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamReturnFloat
- Line: 210

##### Syntax

```pawn
native SetHamReturnFloat(Float:value);
```

##### Description

Sets the return value of a hook that returns a float.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### SetHamReturnInteger

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamReturnInteger
- Line: 202

##### Syntax

```pawn
native SetHamReturnInteger(value);
```

##### Description

Sets the return value of a hook that returns an integer or boolean.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### SetHamReturnString

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamReturnString
- Line: 234

##### Syntax

```pawn
native SetHamReturnString(const value[]);
```

##### Description

Sets the return value of a hook that returns a string.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### SetHamReturnVector

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/SetHamReturnVector
- Line: 218

##### Syntax

```pawn
native SetHamReturnVector(const Float:value[3]);
```

##### Description

Sets the return value of a hook that returns a Vector.
This needs to be used in conjunction with HAM_OVERRIDE or HAM_SUPERCEDE.

##### Parameters

- `value`: The value to set the return to.

#### get_pdata_cbase

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/get_pdata_cbase
- Line: 378

##### Syntax

```pawn
native get_pdata_cbase(id, offset, linuxdiff=5, macdiff=5);
```

##### Description

This is used to compliment fakemeta's {get,set}_pdata_{int,float,string}.
This requires the mod to have the pev and base fields set in hamdata.ini.
Note this dereferences memory! Improper use of this will crash the server.
This will return an index of the corresponding cbase field in private data.
Returns -1 on a null entry.

##### Parameters

- `id`: The entity to examine the private data.
- `offset`: The windows offset of the data.
- `linuxdiff`: The linux difference of the data.
- `macdiff`: The mac os x difference of the data.

##### Return

The index of the corresponding pdata field. -1 for none set.

#### get_pdata_cbase_safe

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/get_pdata_cbase_safe
- Line: 407

##### Syntax

```pawn
native get_pdata_cbase_safe(id, offset, linuxdiff=5, macdiff=5);
```

##### Description

This is similar to the get_pdata_cbase, however it does not dereference memory.
This is many times slower than get_pdata_cbase, and this should only be used
for testing and finding of offsets, not actual release quality plugins.
This will return an index of the corresponding cbase field in private data.
Returns -1 on a null entry. -2 on an invalid entry.

##### Parameters

- `id`: Entry to examine the private data.
- `offset`: The windows offset of the data.
- `linuxdiff`: The linux difference of the data.
- `macdiff`: The mac os x difference of the data.

##### Return

The index of the corresponding pdata field, -1 for null, -2 for invalid.

#### set_pdata_cbase

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/set_pdata_cbase
- Line: 392

##### Syntax

```pawn
native set_pdata_cbase(id, offset, value, linuxdiff=5, macdiff=5);
```

##### Description

This is used to compliment fakemeta's {get,set}_pdata_{int,float,string}.
This requires the mod to have the pev and base fields set in hamdata.ini.
This will set the corresponding cbase field in private data with the index.
Pass -1 to null the entry.

##### Parameters

- `id`: The entity to examine the private data.
- `offset`: The windows offset of the data.
- `value`: The index to store, -1 for invalid
- `linuxdiff`: The linux difference of the data.
- `macdiff`: The mac os x difference of the data.

#### RegisterHamPlayer

- Include: `hamsandwich.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/hamsandwich/function/RegisterHamPlayer
- Line: 59

##### Syntax

```pawn
stock HamHook:RegisterHamPlayer(Ham:function, const Callback[], Post=0)
```

##### Description

Hooks the virtual table for the player class.
An example would be: RegisterHam(Ham_TakeDamage, "player_hurt");
Look at the Ham enum for parameter lists.

##### Parameters

- `function`: The function to hook.
- `callback`: The forward to call.
- `post`: Whether or not to forward this in post.

##### Return

Returns a handle to the forward.  Use EnableHamForward/DisableHamForward to toggle the forward on or off.

## ham_const.inc

- HTML: https://amxx-api.csrevo.com/ham_const
- Group: Base includes
- Functions: 0
- Documented constants: 4

### Constants

#### HAM_IGNORED

Ham return types.

```pawn
#define HAM_IGNORED		1	/**< Calls target function, returns normal value */
#define HAM_HANDLED		2	/**< Tells the module you did something, still calls target function and returns normal value */
#define HAM_OVERRIDE	3	/**< Still calls the target function, but returns whatever is set with SetHamReturn*() */
#define HAM_SUPERCEDE	4	/**< Block the target call, and use your return value (if applicable) (Set with SetHamReturn*()) */
```

##### Note

Return these from hooks to disable calling the target function.
Numbers match up with fakemeta's FMRES_* for clarity. They are
interchangable. 0 (or no return) is also interpretted as HAM_IGNORED.

#### Ham

List of virtual functions made available through the hamsandwich module.

```pawn
enum Ham
{
	/**
	 * Description:		This is typically called whenever an entity is created.
	 *					It is the virtual equivilent of spawn from the engine.
	 *					Some mods call this on player spawns too.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Spawn, this);
	 */
	Ham_Spawn = 0,

	/**
	 * Description:		This is typically called on map change.
	 *					This will typically precache all assets required by the entity.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Precache, this);
	 */
	Ham_Precache,

	/**
	 * Description:		Typically this is similar to an engine keyvalue call.
	 *					Use the kvd natives from fakemeta to handle the kvd_handle passed.
	 *					NOTE: Do not pass handle 0 to this! Use create_kvd() from fakemeta instead!
	 * Forward params:	function(this, kvd_handle);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Keyvalue, this, kvd_handle);
	 */
	Ham_Keyvalue,

	/**
	 * Description:		Returns flags for how an entity can be used.
	 * Forward params:	function(this)
	 * Return type:		Integer (FCAP_* constants, see hlsdk_const.inc).
	 * Execute params:	ExecuteHam(Ham_ObjectCaps, this);
	 */
	Ham_ObjectCaps,

	/**
	 * Description:		Usually called to activate some objects.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Activate, this);
	 */
	Ham_Activate,

	/**
	 * Description:		Usually called after the engine call with the same name.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SetObjectCollisionBox, this);
	 */
	Ham_SetObjectCollisionBox,

	/**
	 * Description:		Returns an integer number that corresponds with what type of entity this is.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Classify, this);
	 */
	Ham_Classify,

	/**
	 * Description:		Typically called when an entity dies to notify any children entities about the death.
	 * Forward params:	function(this, idchild)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_DeathNotice, this, idchild)
	 */
	Ham_DeathNotice,

	/**
	 * Description:		Usually called whenever an entity gets attacked by a hitscan (such as a gun) weapon.
	 *					Use the get/set tr2 natives in fakemeta to handle the traceresult data.
	 *					Do not use a handle of 0 as a traceresult in execution, use create_tr2() from Fakemeta
	 *					to pass a custom handle instead.  (Don't forget to free the handle when you're done.)
	 * Forward params:	function(this, idattacker, Float:damage, Float:direction[3], traceresult, damagebits)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TraceAttack, this, idattacker, Float:damage, Float:direction[3], tracehandle, damagebits);
	 */
	Ham_TraceAttack,

	/**
	 * Description:		Usually called whenever an entity takes any kind of damage.
	 *					Inflictor is the entity that caused the damage (such as a gun).
	 *					Attacker is the entity that tirggered the damage (such as the gun's owner).
	 * Forward params:	function(this, idinflictor, idattacker, Float:damage, damagebits);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_TakeDamage, this, idinflictor, idattacker, Float:damage, damagebits);
	 */
	Ham_TakeDamage,

	/**
	 * Description:		Usually called whenever an entity gets a form of a heal.
	 * Forward params:	function(this, Float:health, damagebits);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_TakeHealth, this, Float:health, damagebits);
	 */
	Ham_TakeHealth,

	/**
	 * Description:		Normally called whenever an entity dies.
	 *					For Team Fortress Classic mod, see Ham_TFC_Killed.
	 * Forward params:	function(this, idattacker, shouldgib)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Killed, this, idattacker, shouldgib);
	 */
	Ham_Killed,

	/**
	 * Description:		Normally returns the blood color of the entity.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_BloodColor, this)
	 */
	Ham_BloodColor,

	/**
	 * Description:		Traces where blood should appear.
	 * Forward params:	function(this, Float:Damage, Float:Direction[3], trace_handle, damagebits);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TraceBleed, this, Float:damage, Float:direction[3], trace_handle, damagebits);
	 */
	Ham_TraceBleed,

	/**
	 * Description:		Returns whether an entity is activated.
	 *					This function is not supported by Day Of Defeat.
	 *					This function has different version for the following mods:
	 *					    Team Fortress Classic, see Ham_TFC_IsTriggered instead.
	 *						Sven-Coop 5.0+, see Ham_SC_IsTriggered instead.
	 * Forward params:	function(this, idActivator);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_IsTriggered, this, idActivator);
	 */
	Ham_IsTriggered,

	/**
	 * Description:		Returns the id of the entity if its class is derived off of CBaseMonster, -1 otherwise.
	 * Forward params:	function(this)
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_MyMonsterPointer, this);
	 */
	Ham_MyMonsterPointer,

	/**
	 * Description:		Returns the id of the entity if its class is derived off of CBaseSquadMonster, -1 otherwise.
	 * Forward params:	function(this)
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_MySquadMonsterPointer, this);
	 */
	Ham_MySquadMonsterPointer,

	/**
	 * Description:		Returns the toggle state of the entity.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_GetToggleState, this);
	 */
	Ham_GetToggleState,

	/**
	 * Description:		Typically adds points to the entity.
	 *					This function is not supported for the following mods:
	 *						Team Fortress Classic.
	 *						Sven-Coop 5.0-, see Ham_SC_AddPoints instead.
	 * Forward params:	function(this, points, bool:cangonegative);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_AddPoints, this, points, bool:cangonegative);
	 */
	Ham_AddPoints,

	/**
	 * Description:		Typically adds points to everybody on the entity's team.
	 *					This function is not supported for the following mods:
	 *						Team Fortress Classic.
	 *						Sven-Coop 5.0-, see Ham_SC_AddPointsToTeam instead.
	 * Forward params:	function(this, points, bool:cangonegative);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_AddPointsToTeam, this, points, bool:cangonegative);
	 */
	Ham_AddPointsToTeam,

	/**
	 * Description:		Adds an item to the player's inventory.
	 * Forward params:	function(this, idother);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_AddPlayerItem, this, idother);
	 */
	Ham_AddPlayerItem,

	/**
	 * Description:		Removes an item to the player's inventory.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_RemovePlayerItem instead.
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_RemovePlayerItem, this, idother);
	 */
	Ham_RemovePlayerItem,

	/**
	 * Description:		Gives ammo to the entity.
	 *					This function is not supported for the following mods:
	 *						Earth's Special Forces.
	 *						Sven-Coop 4.8+, see Ham_SC_GiveAmmo instead.
	 *						Team Fortress Classic, see Ham_TFC_GiveAmmo instead.
	 * Forward params:	function(this, Amount, const Name[], Max)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_GiveAmmo, this, amount, "type", max);
	 */
	Ham_GiveAmmo,

	/**
	 * Description:		Unsure, I believe this is the delay between activation for an entity.
	 * Forward params:	function(this)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_GetDelay, this, Float:output)
	 */
	Ham_GetDelay,

	/**
	 * Description:		Whether or not the entity is moving.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_IsMoving instead.
	 * Forward params:	function(this);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_IsMoving, this);
	 */
	Ham_IsMoving,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_OverrideReset, this)
	 */
	Ham_OverrideReset,

	/**
	 * Description:		Returns the damage decal of the entity for the damage type.
	 * Forward params:	function(this, damagebits)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_DamageDecal, this);
	 */
	Ham_DamageDecal,

	/**
	 * Description:		Sets the toggle state of the entity.
	 * Forward params:	function(this, state)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SetToggleState, this, state);
	 */
	Ham_SetToggleState,

	/**
	 * Description:		Not entirely sure what this does.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_StartSneaking, this);
	 */
	Ham_StartSneaking,

	/**
	 * Description:		Not entirely sure what this does.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_StopSneaking, this);
	 */
	Ham_StopSneaking,

	/**
	 * Description:		Not entirely sure.
	 *					This function is not supported for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_OnControls instead.
	 * Forward params:	function(this, idOn)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_OnControls, this, idOn);
	 */
	Ham_OnControls,

	/**
	 * Description:		Whether or not the entity is sneaking.
	 *					This function is not supported for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_IsSneaking instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsSneaking, this);
	 */
	Ham_IsSneaking,

	/**
	 * Description:		Whether or not the entity is alive.
	 *					This function is not supported for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_IsAlive instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsAlive, this);
	 */
	Ham_IsAlive,

	/**
	 * Description:		Whether or not the entity uses a BSP model.
	 *					This function is not supported for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_IsBSPModel instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsBSPModel, this);
	 */
	Ham_IsBSPModel,

	/**
	 * Description:		Whether or not the entity can reflect gauss shots..
	 *					This function is not supported for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_ReflectGauss instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ReflectGauss, this);
	 */
	Ham_ReflectGauss,

	/**
	 * Description:		Whether or not the target is the same as the one passed.
	 *					Note the strindex parameter is a string passed that has been allocated by the engine.
	 *					Use fakemeta's EngFunc_SzFromIndex to convert to a normal string, or fakemeta's
	 *					EngFunc_AllocString to create a new string.
	 *					This function is not supported for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_HasTarget instead.
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_HasTarget, this, strindex);
	 */
	Ham_HasTarget,

	/**
	 * Description:		Whether or not the entity is in the world.
	 *					This function is not supported for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_IsInWorld instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsInWorld, this);
	 */
	Ham_IsInWorld,

	/**
	 * Description:		Whether or not the entity is a player.
	 *					This function is not supported for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_IsPlayer instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsPlayer, this);
	 */
	Ham_IsPlayer,

	/**
	 * Description:		Whether or not the entity is a net client.
	 *					This function is not supported for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_IsNetClient instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_IsNetClient, this);
	 */
	Ham_IsNetClient,

	/**
	 * Description:		Get the entity's team id.
	 *					This function is not supported by Team Fortress Classic mod.
	 * Forward params:	function(this);
	 * Return type:		String (string length returned and string byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_TeamId, this, buffer[], size);
	 */
	Ham_TeamId,

	/**
	 * Description:		Returns the next target of this.
	 * Forward params:	function(this);
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_GetNextTarget, this);
	 */
	Ham_GetNextTarget,

	/**
	 * Description:		Called whenever an entity thinks.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Think, this);
	 */
	Ham_Think,

	/**
	 * Description:		Called whenever two entities touch.
	 * Forward params:	function(this, idother);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Touch, this, idother);
	 */
	Ham_Touch,

	/**
	 * Description:		Called whenver one entity uses another.
	 * Forward params:	function(this, idcaller, idactivator, use_type, Float:value)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Use, this, idcaller, idactivator, use_type, Float:value);
	 */
	Ham_Use,

	/**
	 * Description:		Normally called whenever one entity blocks another from moving.
	 * Forward params:	function(this, idother);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Blocked, this, idother);
	 */
	Ham_Blocked,

	/**
	 * Description:		Normally called when a map-based item respawns, such as a health kit or something.
	 * Forward params:	function(this);
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_Respawn, this);
	 */
	Ham_Respawn,

	/**
	 * Description:		Used in Half-Life to update a monster's owner.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_UpdateOwner, this);
	 */
	Ham_UpdateOwner,

	/**
	 * Description:		Normally called whenever a barnacle grabs the entity.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_FBecomeProne instead.
	 * Forward params:	function(this);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_FBecomeProne, this);
	 */
	Ham_FBecomeProne,

	/**
	 * Description:		Returns the center of the entity.
	 * Forward params:	function(this);
	 * Return type:		Vector (byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_Center, this, Float:output[3]);
	 */
	Ham_Center,

	/**
	 * Description:		Returns the eye position of the entity.
	 * Forward params:	function(this);
	 * Return type:		Vector (byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_EyePosition, this, Float:output[3]);
	 */
	Ham_EyePosition,

	/**
	 * Description:		Returns the ear position of the entity.
	 * Forward params:	function(this);
	 * Return type:		Vector (byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_EarPosition, this, Float:output[3]);
	 */
	Ham_EarPosition,

	/**
	 * Description:		Position to shoot at.
	 * Forward params:	function(this, Float:srcvector[3]);
	 * Return type:		Vector (byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_BodyTarget, Float:srcvector[3], Float:returnvector[3])
	 */
	Ham_BodyTarget,

	/**
	 * Description:		Returns the illumination of the entity.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Illumination, this);
	 */
	Ham_Illumination,

	/**
	 * Description:		Returns true if a line can be traced from the caller's eyes to the target.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_FVisible instead.
	 * Forward params:	function(this, idOther);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FVisible, this, idOther);
	 */
	Ham_FVisible,

	/**
	 * Description:		Returns true if a line can be traced from the caller's eyes to given vector.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_FVecVisible instead.
	 * Forward params:	function(this, const Float:origin[3]);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FVecVisible, this, const Float:origin[3]);
	 */
	Ham_FVecVisible,


	/**
	 * Players have all the attributes of normal entities, in addition to these.
	 */

	/**
	 * Description:		Typically called every frame when a player has jump held.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_Jump, this);
	 */
	Ham_Player_Jump,

	/**
	 * Description:		Typically called every frame when a player has duck held.
	 *					This function is not supported in Earth's Special Forces mod.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_Duck, this);
	 */
	Ham_Player_Duck,

	/**
	 * Description:		Typically called every frame during PlayerPreThink engine call.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_PreThink, this);
	 */
	Ham_Player_PreThink,

	/**
	 * Description:		Typically called every frame during PlayerPostThink engine call.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_PostThink, this);
	 */
	Ham_Player_PostThink,

	/**
	 * Description:		Returns a vector that tells the gun position.
	 *					This function is not supported by Team Fortress Classic.
	 * Forward params:	function(this)
	 * Return type:		Vector (byreffed in ExecuteHam);.
	 * Execute params:	ExecuteHam(Ham_Player_GetGunPosition, this, Float:output[3]);
	 */
	Ham_Player_GetGunPosition,

	/**
	 * Description:		Whether or not the player should fade on death.
	 * Forward param:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Player_ShouldFadeOnDeath, this);
	 */
	Ham_Player_ShouldFadeOnDeath,

	/**
	 * Description:		Called whenever an impulse command is executed.
	 * Forward param:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_ImpulseComands, this);
	 */
	Ham_Player_ImpulseCommands,

	/**
	 * Description:		Updates the client's data for hud changes (such as ammo).  Usually called every frame.
	 *					This function is not supported by Team Fortress Classic mod.
	 * Forward param:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Player_UpdateClientData, this);
	 */
	Ham_Player_UpdateClientData,


	/**
	 * Items have all the attributes of normal entities in addition to these.
	 */

	/**
	 * Description:		Adds the item to the player.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Item_AddToPlayer instead.
	 * Forward params:	function(this, idPlayer);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_AddToPlayer, this, idPlayer);
	 */
	Ham_Item_AddToPlayer,

	/**
	 * Description:		Unsure.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Item_AddDuplicate instead.
	 * Forward params:	function(this, idOriginal);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_AddDuplicate, this, idOriginal);
	 */
	Ham_Item_AddDuplicate,

	/**
	 * Description:		Whether or not this entity can be deployed.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Item_CanDeploy instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_CanDeploy, this);
	 */
	Ham_Item_CanDeploy,

	/**
	 * Description:		Deploys the entity (usually a weapon).
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Item_Deploy instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_Deploy, this);
	 */
	Ham_Item_Deploy,

	/**
	 * Description:		Whether or not the entity can be holstered.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Item_CanHolster instead.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_CanHolster, this);
	 */
	Ham_Item_CanHolster,

	/**
	 * Description:		Whether or not the entity (usually weapon) can be holstered.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_Holster, this);
	 */
	Ham_Item_Holster,

	/**
	 * Description:		Updates the HUD info about this item.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_UpdateItemInfo, this);
	 */
	Ham_Item_UpdateItemInfo,

	/**
	 * Description:		Called each frame for an item, normally only on active items.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_PreFrame, this);
	 */
	Ham_Item_PreFrame,

	/**
	 * Description:		Called each frame for an item, normally only on active items.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_PostFrame, this);
	 */
	Ham_Item_PostFrame,

	/**
	 * Description:		Called when an item gets dropped, normally on death only.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_Drop, this);
	 */
	Ham_Item_Drop,

	/**
	 * Description:		Normally called when an item gets deleted.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_Kill, this);
	 */
	Ham_Item_Kill,

	/**
	 * Description:		Called when an entity starts being attached to (normally invisible and "following") a player.
	 * Forward params:	function(this, idPlayer)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Item_AttachToPlayer, this, idPlayer)
	 */
	Ham_Item_AttachToPlayer,

	/**
	 * Description:		Returns the ammo index of the item.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Item_PrimaryAmmoIndex, this);
	 */
	Ham_Item_PrimaryAmmoIndex,

	/**
	 * Description:		Returns the secondary ammo index of the item.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Item_SecondaryAmmoIndex, this);
	 */
	Ham_Item_SecondaryAmmoIndex,

	/**
	 * Description:		Updates item data for the client.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Item_UpdateClientData instead.
	 * Forward params:	function(this, idPlayer)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Item_UpdateClientData, this, idPlayer);
	 */
	Ham_Item_UpdateClientData,

	/**
	 * Description:		Returns the entity index if the item is a weapon, -1 otherwise.
	 * Forward params:	function(this)
	 * Return type:		Entity.
	 * Execute Params:	ExecuteHam(Ham_Item_GetWeaponPtr, this)
	 */
	Ham_Item_GetWeaponPtr,

	/**
	 * Description:		Returns the item slot for the item.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_Item_ItemSlot, this)
	 */
	Ham_Item_ItemSlot,


	/**
	 * Weapons have all the attributes to Ham_Item_*, in addition to these.
	 */

	/**
	 * Description:		Gets ammo from the target weapon.
	 *					This function is not supported in Earth's Special Forces mod.
	 * Forward params:	function(this, idTarget)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_Weapon_ExtractAmmo, this, idTarget)
	 */
	Ham_Weapon_ExtractAmmo,

	/**
	 * Description:		Gets clip ammo from the target weapon.
	 *					This function is not supported in Earth's Special Forces mod.
	 * Forward params:	function(this, idTarget)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_Weapon_ExtractAmmo, this, idTarget)
	 */
	Ham_Weapon_ExtractClipAmmo,

	/**
	 * Description:		Unsure.
	 *					This function is not supported in Earth's Special Forces mod.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Weapon_AddWeapon instead.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Weapon_AddWeapon, this);
	 */
	Ham_Weapon_AddWeapon,

	/**
	 * Description:		Plays the weapon's empty sound.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Weapon_PlayEmptySound instead.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Weapon_PlayEmptySound, this);
	 */
	Ham_Weapon_PlayEmptySound,

	/**
	 * Description:		Sets the weapon so that it can play empty sound again.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_ResetEmptySound, this);
	 */
	Ham_Weapon_ResetEmptySound,

	/**
	 * Description:		Sends an animation event for the weapon.
	 *					This function has different versions for the following mods:
	 *						Counter-Strike: see Ham_CS_Weapon_SendWeaponAnim.
	 *						Team Fortress Classic: see Ham_TFC_Weapon_SendWeaponAnim.
	 *						Day Of Defeat: see Ham_DOD_Weapon_SendWeaponAnim.
	 * Forward params:	function(this, iAnim, skiplocal, body);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_SendWeaponAnim, this, iAnim, skiplocal, body);
	 */
	Ham_Weapon_SendWeaponAnim,

	/**
	 * Description:		Whether or not the weapon is usable (has ammo, etc.)
	 *					This function is not supported in Earth's Special Forces mod.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Weapon_IsUsable instead.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Weapon_IsUsable, this)
	 */
	Ham_Weapon_IsUsable,

	/**
	 * Description:		Called when the main attack of a weapon is triggered.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_PrimaryAttack, this);
	 */
	Ham_Weapon_PrimaryAttack,

	/**
	 * Description:		Called when the secondary attack of a weapon is triggered.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_SecondaryAttack, this);
	 */
	Ham_Weapon_SecondaryAttack,

	/**
	 * Description:		Called when the weapon is reloaded.
	 *					This function is not supported in Earth's Special Forces mod.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_Reload, this);
	 */
	Ham_Weapon_Reload,

	/**
	 * Description:		Displays the idle animation for the weapon.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Weapon_WeaponIdle, this);
	 */
	Ham_Weapon_WeaponIdle,

	/**
	 * Description:		There is no more ammo for this gun, so switch to the next best one.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * ExecuteParams:	ExecuteHam(Ham_Weapon_RetireWeapon, this)
	 */
	Ham_Weapon_RetireWeapon,

	/**
	 * Description:		Whether or not the weapon should idle.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Weapon_ShouldWeaponIdle instead.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute Params:	ExecuteHam(Ham_Weapon_ShouldWeaponIdle, this)
	 */
	Ham_Weapon_ShouldWeaponIdle,

	/**
	 * Description:		Unsure.
	 *					This function is not supported by Team Fortress Classic.
	 *					This function has different version for the following mods:
	 *						Sven-Coop 5.0+, see Ham_SC_Weapon_UseDecrement instead.
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Weapon_UseDecrement, this);
	 */
	Ham_Weapon_UseDecrement,


	/**
	 * The following functions are specific to The Specialists.
	 */

	/**
	 * Description:		-
	 * Forward params:	function(this, someboolvalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_BreakableRespawn, this, someboolvalue);
	 */
	Ham_TS_BreakableRespawn,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean)
	 * Execute params:	ExecuteHam(Ham_TS_CanUsedThroughWalls, this);
	 */
	Ham_TS_CanUsedThroughWalls,

	/**
	 * Description:		Unsure - this was removed in TS 3.0 (and thus is deprecated).
	 * Forward params:	function(this)
	 * Return type:		Integer (I think...)
	 * Execute params:	ExecuteHam(Ham_TS_RespawnWait, this);
	 */
	Ham_TS_RespawnWait,


	/**
	 * The following functions are specific to Counter-Strike.
	 */

	/**
	 * Description:		This is called on a map reset for most map based entities.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CS_Restart, this);
	 */
	Ham_CS_Restart,

	/**
	 * Description:		Respawn function for players/bots only! Do not use this on non player/bot entities!
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CS_RoundRespawn, this);
	 */
	Ham_CS_RoundRespawn,

	/**
	 * Description:		Whether or not the player can drop the specified item.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_CS_Item_CanDrop, this);
	 */
	Ham_CS_Item_CanDrop,

	/**
	 * Description:		Gets the maximum speed for whenever a player has the item deployed.
	 * Forward params:	function(this);
	 * Return type:		Float (byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_CS_Item_GetMaxSpeed, this, Float:output);
	 */
	Ham_CS_Item_GetMaxSpeed,


	/**
	 * The following functions are specific to Day Of Defeat.
	 */

	/**
	 * Description:		I assume this spawns players at the start of a new round.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_RoundRespawn, this);
	 */
	Ham_DOD_RoundRespawn,

	/**
	 * Description:		I assume this spawns entities (like func_breakables) at the start of a new round.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_RoundRespawnEnt, this);
	 */
	Ham_DOD_RoundRespawnEnt,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None, I think...
	 * Execute params:	ExecuteHam(Ham_DOD_RoundStore, this);
	 */
	Ham_DOD_RoundStore,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, someintegervalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_DOD_AreaSetIndex, this, someintegervalue)
	 */
	Ham_DOD_AreaSetIndex,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, idPlayer)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_AreaSendStatus, this, idPlayer);
	 */
	Ham_DOD_AreaSendStatus,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_GetState, this);
	 */
	Ham_DOD_GetState,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, idtarget)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_GetStateEnt, this, idtarget);
	 */
	Ham_DOD_GetStateEnt,

	/**
	 * Description:		Whether or not a player can drop this item.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute Params:	ExecuteHam(Ham_DOD_Item_CanDrop, this);
	 */
	Ham_DOD_Item_CanDrop,


	/**
	 * The following functions are specific to The Team Fortress Classic.
	 */

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, playerId)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_TFC_EngineerUse, this, playerId)
	 */
	Ham_TFC_EngineerUse,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_Finished, this);
	 */
	Ham_TFC_Finished,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, grenId, Float:damage, Float:radius)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_EmpExplode, this, grenId, Float:damage, Float:radius)
	 */
	Ham_TFC_EmpExplode,

	/**
	 * Description:		Unsure.
	 *					'damage' and 'radius' are byref'd in ExecuteHam.
	 * Forward params:	function(this, Float:damage, Float:radius)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_CalcEmpDmgRad, this, Float:damage, Float:radius)
	 */
	Ham_TFC_CalcEmpDmgRad,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, grenId)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_TakeEmpBlast, this, grenId);
	 */
	Ham_TFC_TakeEmpBlast,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_EmpRemove, this);
	 */
	Ham_TFC_EmpRemove,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, grenId, Float:bounceMax)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_TakeConcussionBlast, this, grenId, Float:bounceMax);
	 */
	Ham_TFC_TakeConcussionBlast,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, grenId)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_Concuss, this, grenId);
	 */
	Ham_TFC_Concuss,


	/**
	 * The following functions are specific to Earth's Special Forces.
	 */

	/**
	 * Description:		Unsure.
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_IsEnvModel, this);
	 */
	Ham_ESF_IsEnvModel,

	/**
	 * Description:		Unsure.
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, entityida, entityidb, Float:floata, Float:floatb, dmgbits)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ESF_TakeDamage2, this, entityida, entityidb, Float:floata, Float:floatb, dmgbits);
	 */
	Ham_ESF_TakeDamage2,


	/**
	 * The following functions are specific to Natural Selection.
	 */

	/**
	 * Description:		Returns how many points each entity is worth.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_NS_GetPointValue, this);
	 */
	Ham_NS_GetPointValue,

	/**
	 * Description:		Unsure.  Probably awards this with the killing of idvictim.
	 * Forward params:	function(this, idvictim)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_AwardKill, this, idvictim);
	 */
	Ham_NS_AwardKill,

	/**
	 * Description:		Unsure, probably whenever an entity resets after a new round.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_ResetEntity, this);
	 */
	Ham_NS_ResetEntity,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_UpdateOnRemove, this)
	 */
	Ham_NS_UpdateOnRemove,


	/**
	 * The following functions are specific to The Specialists.
	 */

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_GiveSlowMul, this)
	 */
	Ham_TS_GiveSlowMul,

	/**
	 * Description:		Unsure.  The second paramater is actually a char.
	 * Forward params:	function(this, Float:someval, someotherval)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_GoSlow, this, Float:someval, someotherval)
	 */
	Ham_TS_GoSlow,

	/**
	 * Description:		Probably returns true if the user is in slow mo.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_TS_InSlow, this)
	 */
	Ham_TS_InSlow,

	/**
	 * Description:		Returns true if the entity is an objective.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_TS_IsObjective, this)
	 */
	Ham_TS_IsObjective,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this, bool:someval)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_EnableObjective, this, bool:someval)
	 */
	Ham_TS_EnableObjective,

	/**
	 * Description:		Probably called when the engine call to OnEntFreePrivateData is called (the entity destructor.)
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_OnEntFreePrivateData, this)
	 */
	Ham_TS_OnFreeEntPrivateData,

	/**
	 * Description:		Probably called when the engine call to ShouldCollide is called.
	 * Forward params:	function(this, otherEntity)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_TS_ShouldCollide, this, otherEntity)
	 */
	Ham_TS_ShouldCollide,


	/**
	 * LATE ADDITIONS (2011)
	 */

	/**
	 * Description:		Turns a monster towards its ideal_yaw.
	 * Forward params:	function(this, speed);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ChangeYaw, this, speed);
	 */
	Ham_ChangeYaw,

	/**
	 * Description:		Returns if monster has human gibs.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_HasHumanGibs, this);
	 */
	Ham_HasHumanGibs,

	/**
	 * Description:		Returns if monster has alien gibs.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_HasAlienGibs, this);
	 */
	Ham_HasAlienGibs,

	/**
	 * Description:		Slowly fades a entity out, then removes it.
	 *					Using this on player will crash your server.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_FadeMonster, this);
	 */
	Ham_FadeMonster,

	/**
	 * Description:		Create some gore and get rid of a monster's model.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_GibMonster, this);
	 */
	Ham_GibMonster,

	/**
	 * Description:		Called when monster dies and prepares its entity to become a corpse.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_BecomeDead, this);
	 */
	Ham_BecomeDead,

	/**
	 * Description:		Checks relation ship between two monsters.
	 * Forward params:	function(this, idother);
	 * Return type:		Integer (R_* constants, see HLDSK).
	 * Execute params:	ExecuteHam(Ham_IRelationship, this, idother);
	 */
	Ham_IRelationship,

	/**
	 * Description:		Called when monster is about to emit pain sound.
	 *					Not guaranteed to actually emit sound. (random, time, etc..)
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_PainSound, this);
	 */
	Ham_PainSound,

	/**
	 * Description:		Prints debug information about monster to console. (state, activity, and other)
	 *					This function is called by impulse 103.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ReportAIState, this);
	 */
	Ham_ReportAIState,

	/**
	 * Description:		Called when monster has died.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_MonsterInitDead, this);
	 */
	Ham_MonsterInitDead,

	/**
	 * Description:		Function to find enemies or food by sight.
	 *					distance is maximum distance (in units) monster can see.
	 * Forward params:	function(this, distance);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Look, this, distance);
	 */
	Ham_Look,

	/**
	 * Description:		This functions searches the link list whose head is the caller's m_pLink field.
	 * Forward params:	function(this);
	 * Return type:		Integer (entity).
	 * Execute params:	ExecuteHam(Ham_BestVisibleEnemy, this);
	 */
	Ham_BestVisibleEnemy,

	/**
	 * Description:		Returns true if the passed ent is in the caller's forward view cone.
	 *					The dot product is performed in 2d, making the view cone infinitely tall.
	 * Forward params:	function(this, idOther);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FInViewCone, this, idOther);
	 */
	Ham_FInViewCone,

	/**
	 * Description:		Returns true if the passed ent is in the caller's forward view cone.
	 *					The dot product is performed in 2d, making the view cone infinitely tall.
	 * Forward params:	function(this, const Float:origin[3]);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FVecInViewCone, this, const Float:origin[3]);
	 */
	Ham_FVecInViewCone,

	/**
	 * Description:		Determines the best type of death animation to play.
	 * Forward params:	function(this);
	 * Return type:		Integer (ACT_* constants, see HLDSK. It might different depending the mod).
	 * Execute params:	ExecuteHam(Ham_GetDeathActivity, this);
	 */
	Ham_GetDeathActivity,


	/**
	 * The following functions are not supported by Counter-Strike, The Specialists and Natural Selection mods
	 */

	/**
	 * Description:		Runs core AI functions.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_RunAI, this);
	 */
	Ham_RunAI,

	/**
	 * Description:		Calls out to core AI functions and handles this monster's specific animation events.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_MonsterThink, this);
	 */
	Ham_MonsterThink,

	/**
	 * Description:		After a monster is spawned, it needs to be dropped into the world, checked for mobility problems
	 *					and put on the proper path, if any. This function does all of those things after the monster spawns.
	 *					Any initialization that should take place for all monsters goes here.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_MonsterInit, this);
	 */
	Ham_MonsterInit,

	/**
	 * Description:		Check validity of a straight move through space.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, const Float:start[3], const Float:end[3], target, Float:dist)
	 * Return type:		Integer (See LOCALMOVE_* constants).
	 * Execute params:	ExecuteHam(Ham_CheckLocalMove, this, const Float:start[3], const Float:end[3], target, Float:dist);
	 */
	Ham_CheckLocalMove,

	/**
	 * Description:		Takes a single step towards the next ROUTE location.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, Float:interval)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Move, this, Float:interval);
	 */
	Ham_Move,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, targetEnt, const Float:dir[3], Float:interval)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_MoveExecute, this, targetEnt, const Float:dir[3], Float:interval);
	 */
	Ham_MoveExecute,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, Float:waypointDist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ShouldAdvanceRoute, this, Float:waypointDist);
	 */
	Ham_ShouldAdvanceRoute,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this)
	 * Return type:		Integer (ACT_* constants, see HLDSK. It might different depending the mod).
	 * Execute params:	ExecuteHam(Ham_GetStoppedActivity, this);
	 */
	Ham_GetStoppedActivity,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_Stop, this);
	 */
	Ham_Stop,

	/**
	 * Description:		Surveys conditions and set appropriate conditions bits for attack types.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, Float:dot, Float:dist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CheckRangeAttack1, this, Float:dot, Float:dist);
	 */
	Ham_CheckRangeAttack1,

	/**
	 * Description:		Surveys conditions and set appropriate conditions bits for attack types.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, Float:dot, Float:dist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CheckRangeAttack2, this, Float:dot, Float:dist);
	 */
	Ham_CheckRangeAttack2,

	/**
	 * Description:		Surveys conditions and set appropriate conditions bits for attack types.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, Float:dot, Float:dist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CheckMeleeAttack1, this, Float:dot, Float:dist);
	 */
	Ham_CheckMeleeAttack1,

	/**
	 * Description:		Surveys conditions and set appropriate conditions bits for attack types.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, Float:dot, Float:dist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CheckMeleeAttack2, this, Float:dot, Float:dist);
	 */
	Ham_CheckMeleeAttack2,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, Float:dot, Float:dist)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ScheduleChange, this, Float:dot, Float:dist);
	 */
	Ham_ScheduleChange,

	/**
	 * Description:		Determines whether or not the monster can play the scripted sequence or AI sequence that is
	 *					trying to possess it. If DisregardState is set, the monster will be sucked into the script
	 *					no matter what state it is in. ONLY Scripted AI ents should allow this.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 *					This function has different versions for the following mod:
	 *						Sven Coop: see Ham_SC_CanPlaySequence
	 * Forward params:	function(this, bool:disregardState, interruptLevel);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CanPlaySequence, this, bool:disregardState, interruptLevel);
	 */
	Ham_CanPlaySequence,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 *					This function has different versions for the following mod:
	 *						Sven Coop: see Ham_SC_CanPlaySentence2
	 * Forward params:	function(this, bool:disregardState);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CanPlaySentence2, this, bool:disregardState);
	 */
	Ham_CanPlaySentence2,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, const sentence[], Float:duration, Float:volume, Float:attenuation);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_PlaySentence, this, const sentence[], Float:duration, Float:volume, Float:attenuation);
	 */
	Ham_PlaySentence,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 *					This function has different version for Sven Coop, see Ham_SC_PlayScriptedSentence instead.
	 * Forward params:	function(this, const sentence[], Float:duration, Float:volume, Float:attenuation, bool:concurrent, idListener);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_PlayScriptedSentence, this, const sentence[], Float:duration, Float:volume, Float:attenuation, bool:concurrent, idListener);
	 */
	Ham_PlayScriptedSentence,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SentenceStop, this);
	 */
	Ham_SentenceStop,

	/**
	 * Description:		Surveys the Conditions information available and finds the best new state for a monster.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		Integer (MONSTERSTATE_* constants, see HLDSK).
	 * Execute params:	ExecuteHam(Ham_GetIdealState, this);
	 */
	Ham_GetIdealState,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, newActivity);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SetActivity, this, newActivity);
	 */
	Ham_SetActivity,

	/**
	 * Description:		Part of the condition collection process gets and stores data and conditions
	 *					pertaining to a monster's enemy. Returns TRUE if Enemy LKP was updated.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, idEnemy);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CheckEnemy, this, idEnemy);
	 */
	Ham_CheckEnemy,

	/**
	 * Description:		Tries to overcome local obstacles by triangulating a path around them.
	 *					'dist' is how far the obstruction that we are trying to triangulate around is from the monster.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, const Float:start[3], const Float:end[3], Float:dist, targetEnt, Float:apex[3]);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_FTriangulate, this, const Float:start[3], const Float:end[3], Float:dist, targetEnt, Float:apex[3]);
	 */
	Ham_FTriangulate,

	/**
	 * Description:		Allows each sequence to have a different turn rate associated with it.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SetYawSpeed, this);
	 */
	Ham_SetYawSpeed,

	/**
	 * Description:		Tries to build a route as close to the target as possible, even if there isn't a path to the final point.
	 *					If supplied, search will return a node at least as far away as MinDist from vecThreat, but no farther than minDist.
	 *					If maxDist isn't supplied, it defaults to a reasonable value.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_BuildNearestRoute, this, const Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist);
	 */
	Ham_BuildNearestRoute,

	/**
	 * Description:		Tries to find a nearby node that will hide the caller from its enemy.
	 *					If supplied, search will return a node at least as far away as MinDist from vecThreat, but no farther than minDist.
	 *					If maxDist isn't supplied, it defaults to a reasonable value.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FindCover, this, const Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist);
	 */
	Ham_FindCover,

	/**
	 * Description:		Default cover radius.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_CoverRadius, this);
	 */
	Ham_CoverRadius,

	/**
	 * Description:		Prequalifies a monster to do more fine checking of potential attacks.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FCanCheckAttacks, this);
	 */
	Ham_FCanCheckAttacks,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CheckAmmo, this);
	 */
	Ham_CheckAmmo,

	/**
	 * Description:		Before a set of conditions is allowed to interrupt a monster's schedule, this function removes
	 *					conditions that we have flagged to interrupt the current schedule, but may not want to interrupt
	 *					the schedule every time. (Pain, for instance)
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_IgnoreConditions, this);
	 */
	Ham_IgnoreConditions,

	/**
	 * Description:		Tells use whether or not the monster cares about the type of Hint Node given.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, hint);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FValidateHintType, this, hint);
	 */
	Ham_FValidateHintType,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_FValidateHintType, this);
	 */
	Ham_FCanActiveIdle,

	/**
	 * Description:		Returns a bit mask indicating which types of sounds this monster regards.
	 *					In the base class implementation, monsters care about all sounds, but no scents.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ISoundMask, this);
	 */
	Ham_ISoundMask,

	/**
	 * Description:		-
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_HearingSensitivity, this);
	 */
	Ham_HearingSensitivity,

	/**
	 * Description:		Called by Barnacle victims when the barnacle pulls their head into its mouth.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this, idBarnacle);
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_BarnacleVictimBitten, this, idBarnacle);
	 */
	Ham_BarnacleVictimBitten,

	/**
	 * Description:		Called by barnacle victims when the host barnacle is killed.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_BarnacleVictimReleased, this);
	 */
	Ham_BarnacleVictimReleased,

	/**
	 * Description:		Runs after conditions are collected and before scheduling code is run.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_PrescheduleThink, this);
	 */
	Ham_PrescheduleThink,

	/**
	 * Description:		Plays death sounds.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_DeathSound, this);
	 */
	Ham_DeathSound,

	/**
	 * Description:		Plays alert sounds.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_AlertSound, this);
	 */
	Ham_AlertSound,

	/**
	 * Description:		Plays idle sounds.
	 *					This function is not supported by Counter-Strike, The Specialists and Natural Selection mods.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_IdleSound, this);
	 */
	Ham_IdleSound,

	/**
	 * Description:		This should stop a monster following a target.
	 * Forward params:	function(this, bool:clearSchedule)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_StopFollowing, this, bool:clearSchedule);
	 */
	Ham_StopFollowing,


	/**
	 * The following functions are specific to Counter-Strike.
	 */

	/**
	 * Description:		Sends an animation event for the weapon. skiplocal is 1 if client is predicting weapon animations.
	 * Forward params:	function(this, anim, skiplocal);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CS_Weapon_SendWeaponAnim, this, anim, skiplocal);
	 */
	Ham_CS_Weapon_SendWeaponAnim,

	/**
	 * Description:		Resets the player's max speed.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CS_Player_ResetMaxSpeed, this);
	 */
	Ham_CS_Player_ResetMaxSpeed,

	/**
	 * Description:		Whether or not the player is a bot.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CS_Player_IsBot, this);
	 */
	Ham_CS_Player_IsBot,

	/**
	 * Description:		Returns a vector that tells the autoaim direction.
	 *					Set crosshair position to point to enemey if sv_aim is 1.
	 * Forward params:	function(this, Float:delta)
	 * Return type:		Vector, byreffed in execute.
	 * Execute params:	ExecuteHam(Ham_CS_Player_GetAutoaimVector, this, Float:delta, Float:output[3]);
	 */
	Ham_CS_Player_GetAutoaimVector,

	/**
	 * Description:		Whether or not the player is being flashing. (flashbang grenade explosion)
	 *					blindTime is the time you are considered as being blind. (holdTime * 0.33).
	 * Forward params:	function(this, Float:blindTime, Float:duration, Float:holdTime, alpha);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CS_Player_Blind, this, Float:blindTime, Float:duration, Float:holdTime, alpha);
	 */
	Ham_CS_Player_Blind,

	/**
	 * Description:		Whether or not the player is touching a weapon on the ground.
	 * Forward params:	function(this, entityid);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_CS_Player_OnTouchingWeapon, this, entityid);
	 */
	Ham_CS_Player_OnTouchingWeapon,


	/**
	 * The following functions are specific to Day Of Defeat.
	 */

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_SetScriptReset, this);
	 */
	Ham_DOD_SetScriptReset,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_Item_SpawnDeploy, this);
	 */
	Ham_DOD_Item_SpawnDeploy,

	/**
	 * Description:		-
	 * Forward params:	function(this, Float:someValue)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_Item_SetDmgTime, this, Float:someValue);
	 */
	Ham_DOD_Item_SetDmgTime,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_Item_DropGren, this);
	 */
	Ham_DOD_Item_DropGren,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_IsUseable, this);
	 */
	Ham_DOD_Weapon_IsUseable,

	/**
	 * Description:		-
	 * Forward params:	function(this, Float:accuracyFactor, idother, shared_rand)
	 * Return type:		Vector, byreffed in execute.
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_Aim, this, Float:accuracyFactor, idother, shared_rand, Float:output[3]);
	 */
	Ham_DOD_Weapon_Aim,

	/**
	 * Description:		-
	 * Forward params:	function(this, Float:accuracyFactor, idother)
	 * Return type:		Float.
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_flAim, this, Float:accuracyFactor, idother);
	 */
	Ham_DOD_Weapon_flAim,

	/**
	 * Description:		-
	 * Forward params:	function(this, Float:amount, targetEnt)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_RemoveStamina, this, Float:amount, targetEnt);
	 */
	Ham_DOD_Weapon_RemoveStamina,

	/**
	 * Description:		-
	 * Forward params:	function(this, fov)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_ChangeFOV, this, fov);
	 */
	Ham_DOD_Weapon_ChangeFOV,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_ZoomOut, this);
	 */
	Ham_DOD_Weapon_ZoomOut,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_ZoomIn, this);
	 */
	Ham_DOD_Weapon_ZoomIn,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_GetFOV, this);
	 */
	Ham_DOD_Weapon_GetFOV,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_IsWaterSniping, this);
	 */
	Ham_DOD_Weapon_PlayerIsWaterSniping,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_UpdateZoomSpeed, this);
	 */
	Ham_DOD_Weapon_UpdateZoomSpeed,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute Params:	ExecuteHam(Ham_DOD_Weapon_Special, this);
	 */
	Ham_DOD_Weapon_Special,


	/**
	 * The following functions are specific to Team Fortress Classic.
	 */

	/**
	 * Description:		Get the item name.
	 * Forward params:	function(this, const buffer[]);
	 * Return type:		String (string length returned and string byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_TFC_DB_GetItemName, this, buffer[], size);
	 */
	Ham_TFC_DB_GetItemName,

	/**
	 * Description:		This entity is exploding, or otherwise needs to inflict damage upon entities within a certain range.
	 * Forward params:	function(this, inflictorId, attackerId, Float:damage, classIgnore, bitsDamageType)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_RadiusDamage, this, inflictorId, attackerId, Float:damage, classIgnore, bitsDamageType);
	 */
	Ham_TFC_RadiusDamage,

	/**
	 * Description:		This entity is exploding, or otherwise needs to inflict damage upon entities within a certain range.
	 * Forward params:	function(this, const Float:source[3], inflictorId, attackerId, Float:damage, classIgnore, bitsDamageType)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_RadiusDamage2, this, const Float:source[3], inflictorId, attackerId, Float:damage, classIgnore, bitsDamageType);
	 */
	Ham_TFC_RadiusDamage2,


	/**
	 * The following functions are specific to Earth's Special Forces.
	 */

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_IsFighter, this);
	 */
	Ham_ESF_IsFighter,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_IsBuddy, this);
	 */
	Ham_ESF_IsBuddy,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, const char sample[], somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_EmitSound, this, const sample[], somevalue);
	 */
	Ham_ESF_EmitSound,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_EmitNullSound, this, somevalue);
	 */
	Ham_ESF_EmitNullSound,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, someentid, somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_IncreaseStrength, this, someentid, somevalue);
	 */
	Ham_ESF_IncreaseStrength,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_IncreasePL, this, somevalue);
	 */
	Ham_ESF_IncreasePL,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_SetPowerLevel, this, somevalue);
	 */
	Ham_ESF_SetPowerLevel,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_SetMaxPowerLevel, this, somevalue);
	 */
	Ham_ESF_SetMaxPowerLevel,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, anim)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_StopAniTrigger, this, anim);
	 */
	Ham_ESF_StopAniTrigger,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_StopFly, this);
	 */
	Ham_ESF_StopFly,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_HideWeapon, this);
	 */
	Ham_ESF_HideWeapon,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_HideWeapon, this, somevalue);
	 */
	Ham_ESF_ClientRemoveWeapon,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, const model[])
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_SendClientsCustomModel, this, const model[]);
	 */
	Ham_ESF_SendClientsCustomModel,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanTurbo, this);
	 */
	Ham_ESF_CanTurbo,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanPrimaryFire, this);
	 */
	Ham_ESF_CanPrimaryFire,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanSecondaryFire, this);
	 */
	Ham_ESF_CanSecondaryFire,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanStopFly, this);
	 */
	Ham_ESF_CanStopFly,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanBlock, this);
	 */
	Ham_ESF_CanBlock,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanRaiseKi, this);
	 */
	Ham_ESF_CanRaiseKi,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanRaiseStamina, this);
	 */
	Ham_ESF_CanRaiseStamina,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanTeleport, this);
	 */
	Ham_ESF_CanTeleport,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanStartFly, this);
	 */
	Ham_ESF_CanStartFly,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanStartPowerup, this);
	 */
	Ham_ESF_CanStartPowerup,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanJump, this);
	 */
	Ham_ESF_CanJump,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_CanWallJump, this);
	 */
	Ham_ESF_CanWallJump,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_IsSuperJump, this);
	 */
	Ham_ESF_IsSuperJump,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_IsMoveBack, this);
	 */
	Ham_ESF_IsMoveBack,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ESF_CheckWallJump, this);
	 */
	Ham_ESF_CheckWallJump,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, const Float:somevalue[3])
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_EnableWallJump, this, const Float:somevalue[3]);
	 */
	Ham_ESF_EnableWallJump,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_DisableWallJump, this);
	 */
	Ham_ESF_DisableWallJump,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_ResetWallJumpVars, this);
	 */
	Ham_ESF_ResetWallJumpVars,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, const value[], const Float:somevalue[3], const someothervalue[])
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_GetWallJumpAnim, const value[], const Float:somevalue[3], const someothervalue[]);
	 */
	Ham_ESF_GetWallJumpAnim,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, const somevalue[], const someothervalue[])
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_GetWallJumpAnim2, this, const somevalue[], const someothervalue[]);
	 */
	Ham_ESF_GetWallJumpAnim2,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_SetFlyMoveType, this);
	 */
	Ham_ESF_SetWallJumpAnimation,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_SetFlyMoveType, this);
	 */
	Ham_ESF_SetFlyMoveType,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_IsFlyMoveType, this);
	 */
	Ham_ESF_IsFlyMoveType,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_IsWalkMoveType, this);
	 */
	Ham_ESF_IsWalkMoveType,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_SetWalkMoveType, this);
	 */
	Ham_ESF_SetWalkMoveType,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_DrawChargeBar, this, somevalue);
	 */
	Ham_ESF_DrawChargeBar,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_StartBlock, this);
	 */
	Ham_ESF_StartBlock,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_StopBlock, this);
	 */
	Ham_ESF_StopBlock,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_StartFly, this);
	 */
	Ham_ESF_StartFly,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, Float:value)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_ESF_GetMaxSpeed, this, Float:value);
	 */
	Ham_ESF_GetMaxSpeed,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, anim)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_SetAnimation, this, anim);
	 */
	Ham_ESF_SetAnimation,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_PlayAnimation, this);
	 */
	Ham_ESF_PlayAnimation,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ESF_GetMoveForward, this);
	 */
	Ham_ESF_GetMoveForward,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ESF_GetMoveRight, this);
	 */
	Ham_ESF_GetMoveRight,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ESF_GetMoveUp, this);
	 */
	Ham_ESF_GetMoveUp,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_AddBlindFX, this);
	 */
	Ham_ESF_AddBlindFX,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_RemoveBlindFX, this);
	 */
	Ham_ESF_RemoveBlindFX,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_DisablePSBar, this);
	 */
	Ham_ESF_DisablePSBar,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_AddBeamBoxCrosshair, this, somevalue);
	 */
	Ham_ESF_AddBeamBoxCrosshair,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_RemoveBeamBoxCrosshair, this);
	 */
	Ham_ESF_RemoveBeamBoxCrosshair,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_DrawPSWinBonus, this);
	 */
	Ham_ESF_DrawPSWinBonus,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, Float:value, Float:othervalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_DrawPSBar, this, Float:value, Float:othervalue);
	 */
	Ham_ESF_DrawPSBar,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_LockCrosshair, this);
	 */
	Ham_ESF_LockCrosshair,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_UnLockCrosshair, this);
	 */
	Ham_ESF_UnLockCrosshair,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_RotateCrosshair, this);
	 */
	Ham_ESF_RotateCrosshair,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_UnRotateCrosshair, this);
	 */
	Ham_ESF_UnRotateCrosshair,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_WaterMove, this);
	 */
	Ham_ESF_WaterMove,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_CheckTimeBasedDamage, this);
	 */
	Ham_ESF_CheckTimeBasedDamage,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_DoesSecondaryAttack, this);
	 */
	Ham_ESF_DoesSecondaryAttack,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_ESF_DoesPrimaryAttack, this);
	 */
	Ham_ESF_DoesPrimaryAttack,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_RemoveSpecialModes, this);
	 */
	Ham_ESF_RemoveSpecialModes,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_StopTurbo, this);
	 */
	Ham_ESF_StopTurbo,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_TakeBean, this);
	 */
	Ham_ESF_TakeBean,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_GetPowerLevel, this);
	 */
	Ham_ESF_GetPowerLevel,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_RemoveAllOtherWeapons, this);
	 */
	Ham_ESF_RemoveAllOtherWeapons,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_StopSwoop, this);
	 */
	Ham_ESF_StopSwoop,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_SetDeathAnimation, this);
	 */
	Ham_ESF_SetDeathAnimation,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_SetModel, this);
	 */
	Ham_ESF_SetModel,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_AddAttacks, this);
	 */
	Ham_ESF_AddAttacks,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this, const value[], const othervalue[], somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_EmitClassSound, this, const value[], const othervalue[], somevalue);
	 */
	Ham_ESF_EmitClassSound,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_CheckLightning, this);
	 */
	Ham_ESF_CheckLightning,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_FreezeControls, this);
	 */
	Ham_ESF_FreezeControls,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_UnFreezeControls, this);
	 */
	Ham_ESF_UnFreezeControls,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_UpdateKi, this);
	 */
	Ham_ESF_UpdateKi,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_ESF_UpdateHealth, this);
	 */
	Ham_ESF_UpdateHealth,

	/**
	 * Description:		-
	 *					This is available only in ESF Open Beta.
	 * Forward params:	function(this)
	 * Return type:		Vector.
	 * Execute params:	ExecuteHam(Ham_ESF_GetTeleportDir, this, output[3]);
	 */
	Ham_ESF_GetTeleportDir,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_ESF_Weapon_HolsterMeleed, this);
	 */
	Ham_ESF_Weapon_HolsterWhenMeleed,


	/**
	 * The following functions are specific to Natural Selection.
	 */

	/**
	 * Description:		-
	 * Forward params:	function(this, controller, Float:value)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_SetBoneController, this, controller, Float:value)
	 */
	Ham_NS_SetBoneController,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_SaveDataForReset, this)
	 */
	Ham_NS_SaveDataForReset,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_NS_GetHull, this)
	 */
	Ham_NS_GetHull,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_NS_GetMaxWalkSpeed, this)
	 */
	Ham_NS_GetMaxWalkSpeed,

	/**
	 * Description:		-
	 * Forward params:	function(this, const teamID[])
	 * Return type:		String (string length returned and string byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_NS_SetTeamID, this, const teamID[])
	 */
	Ham_NS_SetTeamID,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_NS_GetPlayerClass, this)
	 */
	Ham_NS_GetEffectivePlayerClass,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_NS_GetAuthenticationMask, this)
	 */
	Ham_NS_GetAuthenticationMask,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_EffectivePlayerClassChanged, this)
	 */
	Ham_NS_EffectivePlayerClassChanged,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_NeedsTeamUpdate, this)
	 */
	Ham_NS_NeedsTeamUpdate,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_SendTeamUpdate, this)
	 */
	Ham_NS_SendTeamUpdate,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_SendWeaponUpdate, this)
	 */
	Ham_NS_SendWeaponUpdate,

	/**
	 * Description:		-
	 * Forward params:	function(this, idOther)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_InitPlayerFromSpawn, this, idOther)
	 */
	Ham_NS_InitPlayerFromSpawn,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_PackDeadPlayerItems, this)
	 */
	Ham_NS_PackDeadPlayerItems,

	/**
	 * Description:		Gets sequence name based on index.
	 *					animationName are passed by reference in ExecuteHam. outputLength is the max output length.
	 * Forward params:	function(this, activity, const animationName[], bool:somevalue)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_GetAnimationForActivity, this, activity, output[], bool:somevalue, outputLength)
	 */
	Ham_NS_GetAnimationForActivity,

	/**
	 * Description:		-
	 * Forward params:	function(this, const Float:position[3], const Float:viewAngles[3])
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_StartObserver, this, const Float:position[3], const Float:viewAngles[3])
	 */
	Ham_NS_StartObserver,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_StopObserver, this)
	 */
	Ham_NS_StopObserver,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_NS_GetAdrenalineFactor, this)
	 */
	Ham_NS_GetAdrenalineFactor,

	/**
	 * Description:		-
	 * Forward params:	function(this, const name[], bool:showpickup))
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_GiveNamedItem, this, const name[], bool:showpickup)
	 */
	Ham_NS_GiveNamedItem,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_Suicide, this)
	 */
	Ham_NS_Suicide,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_NS_GetCanUseWeapon, this)
	 */
	Ham_NS_GetCanUseWeapon,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_NS_Weapon_GetWeapPrimeTime, this)
	 */
	Ham_NS_Weapon_GetWeaponPrimeTime,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_NS_Weapon_PrimeWeapon, this)
	 */
	Ham_NS_Weapon_PrimeWeapon,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_NS_Weapon_GetIsWeaponPrimed, this)
	 */
	Ham_NS_Weapon_GetIsWeaponPrimed,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_NS_Weapon_GetIsWeapPriming, this)
	 */
	Ham_NS_Weapon_GetIsWeaponPriming,

	/**
	 * Description:		-
	 * Forward params:	function(this, const viewModel[], const weaponModel[], anim, const animExt[], skiplocal, body)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_NS_Weapon_DefaultDeploy, this, const viewModel[], const weaponModel[], anim, const animExt[], skiplocal, body)
	 */
	Ham_NS_Weapon_DefaultDeploy,

	/**
	 * Description:		-
	 * Forward params:	function(this, clipsize, anim, Float:delay, body)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_NS_Weapon_DefaultReload, this, clipsize, anim, Float:delay, body)
	 */
	Ham_NS_Weapon_DefaultReload,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_NS_Weapon_GetDeployTime, this)
	 */
	Ham_NS_Weapon_GetDeployTime,


	/**
	 * The following functions are specific to Sven Co-op.
	 */

	/**
	 * Description:		Returns the type of group (i.e, "houndeye", or "human military"
	 *					so that monsters with different classnames still realize that they are teammates.
	 *					(overridden for monsters that form groups)
	 *					Classes list:
	 *						CLASS_NONE				0
	 *						CLASS_MACHINE			1
	 *						CLASS_PLAYER			2
	 * 						CLASS_HUMAN_PASSIVE		3
	 *						CLASS_HUMAN_MILITARY	4
	 *						CLASS_ALIEN_MILITARY	5
	 *						CLASS_ALIEN_PASSIVE		6
	 *						CLASS_ALIEN_MONSTER		7
	 *						CLASS_ALIEN_PREY		8
	 *						CLASS_ALIEN_PREDATOR	9
	 *						CLASS_INSECT			10
	 *						CLASS_PLAYER_ALLY		11
	 *						CLASS_PLAYER_BIOWEAPON	12
	 *						CLASS_ALIEN_BIOWEAPON	13
	 *						CLASS_XRACE_PITDRONE	14
	 *						CLASS_XRACE_SHOCK		15
	 *						CLASS_BARNACLE			99
	 * Forward params:	function(this, class)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_GetClassification, this, class)
	 */
	Ham_SC_GetClassification,

	/**
	 * Description:		Whether entity is a monter.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsMonster, this)
	 */
	Ham_SC_IsMonster,

	/**
	 * Description:		(!) This function is no more available in the mod.
	 *                  Whether entity uses PhysX feature.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsPhysX, this)
	 */
	Ham_SC_IsPhysX,

	/**
	 * Description:		Whether this is a point entity.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsPointEntity, this)
	 */
	Ham_SC_IsPointEntity,

	/**
	 * Description:		Whether entity is a machine.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsMachine, this)
	 */
	Ham_SC_IsMachine,

	/**
	 * Description:		Removes the entity and all its content in critical situation.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_CriticalRemove, this)
	 */
	Ham_SC_CriticalRemove,

	/**
	 * Description:		Updates global tables that need to know about entities being removed.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(UpdateOnRemove, this)
	 */
	Ham_SC_UpdateOnRemove,

	/**
	 * Description:		Returns true if a line can be traced from the caller's eyes to the target vector.
	 * Forward params:	function(this, entity, bool:ignoreGlass)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FVisible, this, entity, bool:ignoreGlass)
	 */
	Ham_SC_FVisible,

	/**
	 * Description:		Returns true if a line can be traced from the given point to the target point.
	 * Forward params:	function(this, const Float:target[3], const Float:start[3])
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FVisibleFromPos, this, const Float:target[3], const Float:start[3])
	 */
	Ham_SC_FVisibleFromPos,

	/**
	 * Description:		Returns true if passed in entity is facing current entity.
	 *					Some examples of dotProduct value :
	 *					VIEW_FIELD_FULL -1.0
	 *					VIEW_FIELD_WIDE -0.7
	 *					VIEW_FIELD_NARROW 0.7
	 *					VIEW_FIELD_ULTRA_NARROW 0.9
	 * Forward params:	function(this, entTest, Float:dotProduct)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsFacing, this, entTest, Float:dotProduct)
	 */
	Ham_SC_IsFacing,

	/**
	 * Description:		Gets points without killing an entity.
	 * Forward params:	function(this, Float:damage)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_SC_GetPointsForDamage, this, Float:damage)
	 */
	Ham_SC_GetPointsForDamage,

	/**
	 * Description:		Gets points for making some damage.
	 * Forward params:	function(this, attacker, inflictor, Float:damage)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_GetDamagePoints, this, attacker, inflictor, Float:damage)
	 */
	Ham_SC_GetDamagePoints,

	/**
	 * Description:		Constructor.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_OnCreate, this)
	 */
	Ham_SC_OnCreate,

	/**
	 * Description:		Desctructor.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_OnDestroy, this)
	 */
	Ham_SC_OnDestroy,

	/**
	 * Description:		(!) This function is no more available in the mod.
	 *                  Returns false if the entity is somehow invalid.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsValidEntity, this)
	 */
	Ham_SC_IsValidEntity,

	/**
	 * Description:		Checks if this monster should fade out.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_ShouldFadeOnDeath, this)
	 */
	Ham_SC_ShouldFadeOnDeath,

	/**
	 * Description:		Sets up a friendly monster.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_SetupFriendly, this)
	 */
	Ham_SC_SetupFriendly,

	/**
	 * Description:		(!) This function is no more available in the mod.
	 *                  Tries to revive a monster.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_ReviveThink, this)
	 */
	Ham_SC_ReviveThink,

	/**
	 * Description:		Revives a monster.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Revive, this)
	 */
	Ham_SC_Revive,

	/**
	 * Description:		Final bit of initization before a monster is turned over to the AI.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_StartMonster, this)
	 */
	Ham_SC_StartMonster,

	/**
	 * Description:		Surveys conditions and set appropriate conditions bits for attack types.
	 * Forward params:	function(this, Float:dot, Float:dist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_CheckRangeAttack1_Move, this, Float:dot, Float:dist)
	 */
	Ham_SC_CheckRangeAttack1_Move,

	/**
	 * Description:		Surveys conditions and set appropriate conditions bits for attack types.
	 * Forward params:	function(this, Float:dot, Float:dist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_CheckRangeAttack2_Move, this, Float:dot, Float:dist)
	 */
	Ham_SC_CheckRangeAttack2_Move,

	/**
	 * Description:		Surveys conditions and set appropriate conditions bits for attack types.
	 * Forward params:	function(this, Float:dot, Float:dist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_CheckMeleeAttack1_Move, this, Float:dot, Float:dist)
	 */
	Ham_SC_CheckMeleeAttack1_Move,

	/**
	 * Description:		Surveys conditions and set appropriate conditions bits for attack types.
	 * Forward params:	function(this, Float:dot, Float:dist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_CheckMeleeAttack2_Move, this, Float:dot, Float:dist)
	 */
	Ham_SC_CheckMeleeAttack2_Move,

	/**
	 * Description:		Checks tank usage.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_CheckTankUsage, this)
	 */
	Ham_SC_CheckTankUsage,

	/**
	 * Description:		Sets a monster's gait activity.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_SetGaitActivity, this)
	 */
	Ham_SC_SetGaitActivity,

	/**
	 * Description:		Tries to overcome local obstacles by triangulating a path around them.
	 * Forward params:	function(this, const Float:start[3], const Float:end[3], Float:dist, targetEnt, Float:apex[3], Float:apex2[3], bool:coverPath)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FTriangulate, this, const Float:start[3], const Float:end[3], Float:dist, targetEnt, Float:apex[3], Float:apex2[3], bool:coverPath )
	 */
	Ham_SC_FTriangulate,

	/**
	 * Description:		Tries to overcome local obstacles by triangulating a path around them.
	 * Forward params:	function(this, const Float:start[3], const Float:end[3], Float:dist, targetEnt, Float:apex[3])
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FTriangulateExtension, this, const Float:start[3], const Float:end[3], Float:dist, targetEnt, Float:apex[3])
	 */
	Ham_SC_FTriangulateExtension,

	/**
	 * Description:		Tries to find a nearby node that will hide the caller from its enemy.
	 *					If supplied, search will return a node at least as far away as minDist, but no farther than maxDist.
	 *					If maxDist isn't supplied, it defaults to a reasonable value.
	 * Forward params:	function(this, const Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FindCoverGrenade, this, const Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist)
	 */
	Ham_SC_FindCoverGrenade,

	/**
	 * Description:		Tries to find a nearby node that will hide the caller from its enemy.
	 *					If supplied, search will return a node at least as far away as minDist, but no farther than maxDist.
	 *					If maxDist isn't supplied, it defaults to a reasonable value.
	 * Forward params:	function(this, const Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FindCoverDistance, this, const Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist)
	 */
	Ham_SC_FindCoverDistance,

	/**
	 * Description:		Tries to find a nearby node that will hide the caller from its enemy.
	 *					If supplied, search will return a node at least as far away as minDist, but no farther than maxDist.
	 *					If maxDist isn't supplied, it defaults to a reasonable value.
	 * Forward params:	function(this, const Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FindAttackPoint, this, const Float:threat[3], const Float:viewOffset[3], Float:minDist, Float:maxDist)
	 */
	Ham_SC_FindAttackPoint,

	/**
	 * Description:		Determines whether or not the chosen cover location is a good one to move to.
	 *					Currently based on proximity to others in the squad.
	 * Forward params:	function(this, const Float:coverLocation[3])
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FValidateCover, this, const Float:coverLocation[3])
	 */
	Ham_SC_FValidateCover,

	/**
	 * Description:		Checks for possibility of friendly fire.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_NoFriendlyFire, this)
	 */
	Ham_SC_NoFriendlyFire1,

	/**
	 * Description:		Checks for possibility of friendly fire.
	 * Forward params:	function(this, const Float:pos[3])
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_NoFriendlyFire2, this, const Float:pos[3])
	 */
	Ham_SC_NoFriendlyFire2,

	/**
	 * Description:		Checks for possibility of friendly fire.
	 * Forward params:	function(this, const Float:pos[3], targetEnt)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_NoFriendlyFire3, this, const Float:pos[3], targetEnt)
	 */
	Ham_SC_NoFriendlyFire3,

	/**
	 * Description:		Checks for possibility of friendly fire from the calling monster's origin to toPos.
	 * Forward params:	function(this, const Float:toPos[3])
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_NoFriendlyFireToPos, this, const Float:toPos[3])
	 */
	Ham_SC_NoFriendlyFireToPos,

	/**
	 * Description:		Same as FVisible but from gun position.
	 * Forward params:	function(this, entity, Float:pos[3])
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FVisibleGunPos, this, entity, Float:pos[3])
	 */
	Ham_SC_FVisibleGunPos,

	/**
	 * Description:		Checks for monsters in this generic cone.
	 * Forward params:	function(this, entity, const Float:pos[3])
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FInBulletCone, this, entity, const Float:pos[3])
	 */
	Ham_SC_FInBulletCone,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_CallGibMonster, this)
	 */
	Ham_SC_CallGibMonster,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_CheckTimeBasedDamage, this)
	 */
	Ham_SC_CheckTimeBasedDamage,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsMoving, this)
	 */
	Ham_SC_IsMoving,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsPlayerFollowing, this)
	 */
	Ham_SC_IsPlayerFollowing,

	/**
	 * Description:		-
	 * Forward params:	function(this, idleader, bool:noSound)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_StartPlayerFollowing, this, idleader, bool:noSound)
	 */
	Ham_SC_StartPlayerFollowing,

	/**
	 * Description:		-
	 * Forward params:	function(this, bool:clearSchedule, bool:noSound)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_StopPlayerFollowing, this, bool:clearSchedule, bool:noSound)
	 */
	Ham_SC_StopPlayerFollowing,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_UseSound, this)
	 */
	Ham_SC_UseSound,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_UnUseSound, this)
	 */
	Ham_SC_UnUseSound,

	/**
	 * Description:		-
	 * Forward params:	function(this, idOther)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_RideMonster, this, idOther)
	 */
	Ham_SC_RideMonster,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_CheckAndApplyGenericAttacks, this)
	 */
	Ham_SC_CheckAndApplyGenericAttacks,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_CheckScared, this)
	 */
	Ham_SC_CheckScared,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_CheckCreatureDanger, this)
	 */
	Ham_SC_CheckCreatureDanger,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_CheckFallDamage, this)
	 */
	Ham_SC_CheckFallDamage,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_CheckRevival, this)
	 */
	Ham_SC_CheckRevival,

	/**
	 * Description:		(!) This function is no more available in the mod.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_MedicCallSound, this)
	 */
	Ham_SC_MedicCallSound,


	/**
	 * Description:		(!) This function is no more available in the mod.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_MenuInputPerformed, this)
	 */
	Ham_SC_Player_MenuInputPerformed,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_IsMenuInputDone, this)
	 */
	Ham_SC_Player_IsMenuInputDone,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_SpecialSpawn, this)
	 */
	Ham_SC_Player_SpecialSpawn,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Player_IsValidInfoEntity, this)
	 */
	Ham_SC_Player_IsValidInfoEntity,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_LevelEnd, this)
	 */
	Ham_SC_Player_LevelEnd,

	/**
	 * Description:		-
	 * Forward params:	function(this, voteType)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_VoteStarted, this, voteType)
	 */
	Ham_SC_Player_VoteStarted,

	/**
	 * Description:		-
	 * Forward params:	function(this, voteType)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Player_CanStartNextVote, this, voteType)
	 */
	Ham_SC_Player_CanStartNextVote,

	/**
	 * Description:		-
	 * Forward params:	function(this, voteInput)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_Vote, this, voteInput)
	 */
	Ham_SC_Player_Vote,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Player_HasVoted, this)
	 */
	Ham_SC_Player_HasVoted,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_ResetVote, this)
	 */
	Ham_SC_Player_ResetVote,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_Player_LastVoteInput, this)
	 */
	Ham_SC_Player_LastVoteInput,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_InitVote, this)
	 */
	Ham_SC_Player_InitVote,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_SC_Player_StartNextVote, this)
	 */
	Ham_SC_Player_TimeToStartNextVote,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_ResetView, this)
	 */
	Ham_SC_Player_ResetView,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_SC_Player_GetLogFrequency, this)
	 */
	Ham_SC_Player_GetLogFrequency,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Player_LogPlayerStats, this)
	 */
	Ham_SC_Player_LogPlayerStats,

	/**
	 * Description:		(!) This function is no more available in the mod.
	 * Forward params:	function(this, idPlayer, Float:time)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_DisableCollision, this, idPlayer, Float:time)
	 */
	Ham_SC_Player_DisableCollisionWithPlayer,

	/**
	 * Description:		(!) This function is no more available in the mod.
	 * Forward params:	function(this, idPlayer, bool:testIntersection)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_EnableCollision, this, idPlayer, bool:testIntersection)
	 */
	Ham_SC_Player_EnableCollisionWithPlayer,

	/**
	 * Description:		(!) This function is no more available in the mod.
	 * Forward params:	function(this, idPlayer)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Player_CanTouchPlayer, this, idPlayer)
	 */
	Ham_SC_Player_CanTouchPlayer,


	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Item_Materialize, this)
	 */
	Ham_SC_Item_Materialize,


	/**
	 * Description:		-
	 * Forward params:	function(this, const Float:moving[3], const Float:standing[3], const Float:crouched[3])
	 * Return type:		Vector, byreffed in execute.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_BulletAccuracy, this, const Float:moving[3], const Float:standing[3], const Float:crouched[3], Float:output[3])
	 */
	Ham_SC_Weapon_BulletAccuracy,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_TertiaryAttack, this)
	 */
	Ham_SC_Weapon_TertiaryAttack,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_BurstSupplement, this)
	 */
	Ham_SC_Weapon_BurstSupplement,

	/**
	 * Description:		-
	 * Forward params:	function(this, const alternative[] = "")
	 * Return type:		String (string length returned and string byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_GetP_Model, this, const alternative[] = "", buffer[], size)
	 */
	Ham_SC_Weapon_GetP_Model,

	/**
	 * Description:		-
	 * Forward params:	function(this, const alternative[] = "")
	 * Return type:		String (string length returned and string byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_GetW_Model, this, const alternative[] = "", buffer[], size)
	 */
	Ham_SC_Weapon_GetW_Model,

	/**
	 * Description:		-
	 * Forward params:	function(this, const alternative[] = "")
	 * Return type:		String (string length returned and string byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_GetV_Model, this, const alternative[] = "", buffer[], size)
	 */
	Ham_SC_Weapon_GetV_Model,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_PrecacheCustomMdl, this)
	 */
	Ham_SC_Weapon_PrecacheCustomModels,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_IsMultiplayer, this)
	 */
	Ham_SC_Weapon_IsMultiplayer,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_FRunfuncs, this)
	 */
	Ham_SC_Weapon_FRunfuncs,

	/**
	 * Description:		-
	 * Forward params:	function(this, fov)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_SetFOV, this, fov)
	 */
	Ham_SC_Weapon_SetFOV,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_FCanRun, this)
	 */
	Ham_SC_Weapon_FCanRun,

	/**
	 * Description:		-
	 * Forward params:	function(this, Float:frametime)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_CustomDecrement, this, Float:frametime)
	 */
	Ham_SC_Weapon_CustomDecrement,

	/**
	 * Description:		-
	 * Forward params:	function(this, const model[])
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_SetV_Model, this, const model[])
	 */
	Ham_SC_Weapon_SetV_Model,

	/**
	 * Description:		-
	 * Forward params:	function(this, const model[])
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_SetP_Model, this, const model[])
	 */
	Ham_SC_Weapon_SetP_Model,

	/**
	 * Description:		-
	 * Forward params:	function(this, skin)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_ChangeWeaponSkin, this, skin)
	 */
	Ham_SC_Weapon_ChangeWeaponSkin,


	/**
	 * LATE ADDITIONS (2013)
	 */

	/**
	 * Description:		Normally called whenever an entity dies.
	 * Forward params:	function(this, idinflictor, idattacker, shouldgib)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_Killed, this, idinflictor, idattacker, shouldgib);
	 */
	Ham_TFC_Killed,

	/**
	 * Description:		Returns whether an entity is activated.
	 * Forward params:	function(this, idActivator);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_IsTriggered, this, idActivator);
	 */
	Ham_TFC_IsTriggered,

	/**
	 * Description:		Sends an animation event for the weapon. skiplocal is 1 if client is predicting weapon animations.
	 * Forward params:	function(this, anim, skiplocal);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TFC_Weapon_SendWeaponAnim, this, anim, skiplocal);
	 */
	Ham_TFC_Weapon_SendWeaponAnim,

	/**
	 * Description:		Gets next attack delay.
	 * Forward params:	function(this, Float:delay)
	 * Return type:		Float (byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_TFC_Weapon_GetNextAttackDelay, this, Float:delay, Float:output);
	 */
	Ham_TFC_Weapon_GetNextAttackDelay,


	/**
	 * Description:		Usually called whenever an entity gets a form of a heal.
	 * Forward params:	function(this, Float:health, damagebits, health_cap);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_TakeHealth, this, Float:health, damagebits, health_cap);
	 */
	Ham_SC_TakeHealth,

	/**
	 * Description:		Usually called whenever an entity gets a form of armor.
	 * Forward params:	function(this, Float:armor, damagebits, armor_cap);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_TakeArmor, this, Float:armor, damagebits, armor_cap);
	 */
	Ham_SC_TakeArmor,

	/**
	 * Description:		Gives ammo to the entity.
	 * Forward params:	function(this, amount, const name[], max, const bool:fromPlayer)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_GiveAmmo, this, amount, "type", max, fromPlayer);
	 */
	Ham_SC_GiveAmmo,

	/**
	 * Description:		Determines if we should ignore damage.
	 * Forward params:	function(this, idattacker);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_CheckAttacker, this, idattacker);
	 */
	Ham_SC_CheckAttacker,

	/**
	 * Description:		Determines if a player is connected.
	 * Forward params:	function(this);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_Player_IsConnected, this);
	 */
	Ham_SC_Player_IsConnected,


	/**
	 * Description:		Sends an animation event for the weapon. skiplocal is 1 if client is predicting weapon animations.
	 * Forward params:	function(this, anim, skiplocal);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_DOD_Weapon_SendWeaponAnim, this, anim, skiplocal);
	 */
	Ham_DOD_Weapon_SendWeaponAnim,


	/**
	 * Description:		-
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CS_Item_IsWeapon, this);
	 */
	Ham_CS_Item_IsWeapon,


	/**
	 * Description:		Returns the id of the entity if its class is derived off of CBaseSquadTalkMonster, -1 otherwise.
	 * Forward params:	function(this)
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_OPF_MySquadTalkMonsterPointer, this);
	 */
	Ham_OPF_MySquadTalkMonsterPointer,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Float (byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_OPF_WeaponTimeBase, this);
	 */
	Ham_OPF_WeaponTimeBase,


	/**
	 * Description:		Called when the alternate attack of a weapon is triggered.
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_TS_Weapon_AlternateAttack, this);
	 */
	Ham_TS_Weapon_AlternateAttack,


	/**
	 * Description:		Gets item infos.
	 * Forward params:	function(this, iteminfo_handle);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_Item_GetItemInfo, this, iteminfo_handle);
	 *					Use CreateHamItemInfo() to pass a new ItemInfo handle.
	 */
	Ham_Item_GetItemInfo,


	/**
	 * LATE ADDITIONS (2017)
	 */

	/**
	 * Description:		Performs checks that must occur before Spawn itself is called. Always call baseclass version first.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_PreSpawn, this);
	 */
	Ham_SC_PreSpawn,

	/**
	 * Description:		Performs checks that must occur after Spawn itself is called. Always call baseclass version first.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_PostSpawn, this);
	 */
	Ham_SC_PostSpawn,

	/**
	 * Description:		-
	 * Forward params:	function(this, key);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_PostSpawn, this, const key[]);
	 */
	Ham_SC_OnKeyValueUpdate,

	/**
	 * Description:		-
	 * Forward params:	function(this, classification);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_SetClassification, this, classification);
	 */
	Ham_SC_SetClassification,

	/**
	 * Description:		Returns whether an entity is activated.
	 *					This function is not supported by Day Of Defeat.
	 *					This function has different version for Team Fortress Classic, see Ham_TFC_IsTriggered instead.
	 * Forward params:	function(this, idActivator);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_IsTriggered, this, idActivator);
	 */
	Ham_SC_IsTriggered,

	/**
	 * Description:		Returns the id of the entity if its class is derived off of ICustomEntity, -1 otherwise.
	 * Forward params:	function(this)
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_SC_MyCustomPointer, this);
	 */
	Ham_SC_MyCustomPointer,

	/**
	 * Description:		Returns the id of the entity if its class is derived off of CBasePlayerItem, -1 otherwise.
	 * Forward params:	function(this)
	 * Return type:		Entity.
	 * Execute params:	ExecuteHam(Ham_SC_MyItemPointer, this);
	 */
	Ham_SC_MyItemPointer,

	/**
	 * Description:		Typically adds points to the entity.
	 * Forward params:	function(this, points, bool:cangonegative);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_AddPoints, this, points, bool:cangonegative);
	 */
	Ham_SC_AddPoints,

	/**
	 * Description:		Typically adds points to everybody on the entity's team.
	 * Forward params:	function(this, points, bool:cangonegative);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_AddPointsToTeam, this, points, bool:cangonegative);
	 */
	Ham_SC_AddPointsToTeam,

	/**
	 * Description:		Removes an item to the player's inventory.
	 * Forward params:	function(this, idother);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_RemovePlayerItem, this, idother);
	 */
	Ham_SC_RemovePlayerItem,

	/**
	 * Description:		Not entirely sure.
	 * Forward params:	function(this, idOn)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_OnControls, this, idOn);
	 */
	Ham_SC_OnControls,

	/**
	 * Description:		Whether or not the entity is sneaking.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsSneaking, this);
	 */
	Ham_SC_IsSneaking,

	/**
	 * Description:		Whether or not the entity is alive.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsAlive, this);
	 */
	Ham_SC_IsAlive,

	/**
	 * Description:		Whether or not the entity uses a BSP model.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsBSPModel, this);
	 */
	Ham_SC_IsBSPModel,

	/**
	 * Description:		Whether or not the entity can reflect gauss shots.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_ReflectGauss, this);
	 */
	Ham_SC_ReflectGauss,

	/**
	 * Description:		Whether or not the target is the same as the one passed.
	 *					Note the strindex parameter is a string passed that has been allocated by the engine.
	 *					Use fakemeta's EngFunc_SzFromIndex to convert to a normal string, or fakemeta's
	 *					EngFunc_AllocString to create a new string.
	 * Forward params:	function(this, strindex).
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_HasTarget, this, strindex);
	 */
	Ham_SC_HasTarget,

	/**
	 * Description:		Whether or not the entity is in the world.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsInWorld, this);
	 */
	Ham_SC_IsInWorld,

	/**
	 * Description:		Whether or not the entity is a player.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Sc_IsPlayer, this);
	 */
	Ham_Sc_IsPlayer,

	/**
	 * Description:		Whether or not the entity is a net client.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsNetClient, this);
	 */
	Ham_SC_IsNetClient,

	/**
	 * Description:		Whether or not the entity is a brush entity breakable.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsBreakable, this);
	 */
	Ham_SC_IsBreakable,

	/**
	 * Description:		-
	 * Forward params:	function(this, idActivator, useType, value);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_SUB_UseTargets, this, idActivator, useType, value);
	 */
	Ham_SC_SUB_UseTargets,

	/**
	 * Description:		-
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsLockedByMaster, this);
	 */
	Ham_SC_IsLockedByMaster,

	/**
	 * Description:		Normally called whenever a barnacle grabs the entity.
	 * Forward params:	function(this, idOther);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FBecomeProne, this, idOther);
	 */
	Ham_SC_FBecomeProne,

	/**
	 * Description:		Returns true if a line can be traced from the caller's eyes to given vector.
	 * Forward params:	function(this, const Float:origin[3]);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_FVecVisible, this, const Float:origin[3]);
	 */
	Ham_SC_FVecVisible,

	/**
	 * Description:		Sets the player ally state
	 * Forward params:	function(this, bool:state);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_SetPlayerAlly, this, bool:state);
	 */
	Ham_SC_SetPlayerAlly,

	/**
	 * Description:		Callback after trigger_setorigin has moved the entity.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_OnSetOriginByMap, this);
	 */
	Ham_SC_OnSetOriginByMap,

	/**
	 * Description:		Return true if you want to be revivable.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_IsRevivable, this);
	 */
	Ham_SC_IsRevivable,

	/**
	 * Description:		-
	 *                  timeUntilRevive is the time until the actual revive event occurs.
	 * Forward params:	function(this, Float:timeUntilRevive);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_BeginRevive, Float:timeUntilRevive);
	 */
	Ham_SC_BeginRevive,

	/**
	 * Description:		-
	 *                  timeUntilRevive is the time before the monster is supposed to be revived
	 * Forward params:	function(this, Float:timeUntilRevive);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_EndRevive, Float:timeUntilRevive);
	 */
	Ham_SC_EndRevive,

	/**
	 * Description:		Determines whether or not the monster can play the scripted sequence or AI sequence that is
	 *					trying to possess it. If DisregardState is set, the monster will be sucked into the script
	 *					no matter what state it is in. ONLY Scripted AI ents should allow this.
	 * Forward params:	function(this, bool:disregardState, interruptLevel);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CanPlaySequence, this, bool:disregardState, interruptLevel);
	 */
	Ham_SC_CanPlaySequence,

	/**
	 * Description:		-
	 * Forward params:	function(this, bool:disregardState);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_CanPlaySentence2, this, bool:disregardState);
	 */
	Ham_SC_CanPlaySentence2,

	/**
	 * Description:		-
	 * Forward params:	function(this, const sentence[], Float:duration, Float:volume, Float:attenuation, bool:concurrent, idListener);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_PlayScriptedSentence, this, const sentence[], Float:duration, Float:volume, Float:attenuation, bool:concurrent, idListener);
	 */
	Ham_SC_PlayScriptedSentence,


	/**
	 * Items have all the attributes of normal entities in addition to these.
	 */

	/**
	 * Description:		Adds the item to the player.
	 * Forward params:	function(this, idPlayer);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_Item_AddToPlayer, this, idPlayer);
	 */
	Ham_SC_Item_AddToPlayer,

	/**
	 * Description:		Returns true if you want your duplicate removed from world.
	 * Forward params:	function(this, idOriginal);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Item_AddDuplicate, this, idOriginal);
	 */
	Ham_SC_Item_AddDuplicate,

	/**
	 * Description:		-
	 * Forward params:	function(this, idOther);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Item_AddAmmoFromItem, this, idOther);
	 */
	Ham_SC_Item_AddAmmoFromItem,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		String (string length returned and string byref'd in ExecuteHam).
	 * Execute params:	ExecuteHam(Ham_SC_Item_GetPickupSound, this)
	 */
	Ham_SC_Item_GetPickupSound,

	/**
	 * Description:		-
	 *					Collect Types:
	 *						COLLECT_TOUCH			0
	 *						COLLECT_USE_DIRECT		1
	 *						COLLECT_USE_INDIRECT	2
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Item_CanCollect, this, idOther, collectType);
	 */
	Ham_SC_Item_CanCollect,

	/**
	 * Description:		-
	 * Forward params:	function(this, idOther, collectType);
	 *					Collect Types:
	 *						COLLECT_TOUCH			0
	 *						COLLECT_USE_DIRECT		1
	 *						COLLECT_USE_INDIRECT	2
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Item_Collect, this, idOther, collectType);
	 */
	Ham_SC_Item_Collect,

	/**
	 * Description:		Gets item infos.
	 * Forward params:	function(this, iteminfo_handle);
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_Item_GetItemInfo, this, iteminfo_handle);
	 *					Use CreateHamItemInfo() to pass a new ItemInfo handle.
	 */
	Ham_SC_Item_GetItemInfo,

	/**
	 * Description:		Whether or not this entity can be deployed.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Item_CanDeploy, this);
	 */
	Ham_SC_Item_CanDeploy,

	/**
	 * Description:		Deploys the entity (usually a weapon).
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Item_Deploy, this);
	 */
	Ham_SC_Item_Deploy,

	/**
	 * Description:		Whether or not the entity can be holstered.
	 * Forward params:	function(this);
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Item_CanHolster, this);
	 */
	Ham_SC_Item_CanHolster,

	/**
	 * Description:		Called each frame by the player PreThink if inactive.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Item_InactiveItemPreFrame, this);
	 */
	Ham_SC_Item_InactiveItemPreFrame,

	/**
	 * Description:		Called each frame by the player PostThink if inactive.
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Item_InactiveItemPostFrame, this);
	 */
	Ham_SC_Item_InactiveItemPostFrame,

	/**
	 * Description:		-
	 * Forward params:	function(this);
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Item_DetachFromPlayer, this);
	 */
	Ham_SC_Item_DetachFromPlayer,

	/**
	 * Description:		Updates item data for the client.
	 * Forward params:	function(this, idPlayer)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_Item_UpdateClientData, this, idPlayer);
	 */
	Ham_SC_Item_UpdateClientData,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Float.
	 * Execute params:	ExecuteHam(Ham_SC_Item_GetRespawnTime, this);
	 */
	Ham_SC_Item_GetRespawnTime,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Item_CanHaveDuplicates, this);
	 */
	Ham_SC_Item_CanHaveDuplicates,


	/**
	 * Weapons have all the attributes to Ham_Item_*, in addition to these.
	 */

	/**
	 * Description:		-
	 * Forward params:	function(this, idOriginal)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_ExtractAmmoFromItem, idOriginal);
	 */
	Ham_SC_Weapon_ExtractAmmoFromItem,

	/**
	 * Description:		Unsure.
	 *					This function is not supported in Earth's Special Forces mod.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_AddWeapon, this);
	 */
	Ham_SC_Weapon_AddWeapon,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_GetAmmo1Drop);
	 */
	Ham_SC_Weapon_GetAmmo1Drop,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_GetAmmo2Drop, idOriginal);
	 */
	Ham_SC_Weapon_GetAmmo2Drop,

	/**
	 * Description:		Plays the weapon's empty sound.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_PlayEmptySound, this);
	 */
	Ham_SC_Weapon_PlayEmptySound,

	/**
	 * Description:		Whether or not the weapon is usable (has ammo, etc.)
	 *					This function is not supported in Earth's Special Forces mod.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_IsUsable, this)
	 */
	Ham_SC_Weapon_IsUsable,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_FinishReload, idOriginal);
	 */
	Ham_SC_Weapon_FinishReload,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_ShouldReload, idOriginal);
	 */
	Ham_SC_Weapon_ShouldReload,

	/**
	 * Description:		Whether or not the weapon should idle.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute Params:	ExecuteHam(Ham_SC_Weapon_ShouldWeaponIdle, this)
	 */
	Ham_SC_Weapon_ShouldWeaponIdle,

	/**
	 * Description:		Unsure.
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Weapon_UseDecrement, this);
	 */
	Ham_SC_Weapon_UseDecrement,


	/**
	 * Players have all the attributes of normal entities, in addition to these.
	 */

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_EnteredObserver, this);
	 */
	Ham_SC_Player_EnteredObserver,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		None.
	 * Execute params:	ExecuteHam(Ham_SC_Player_LeftObserver, this);
	 */
	Ham_SC_Player_LeftObserver,

	/**
	 * Description:		-
	 * Forward params:	function(this)
	 * Return type:		Integer (boolean).
	 * Execute params:	ExecuteHam(Ham_SC_Player_IsObserver, this);
	 */
	Ham_SC_Player_IsObserver,


	/**
	 * DONT USE ME LOL
	 */
	HAM_LAST_ENTRY_DONT_USE_ME_LOL
};
```

##### Note

Not all functions will do as you expect on all mods. If a function does
not do what you would believe it should DO NOT file a bug report, you
will be ignored.

##### Note

Passing invalid parameters has potential to crash the server, so be
careful, and test carefully and adequately!

##### Note

All functions take (and pass) a "this" index as the first param.
This is the entity from which the function is being executed on.

##### Note

All functions and forwards (eg: {Register,Execute}Ham[B]) require
the mod to have the pev and base keys in addition to the function
keys for the corresponding mod/operating system in gamedata

##### Note

Some functions that return booleans may need to be logically ANDed
to get the desired results because the mod will return the full integer
value. E.g.: (ExecuteHam(Ham_TS_IsObjective, this) & 0x0000FFFF) != 0

#### HamError

Ham error types.

```pawn
enum HamError
{
	HAM_OK = 0,

	HAM_INVALID_FUNC,			// The function is not valid
	HAM_FUNC_NOT_CONFIGURED,	// This function is not configured in gamedata
	HAM_FUNC_NOT_AVAILABLE,		// This function is not more available in the mod

	HAM_ERR_END
};
```

#### HamItemInfo

Constants for usage with [Get|Set]HamItemInfo

```pawn
enum HamItemInfo
{
	Ham_ItemInfo_iSlot,
	Ham_ItemInfo_iPosition,
	Ham_ItemInfo_pszAmmo1,
	Ham_ItemInfo_iMaxAmmo1,
	Ham_ItemInfo_pszAmmo2,
	Ham_ItemInfo_iMaxAmmo2,
	Ham_ItemInfo_pszName,
	Ham_ItemInfo_iMaxClip,
	Ham_ItemInfo_iId,
	Ham_ItemInfo_iFlags,
	Ham_ItemInfo_iWeight
};
```

## hlsdk_const.inc

- HTML: https://amxx-api.csrevo.com/hlsdk_const
- Group: Base includes
- Functions: 0
- Documented constants: 85

### Constants

#### IN_ATTACK

pev(entity, pev_button) or pev(entity, pev_oldbuttons) values

```pawn
#define IN_ATTACK                       (1<<0)
#define IN_JUMP                         (1<<1)
#define IN_DUCK                         (1<<2)
#define IN_FORWARD                      (1<<3)
#define IN_BACK                         (1<<4)
#define IN_USE                          (1<<5)
#define IN_CANCEL                       (1<<6)
#define IN_LEFT                         (1<<7)
#define IN_RIGHT                        (1<<8)
#define IN_MOVELEFT                     (1<<9)
#define IN_MOVERIGHT                    (1<<10)
#define IN_ATTACK2                      (1<<11)
#define IN_RUN                          (1<<12)
#define IN_RELOAD                       (1<<13)
#define IN_ALT1                         (1<<14)
#define IN_SCORE                        (1<<15)     // Used by client.dll for when scoreboard is held down
```

#### FL_FLY

pev(entity, pev_flags) values

```pawn
#define FL_FLY                          (1<<0)      // Changes the SV_Movestep() behavior to not need to be on ground
#define FL_SWIM                         (1<<1)      // Changes the SV_Movestep() behavior to not need to be on ground (but stay in water)
#define FL_CONVEYOR                     (1<<2)
#define FL_CLIENT                       (1<<3)
#define FL_INWATER                      (1<<4)
#define FL_MONSTER                      (1<<5)
#define FL_GODMODE                      (1<<6)
#define FL_NOTARGET                     (1<<7)
#define FL_SKIPLOCALHOST                (1<<8)      // Don't send entity to local host, it's predicting this entity itself
#define FL_ONGROUND                     (1<<9)      // At rest / on the ground
#define FL_PARTIALGROUND                (1<<10)     // Not all corners are valid
#define FL_WATERJUMP                    (1<<11)     // Player jumping out of water
#define FL_FROZEN                       (1<<12)     // Player is frozen for 3rd person camera
#define FL_FAKECLIENT                   (1<<13)     // JAC: fake client, simulated server side; don't send network messages to them
#define FL_DUCKING                      (1<<14)     // Player flag -- Player is fully crouched
#define FL_FLOAT                        (1<<15)     // Apply floating force to this entity when in water
#define FL_GRAPHED                      (1<<16)     // Worldgraph has this ent listed as something that blocks a connection
#define FL_IMMUNE_WATER                 (1<<17)
#define FL_IMMUNE_SLIME                 (1<<18)
#define FL_IMMUNE_LAVA                  (1<<19)
#define FL_PROXY                        (1<<20)     // This is a spectator proxy
#define FL_ALWAYSTHINK                  (1<<21)     // Brush model flag -- call think every frame regardless of nextthink - ltime (for constantly changing velocity/path)
#define FL_BASEVELOCITY                 (1<<22)     // Base velocity has been applied this frame (used to convert base velocity into momentum)
#define FL_MONSTERCLIP                  (1<<23)     // Only collide in with monsters who have FL_MONSTERCLIP set
#define FL_ONTRAIN                      (1<<24)     // Player is _controlling_ a train, so movement commands should be ignored on client during prediction.
#define FL_WORLDBRUSH                   (1<<25)     // Not moveable/removeable brush entity (really part of the world, but represented as an entity for transparency or something)
#define FL_SPECTATOR                    (1<<26)     // This client is a spectator, don't run touch functions, etc.
#define FL_CUSTOMENTITY                 (1<<29)     // This is a custom entity
#define FL_KILLME                       (1<<30)     // This entity is marked for death -- This allows the engine to kill ents at the appropriate time
#define FL_DORMANT                      (1<<31)     // Entity is dormant, no updates to client
```

#### WALKMOVE_NORMAL

engfunc(EngFunc_WalkMove, entity, Float:yaw, Float:dist, iMode) iMode values

```pawn
#define WALKMOVE_NORMAL                 0           // Normal walkmove
#define WALKMOVE_WORLDONLY              1           // Doesn't hit ANY entities, no matter what the solid type
#define WALKMOVE_CHECKONLY              2           // Move, but don't touch triggers
```

#### MOVE_NORMAL

engfunc(EngFunc_MoveToOrigin, entity, Float:goal[3], Float:distance, moveType) moveType values

```pawn
#define MOVE_NORMAL                     0           // normal move in the direction monster is facing
#define MOVE_STRAFE                     1           // moves in direction specified, no matter which way monster is facing
```

#### MOVETYPE_NONE

pev(entity, pev_movetype) values

```pawn
#define MOVETYPE_NONE                   0           // Never moves
#define MOVETYPE_WALK                   3           // Player only - moving on the ground
#define MOVETYPE_STEP                   4           // Gravity, special edge handling -- monsters use this
#define MOVETYPE_FLY                    5           // No gravity, but still collides with stuff
#define MOVETYPE_TOSS                   6           // Gravity/Collisions
#define MOVETYPE_PUSH                   7           // No clip to world, push and crush
#define MOVETYPE_NOCLIP                 8           // No gravity, no collisions, still do velocity/avelocity
#define MOVETYPE_FLYMISSILE             9           // Extra size to monsters
#define MOVETYPE_BOUNCE                 10          // Just like Toss, but reflect velocity when contacting surfaces
#define MOVETYPE_BOUNCEMISSILE          11          // Bounce w/o gravity
#define MOVETYPE_FOLLOW                 12          // Track movement of aiment
#define MOVETYPE_PUSHSTEP               13          // BSP model that needs physics/world collisions (uses nearest hull for world collision)
```

#### SOLID_NOT

pev(entity, pev_solid) values

```pawn
#define SOLID_NOT                       0           // No interaction with other objects
#define SOLID_TRIGGER                   1           // Touch on edge, but not blocking
#define SOLID_BBOX                      2           // Touch on edge, block
#define SOLID_SLIDEBOX                  3           // Touch on edge, but not an onground
#define SOLID_BSP                       4           // BSP clip, touch on edge, block
```

##### Note

Some movetypes will cause collisions independent of SOLID_NOT and
SOLID_TRIGGER when the entity moves. SOLID only effects OTHER entities
colliding with this one when they move - UGH!

#### DEAD_NO

pev(entity, pev_deadflag) values

```pawn
#define DEAD_NO                         0           // Alive
#define DEAD_DYING                      1           // Playing death animation or still falling off of a ledge waiting to hit ground
#define DEAD_DEAD                       2           // Dead, lying still
#define DEAD_RESPAWNABLE                3
#define DEAD_DISCARDBODY                4
```

#### DAMAGE_NO

new Float:takedamage, pev(entity, pev_takedamage, takedamage) values

```pawn
#define DAMAGE_NO                       0.0
#define DAMAGE_YES                      1.0
#define DAMAGE_AIM                      2.0
```

#### EF_BRIGHTFIELD

pev(entity, pev_effects) values

```pawn
#define EF_BRIGHTFIELD                  1           // Swirling cloud of particles
#define EF_MUZZLEFLASH                  2           // Single frame ELIGHT on entity attachment 0
#define EF_BRIGHTLIGHT                  4           // DLIGHT centered at entity origin
#define EF_DIMLIGHT                     8           // Player flashlight
#define EF_INVLIGHT                     16          // Get lighting from ceiling
#define EF_NOINTERP                     32          // Don't interpolate the next frame
#define EF_LIGHT                        64          // Rocket flare glow sprite
#define EF_NODRAW                       128         // Don't draw entity
```

#### OBS_NONE

Spectating camera mode constants

```pawn
#define OBS_NONE                        0
#define OBS_CHASE_LOCKED                1           // Locked Chase Cam
#define OBS_CHASE_FREE                  2           // Free Chase Cam
#define OBS_ROAMING                     3           // Free Look
#define OBS_IN_EYE                      4           // First Person
#define OBS_MAP_FREE                    5           // Free Overview
#define OBS_MAP_CHASE                   6           // Chase Overview
```

##### Note

These constants are linked to different camera modes available when you
are spectating (either dead or when in spectator team). Usually this is
stored in the pev_iuser1 field in Counter-Strike and Half-Life games.

#### CONTENTS_EMPTY

engfunc(EngFunc_PointContents, Float:origin) return values

```pawn
#define CONTENTS_EMPTY                  -1
#define CONTENTS_SOLID                  -2
#define CONTENTS_WATER                  -3
#define CONTENTS_SLIME                  -4
#define CONTENTS_LAVA                   -5
#define CONTENTS_SKY                    -6
#define CONTENTS_ORIGIN                 -7          // Removed at csg time
#define CONTENTS_CLIP                   -8          // Changed to contents_solid
#define CONTENTS_CURRENT_0              -9
#define CONTENTS_CURRENT_90             -10
#define CONTENTS_CURRENT_180            -11
#define CONTENTS_CURRENT_270            -12
#define CONTENTS_CURRENT_UP             -13
#define CONTENTS_CURRENT_DOWN           -14
#define CONTENTS_TRANSLUCENT            -15
#define CONTENTS_LADDER                 -16
#define CONTENT_FLYFIELD                -17
#define CONTENT_GRAVITY_FLYFIELD        -18
#define CONTENT_FOG                     -19
```

#### DMG_GENERIC

Instant damage values for use with the 3rd parameter of the "Damage" client
message.

```pawn
#define DMG_GENERIC                     0           // Generic damage was done
#define DMG_CRUSH                       (1<<0)      // Crushed by falling or moving object
#define DMG_BULLET                      (1<<1)      // Shot
#define DMG_SLASH                       (1<<2)      // Cut, clawed, stabbed
#define DMG_BURN                        (1<<3)      // Heat burned
#define DMG_FREEZE                      (1<<4)      // Frozen
#define DMG_FALL                        (1<<5)      // Fell too far
#define DMG_BLAST                       (1<<6)      // Explosive blast damage
#define DMG_CLUB                        (1<<7)      // Crowbar, punch, headbutt
#define DMG_SHOCK                       (1<<8)      // Electric shock
#define DMG_SONIC                       (1<<9)      // Sound pulse shockwave
#define DMG_ENERGYBEAM                  (1<<10)     // Laser or other high energy beam
#define DMG_NEVERGIB                    (1<<12)     // With this bit OR'd in, no damage type will be able to gib victims upon death
#define DMG_ALWAYSGIB                   (1<<13)     // With this bit OR'd in, any damage type can be made to gib victims upon death.
#define DMG_DROWN                       (1<<14)     // Drowning
#define DMG_PARALYZE                    (1<<15)     // Slows affected creature down
#define DMG_NERVEGAS                    (1<<16)     // Nerve toxins, very bad
#define DMG_POISON                      (1<<17)     // Blood poisioning
#define DMG_RADIATION                   (1<<18)     // Radiation exposure
#define DMG_DROWNRECOVER                (1<<19)     // Drowning recovery
#define DMG_ACID                        (1<<20)     // Toxic chemicals or acid burns
#define DMG_SLOWBURN                    (1<<21)     // In an oven
#define DMG_SLOWFREEZE                  (1<<22)     // In a subzero freezer
#define DMG_MORTAR                      (1<<23)     // Hit by air raid (done to distinguish grenade from mortar)
#define DMG_GRENADE                     (1<<24)     // Counter-Strike only - Hit by HE grenade
#define DMG_TIMEBASED                   (~(0x3fff)) // Mask for time-based damage
```

#### GIB_NORMAL

Gib values used on client kill based on instant damage values

```pawn
#define GIB_NORMAL                      0 // Gib if entity was overkilled
#define GIB_NEVER                       1 // Never gib, no matter how much death damage is done ( freezing, etc )
#define GIB_ALWAYS                      2 // Always gib ( Houndeye Shock, Barnacle Bite )
#define GIB_TRY_HEALTH                	-9000 // Gib players if their health is under this value. (GIB_NEVER overrides this value)
```

#### DONT_IGNORE_MONSTERS

Valid constants for fNoMonsters parameter of EngFunc_TraceLine,
EngFunc_TraceMonsterHull, EngFunc_TraceHull and EngFunc_TraceSphere.

```pawn
#define DONT_IGNORE_MONSTERS            0
#define IGNORE_MONSTERS                 1
#define IGNORE_MISSILE                  2
#define IGNORE_GLASS                    0x100
```

#### HULL_POINT

The hullnumber paramater of EngFunc_TraceHull, EngFunc_TraceModel and
DLLFunc_GetHullBounds

```pawn
#define HULL_POINT                      0
#define HULL_HUMAN                      1
#define HULL_LARGE                      2
#define HULL_HEAD                       3
```

#### FTRACE_SIMPLEBOX

global_get(glb_trace_flags)

```pawn
#define FTRACE_SIMPLEBOX                (1<<0)      // Traceline with a simple box
```

#### EFLAG_SLERP

Used with get/set_es(es_handle, ES_eFlags, ...) (entity_state data structure)

```pawn
#define EFLAG_SLERP                     1           // Do studio interpolation of this entity
```

#### pev(entity, pev_spawnflags) values

pev(entity, pev_spawnflags) values

#### SF_TRAIN_WAIT_RETRIGGER

func_train

```pawn
#define SF_TRAIN_WAIT_RETRIGGER         1
#define SF_TRAIN_START_ON               4           // Train is initially moving
#define SF_TRAIN_PASSABLE               8           // Train is not solid -- used to make water trains
```

#### SF_WALL_START_OFF

func_wall_toggle

```pawn
#define SF_WALL_START_OFF               0x0001
#define SF_WALL_NOTSOLID                0x0008
```

#### SF_CONVEYOR_VISUAL

func_converyor

```pawn
#define SF_CONVEYOR_VISUAL              0x0001
#define SF_CONVEYOR_NOTSOLID            0x0002
```

#### SF_BUTTON_DONTMOVE

func_button

```pawn
#define SF_BUTTON_DONTMOVE              1
#define SF_BUTTON_TOGGLE                32          // Button stays pushed until reactivated
#define SF_BUTTON_SPARK_IF_OFF          64          // Button sparks in OFF state
#define SF_BUTTON_TOUCH_ONLY            256         // Button only fires as a result of USE key.
```

#### SF_ROTBUTTON_NOTSOLID

func_rot_button

```pawn
#define SF_ROTBUTTON_NOTSOLID           1
#define SF_ROTBUTTON_BACKWARDS          2
```

#### SF_GLOBAL_SET

env_global

```pawn
#define SF_GLOBAL_SET                   1           // Set global state to initial state on spawn
```

#### SF_MULTI_INIT

multisource

```pawn
#define SF_MULTI_INIT                   1
```

#### SF_MOMENTARY_DOOR

momentary_rot_button

```pawn
#define SF_MOMENTARY_DOOR               0x0001
```

#### SF_BTARGET_USE

button_target

```pawn
#define SF_BTARGET_USE                  0x0001
#define SF_BTARGET_ON                   0x0002
```

#### SF_DOOR_ROTATE_Y

func_door, func_water, func_door_rotating, momementary_door

```pawn
#define SF_DOOR_ROTATE_Y                0
#define SF_DOOR_START_OPEN              1
#define SF_DOOR_ROTATE_BACKWARDS        2
#define SF_DOOR_PASSABLE                8
#define SF_DOOR_ONEWAY                  16
#define SF_DOOR_NO_AUTO_RETURN          32
#define SF_DOOR_ROTATE_Z                64
#define SF_DOOR_ROTATE_X                128
#define SF_DOOR_USE_ONLY                256         // Door must be opened by player's use button
#define SF_DOOR_NOMONSTERS              512         // Monster can't open
#define SF_DOOR_TOUCH_ONLY_CLIENTS      1024       	// Only clients can touch
#define SF_DOOR_SILENT                  0x80000000  // This bit marks that func_door are actually func_water
```

#### SF_GIBSHOOTER_REPEATABLE

gibshooter

```pawn
#define SF_GIBSHOOTER_REPEATABLE        1           // Allows a gibshooter to be refired
```

#### SF_FUNNEL_REVERSE

env_funnel

```pawn
#define SF_FUNNEL_REVERSE               1           // Funnel effect repels particles instead of attracting them
```

#### SF_BUBBLES_STARTOFF

env_bubbles

```pawn
#define SF_BUBBLES_STARTOFF             0x0001
```

#### SF_BLOOD_RANDOM

env_blood

```pawn
#define SF_BLOOD_RANDOM                 0x0001
#define SF_BLOOD_STREAM                 0x0002
#define SF_BLOOD_PLAYER                 0x0004
#define SF_BLOOD_DECAL                  0x0008
```

#### SF_SHAKE_EVERYONE

env_shake

```pawn
#define SF_SHAKE_EVERYONE               0x0001      // Don't check radius
#define SF_SHAKE_DISRUPT                0x0002      // Disrupt controls
#define SF_SHAKE_INAIR                  0x0004      // Shake players in air
```

#### SF_FADE_IN

env_fade

```pawn
#define SF_FADE_IN                      0x0001      // Fade in, not out
#define SF_FADE_MODULATE                0x0002      // Modulate, don't blend
#define SF_FADE_ONLYONE                 0x0004
```

#### SF_BEAM_STARTON

env_beam, env_lightning

```pawn
#define SF_BEAM_STARTON                 0x0001
#define SF_BEAM_TOGGLE                  0x0002
#define SF_BEAM_RANDOM                  0x0004
#define SF_BEAM_RING                    0x0008
#define SF_BEAM_SPARKSTART              0x0010
#define SF_BEAM_SPARKEND                0x0020
#define SF_BEAM_DECALS                  0x0040
#define SF_BEAM_SHADEIN                 0x0080
#define SF_BEAM_SHADEOUT                0x0100
#define SF_BEAM_TEMPORARY               0x8000
```

#### SF_SPRITE_STARTON

env_sprite

```pawn
#define SF_SPRITE_STARTON               0x0001
#define SF_SPRITE_ONCE                  0x0002
#define SF_SPRITE_TEMPORARY             0x8000
```

#### SF_MESSAGE_ONCE

env_message

```pawn
#define SF_MESSAGE_ONCE                 0x0001      // Fade in, not out
#define SF_MESSAGE_ALL                  0x0002      // Send to all clients
```

#### SF_ENVEXPLOSION_NODAMAGE

env_explosion

```pawn
#define SF_ENVEXPLOSION_NODAMAGE        (1<<0)      // When set, ENV_EXPLOSION will not actually inflict damage
#define SF_ENVEXPLOSION_REPEATABLE      (1<<1)      // Can this entity be refired?
#define SF_ENVEXPLOSION_NOFIREBALL      (1<<2)      // Don't draw the fireball
#define SF_ENVEXPLOSION_NOSMOKE         (1<<3)      // Don't draw the smoke
#define SF_ENVEXPLOSION_NODECAL         (1<<4)      // Don't make a scorch mark
#define SF_ENVEXPLOSION_NOSPARKS        (1<<5)      // Don't make a scorch mark
```

#### SF_TANK_ACTIVE

func_tank

```pawn
#define SF_TANK_ACTIVE                  0x0001
#define SF_TANK_PLAYER                  0x0002
#define SF_TANK_HUMANS                  0x0004
#define SF_TANK_ALIENS                  0x0008
#define SF_TANK_LINEOFSIGHT             0x0010
#define SF_TANK_CANCONTROL              0x0020
#define SF_TANK_SOUNDON                 0x8000
```

#### SF_DETONATE

grenade

```pawn
#define SF_DETONATE                     0x0001
```

#### SF_SUIT_SHORTLOGON

item_suit

```pawn
#define SF_SUIT_SHORTLOGON              0x0001
```

#### SF_SCORE_NEGATIVE

game_score

```pawn
#define SF_SCORE_NEGATIVE               0x0001
#define SF_SCORE_TEAM                   0x0002
```

#### SF_ENVTEXT_ALLPLAYERS

game_text

```pawn
#define SF_ENVTEXT_ALLPLAYERS           0x0001
```

#### SF_TEAMMASTER_FIREONCE

game_team_master

```pawn
#define SF_TEAMMASTER_FIREONCE          0x0001
#define SF_TEAMMASTER_ANYTEAM           0x0002
```

#### SF_TEAMSET_FIREONCE

game_team_set

```pawn
#define SF_TEAMSET_FIREONCE             0x0001
#define SF_TEAMSET_CLEARTEAM            0x0002
```

#### SF_PKILL_FIREONCE

game_player_hurt

```pawn
#define SF_PKILL_FIREONCE               0x0001
```

#### SF_GAMECOUNT_FIREONCE

game_counter

```pawn
#define SF_GAMECOUNT_FIREONCE           0x0001
#define SF_GAMECOUNT_RESET              0x0002
```

#### SF_PLAYEREQUIP_USEONLY

game_player_equip

```pawn
#define SF_PLAYEREQUIP_USEONLY          0x0001
```

#### SF_PTEAM_FIREONCE

game_player_team

```pawn
#define SF_PTEAM_FIREONCE               0x0001
#define SF_PTEAM_KILL                   0x0002
#define SF_PTEAM_GIB                    0x0004
```

#### SF_PLAT_TOGGLE

func_trackchange

```pawn
#define SF_PLAT_TOGGLE                  0x0001
#define SF_TRACK_ACTIVATETRAIN          0x00000001
#define SF_TRACK_RELINK                 0x00000002
#define SF_TRACK_ROTMOVE                0x00000004
#define SF_TRACK_STARTBOTTOM            0x00000008
#define SF_TRACK_DONT_MOVE              0x00000010
```

#### SF_TRACKTRAIN_NOPITCH

func_tracktrain

```pawn
#define SF_TRACKTRAIN_NOPITCH           0x0001
#define SF_TRACKTRAIN_NOCONTROL         0x0002
#define SF_TRACKTRAIN_FORWARDONLY       0x0004
#define SF_TRACKTRAIN_PASSABLE          0x0008
#define SF_PATH_DISABLED                0x00000001
#define SF_PATH_FIREONCE                0x00000002
#define SF_PATH_ALTREVERSE              0x00000004
#define SF_PATH_DISABLE_TRAIN           0x00000008
#define SF_PATH_ALTERNATE               0x00008000
#define SF_CORNER_WAITFORTRIG           0x001
#define SF_CORNER_TELEPORT              0x002
#define SF_CORNER_FIREONCE              0x004
```

#### SF_PLAT_TOGGLE

func_plat

```pawn
#define SF_PLAT_TOGGLE                  0x0001
```

#### SF_PATH_DISABLED

path_track

```pawn
#define SF_PATH_DISABLED                0x00000001
#define SF_PATH_FIREONCE                0x00000002
#define SF_PATH_ALTREVERSE              0x00000004
#define SF_PATH_DISABLE_TRAIN           0x00000008
#define SF_PATH_ALTERNATE               0x00008000
```

#### SF_CORNER_WAITFORTRIG

path_corner

```pawn
#define SF_CORNER_WAITFORTRIG           0x001
#define SF_CORNER_TELEPORT              0x002
#define SF_CORNER_FIREONCE              0x004
```

#### SF_TRIGGER_PUSH_START_OFF

trigger_push

```pawn
#define SF_TRIGGER_PUSH_START_OFF       2           // Spawnflag that makes trigger_push spawn turned OFF
```

#### SF_TRIGGER_HURT_TARGETONCE

trigger_hurt

```pawn
#define SF_TRIGGER_HURT_TARGETONCE      1           // Only fire hurt target once
#define SF_TRIGGER_HURT_START_OFF       2           // Spawnflag that makes trigger_push spawn turned OFF
#define SF_TRIGGER_HURT_NO_CLIENTS      8           // Spawnflag that makes trigger_push spawn turned OFF
#define SF_TRIGGER_HURT_CLIENTONLYFIRE  16          // Trigger hurt will only fire its target if it is hurting a client
#define SF_TRIGGER_HURT_CLIENTONLYTOUCH 32          // Only clients may touch this trigger
```

#### SF_AUTO_FIREONCE

trigger_auto

```pawn
#define SF_AUTO_FIREONCE                0x0001
#define SF_AUTO_NORESET                 0x0002
```

#### SF_RELAY_FIREONCE

trigger_relay

```pawn
#define SF_RELAY_FIREONCE               0x0001
```

#### SF_MULTIMAN_CLONE

multi_manager

```pawn
#define SF_MULTIMAN_CLONE               0x80000000
#define SF_MULTIMAN_THREAD              0x00000001
```

#### SF_RENDER_MASKFX

env_render

```pawn
#define SF_RENDER_MASKFX                (1<<0)
#define SF_RENDER_MASKAMT               (1<<1)
#define SF_RENDER_MASKMODE              (1<<2)
#define SF_RENDER_MASKCOLOR             (1<<3)
```

##### Note

These are flags to indicate masking off various render parameters that
are usually copied to the targets

#### SF_CHANGELEVEL_USEONLY

trigger_changelevel

```pawn
#define SF_CHANGELEVEL_USEONLY          0x0002
```

#### SF_ENDSECTION_USEONLY

trigger_endsection

```pawn
#define SF_ENDSECTION_USEONLY           0x0001
```

#### SF_CAMERA_PLAYER_POSITION

trigger_camera

```pawn
#define SF_CAMERA_PLAYER_POSITION       1
#define SF_CAMERA_PLAYER_TARGET         2
#define SF_CAMERA_PLAYER_TAKECONTROL    4
```

#### SF_BRUSH_ROTATE_Y_AXIS

func_rotating

```pawn
#define SF_BRUSH_ROTATE_Y_AXIS          0
#define SF_BRUSH_ROTATE_INSTANT         1
#define SF_BRUSH_ROTATE_BACKWARDS       2
#define SF_BRUSH_ROTATE_Z_AXIS          4
#define SF_BRUSH_ROTATE_X_AXIS          8
#define SF_PENDULUM_AUTO_RETURN         16
#define SF_PENDULUM_PASSABLE            32
#define SF_BRUSH_ROTATE_SMALLRADIUS     128
#define SF_BRUSH_ROTATE_MEDIUMRADIUS    256
#define SF_BRUSH_ROTATE_LARGERADIUS     512
```

#### SF_TRIGGER_ALLOWMONSTERS

triggers

```pawn
#define SF_TRIGGER_ALLOWMONSTERS        1           // Monsters allowed to fire this trigger
#define SF_TRIGGER_NOCLIENTS            2           // Players not allowed to fire this trigger
#define SF_TRIGGER_PUSHABLES            4           // Only pushables can fire this trigger

#define SF_TRIG_PUSH_ONCE               1
```

#### SF_TRIGGER_MULTIPLE_NOTOUCH

trigger_multiple

```pawn
#define SF_TRIGGER_MULTIPLE_NOTOUCH     0x0001
```

#### SF_TRIGGER_COUNTER_NOMESSAGE

trigger_counter

```pawn
#define SF_TRIGGER_COUNTER_NOMESSAGE    0x0001
```

#### SF_BREAK_TRIGGER_ONLY

func_breakable

```pawn
#define SF_BREAK_TRIGGER_ONLY           1           // May only be broken by trigger
#define SF_BREAK_TOUCH                  2           // Can be 'crashed through' by running player (plate glass)
#define SF_BREAK_PRESSURE               4           // Can be broken by a player standing on it
#define SF_BREAK_CROWBAR                256         // Instant break if hit with crowbar
```

#### SF_PUSH_BREAKABLE

func_pushable (also func_breakable, so don't collide with those flags)

```pawn
#define SF_PUSH_BREAKABLE               128
```

#### SF_LIGHT_START_OFF

light_spawn

```pawn
#define SF_LIGHT_START_OFF              1
#define SPAWNFLAG_NOMESSAGE             1
#define SPAWNFLAG_NOTOUCH               1
#define SPAWNFLAG_DROIDONLY             4
#define SPAWNFLAG_USEONLY               1           // Can't be touched, must be used (buttons)
```

#### SF_MONSTER_WAIT_TILL_SEEN

Monster Spawnflags

```pawn
#define SF_MONSTER_WAIT_TILL_SEEN       1           // Spawnflag that makes monsters wait until player can see them before attacking
#define SF_MONSTER_GAG                  2           // No idle noises from this monster
#define SF_MONSTER_HITMONSTERCLIP       4
#define SF_MONSTER_PRISONER             16          // Monster won't attack anyone, no one will attacke him
#define SF_MONSTER_WAIT_FOR_SCRIPT      128         // Spawnflag that makes monsters wait to check for attacking until the script is done or they've been attacked
#define SF_MONSTER_PREDISASTER          256         // This is a predisaster scientist or barney; influences how they speak
#define SF_MONSTER_FADECORPSE           512         // Fade out corpse after death
#define SF_MONSTER_FALL_TO_GROUND       0x80000000
#define SF_MONSTER_TURRET_AUTOACTIVATE  32
#define SF_MONSTER_TURRET_STARTINACTIVE 64
#define SF_MONSTER_WAIT_UNTIL_PROVOKED  64          // Don't attack the player unless provoked
```

#### SF_DECAL_NOTINDEATHMATCH

info_decal

```pawn
#define SF_DECAL_NOTINDEATHMATCH        2048
```

#### SF_WORLD_DARK

worldspawn

```pawn
#define SF_WORLD_DARK                   0x0001      // Fade from black at startup
#define SF_WORLD_TITLE                  0x0002      // Display game title at startup
#define SF_WORLD_FORCETEAM              0x0004      // Force teams
```

#### SF_NORESPAWN

Set this bit on guns and stuff that should never respawn

```pawn
#define SF_NORESPAWN                    (1<<30)
```

#### TRAIN_ACTIVE

Train status values

```pawn
#define TRAIN_ACTIVE  0x80
#define TRAIN_NEW     0xc0

#define TRAIN_OFF     0x00
#define TRAIN_NEUTRAL 0x01
#define TRAIN_SLOW    0x02
#define TRAIN_MEDIUM  0x03
#define TRAIN_FAST    0x04
#define TRAIN_BACK    0x05
```

#### HLI_HEALTHKIT

Valve Mod Weapon Constants

```pawn
#define HLI_HEALTHKIT       1
#define HLI_ANTIDOTE        2
#define HLI_SECURITY        3
#define HLI_BATTERY         4

#define HLW_NONE            0
#define HLW_CROWBAR         1
#define HLW_GLOCK           2
#define HLW_PYTHON          3
#define HLW_MP5             4
#define HLW_CHAINGUN        5
#define HLW_CROSSBOW        6
#define HLW_SHOTGUN         7
#define HLW_RPG             8
#define HLW_GAUSS           9
#define HLW_EGON            10
#define HLW_HORNETGUN       11
#define HLW_HANDGRENADE     12
#define HLW_TRIPMINE        13
#define HLW_SATCHEL         14
#define HLW_SNARK           15
#define HLW_SUIT            31
#define HLW_ALLWEAPONS      (~(1<<HLW_SUIT))
```

#### ITEM_FLAG_SELECTONEMPTY

Item's flags

```pawn
#define ITEM_FLAG_SELECTONEMPTY     (1<<0)
#define ITEM_FLAG_NOAUTORELOAD      (1<<1)
#define ITEM_FLAG_NOAUTOSWITCHEMPTY (1<<2)
#define ITEM_FLAG_LIMITINWORLD      (1<<3)
#define ITEM_FLAG_EXHAUSTIBLE       (1<<4)
```

#### FEV_NOTHOST

PlaybackEvent flags

```pawn
#define FEV_NOTHOST     (1<<0)  // Skip local host for event send.
#define FEV_RELIABLE    (1<<1)  // Send the event reliably.  You must specify the origin and angles
                                // for this to work correctly on the server for anything
                                // that depends on the event origin/angles.  I.e., the origin/angles are not
                                // taken from the invoking edict for reliable events.
#define FEV_GLOBAL      (1<<2)  // Don't restrict to PAS/PVS, send this event to _everybody_ on the server ( useful for stopping CHAN_STATIC
                                //  sounds started by client event when client is not in PVS anymore ( hwguy in TFC e.g. ).
#define FEV_UPDATE      (1<<3)  // If this client already has one of these events in its queue, just update the event instead of sending it as a duplicate
#define FEV_HOSTONLY    (1<<4)  // Only send to entity specified as the invoker
#define FEV_SERVER      (1<<5)  // Only send if the event was created on the server.
#define FEV_CLIENT      (1<<6)  // Only issue event client side ( from shared code )
```

#### FCAP_CUSTOMSAVE

Cap bits to indicate what an object's capabilities are, currently used for
save/restore and level transitions.

```pawn
#define FCAP_CUSTOMSAVE                 0x00000001
#define FCAP_ACROSS_TRANSITION          0x00000002      // should transfer between transitions
#define FCAP_MUST_SPAWN                 0x00000004      // Spawn after restore
#define FCAP_DONT_SAVE                  0x80000000      // Don't save this
#define FCAP_IMPULSE_USE                0x00000008      // can be used by the player
#define FCAP_CONTINUOUS_USE             0x00000010      // can be used by the player
#define FCAP_ONOFF_USE                  0x00000020      // can be used by the player
#define FCAP_DIRECTIONAL_USE            0x00000040      // Player sends +/- 1 when using (currently only tracktrains)
#define FCAP_MASTER                     0x00000080      // Can be used to "master" other entities (like multisource)
#define FCAP_MUST_RESET                 0x00000100 // Should reset on the new round
#define FCAP_MUST_RELEASE               0x00000200 // Should release on the new round
#define FCAP_DONT_SAVE                  0x80000000 // Don't save this

// UNDONE: This will ignore transition volumes (trigger_transition), but not the PVS!!!
#define FCAP_FORCE_TRANSITION           0x00000080 // ALWAYS goes across transitions
```

#### DONT_BLEED

All monsters need this data

```pawn
#define DONT_BLEED                      -1
#define BLOOD_COLOR_RED                 247
#define BLOOD_COLOR_YELLOW              195
#define BLOOD_COLOR_GREEN               BLOOD_COLOR_YELLOW
```

#### PFLAG_ONLADDER

Player physics flags

```pawn
#define PFLAG_ONLADDER                  (1<<0)
#define PFLAG_ONSWING                   (1<<0)
#define PFLAG_ONTRAIN                   (1<<1)
#define PFLAG_ONBARNACLE                (1<<2)
#define PFLAG_DUCKING                   (1<<3) // In the process of ducking, but totally squatted yet
#define PFLAG_USING                     (1<<4) // Using a continuous entity
#define PFLAG_OBSERVER                  (1<<5) // Player is locked in stationary cam mode. Spectators can move, observers can't.
```

#### HIDEHUD_WEAPONS

Player hide HUD values

```pawn
#define HIDEHUD_WEAPONS                 (1<<0)
#define HIDEHUD_FLASHLIGHT              (1<<1)
#define HIDEHUD_ALL                     (1<<2)
#define HIDEHUD_HEALTH                  (1<<3)
#define HIDEHUD_TIMER                   (1<<4)
#define HIDEHUD_MONEY                   (1<<5)
#define HIDEHUD_CROSSHAIR               (1<<6)
#define HIDEHUD_OBSERVER_CROSSHAIR      (1<<7)
```

#### CLASS_NONE

Entity classification

```pawn
#define CLASS_NONE              0
#define CLASS_MACHINE           1
#define CLASS_PLAYER            2
#define CLASS_HUMAN_PASSIVE     3
#define CLASS_HUMAN_MILITARY    4
#define CLASS_ALIEN_MILITARY    5
#define CLASS_ALIEN_PASSIVE     6
#define CLASS_ALIEN_MONSTER     7
#define CLASS_ALIEN_PREY        8
#define CLASS_ALIEN_PREDATOR    9
#define CLASS_INSECT            10
#define CLASS_PLAYER_ALLY       11
#define CLASS_PLAYER_BIOWEAPON  12 // hornets and snarks.launched by players
#define CLASS_ALIEN_BIOWEAPON   13 // hornets and snarks.launched by the alien menace
#define CLASS_VEHICLE           14
#define CLASS_BARNACLE          99 // special because no one pays attention to it, and it eats a wide cross-section of creatures.
```

#### TS_AT_TOP

Entities that toggle (buttons/triggers/doors) need this

```pawn
#define TS_AT_TOP      0
#define TS_AT_BOTTOM   1
#define TS_GOING_UP    2
#define TS_GOING_DOWN  3
```

#### USE_OFF

Entity use states (buttons/triggers/platforms)

```pawn
#define USE_OFF     0
#define USE_ON      1
#define USE_SET     2
#define USE_TOGGLE  3
```

## json.inc

- HTML: https://amxx-api.csrevo.com/json
- Group: Base includes
- Functions: 58
- Documented constants: 3

### Constants

#### JSONType

JSON types

```pawn
enum JSONType
{
	JSONError   = -1,
	JSONNull    = 1,
	JSONString  = 2,
	JSONNumber  = 3,
	JSONObject  = 4,
	JSONArray   = 5,
	JSONBoolean = 6
};
```

#### JSON

JSON invalid handle

```pawn
enum JSON
{
	Invalid_JSON = -1
}
```

#### json_is_object

Helper macros for checking type

```pawn
#define json_is_object(%1)   (%1 != Invalid_JSON && json_get_type(%1) == JSONObject)
#define json_is_array(%1)    (%1 != Invalid_JSON && json_get_type(%1) == JSONArray)
#define json_is_string(%1)   (%1 != Invalid_JSON && json_get_type(%1) == JSONString)
#define json_is_number(%1)   (%1 != Invalid_JSON && json_get_type(%1) == JSONNumber)
#define json_is_bool(%1)     (%1 != Invalid_JSON && json_get_type(%1) == JSONBoolean)
#define json_is_null(%1)     (%1 != Invalid_JSON && json_get_type(%1) == JSONNull)
#define json_is_true(%1)     (%1 != Invalid_JSON && json_is_bool(%1) && json_get_bool(%1))
#define json_is_false(%1)    (%1 != Invalid_JSON && json_is_bool(%1) && !json_get_bool(%1))
```

### Functions

#### json_array_append_bool

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_append_bool
- Line: 454

##### Syntax

```pawn
native bool:json_array_append_bool(JSON:array, bool:boolean);
```

##### Description

Appends a boolean value in the array.

##### Parameters

- `array`: Array handle
- `boolean`: Boolean value to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_append_null

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_append_null
- Line: 464

##### Syntax

```pawn
native bool:json_array_append_null(JSON:array);
```

##### Description

Appends a null in the array.

##### Parameters

- `array`: Array handle

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_append_number

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_append_number
- Line: 432

##### Syntax

```pawn
native bool:json_array_append_number(JSON:array, number);
```

##### Description

Appends a number in the array.

##### Parameters

- `array`: Array handle
- `number`: Number to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_append_real

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_append_real
- Line: 443

##### Syntax

```pawn
native bool:json_array_append_real(JSON:array, Float:number);
```

##### Description

Appends a real number in the array.

##### Parameters

- `array`: Array handle
- `number`: Real number to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_append_string

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_append_string
- Line: 421

##### Syntax

```pawn
native bool:json_array_append_string(JSON:array, const string[]);
```

##### Description

Appends string data in the array.

##### Parameters

- `array`: Array handle
- `string`: String to copy

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_append_value

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_append_value
- Line: 410

##### Syntax

```pawn
native bool:json_array_append_value(JSON:array, const JSON:value);
```

##### Description

Appends a value in the array.

##### Parameters

- `array`: Array handle
- `value`: JSON handle to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_clear

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_clear
- Line: 487

##### Syntax

```pawn
native bool:json_array_clear(JSON:array);
```

##### Description

Removes all elements from the array.

##### Parameters

- `array`: Array handle

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_get_bool

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_get_bool
- Line: 318

##### Syntax

```pawn
native bool:json_array_get_bool(const JSON:array, index);
```

##### Description

Gets a boolean value from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Return

Boolean value

##### Error

If passed handle is not a valid array

#### json_array_get_count

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_get_count
- Line: 328

##### Syntax

```pawn
native json_array_get_count(const JSON:array);
```

##### Description

Gets count of the elements in the array.

##### Parameters

- `array`: Array handle

##### Return

Number of elements in the array

##### Error

If passed handle is not a valid array

#### json_array_get_number

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_get_number
- Line: 296

##### Syntax

```pawn
native json_array_get_number(const JSON:array, index);
```

##### Description

Gets a number from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Return

The number as integer

##### Error

If passed handle is not a valid array

#### json_array_get_real

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_get_real
- Line: 307

##### Syntax

```pawn
native Float:json_array_get_real(const JSON:array, index);
```

##### Description

Gets a real number from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Return

The number as float

##### Error

If passed handle is not a valid array

#### json_array_get_string

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_get_string
- Line: 285

##### Syntax

```pawn
native json_array_get_string(const JSON:array, index, buffer[], maxlen);
```

##### Description

Gets string data from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer

##### Return

The number of cells written to the buffer

##### Error

If passed handle is not a valid array

#### json_array_get_value

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_get_value
- Line: 272

##### Syntax

```pawn
native JSON:json_array_get_value(const JSON:array, index);
```

##### Description

Gets a value from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

##### Error

If passed handle is not a valid array

#### json_array_remove

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_remove
- Line: 477

##### Syntax

```pawn
native bool:json_array_remove(JSON:array, index);
```

##### Description

Removes an element from the array.

##### Parameters

- `array`: Array handle
- `index`: Position in the array (starting from 0)

##### Note

Order of values in array may change during execution.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_replace_bool

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_replace_bool
- Line: 388

##### Syntax

```pawn
native bool:json_array_replace_bool(JSON:array, index, bool:boolean);
```

##### Description

Replaces an element in the array with boolean value.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `boolean`: Boolean value to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_replace_null

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_replace_null
- Line: 399

##### Syntax

```pawn
native bool:json_array_replace_null(JSON:array, index);
```

##### Description

Replaces an element in the array with null.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_replace_number

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_replace_number
- Line: 364

##### Syntax

```pawn
native bool:json_array_replace_number(JSON:array, index, number);
```

##### Description

Replaces an element in the array with number.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `number`: Number to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_replace_real

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_replace_real
- Line: 376

##### Syntax

```pawn
native bool:json_array_replace_real(JSON:array, index, Float:number);
```

##### Description

Replaces an element in the array with real number.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `number`: Real number to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_replace_string

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_replace_string
- Line: 352

##### Syntax

```pawn
native bool:json_array_replace_string(JSON:array, index, const string[]);
```

##### Description

Replaces an element in the array with string data.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `string`: String to copy

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_array_replace_value

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_array_replace_value
- Line: 340

##### Syntax

```pawn
native bool:json_array_replace_value(JSON:array, index, const JSON:value);
```

##### Description

Replaces an element in the array with value.

##### Parameters

- `array`: Array handle
- `index`: Position in the array to be replaced
- `value`: JSON handle to set

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid array

#### json_deep_copy

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_deep_copy
- Line: 207

##### Syntax

```pawn
native JSON:json_deep_copy(const JSON:value);
```

##### Description

Creates deep copy of passed value.

##### Parameters

- `value`: JSON handle to be copied

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

##### Error

If passed value is not a valid handle

#### json_equals

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_equals
- Line: 80

##### Syntax

```pawn
native bool:json_equals(const JSON:value1, const JSON:value2);
```

##### Description

Checks if the first value is the same as the second one.

##### Parameters

- `value1`: JSON handle
- `value2`: JSON handle

##### Return

True if they are the same, false otherwise

##### Error

If passed value is not a valid handle

#### json_free

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_free
- Line: 217

##### Syntax

```pawn
native bool:json_free(&JSON:handle);
```

##### Description

Frees handle.

##### Parameters

- `handle`: JSON handle to be freed

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid handle

#### json_get_bool

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_get_bool
- Line: 259

##### Syntax

```pawn
native bool:json_get_bool(const JSON:value);
```

##### Description

Gets a boolean value.

##### Parameters

- `value`: JSON handle

##### Return

Boolean value

##### Error

If passed value is not a valid handle

#### json_get_number

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_get_number
- Line: 239

##### Syntax

```pawn
native json_get_number(const JSON:value);
```

##### Description

Gets a number.

##### Parameters

- `value`: JSON handle

##### Return

Number

##### Error

If passed value is not a valid handle

#### json_get_parent

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_get_parent
- Line: 114

##### Syntax

```pawn
native JSON:json_get_parent(const JSON:value);
```

##### Description

Gets value's parent handle.

##### Parameters

- `value`: JSON handle

##### Note

Parent's handle needs to be freed using json_free() native.

##### Return

Parent's handle

#### json_get_real

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_get_real
- Line: 249

##### Syntax

```pawn
native Float:json_get_real(const JSON:value);
```

##### Description

Gets a real number.

##### Parameters

- `value`: JSON handle

##### Return

Real number

##### Error

If passed value is not a valid handle

#### json_get_string

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_get_string
- Line: 229

##### Syntax

```pawn
native json_get_string(const JSON:value, buffer[], maxlen);
```

##### Description

Gets string data.

##### Parameters

- `value`: JSON handle
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer

##### Return

The number of cells written to the buffer

##### Error

If passed value is not a valid handle

#### json_get_type

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_get_type
- Line: 124

##### Syntax

```pawn
native JSONType:json_get_type(const JSON:value);
```

##### Description

Gets JSON type of passed value.

##### Parameters

- `value`: JSON handle

##### Return

JSON type (JSONType constants)

##### Error

If a value handle is invalid

#### json_init_array

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_init_array
- Line: 142

##### Syntax

```pawn
native JSON:json_init_array();
```

##### Description

Inits an empty array.

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

#### json_init_bool

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_init_bool
- Line: 186

##### Syntax

```pawn
native JSON:json_init_bool(bool:value);
```

##### Description

Inits a boolean value.

##### Parameters

- `value`: Boolean value that the handle will be initialized with

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

#### json_init_null

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_init_null
- Line: 195

##### Syntax

```pawn
native JSON:json_init_null();
```

##### Description

Inits a null.

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

#### json_init_number

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_init_number
- Line: 164

##### Syntax

```pawn
native JSON:json_init_number(value);
```

##### Description

Inits a number.

##### Parameters

- `value`: Integer number that the handle will be initialized with

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

#### json_init_object

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_init_object
- Line: 133

##### Syntax

```pawn
native JSON:json_init_object();
```

##### Description

Inits an empty object.

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

#### json_init_real

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_init_real
- Line: 175

##### Syntax

```pawn
native JSON:json_init_real(Float:value);
```

##### Description

Inits a real number.

##### Parameters

- `value`: Real number that the handle will be initialized with

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

#### json_init_string

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_init_string
- Line: 153

##### Syntax

```pawn
native JSON:json_init_string(const value[]);
```

##### Description

Inits string data.

##### Parameters

- `value`: String that the handle will be initialized with

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

#### json_object_clear

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_clear
- Line: 740

##### Syntax

```pawn
native bool:json_object_clear(JSON:object);
```

##### Description

Removes all keys and their values in the object.

##### Parameters

- `object`: Object handle

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### json_object_get_bool

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_get_bool
- Line: 565

##### Syntax

```pawn
native bool:json_object_get_bool(const JSON:object, const name[], bool:dot_not = false);
```

##### Description

Gets a boolean value from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

Boolean value

##### Error

If passed handle is not a valid object

#### json_object_get_count

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_get_count
- Line: 575

##### Syntax

```pawn
native json_object_get_count(const JSON:object);
```

##### Description

Gets count of the keys in the object.

##### Parameters

- `object`: Object handle

##### Return

Keys count

##### Error

If passed handle is not a valid object

#### json_object_get_name

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_get_name
- Line: 588

##### Syntax

```pawn
native json_object_get_name(const JSON:object, index, buffer[], maxlen);
```

##### Description

Gets name of the object's key.

##### Parameters

- `object`: Object handle
- `index`: Position from which get key name
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer

##### Return

The number of cells written to the buffer

##### Error

If passed handle is not a valid object

#### json_object_get_number

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_get_number
- Line: 535

##### Syntax

```pawn
native json_object_get_number(const JSON:object, const name[], bool:dot_not = false);
```

##### Description

Gets a number from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

Number

##### Error

If passed handle is not a valid object

#### json_object_get_real

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_get_real
- Line: 550

##### Syntax

```pawn
native Float:json_object_get_real(const JSON:object, const name[], bool:dot_not = false);
```

##### Description

Gets a real number from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

Real number

##### Error

If passed handle is not a valid object

#### json_object_get_string

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_get_string
- Line: 520

##### Syntax

```pawn
native json_object_get_string(const JSON:object, const name[], buffer[], maxlen, bool:dot_not = false);
```

##### Description

Gets string data from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

The number of cells written to the buffer

##### Error

If passed handle is not a valid object

#### json_object_get_value

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_get_value
- Line: 503

##### Syntax

```pawn
native JSON:json_object_get_value(const JSON:object, const name[], bool:dot_not = false);
```

##### Description

Gets a value from the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

Needs to be freed using json_free() native.

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

JSON handle, Invalid_JSON if error occurred

##### Error

If passed handle is not a valid object

#### json_object_get_value_at

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_get_value_at
- Line: 601

##### Syntax

```pawn
native JSON:json_object_get_value_at(const JSON:object, index);
```

##### Description

Gets a value at the specified position from the object.

##### Parameters

- `object`: Object handle
- `index`: Position from which get key name

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

##### Error

If passed handle is not a valid object

#### json_object_has_value

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_has_value
- Line: 614

##### Syntax

```pawn
native bool:json_object_has_value(const JSON:object, const name[], JSONType:type = JSONError, bool:dot_not = false);
```

##### Description

Checks if the object has a value with a specific name and type.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `type`: Type of value, if JSONError type will not be checked
- `dot_not`: True to use dot notation, false to not

##### Return

True if has, false if not

##### Error

If passed handle is not a valid object

#### json_object_remove

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_remove
- Line: 730

##### Syntax

```pawn
native bool:json_object_remove(JSON:object, const name[], bool:dot_not = false);
```

##### Description

Removes a key and its value in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### json_object_set_bool

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_set_bool
- Line: 699

##### Syntax

```pawn
native bool:json_object_set_bool(JSON:object, const name[], bool:boolean, bool:dot_not = false);
```

##### Description

Sets a boolean value in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `boolean`: Boolean value to set
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### json_object_set_null

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_set_null
- Line: 715

##### Syntax

```pawn
native bool:json_object_set_null(JSON:object, const name[], bool:dot_not = false);
```

##### Description

Sets a null in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### json_object_set_number

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_set_number
- Line: 665

##### Syntax

```pawn
native bool:json_object_set_number(JSON:object, const name[], number, bool:dot_not = false);
```

##### Description

Sets a number in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `number`: Number to set
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### json_object_set_real

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_set_real
- Line: 682

##### Syntax

```pawn
native bool:json_object_set_real(JSON:object, const name[], Float:number, bool:dot_not = false);
```

##### Description

Sets a real number in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `number`: Real number to set
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### json_object_set_string

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_set_string
- Line: 648

##### Syntax

```pawn
native bool:json_object_set_string(JSON:object, const name[], const string[], bool:dot_not = false);
```

##### Description

Sets string data in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `string`: String to copy
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### json_object_set_value

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_object_set_value
- Line: 631

##### Syntax

```pawn
native bool:json_object_set_value(JSON:object, const name[], const JSON:value, bool:dot_not = false);
```

##### Description

Sets a value in the object.

##### Parameters

- `object`: Object handle
- `name`: Key name
- `value`: JSON handle to set
- `dot_not`: True to use dot notation, false to not

##### Note

If dot notation is used some values may be inaccessible
because valid names in JSON can contain dots.

##### Note

It also removes the old value if any.

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid object

#### json_parse

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_parse
- Line: 69

##### Syntax

```pawn
native JSON:json_parse(const string[], bool:is_file = false, bool:with_comments = false);
```

##### Description

Parses JSON string or a file that contains JSON.

##### Parameters

- `string`: String to parse
- `is_file`: True to treat string param as filename, false otherwise
- `with_comments`: True if parsing JSON includes comments (it will ignore them), false otherwise

##### Note

Needs to be freed using json_free() native.

##### Return

JSON handle, Invalid_JSON if error occurred

#### json_serial_size

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_serial_size
- Line: 752

##### Syntax

```pawn
native json_serial_size(const JSON:value, bool:pretty = false, bool:null_byte = false);
```

##### Description

Gets size of serialization.

##### Parameters

- `value`: JSON handle
- `pretty`: True to count size for pretty format, false to not
- `null_byte`: True to include null byte, false to not

##### Return

Size of serialized string

##### Error

If passed handle is not a valid value

#### json_serial_to_file

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_serial_to_file
- Line: 777

##### Syntax

```pawn
native bool:json_serial_to_file(const JSON:value, const file[], bool:pretty = false);
```

##### Description

Copies serialized string to the file.

##### Parameters

- `value`: JSON handle
- `file`: Path to the file
- `pretty`: True to format pretty JSON string, false to not

##### Return

True if succeed, false otherwise

##### Error

If passed handle is not a valid value

#### json_serial_to_string

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_serial_to_string
- Line: 765

##### Syntax

```pawn
native json_serial_to_string(const JSON:value, buffer[], maxlen, bool:pretty = false);
```

##### Description

Copies serialized string to the buffer.

##### Parameters

- `value`: JSON handle
- `buffer`: Buffer to copy string to
- `maxlen`: Maximum size of the buffer
- `pretty`: True to format pretty JSON string, false to not

##### Return

The number of cells written to the buffer

##### Error

If passed handle is not a valid value

#### json_validate

- Include: `json.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/json/function/json_validate
- Line: 103

##### Syntax

```pawn
native bool:json_validate(const JSON:schema, const JSON:value);
```

##### Description

Validates json by checking if object have identically named
fields with matching types.

##### Parameters

- `schema`: JSON handle
- `value`: JSON handle

##### Note

Schema {"name":"", "age":0} will validate
{"name":"Joe", "age":25} and {"name":"Joe", "age":25, "gender":"m"},
but not {"name":"Joe"} or {"name":"Joe", "age":"Cucumber"}.

##### Note

In case of arrays, only first value in schema
is checked against all values in tested array.

##### Note

Empty objects ({}) validate all objects,
empty arrays ([]) validate all arrays,
null validates values of every type.

##### Return

True if passed value is valid, false otherwise

##### Error

If a schema handle or value handle is invalid

## lang.inc

- HTML: https://amxx-api.csrevo.com/lang
- Group: Base includes
- Functions: 9
- Documented constants: 1

### Constants

#### TransKey

TransKey

```pawn
enum TransKey
{
	TransKey_Bad = -1,
};
```

### Functions

#### AddTranslation

- Include: `lang.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/lang/function/AddTranslation
- Line: 90

##### Syntax

```pawn
native AddTranslation(const lang[3], TransKey:key, const phrase[]);
```

##### Description

Adds a new translation.

##### Parameters

- `lang`: Two-letter language name
- `key`: Language key
- `phrase`: Translated text

##### Return

This function has no return value.

#### CreateLangKey

- Include: `lang.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/lang/function/CreateLangKey
- Line: 70

##### Syntax

```pawn
native TransKey:CreateLangKey(const key[]);
```

##### Description

Creates a new or finds an existing translation key.

##### Parameters

- `key`: Key to create or find

##### Return

Key index

#### GetLangTransKey

- Include: `lang.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/lang/function/GetLangTransKey
- Line: 79

##### Syntax

```pawn
native TransKey:GetLangTransKey(const key[]);
```

##### Description

Finds a translation key index without adding on failure.

##### Parameters

- `key`: Key to search for

##### Return

Key index, or -1 if not found

#### LookupLangKey

- Include: `lang.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/lang/function/LookupLangKey
- Line: 106

##### Syntax

```pawn
native LookupLangKey(Output[], OutputSize, const Key[], const &id);
```

##### Description

Looks up the translation of the key for the given type.

##### Parameters

- `Output`: Buffer to store the output in
- `OutputSize`: Maximum buffer size
- `Key`: Language key
- `id`: Client index or LANG_SERVER

##### Note

This does NOT format the output text! For example, if the key
contains %s, the outputted text will also contain %s.

##### Note

LANG_PLAYER is invalid in this, use a player index or LANG_SERVER.

##### Return

1 on success, 0 otherwise

#### SetGlobalTransTarget

- Include: `lang.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/lang/function/SetGlobalTransTarget
- Line: 119

##### Syntax

```pawn
native SetGlobalTransTarget(client);
```

##### Description

Sets the global language target.

##### Parameters

- `client`: Client index or LANG_SERVER

##### Note

This is useful for creating functions
that will be compatible with the %l format specifier. Note that invalid
indexes can be specified but the error will occur during translation,
not during this function call.

##### Return

This function has no return value.

#### get_lang

- Include: `lang.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/lang/function/get_lang
- Line: 34

##### Syntax

```pawn
native get_lang(id, name[3]);
```

##### Description

Returns the two-letter name of a language returned by get_langsnum()

##### Parameters

- `id`: Language index, starting at 0
- `name`: Buffer to store the name in

##### Return

This function has no return value.

#### get_langsnum

- Include: `lang.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/lang/function/get_langsnum
- Line: 24

##### Syntax

```pawn
native get_langsnum();
```

##### Description

Returns the number of languages loaded.

##### Return

Number of languages loaded.

#### lang_exists

- Include: `lang.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/lang/function/lang_exists
- Line: 56

##### Syntax

```pawn
native lang_exists(const name[]);
```

##### Description

Checks if the language is loaded.

##### Return

1 if it is, 0 otherwise

#### register_dictionary

- Include: `lang.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/lang/function/register_dictionary
- Line: 49

##### Syntax

```pawn
native register_dictionary(const filename[]);
```

##### Description

Registers a dictionary file, making sure the words are in the dictionary.

##### Parameters

- `filename`: Dictionary file name

##### Note

The file should be in "addons/amxmodx/data/lang", but only the name
needs to be given. For example, register_dictionary("file.txt") will
be "addons/amxmodx/data/lang/file.txt".

##### Return

On success, the function will return 1, otherwise it will
return 0 if the file couldn't be found or opened, and -1 if
the dictionary was already registered by a plugin

## messages.inc

- HTML: https://amxx-api.csrevo.com/messages
- Group: Base includes
- Functions: 39
- Documented constants: 0

### Functions

#### emessage_begin

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/emessage_begin
- Line: 236

##### Syntax

```pawn
native emessage_begin(dest, msg_type, const origin[3] = {0,0,0}, player = 0);
```

##### Description

Marks the beginning of a client message.

##### Parameters

- `dest`: Destination type (see MSG_* constants in messages_const.inc)
- `msg_type`: Message id
- `origin`: Message origin
- `player`: Client index receiving the message or 0 for all clients

##### Note

You may generate menus, smoke, shockwaves, thunderlights,
intermission and many other messages.

##### Note

For a list of HL game events, visit https://wiki.alliedmods.net/Half-Life_1_Game_Events

##### Note

For a list of HL engine messages, visit https://wiki.alliedmods.net/Half-Life_1_Engine_Messages

##### Note

You may also refer to the messages_const.inc file for examples.

##### Note

This function is the same as message_begin(), except that the messages
sent with this one are also sent to all other AMXX and Metamod plugins.
This means that if you send one of these messages, other plugins will
be notified of that message, which was previously impossible.

##### Note

BE CAREFUL! Using this incorrectly, or not for its intended purpose,
could cause infinite recursion or something just as bad!

##### Note

Each message starts with a emessage_begin() or emessage_begin_f() function
and ends with emessage_end(). The specific message arguments go in between
these two by using the ewrite_*() functions found in messages.inc.

##### Return

This function has no return value.

##### Error

If an invalid message id is specified or an invalid number
of parameters is passed, an error will be thrown.

#### emessage_begin_f

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/emessage_begin_f
- Line: 267

##### Syntax

```pawn
native emessage_begin_f(dest, msg_type, const Float:origin[3] = {0.0,0.0,0.0}, player = 0);
```

##### Description

Marks the beginning of a client message.

##### Parameters

- `dest`: Destination type (see MSG_* constants in messages_const.inc)
- `msg_type`: Message id
- `origin`: Message origin
- `player`: Client index receiving the message or 0 for all clients

##### Note

You may generate menus, smoke, shockwaves, thunderlights,
intermission and many other messages.

##### Note

For a list of HL game events, visit https://wiki.alliedmods.net/Half-Life_1_Game_Events

##### Note

For a list of HL engine messages, visit https://wiki.alliedmods.net/Half-Life_1_Engine_Messages

##### Note

You may also refer to the messages_const.inc file for examples.

##### Note

This function is the same as message_begin_f(), except that the messages
sent with this one are also sent to all other AMXX and Metamod plugins.
This means that if you send one of these messages, other plugins will
be notified of that message, which was previously impossible.

##### Note

BE CAREFUL! Using this incorrectly, or not for its intended purpose,
could cause infinite recursion or something just as bad!

##### Note

This function is the same as emessage_begin(), but the origin
argument accepts only float values in this one.

##### Note

Each message starts with a emessage_begin() or emessage_begin_f() function
and ends with emessage_end(). The specific message arguments go in between
these two by using the ewrite_*() functions found in messages.inc.

##### Return

This function has no return value.

##### Error

If an invalid message id is specified or an invalid number
of parameters is passed, an error will be thrown.

#### emessage_end

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/emessage_end
- Line: 277

##### Syntax

```pawn
native emessage_end();
```

##### Description

Ends a message that was started with emessage_begin() or emessage_begin_f().

##### Note

If the function is called without using emessage_begin() or
emessage_begin_f() first, the server will crash immediately.

##### Return

This function has no return value.

#### ewrite_angle

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_angle
- Line: 355

##### Syntax

```pawn
native ewrite_angle(x);
```

##### Description

Writes an angle entry to a message.

##### Parameters

- `x`: Angle to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### ewrite_angle_f

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_angle_f
- Line: 368

##### Syntax

```pawn
native ewrite_angle_f(Float:x);
```

##### Description

Writes an angle entry to a message using a float value.

##### Parameters

- `x`: Angle to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### ewrite_byte

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_byte
- Line: 290

##### Syntax

```pawn
native ewrite_byte(x);
```

##### Description

Writes a single byte to a message.

##### Parameters

- `x`: Byte to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### ewrite_char

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_char
- Line: 303

##### Syntax

```pawn
native ewrite_char(x);
```

##### Description

Writes a single character to a message.

##### Parameters

- `x`: Character to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### ewrite_coord

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_coord
- Line: 381

##### Syntax

```pawn
native ewrite_coord(x);
```

##### Description

Writes a coordinate entry to a message.

##### Parameters

- `x`: Coordinate to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### ewrite_coord_f

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_coord_f
- Line: 394

##### Syntax

```pawn
native ewrite_coord_f(Float:x);
```

##### Description

Writes a coordinate entry to a message using a float value.

##### Parameters

- `x`: Coordinate to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### ewrite_entity

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_entity
- Line: 342

##### Syntax

```pawn
native ewrite_entity(x);
```

##### Description

Writes an entity index to a message.

##### Parameters

- `x`: Entity index to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### ewrite_long

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_long
- Line: 329

##### Syntax

```pawn
native ewrite_long(x);
```

##### Description

Writes a single number to a message (long).

##### Parameters

- `x`: Number to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### ewrite_short

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_short
- Line: 316

##### Syntax

```pawn
native ewrite_short(x);
```

##### Description

Writes a single number to a message (short).

##### Parameters

- `x`: Number to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### ewrite_string

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/ewrite_string
- Line: 407

##### Syntax

```pawn
native ewrite_string(const x[]);
```

##### Description

Writes a string to a message.

##### Parameters

- `x`: String to write

##### Note

This function should only be used in between a emessage_begin()
or emessage_begin_f() and a emessage_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### get_msg_arg_float

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/get_msg_arg_float
- Line: 527

##### Syntax

```pawn
native Float:get_msg_arg_float(argn);
```

##### Description

Gets the float value of a specified argument.

##### Parameters

- `argn`: Argument number

##### Note

This function will fail if used outside a hooked message scope, thus
it should never be used unless inside a registered message function.

##### Return

Argument value as a float

##### Error

If an invalid message argument is passed, an
error will be thrown.

#### get_msg_arg_int

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/get_msg_arg_int
- Line: 513

##### Syntax

```pawn
native get_msg_arg_int(argn);
```

##### Description

Gets the integer value of a specified argument.

##### Parameters

- `argn`: Argument number

##### Note

This function will fail if used outside a hooked message scope, thus
it should never be used unless inside a registered message function.

##### Return

Argument value as an integer

##### Error

If an invalid message argument is passed, an
error will be thrown.

#### get_msg_arg_string

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/get_msg_arg_string
- Line: 543

##### Syntax

```pawn
native get_msg_arg_string(argn, szReturn[], iLength);
```

##### Description

Gets the string value from a specified argument.

##### Parameters

- `argn`: Argument number
- `szReturn`: Buffer to store the value in
- `iLength`: Maximum buffer length

##### Note

This function will fail if used outside a hooked message scope, thus
it should never be used unless inside a registered message function.

##### Return

String length

##### Error

If an invalid message argument is passed, an
error will be thrown.

#### get_msg_args

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/get_msg_args
- Line: 487

##### Syntax

```pawn
native get_msg_args();
```

##### Description

Gets number of arguments that were passed to a message.

##### Note

This function will fail if used outside a hooked message scope, thus
it should never be used unless inside a registered message function.

##### Return

Number of arguments

#### get_msg_argtype

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/get_msg_argtype
- Line: 499

##### Syntax

```pawn
native get_msg_argtype(argn);
```

##### Description

Gets the argument type of a specified argument.

##### Parameters

- `argn`: Argument number

##### Note

This function will fail if used outside a hooked message scope, thus
it should never be used unless inside a registered message function.

##### Return

Argument type (see ARG_* constants in message_const.inc)

#### get_msg_block

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/get_msg_block
- Line: 433

##### Syntax

```pawn
native get_msg_block(iMessage);
```

##### Description

Gets whether or not an engine message is blocked.

##### Parameters

- `iMessage`: Message id

##### Return

BLOCK_* constant

##### Error

If an invalid message id is specified, an error
will be thrown.

#### get_msg_origin

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/get_msg_origin
- Line: 604

##### Syntax

```pawn
native get_msg_origin(const Float:_Origin[3]);
```

##### Description

Gets the origin of a message.

##### Parameters

- `_Origin`: Array to store the origin in

##### Note

This function will fail if used outside a hooked message scope, thus
it should never be used unless inside a registered message function.

##### Return

This function has no return value.

##### Error

If the function is used outside a message hook, an
error will be thrown.

#### message_begin

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/message_begin
- Line: 42

##### Syntax

```pawn
native message_begin(dest, msg_type, const origin[3] = {0,0,0}, player = 0);
```

##### Description

Marks the beginning of a client message.

##### Parameters

- `dest`: Destination type (see MSG_* constants in messages_const.inc)
- `msg_type`: Message id
- `origin`: Message origin
- `player`: Client index receiving the message or 0 for all clients

##### Note

You may generate menus, smoke, shockwaves, thunderlights,
intermission and many other messages.

##### Note

For a list of HL game events, visit https://wiki.alliedmods.net/Half-Life_1_Game_Events

##### Note

For a list of HL engine messages, visit https://wiki.alliedmods.net/Half-Life_1_Engine_Messages

##### Note

You may also refer to the messages_const.inc file for examples.

##### Note

Each message starts with a message_begin() or message_begin_f() function
and ends with message_end(). The specific message arguments go in between
these two by using the write_*() functions found in messages.inc.

##### Return

This function has no return value.

##### Error

If an invalid message id is specified or an invalid number
of parameters is passed, an error will be thrown.

#### message_begin_f

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/message_begin_f
- Line: 67

##### Syntax

```pawn
native message_begin_f(dest, msg_type, const Float:origin[3] = {0.0,0.0,0.0}, player = 0);
```

##### Description

Marks the beginning of a client message.

##### Parameters

- `dest`: Destination type (see MSG_* constants in messages_const.inc)
- `msg_type`: Message id
- `origin`: Message origin
- `player`: Client index receiving the message or 0 for all clients

##### Note

You may generate menus, smoke, shockwaves, thunderlights,
intermission and many other messages.

##### Note

For a list of HL game events, visit https://wiki.alliedmods.net/Half-Life_1_Game_Events

##### Note

For a list of HL engine messages, visit https://wiki.alliedmods.net/Half-Life_1_Engine_Messages

##### Note

You may also refer to the messages_const.inc file for examples.

##### Note

This function is the same as message_begin(), but the origin
argument accepts only float values in this one.

##### Note

Each message starts with a message_begin() or message_begin_f() function
and ends with message_end(). The specific message arguments go in between
these two by using the write_*() functions found in messages.inc.

##### Return

This function has no return value.

##### Error

If an invalid message id is specified or an invalid number
of parameters is passed, an error will be thrown.

#### message_end

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/message_end
- Line: 77

##### Syntax

```pawn
native message_end();
```

##### Description

Ends a message that was started with message_begin() or message_begin_f().

##### Note

If the function is called without using message_begin() or
message_begin_f() first, the server will crash immediately.

##### Return

This function has no return value.

#### register_message

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/register_message
- Line: 461

##### Syntax

```pawn
native register_message(iMsgId, const szFunction[]);
```

##### Description

Lets you directly hook a message in the engine.

##### Parameters

- `iMsgId`: Message id
- `szFunction`: Function that will be called

##### Note

The function is called in the following manner:
msg_id          - Message id
msg_dest        - Destination type (see MSG_* constants in messages_const.inc)
msg_entity      - Entity receiving the message

##### Note

You can overwrite the message before anything happens by using the
set_msg_arg_* functions and either let the message continue by
returning PLUGIN_CONTINUE or fully block it with PLUGIN_HANDLED.

##### Note

If you hook a message, the message is stored but not sent. You have
the opportunity to not only execute code, but to get/set the contents
of the message before you choose to either block it or let it go on
its way.

##### Note

The return value can be passed to unregister_message() in order to
stop the message from being hooked.

##### Return

Id that can be passed to unregister_message() on
success, or 0 if an invalid message id is passed

##### Error

If the specified function can't be found, an
error will be thrown.

#### set_msg_arg_float

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/set_msg_arg_float
- Line: 575

##### Syntax

```pawn
native set_msg_arg_float(argn, argtype, Float:fValue);
```

##### Description

Sets the float value of a specified argument.

##### Parameters

- `argn`: Argument number
- `argtype`: Argument type (see ARG_* constants in message_const.inc)
- `fValue`: Argument value

##### Note

This function will fail if used outside a hooked message scope, thus
it should never be used unless inside a registered message function.

##### Return

This function has no return value.

##### Error

If an invalid message argument is passed, an
error will be thrown.

#### set_msg_arg_int

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/set_msg_arg_int
- Line: 559

##### Syntax

```pawn
native set_msg_arg_int(argn, argtype, iValue);
```

##### Description

Sets the integer value of a specified argument.

##### Parameters

- `argn`: Argument number
- `argtype`: Argument type (see ARG_* constants in message_const.inc)
- `iValue`: Argument value

##### Note

This function will fail if used outside a hooked message scope, thus
it should never be used unless inside a registered message function.

##### Return

This function has no return value.

##### Error

If an invalid message argument is passed, an
error will be thrown.

#### set_msg_arg_string

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/set_msg_arg_string
- Line: 590

##### Syntax

```pawn
native set_msg_arg_string(argn, const szString[]);
```

##### Description

Sets the string value of a specified argument.

##### Parameters

- `argn`: Argument number
- `szString`: Argument value

##### Note

This function will fail if used outside a hooked message scope, thus
it should never be used unless inside a registered message function.

##### Return

This function has no return value.

##### Error

If an invalid message argument is passed, an
error will be thrown.

#### set_msg_block

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/set_msg_block
- Line: 422

##### Syntax

```pawn
native set_msg_block(iMessage, iMessageFlags);
```

##### Description

Sets whether or not an engine message will be blocked.

##### Parameters

- `iMessage`: Message id
- `iMessageFlags`: BLOCK_* constant

##### Note

For a list of message flags, have a look at the BLOCK_* constants
in message_const.inc.

##### Return

This function has no return value.

##### Error

If an invalid message id is specified, an error
will be thrown.

#### unregister_message

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/unregister_message
- Line: 477

##### Syntax

```pawn
native unregister_message(iMsgId, registeredmsg);
```

##### Description

Unregisters a message hook previously created with register_message().

##### Parameters

- `iMsgId`: Message id
- `registeredmsg`: Registered message id

##### Note

You must pass the proper message id and return value from the
message to unregister the message successfully.

##### Return

Id that can again be passed to register_message() on
success, or 0 if an invalid message id is passed

##### Error

If an invalid registered message handle is passed, an
error will be thrown.

#### write_angle

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_angle
- Line: 155

##### Syntax

```pawn
native write_angle(x);
```

##### Description

Writes an angle entry to a message.

##### Parameters

- `x`: Angle to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### write_angle_f

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_angle_f
- Line: 168

##### Syntax

```pawn
native write_angle_f(Float:x);
```

##### Description

Writes an angle entry to a message using a float value.

##### Parameters

- `x`: Angle to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### write_byte

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_byte
- Line: 90

##### Syntax

```pawn
native write_byte(x);
```

##### Description

Writes a single byte to a message.

##### Parameters

- `x`: Byte to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### write_char

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_char
- Line: 103

##### Syntax

```pawn
native write_char(x);
```

##### Description

Writes a single character to a message.

##### Parameters

- `x`: Character to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### write_coord

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_coord
- Line: 181

##### Syntax

```pawn
native write_coord(x);
```

##### Description

Writes a coordinate entry to a message.

##### Parameters

- `x`: Coordinate to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### write_coord_f

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_coord_f
- Line: 194

##### Syntax

```pawn
native write_coord_f(Float:x);
```

##### Description

Writes a coordinate entry to a message using a float value.

##### Parameters

- `x`: Coordinate to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### write_entity

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_entity
- Line: 142

##### Syntax

```pawn
native write_entity(x);
```

##### Description

Writes an entity index to a message.

##### Parameters

- `x`: Entity index to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### write_long

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_long
- Line: 129

##### Syntax

```pawn
native write_long(x);
```

##### Description

Writes a single number to a message (long).

##### Parameters

- `x`: Number to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### write_short

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_short
- Line: 116

##### Syntax

```pawn
native write_short(x);
```

##### Description

Writes a single number to a message (short).

##### Parameters

- `x`: Number to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

#### write_string

- Include: `messages.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/messages/function/write_string
- Line: 207

##### Syntax

```pawn
native write_string(const x[]);
```

##### Description

Writes a string to a message.

##### Parameters

- `x`: String to write

##### Note

This function should only be used in between a message_begin()
or message_begin_f() and a message_end() function. Trying to use
it outside of these functions will crash the server immediately.

##### Return

This function has no return value.

## message_const.inc

- HTML: https://amxx-api.csrevo.com/message_const
- Group: Base includes
- Functions: 0
- Documented constants: 68

### Constants

#### MSG_BROADCAST

Destination types for message_begin()

```pawn
#define	MSG_BROADCAST               0        // Unreliable to all
#define	MSG_ONE                     1        // Reliable to one (msg_entity)
#define	MSG_ALL                     2        // Reliable to all
#define	MSG_INIT                    3        // Write to the init string
#define MSG_PVS                     4        // Ents in PVS of org
#define MSG_PAS                     5        // Ents in PAS of org
#define MSG_PVS_R                   6        // Reliable to PVS
#define MSG_PAS_R                   7        // Reliable to PAS
#define MSG_ONE_UNRELIABLE          8        // Send to one client, but don't put in reliable stream, put in unreliable datagram (could be dropped)
#define	MSG_SPEC                    9        // Sends to all spectator proxies
```

#### SVC_BAD

Hardcoded message types for message_begin()

```pawn
#define SVC_BAD 			0
#define SVC_NOP				1
#define SVC_DISCONNECT			2
#define SVC_EVENT			3
#define SVC_VERSION			4
#define SVC_SETVIEW			5
#define SVC_SOUND			6
#define SVC_TIME			7
#define SVC_PRINT			8
#define SVC_STUFFTEXT			9
#define SVC_SETANGLE			10
#define SVC_SERVERINFO			11
#define SVC_LIGHTSTYLE			12
#define SVC_UPDATEUSERINFO		13
#define SVC_DELTADESCRIPTION		14
#define SVC_CLIENTDATA			15
#define SVC_STOPSOUND			16
#define SVC_PINGS			17
#define SVC_PARTICLE			18
#define SVC_DAMAGE			19
#define SVC_SPAWNSTATIC			20
#define SVC_EVENT_RELIABLE		21
#define SVC_SPAWNBASELINE		22
#define SVC_TEMPENTITY			23
#define SVC_SETPAUSE			24
#define SVC_SIGNONNUM			25
#define SVC_CENTERPRINT			26
#define SVC_KILLEDMONSTER		27
#define SVC_FOUNDSECRET			28
#define SVC_SPAWNSTATICSOUND		29
#define SVC_INTERMISSION		30
#define SVC_FINALE			31
#define SVC_CDTRACK			32
#define SVC_RESTORE			33
#define SVC_CUTSCENE			34
#define SVC_WEAPONANIM			35
#define SVC_DECALNAME			36
#define SVC_ROOMTYPE			37
#define SVC_ADDANGLE			38
#define SVC_NEWUSERMSG			39
#define SVC_PACKETENTITIES		40
#define SVC_DELTAPACKETENTITIES		41
#define SVC_CHOKE			42
#define SVC_RESOURCELIST		43
#define SVC_NEWMOVEVARS			44
#define SVC_RESOURCEREQUEST		45
#define SVC_CUSTOMIZATION		46
#define SVC_CROSSHAIRANGLE		47
#define SVC_SOUNDFADE			48
#define SVC_FILETXFERFAILED		49
#define SVC_HLTV			50
#define SVC_DIRECTOR			51
#define SVC_VOICEINIT			52
#define SVC_VOICEDATA			53
#define SVC_SENDEXTRAINFO		54
#define SVC_TIMESCALE			55
#define SVC_RESOURCELOCATION 		56
#define SVC_SENDCVARVALUE 		57
#define SVC_SENDCVARVALUE2 		58
```

##### Note

Look at the actual HLSDK for details

#### BLOCK_NOT

Flags for set_msg_block()

```pawn
#define BLOCK_NOT                   0
#define BLOCK_ONCE                  1
#define BLOCK_SET                   2
```

#### Message argument types used with get_msg_argtype() and set_msg_arg_*

Message argument types used with get_msg_argtype() and set_msg_arg_*

```pawn
enum
{
	ARG_BYTE = 1,       /* int */
	ARG_CHAR,           /* int */
	ARG_SHORT,          /* int */
	ARG_LONG,           /* int */
	ARG_ANGLE,          /* float */
	ARG_COORD,          /* float */
	ARG_STRING,         /* string */
	ARG_ENTITY,         /* int */
};
```

#### TempEntity messages for message_begin()

TempEntity messages for message_begin()

#### TE_BEAMPOINTS

Beam effect between two points

```pawn
#define	TE_BEAMPOINTS               0
```

##### Note

write_byte(TE_BEAMPOINTS)
write_coord(startposition.x)
write_coord(startposition.y)
write_coord(startposition.z)
write_coord(endposition.x)
write_coord(endposition.y)
write_coord(endposition.z)
write_short(sprite index)
write_byte(starting frame)
write_byte(frame rate in 0.1's)
write_byte(life in 0.1's)
write_byte(line width in 0.1's)
write_byte(noise amplitude in 0.01's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(brightness)
write_byte(scroll speed in 0.1's)

#### TE_BEAMENTPOINT

Beam effect between a point and an entity

```pawn
 #define TE_BEAMENTPOINT            1
```

##### Note

write_byte(TE_BEAMENTPOINT)
write_short(start entity)
write_coord(endposition.x)
write_coord(endposition.y)
write_coord(endposition.z)
write_short(sprite index)
write_byte(starting frame)
write_byte(frame rate in 0.1's)
write_byte(life in 0.1's)
write_byte(line width in 0.1's)
write_byte(noise amplitude in 0.01's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(brightness)
write_byte(scroll speed in 0.1's)

#### TE_GUNSHOT

Particle effect plus ricochet sound

```pawn
#define	TE_GUNSHOT                  2
```

##### Note

write_byte(TE_GUNSHOT)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)

#### TE_EXPLOSION

Additive sprite, 2 dynamic lights, flickering particles, explosion sound,
move vertically 8 pps

```pawn
#define	TE_EXPLOSION                3
```

##### Note

write_byte(TE_EXPLOSION)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_short(sprite index)
write_byte(scale in 0.1's)
write_byte(framerate)
write_byte(flags)

#### TE_EXPLFLAG_NONE

Flags for the TE_EXPLOSION effect, controlling its performance and aesthetic
features

```pawn
#define TE_EXPLFLAG_NONE            0        // All flags clear makes default Half-Life explosion
#define TE_EXPLFLAG_NOADDITIVE      1        // Sprite will be drawn opaque (ensure that the sprite you send is a non-additive sprite)
#define TE_EXPLFLAG_NODLIGHTS       2        // Do not render dynamic lights
#define TE_EXPLFLAG_NOSOUND         4        // Do not play client explosion sound
#define TE_EXPLFLAG_NOPARTICLES     8        // Do not draw particles
```

#### TE_TAREXPLOSION

Quake1 "tarbaby" explosion with sound

```pawn
#define	TE_TAREXPLOSION             4
```

##### Note

write_byte(TE_TAREXPLOSION)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)

#### TE_SMOKE

Alphablend sprite, move vertically 30pps

```pawn
#define	TE_SMOKE                    5
```

##### Note

write_byte(TE_SMOKE)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_short(sprite index)
write_byte(scale in 0.1's)
write_byte(framerate)

#### TE_TRACER

Tracer effect from point to point

```pawn
#define	TE_TRACER                   6
```

##### Note

write_byte(TE_TRACER)
write_coord(startposition.x)
write_coord(startposition.y)
write_coord(startposition.z)
write_coord(endposition.x)
write_coord(endposition.y)
write_coord(endposition.z)

#### TE_LIGHTNING

TE_BEAMPOINTS with simplified parameters

```pawn
#define	TE_LIGHTNING                7
```

##### Note

write_byte(TE_LIGHTNING)
write_coord(startposition.x)
write_coord(startposition.y)
write_coord(startposition.z)
write_coord(endposition.x)
write_coord(endposition.y)
write_coord(endposition.z)
write_byte(life in 0.1's)
write_byte(width in 0.1's)
write_byte(amplitude in 0.01's)
write_short(sprite model index)

#### TE_BEAMENTS

TE_BEAMENTS

```pawn
#define	TE_BEAMENTS                 8
```

##### Note

write_byte(TE_BEAMENTS)
write_short(start entity)
write_short(end entity)
write_short(sprite index)
write_byte(starting frame)
write_byte(frame rate in 0.1's)
write_byte(life in 0.1's)
write_byte(line width in 0.1's)
write_byte(noise amplitude in 0.01's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(brightness)
write_byte(scroll speed in 0.1's)

#### TE_SPARKS

8 random tracers with gravity, ricochet sprite

```pawn
#define	TE_SPARKS                   9
```

##### Note

write_byte(TE_SPARKS)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)

#### TE_LAVASPLASH

Quake1 lava splash

```pawn
#define	TE_LAVASPLASH               10
```

##### Note

write_byte(TE_LAVASPLASH)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)

#### TE_TELEPORT

Quake1 teleport splash

```pawn
#define	TE_TELEPORT                 11
```

##### Note

write_byte(TE_TELEPORT)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)

#### TE_EXPLOSION2

Quake1 colormaped (base palette) particle explosion with sound

```pawn
#define TE_EXPLOSION2               12
```

##### Note

write_byte(TE_EXPLOSION2)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_byte(starting color)
write_byte(num colors)

#### TE_BSPDECAL

Decal from the .BSP file

```pawn
#define TE_BSPDECAL                 13
```

##### Note

write_byte(TE_BSPDECAL)
write_coord(position.x) decal position (center of texture in world)
write_coord(position.y)
write_coord(position.z)
write_short(texture index of precached decal texture name)
write_short(entity index)
[optional - write_short(index of model of above entity) only included if previous short is non-zero (not the world)]

#### TE_IMPLOSION

Tracers moving toward a point

```pawn
#define TE_IMPLOSION                14
```

##### Note

write_byte(TE_IMPLOSION)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_byte(radius)
write_byte(count)
write_byte(life in 0.1's)

#### TE_SPRITETRAIL

Line of moving glow sprites with gravity, fadeout, and collisions

```pawn
#define TE_SPRITETRAIL              15
```

##### Note

write_byte(TE_SPRITETRAIL)
write_coord(startposition.x)
write_coord(startposition.y)
write_coord(startposition.z)
write_coord(endposition.x)
write_coord(endposition.y)
write_coord(endposition.z)
write_short(sprite index)
write_byte(count)
write_byte(life in 0.1's)
write_byte(scale in 0.1's)
write_byte(velocity along vector in 10's)
write_byte(randomness of velocity in 10's)

#### TE_SPRITE

Additive sprite, plays 1 cycle

```pawn
#define TE_SPRITE                   17
```

##### Note

write_byte(TE_SPRITE)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_short(sprite index)
write_byte(scale in 0.1's)
write_byte(brightness)

#### TE_BEAMSPRITE

A beam with a sprite at the end

```pawn
#define TE_BEAMSPRITE               18
```

##### Note

write_byte(TE_BEAMSPRITE)
write_coord(startposition.x)
write_coord(startposition.y)
write_coord(startposition.z)
write_coord(endposition.x)
write_coord(endposition.y)
write_coord(endposition.z)
write_short(beam sprite index)
write_short(end sprite index)

#### TE_BEAMTORUS

Screen aligned beam ring, expands to max radius over lifetime

```pawn
#define TE_BEAMTORUS                19
```

##### Note

write_byte(TE_BEAMTORUS)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(axis.x)
write_coord(axis.y)
write_coord(axis.z)
write_short(sprite index)
write_byte(starting frame)
write_byte(frame rate in 0.1's)
write_byte(life in 0.1's)
write_byte(line width in 0.1's)
write_byte(noise amplitude in 0.01's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(brightness)
write_byte(scroll speed in 0.1's)

#### TE_BEAMDISK

Disk that expands to max radius over lifetime

```pawn
#define TE_BEAMDISK                 20
```

##### Note

write_byte(TE_BEAMDISK)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(axis.x)
write_coord(axis.y)
write_coord(axis.z)
write_short(sprite index)
write_byte(starting frame)
write_byte(frame rate in 0.1's)
write_byte(life in 0.1's)
write_byte(line width in 0.1's)
write_byte(noise amplitude in 0.01's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(brightness)
write_byte(scroll speed in 0.1's)

#### TE_BEAMCYLINDER

Cylinder that expands to max radius over lifetime

```pawn
#define TE_BEAMCYLINDER             21
```

##### Note

write_byte(TE_BEAMCYLINDER)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(axis.x)
write_coord(axis.y)
write_coord(axis.z)
write_short(sprite index)
write_byte(starting frame)
write_byte(frame rate in 0.1's)
write_byte(life in 0.1's)
write_byte(line width in 0.1's)
write_byte(noise amplitude in 0.01's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(brightness)
write_byte(scroll speed in 0.1's)

#### TE_BEAMFOLLOW

Create a line of decaying beam segments until entity stops moving

```pawn
#define TE_BEAMFOLLOW               22
```

##### Note

write_byte(TE_BEAMFOLLOW)
write_short(entity:attachment to follow)
write_short(sprite index)
write_byte(life in 0.1's)
write_byte(line width in 0.1's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(brightness)

#### TE_GLOWSPRITE

TE_GLOWSPRITE

```pawn
#define TE_GLOWSPRITE               23
```

##### Note

write_byte(TE_GLOWSPRITE)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_short(model index)
write_byte(scale / 10)
write_byte(size)
write_byte(brightness)

#### TE_BEAMRING

Connect a beam ring to two entities

```pawn
#define TE_BEAMRING                 24
```

##### Note

write_byte(TE_BEAMRING)
write_short(start entity)
write_short(end entity)
write_short(sprite index)
write_byte(starting frame)
write_byte(frame rate in 0.1's)
write_byte(life in 0.1's)
write_byte(line width in 0.1's)
write_byte(noise amplitude in 0.01's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(brightness)
write_byte(scroll speed in 0.1's)

#### TE_STREAK_SPLASH

Oriented shower of tracers

```pawn
#define TE_STREAK_SPLASH            25
```

##### Note

write_byte(TE_STREAK_SPLASH)
write_coord(startposition.x)
write_coord(startposition.y)
write_coord(startposition.z)
write_coord(vector.x)
write_coord(vector.y)
write_coord(vector.z)
write_byte(color)
write_short(count)
write_short(base speed)
write_short(random velocity)

#### TE_DLIGHT

Dynamic light, effect world, minor entity effect

```pawn
#define TE_DLIGHT                   27
```

##### Note

write_byte(TE_DLIGHT)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_byte(radius in 10's)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(life in 10's)
write_byte(decay rate in 10's)

#### TE_ELIGHT

Point entity light, no world effect

```pawn
#define TE_ELIGHT                   28
```

##### Note

write_byte(TE_ELIGHT)
write_short(entity:attachment to follow)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(radius)
write_byte(red)
write_byte(green)
write_byte(blue)
write_byte(life in 0.1's)
write_coord(decay rate)

#### TE_TEXTMESSAGE

TE_TEXTMESSAGE

```pawn
#define TE_TEXTMESSAGE              29
```

##### Note

write_byte(TE_TEXTMESSAGE)
write_byte(channel)
write_short(x) -1 = center)
write_short(y) -1 = center)
write_byte(effect) 0 = fade in/fade out, 1 is flickery credits, 2 is write out (training room)
write_byte(red) - text color
write_byte(green)
write_byte(blue)
write_byte(alpha)
write_byte(red) - effect color
write_byte(green)
write_byte(blue)
write_byte(alpha)
write_short(fadein time)
write_short(fadeout time)
write_short(hold time)
[optional] write_short(fxtime) time the highlight lags behing the leading text in effect 2
write_string(text message) 512 chars max string size

#### TE_LINE

TE_LINE

```pawn
#define TE_LINE                     30
```

##### Note

write_byte(TE_LINE)
write_coord(startposition.x)
write_coord(startposition.y)
write_coord(startposition.z)
write_coord(endposition.x)
write_coord(endposition.y)
write_coord(endposition.z)
write_short(life in 0.1 s)
write_byte(red)
write_byte(green)
write_byte(blue)

#### TE_BOX

TE_BOX

```pawn
#define TE_BOX                      31
```

##### Note

write_byte(TE_BOX)
write_coord(boxmins.x)
write_coord(boxmins.y)
write_coord(boxmins.z)
write_coord(boxmaxs.x)
write_coord(boxmaxs.y)
write_coord(boxmaxs.z)
write_short(life in 0.1 s)
write_byte(red)
write_byte(green)
write_byte(blue)

#### TE_KILLBEAM

Kill all beams attached to entity

```pawn
#define TE_KILLBEAM                 99
```

##### Note

write_byte(TE_KILLBEAM)
write_short(entity)

#### TE_LARGEFUNNEL

TE_LARGEFUNNEL

```pawn
#define TE_LARGEFUNNEL              100
```

##### Note

write_byte(TE_LARGEFUNNEL)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_short(sprite index)
write_short(flags)

#### TE_BLOODSTREAM

Particle spray

```pawn
#define	TE_BLOODSTREAM              101
```

##### Note

write_byte(TE_BLOODSTREAM)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(vector.x)
write_coord(vector.y)
write_coord(vector.z)
write_byte(color)
write_byte(speed)

#### TE_SHOWLINE

Line of particles every 5 units, dies in 30 seconds

```pawn
#define	TE_SHOWLINE                 102
```

##### Note

write_byte(TE_SHOWLINE)
write_coord(startposition.x)
write_coord(startposition.y)
write_coord(startposition.z)
write_coord(endposition.x)
write_coord(endposition.y)
write_coord(endposition.z)

#### TE_BLOOD

Particle spray

```pawn
#define TE_BLOOD                    103
```

##### Note

write_byte(TE_BLOOD)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(vector.x)
write_coord(vector.y)
write_coord(vector.z)
write_byte(color)
write_byte(speed)

#### TE_DECAL

Decal applied to a brush entity (not the world)

```pawn
#define TE_DECAL                    104
```

##### Note

write_byte(TE_DECAL)
write_coord(position.x) decal position (center of texture in world)
write_coord(position.y)
write_coord(position.z)
write_byte(texture index of precached decal texture name)
write_short(entity index)

#### TE_FIZZ

Create alpha sprites inside of entity, float upwards

```pawn
#define TE_FIZZ                     105
```

##### Note

write_byte(TE_FIZZ)
write_short(entity)
write_short(sprite index)
write_byte(density)

#### TE_MODEL

Create a moving model that bounces and makes a sound when it hits

```pawn
#define TE_MODEL                    106
```

##### Note

write_byte(TE_MODEL)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(velocity.x)
write_coord(velocity.y)
write_coord(velocity.z)
write_angle(initial yaw)
write_short(model index)
write_byte(bounce sound type)
write_byte(life in 0.1's)

#### TE_EXPLODEMODEL

Spherical shower of models, picks from set

```pawn
#define TE_EXPLODEMODEL             107
```

##### Note

write_byte(TE_EXPLODEMODEL)
write_coord(origin.x)
write_coord(origin.y)
write_coord(origin.z)
write_coord(velocity.x)
write_coord(velocity.y)
write_coord(velocity.z)
write_short(model index)
write_short(count)
write_byte(life in 0.1's)

#### TE_BREAKMODEL

Box of models or sprites

```pawn
#define TE_BREAKMODEL               108
```

##### Note

write_byte(TE_BREAKMODEL)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(size.x)
write_coord(size.y)
write_coord(size.z)
write_coord(velocity.x)
write_coord(velocity.y)
write_coord(velocity.z)
write_byte(random velocity in 10's)
write_short(sprite or model index)
write_byte(count)
write_byte(life in 0.1 secs)
write_byte(flags)

#### TE_GUNSHOTDECAL

Decal and ricochet sound

```pawn
#define TE_GUNSHOTDECAL             109
```

##### Note

write_byte(TE_GUNSHOTDECAL)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_short(entity index???)
write_byte(decal???)

#### TE_SPRITE_SPRAY

Spray of alpha sprites

```pawn
#define TE_SPRITE_SPRAY             110
```

##### Note

write_byte(TE_SPRITE_SPRAY)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(velocity.x)
write_coord(velocity.y)
write_coord(velocity.z)
write_short(sprite index)
write_byte(count)
write_byte(speed)
write_byte(noise)

#### TE_ARMOR_RICOCHET

Quick spark sprite, client ricochet sound.

```pawn
#define TE_ARMOR_RICOCHET           111
```

##### Note

write_byte(TE_ARMOR_RICOCHET)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_byte(scale in 0.1's)

#### TE_PLAYERDECAL

TE_PLAYERDECAL

```pawn
#define TE_PLAYERDECAL              112
```

##### Note

write_byte(TE_PLAYERDECAL)
write_byte(playerindex)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_short(entity???)
write_byte(decal number)
[optional] write_short(model index)

#### TE_BUBBLES

Create alpha sprites inside of box, float upwards

```pawn
#define TE_BUBBLES                  113
```

##### Note

write_byte(TE_BUBBLES)
write_coord(position.x) (min start position)
write_coord(position.y)
write_coord(position.z)
write_coord(position.x) (max start position)
write_coord(position.y)
write_coord(position.z)
write_coord(float height)
write_short(model index)
write_byte(count)
write_coord(speed)

#### TE_BUBBLETRAIL

Create alpha sprites along a line, float upwards

```pawn
#define TE_BUBBLETRAIL              114
```

##### Note

write_byte(TE_BUBBLETRAIL)
write_coord(position.x) (min start position)
write_coord(position.y) (min start position)
write_coord(position.z) (min start position)
write_coord(position.x) (max start position)
write_coord(position.y) (max start position)
write_coord(position.z) (max start position)
write_coord(float height)
write_short(model index)
write_byte(count)
write_coord(speed)

#### TE_BLOODSPRITE

Spray of opaque sprite1's that fall, single sprite2 for 1..2 secs (this is a high-priority tent)

```pawn
#define TE_BLOODSPRITE              115
```

##### Note

write_byte(TE_BLOODSPRITE)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_short(sprite1 index)
write_short(sprite2 index)
write_byte(color)
write_byte(scale)

#### TE_WORLDDECAL

Decal applied to the world brush

```pawn
#define TE_WORLDDECAL               116
```

##### Note

write_byte(TE_WORLDDECAL)
write_coord(position.x) decal position (center of texture in world)
write_coord(position.y)
write_coord(position.z)
write_byte(texture index of precached decal texture name)

#### TE_WORLDDECALHIGH

Decal (with texture index > 256) applied to world brush

```pawn
#define TE_WORLDDECALHIGH           117
```

##### Note

write_byte(TE_WORLDDECALHIGH)
write_coord(position.x) decal position (center of texture in world)
write_coord(position.y)
write_coord(position.z)
write_byte(texture index of precached decal texture name - 256)

#### TE_DECALHIGH

Same as TE_DECAL, but the texture index was greater than 256

```pawn
#define TE_DECALHIGH                118
```

##### Note

write_byte(TE_DECALHIGH)
write_coord(position.x) decal position (center of texture in world)
write_coord(position.y)
write_coord(position.z)
write_byte(texture index of precached decal texture name - 256)
write_short(entity index)

#### TE_PROJECTILE

Makes a projectile (like a nail) (this is a high-priority tent)

```pawn
#define TE_PROJECTILE               119
```

##### Note

write_byte(TE_PROJECTILE)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(velocity.x)
write_coord(velocity.y)
write_coord(velocity.z)
write_short(modelindex)
write_byte(life)
write_byte(owner)  projectile won't collide with owner (if owner == 0, projectile will hit any client).

#### TE_SPRAY

Throws a shower of sprites or models

```pawn
#define TE_SPRAY                    120
```

##### Note

write_byte(TE_SPRAY)
write_coord(position.x)
write_coord(position.y)
write_coord(position.z)
write_coord(direction.x)
write_coord(direction.y)
write_coord(direction.z)
write_short(modelindex)
write_byte(count)
write_byte(speed)
write_byte(noise)
write_byte(rendermode)

#### TE_PLAYERSPRITES

Sprites emit from a player's bounding box (ONLY use for players!)

```pawn
#define TE_PLAYERSPRITES            121
```

##### Note

write_byte(TE_PLAYERSPRITES)
write_short(playernum)
write_short(sprite modelindex)
write_byte(count)
write_byte(variance) (0 = no variance in size) (10 = 10% variance in size)

#### TE_PARTICLEBURST

Very similar to lavasplash

```pawn
#define TE_PARTICLEBURST            122
```

##### Note

write_byte(TE_PARTICLEBURST)
write_coord(origin)
write_short(radius)
write_byte(particle color)
write_byte(duration * 10) (will be randomized a bit)

#### TE_FIREFIELD

Makes a field of fire

```pawn
#define TE_FIREFIELD                123
```

##### Note

write_byte(TE_FIREFIELD)
write_coord(origin)
write_short(radius) (fire is made in a square around origin. -radius, -radius to radius, radius)
write_short(modelindex)
write_byte(count)
write_byte(flags)
write_byte(duration (in seconds) * 10) (will be randomized a bit)

#### TEFIRE_FLAG_ALLFLOAT

Flags for the TE_FIREFIELD effect, controlling its performance and aesthetic
features

```pawn
#define TEFIRE_FLAG_ALLFLOAT        1        // All sprites will drift upwards as they animate
#define TEFIRE_FLAG_SOMEFLOAT       2        // Some of the sprites will drift upwards. (50% chance)
#define TEFIRE_FLAG_LOOP            4        // If set, sprite plays at 15 fps, otherwise plays at whatever rate stretches the animation over the sprite's duration.
#define TEFIRE_FLAG_ALPHA           8        // If set, sprite is rendered alpha blended at 50% else, opaque
#define TEFIRE_FLAG_PLANAR          16       // If set, all fire sprites have same initial Z instead of randomly filling a cube.
```

#### TE_PLAYERATTACHMENT

Attaches a TENT to a player (this is a high-priority tent)

```pawn
#define TE_PLAYERATTACHMENT         124
```

##### Note

write_byte(TE_PLAYERATTACHMENT)
write_byte(entity index of player)
write_coord(vertical offset) (attachment origin.z = player origin.z + vertical offset)
write_short(model index)
write_short(life * 10 )

#### TE_KILLPLAYERATTACHMENTS

Will expire all TENTS attached to a player.

```pawn
#define TE_KILLPLAYERATTACHMENTS    125
```

##### Note

write_byte(TE_KILLPLAYERATTACHMENTS)
write_byte(entity index of player)

#### TE_MULTIGUNSHOT

Much more compact shotgun message

```pawn
#define TE_MULTIGUNSHOT             126
```

##### Note

This message is used to make a client approximate a 'spray' of gunfire.
Any weapon that fires more than one bullet per frame and fires in a bit
of a spread is a good candidate for MULTIGUNSHOT use. (shotguns)

##### Note

This effect makes the client do traces for each bullet, these client
traces ignore entities that have studio models.Traces are 4096 long.

##### Note

write_byte(TE_MULTIGUNSHOT)
write_coord(origin.x)
write_coord(origin.y)
write_coord(origin.z)
write_coord(direction.x)
write_coord(direction.y)
write_coord(direction.z)
write_coord(x noise * 100)
write_coord(y noise * 100)
write_byte(count)
write_byte(bullethole decal texture index)

#### TE_USERTRACER

Larger message than the standard tracer, but allows some customization.

```pawn
#define TE_USERTRACER               127
```

##### Note

write_byte(TE_USERTRACER)
write_coord(origin.x)
write_coord(origin.y)
write_coord(origin.z)
write_coord(velocity.x)
write_coord(velocity.y)
write_coord(velocity.z)
write_byte(life * 10)
write_byte(color) this is an index into an array of color vectors in the engine. (0 - )
write_byte(length * 10)

#### DRC_CMD_NONE

From hltv.h from the HLSDK, these are used in conjunction with SVC_DIRECTOR
sub commands of svc_director

```pawn
#define DRC_CMD_NONE				0	// NULL director command
#define DRC_CMD_START				1	// start director mode
#define DRC_CMD_EVENT				2	// informs about director command
#define DRC_CMD_MODE				3	// switches camera modes
#define DRC_CMD_CAMERA				4	// sets camera registers
#define DRC_CMD_TIMESCALE			5	// sets time scale
#define DRC_CMD_MESSAGE				6	// send HUD centerprint
#define DRC_CMD_SOUND				7	// plays a particular sound
#define DRC_CMD_STATUS				8	// status info about broadcast
#define DRC_CMD_BANNER				9	// banner file name for HLTV gui
#define	DRC_CMD_FADE				10	// send screen fade command
#define DRC_CMD_SHAKE				11	// send screen shake command
#define DRC_CMD_STUFFTEXT			12	// like the normal svc_stufftext but as director command

#define DRC_CMD_LAST				12
```

#### DRC_FLAG_PRIO_MASK

HLTV_EVENT event flags

```pawn
#define DRC_FLAG_PRIO_MASK		0x0F	// priorities between 0 and 15 (15 most important)
#define DRC_FLAG_SIDE			(1<<4)	//
#define DRC_FLAG_DRAMATIC		(1<<5)	// is a dramatic scene
#define DRC_FLAG_SLOWMOTION		(1<<6)  // would look good in SloMo
#define DRC_FLAG_FACEPLAYER		(1<<7)  // player is doning something (reload/defuse bomb etc)
#define DRC_FLAG_INTRO			(1<<8)	// is a introduction scene
#define DRC_FLAG_FINAL			(1<<9)	// is a final scene
#define DRC_FLAG_NO_RANDOM		(1<<10)	// don't randomize event data

#define MAX_DIRECTOR_CMD_PARAMETERS		4
#define MAX_DIRECTOR_CMD_STRING			128
```

## message_stocks.inc

- HTML: https://amxx-api.csrevo.com/message_stocks
- Group: Base includes
- Functions: 4
- Documented constants: 0

### Functions

#### client_printex

- Include: `message_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/message_stocks/function/client_printex
- Line: 121

##### Syntax

```pawn
stock client_printex(index, type, const msg_name[], const msg_param1[] = "", const msg_param2[] = "", const msg_param3[] = "", const msg_param4[] = "")
```

##### Description

Sends a predefined text message to player.
Predefined texts are default game messages which will be translated
to player's game language, e.g. #Game_join_ct.

##### Parameters

- `index`: Index of the player, use 0 to send to all players.
- `type`: The message destination. See print_* constants.
- `msg_name`: The custom or predefined message to send.
- `msg_param1`: Optional message argument.
- `msg_param2`: Optional message argument.
- `msg_param3`: Optional message argument.
- `msg_param4`: Optional message argument.

##### Note

Set index to 0 to send text globally.

##### Note

There does not necessarily have to be a total of 6 arguments.
It will depend if message takes arguments, e.g.:
client_printex(id, print_chat, "#Game_join_ct", "Pimp Daddy")
client_printex(id, print_chat, "1", "#Game_radio", "Pimp Daddy", "Hello world!")

##### Return

This function has no return value.

#### dod_make_deathmsg

- Include: `message_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/message_stocks/function/dod_make_deathmsg
- Line: 28

##### Syntax

```pawn
stock dod_make_deathmsg(killer, victim, weaponNUM)
```

##### Description

Sends a death message.

##### Parameters

- `killer`: Killer id
- `victim`: Victim id
- `weaponNUM`: Weapon index

##### Return

This function has no return value.

#### make_deathmsg

- Include: `message_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/message_stocks/function/make_deathmsg
- Line: 78

##### Syntax

```pawn
stock make_deathmsg(killer, victim, headshot, const weapon[])
```

##### Description

Creates a death message.

##### Parameters

- `killer`: Killer id
- `victim`: Victim id
- `headshot`: Headshot
- `weapon`: Weapon

##### Return

This function has no return value.

#### user_silentkill

- Include: `message_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/message_stocks/function/user_silentkill
- Line: 52

##### Syntax

```pawn
stock user_silentkill(index, flag = 1)
```

##### Description

Kills a user without a message.

##### Parameters

- `index`: Client index
- `flag`: If nonzero, the death will not affect the client's score

##### Return

This function has no return value.

## newmenus.inc

- HTML: https://amxx-api.csrevo.com/newmenus
- Group: Base includes
- Functions: 20
- Documented constants: 15

### Constants

#### Menu properties for using in menu_setprop

Menu properties for using in menu_setprop

#### MEXIT_ALL

Menu will have an exit option (default)

```pawn
#define MEXIT_ALL		1
```

#### MEXIT_FORCE

Menu will have an exit option, even when pagination is disabled.
There have to be less than 10 items in the menu or it won't appear. The exit
option will be appended to the last item with no extra slot padding. If you
want it in the 10th slot you have to pad it manually with menu_addblank2

```pawn
#define MEXIT_FORCE		2
```

#### MEXIT_NEVER

Menu will not have an exit option

```pawn
#define MEXIT_NEVER		-1
```

#### MPROP_PERPAGE

Number of items per page (param1 = number, 0=no paginating, 7=default)

```pawn
#define MPROP_PERPAGE	1
```

#### MPROP_BACKNAME

Name of the back button (param1 = string)

```pawn
#define MPROP_BACKNAME	2
```

#### MPROP_NEXTNAME

Name of the next button (param1 = string)

```pawn
#define MPROP_NEXTNAME	3
```

#### MPROP_EXITNAME

Name of the exit button (param1 = string)

```pawn
#define MPROP_EXITNAME	4
```

#### MPROP_TITLE

Menu title text (param1 = string)

```pawn
#define MPROP_TITLE		5
```

#### MPROP_EXIT

Exit functionality (param1 = number, see MEXIT constants)

```pawn
#define MPROP_EXIT		6
```

#### MPROP_NOCOLORS

Sets whether colors are not auto (param1 = number, 0=default)

```pawn
#define MPROP_NOCOLORS	8
```

#### MPROP_NUMBER_COLOR

Color indicator to use for numbers (param1 = string, "\r"=default)

```pawn
#define MPROP_NUMBER_COLOR	10
```

#### MPROP_PAGE_CALLBACK

Function to be called on Back and Next (param1 = string)
public function(id, status, menu); where status is either MENU_BACK or MENU_MORE
Pass NULL_STRING to disable the callback

```pawn
#define MPROP_PAGE_CALLBACK	11
```

#### MPROP_SHOWPAGE

Whether to show the page number in menu title (param1 = bool, true = default)

```pawn
#define MPROP_SHOWPAGE 12
```

#### MEXIT_NORMAL

MEXIT_NORMAL

```pawn
#define MEXIT_NORMAL	0		/* DEPRECATED, do not use (has no effect) */
#define MENUPAD_NONE	0		/* DEPRECATED, do not use (has no effect) */
#define MENUPAD_PAGE	1		/* DEPRECATED, do not use (has no effect) */
#define MPROP_ORDER		7		/* DEPRECATED, do not use (has no effect) */
#define MPROP_PADMENU	9		/* DEPRECATED, do not use (has no effect) */
```

### Functions

#### menu_addblank

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_addblank
- Line: 319

##### Syntax

```pawn
native menu_addblank(menu, slot=1);
```

##### Description

Adds a blank line to a menu.

##### Parameters

- `menu`: Menu resource identifier.
- `slot`: 1 (default) if the line should shift the numbering down.
0 if the line should be a visual shift only.

##### Note

When using slot=1 this might break your menu. To achieve this functionality
menu_addblank2 should be used.

##### Return

This function has no return value.

##### Error

Invalid menu resource.

#### menu_addblank2

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_addblank2
- Line: 349

##### Syntax

```pawn
native menu_addblank2( menu );
```

##### Description

Adds a blank line to a menu, always shifting the numbering down.

##### Parameters

- `menu`: Menu resource identifier.

##### Note

This will add a special item to create a blank line. It will affect the menu
item count and pagination. These items can be modified later but will ignore
access and item callback results.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.
Too many items on non-paginated menu (max is 10)

#### menu_additem

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_additem
- Line: 158

##### Syntax

```pawn
native menu_additem(menu, const name[], const info[]="", paccess=0, callback=-1);
```

##### Description

Adds an item to a menu.

##### Parameters

- `menu`: Menu resource identifier.
- `name`: Item text to display.
- `info`: Item info string for internal information.
- `paccess`: Access required by the player viewing the menu.
- `callback`: If set to a valid ID from menu_makecallback(), the
callback will be invoked before drawing the item.

##### Return

This function has no return value.

##### Error

Invalid menu resource.

#### menu_addtext

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_addtext
- Line: 334

##### Syntax

```pawn
native menu_addtext(menu, const text[], slot=1);
```

##### Description

Adds a text line to a menu.

##### Parameters

- `menu`: Menu resource identifier.
- `text`: Text to add.
- `slot`: 1 (default) if the line should shift the numbering down.
0 if the line should be a visual shift only.

##### Note

When using slot=1 this might break your menu. To achieve this functionality
menu_addtext2 should be used.

##### Return

This function has no return value.

##### Error

Invalid menu resource.

#### menu_addtext2

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_addtext2
- Line: 365

##### Syntax

```pawn
native menu_addtext2( menu, const text[] );
```

##### Description

Adds a text line to a menu, always shifting the numbering down.

##### Parameters

- `menu`: Menu resource identifier.
- `text`: Text to add.

##### Note

This will add a special item to create a blank line. It will affect the menu
item count and pagination. These items can be modified later but will ignore
access and item callback results.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.
Too many items on non-paginated menu (max is 10)

#### menu_cancel

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_cancel
- Line: 387

##### Syntax

```pawn
native menu_cancel(player);
```

##### Description

Cancels a player's menu, effectively forcing the player to select MENU_EXIT.
The menu will still exist on their screen but any results are invalidated,
and the callback is invoked.

##### Parameters

- `player`: Client index.

##### Return

This function has no return value.

##### Error

Invalid client index.

#### menu_create

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_create
- Line: 127

##### Syntax

```pawn
native menu_create(const title[], const handler[], bool:ml = false);
```

##### Description

Creates a new menu object.

##### Parameters

- `title`: Title the menu should use.
- `handler`: Name of the handler function.  The function will be invoked
once and only once to every menu_display() call.
- `ml`: If true, the menu title and items will be looked up as multilingual keys
when the menu displays.

##### Note

The handler function should be prototyped as:
public <function>(id, menu, item)
id     - Client the menu is being acted upon.
menu   - Menu resource identifier.
item   - Item the client selected.  If less than 0, the menu was
cancelled and the item is a status code.  menu_display
should never be called immediately if the item is a status
code, for re-entrancy reasons.

##### Note

The handler function should always return PLUGIN_HANDLED to block
any old menu handlers from potentially feeding on the menu, unless
that is the desired functionality.

##### Return

Menu resource identifier which must be destroyed via
menu_destroy().  All menus are destroyed when the plugin
unloads.

##### Error

Function name not found.

#### menu_destroy

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_destroy
- Line: 285

##### Syntax

```pawn
native menu_destroy(menu);
```

##### Description

Destroys a menu.  Player menus will be cancelled (although may still linger
on the HUD), and future attempts to access the menu resource will result in
an error.

This must be called if you create menus dynamically, otherwise you will
leak memory.  For normal dynamic menus, you will destroy the menu in the
handler function (remembering to handle the case of a menu being cancelled,
it must still be destroyed).

##### Parameters

- `menu`: Menu resource identifier.

##### Return

This function has no return value.

##### Error

Invalid menu resource.

#### menu_display

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_display
- Line: 197

##### Syntax

```pawn
native menu_display(id, menu, page=0, time=-1);
```

##### Description

Displays a menu to one client.  This should never be called from a handler
when the item is less than 0 (i.e. calling this from a cancelled menu will
result in an error).

Starting with 1.8.3 this allows to specify a menu timeout similar to the
show_menu native. If the menu exists on the client past the timeout *any*
further action will send the MENU_TIMEOUT status code to the menu handler.
That includes actions which would otherwise send MENU_EXIT, such as the
client selecting an item or disconnecting and calling menu_cancel or
menu_destroy on a live menu.

##### Parameters

- `id`: Client index.
- `menu`: Menu resource identifier.
- `page`: Page to start from (starting from 0).
- `time`: If >=0 menu will timeout after this many seconds

##### Return

This function has no return value.

##### Error

Invalid menu resource or client index.

#### menu_find_id

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_find_id
- Line: 209

##### Syntax

```pawn
native menu_find_id(menu, page, key);
```

##### Description

Given a page on a menu and a keypress on that page, returns the item id selected.
If the item is less than 0, a special option was chosen (such as MENU_EXIT).

##### Parameters

- `menu`: Menu resource identifier.
- `page`: Page on the menu.
- `key`: Key pressed (from 1 to 10).

##### Return

Item identifier, or <0 for a special selection code.

##### Error

Invalid menu resource.

#### menu_item_getinfo

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_item_getinfo
- Line: 225

##### Syntax

```pawn
native menu_item_getinfo(menu, item, &access = 0, info[] = "", infolen = 0, name[]="", namelen=0, &callback = 0);
```

##### Description

Retrieves info about a menu item.

##### Parameters

- `menu`: Menu resource identifier.
- `item`: Item identifier.
- `access`: Variable to store access value.
- `info`: Buffer to store item info.
- `infolen`: Item info buffer length.
- `name`: Buffer to store item display text.
- `namelen`: Item name buffer length.
- `callback`: Callback ID.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.

#### menu_item_setaccess

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_item_setaccess
- Line: 269

##### Syntax

```pawn
native menu_item_setaccess(menu, item, access=0);
```

##### Description

Sets an item's access.

##### Parameters

- `menu`: Menu resource identifier.
- `item`: Item identifier.
- `access`: New access required by the player for access to the item.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.

#### menu_item_setcall

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_item_setcall
- Line: 258

##### Syntax

```pawn
native menu_item_setcall(menu, item, callback=-1);
```

##### Description

Sets an item's callback.

##### Parameters

- `menu`: Menu resource identifier.
- `item`: Item identifier.
- `callback`: New callback from menu_makecallback(), or -1 to clear.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.

#### menu_item_setcmd

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_item_setcmd
- Line: 247

##### Syntax

```pawn
native menu_item_setcmd(menu, item, const info[]);
```

##### Description

Sets an item's info string.

##### Parameters

- `menu`: Menu resource identifier.
- `item`: Item identifier.
- `info`: New item info string.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.

#### menu_item_setname

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_item_setname
- Line: 236

##### Syntax

```pawn
native menu_item_setname(menu, item, const name[]);
```

##### Description

Sets an item's display text.

##### Parameters

- `menu`: Menu resource identifier.
- `item`: Item identifier.
- `name`: New item display text.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource.

#### menu_items

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_items
- Line: 176

##### Syntax

```pawn
native menu_items(menu);
```

##### Description

Returns the number of items in a menu.

##### Parameters

- `menu`: Menu resource identifier.

##### Return

Number of items in the menu.

##### Error

Invalid menu resource.

#### menu_makecallback

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_makecallback
- Line: 144

##### Syntax

```pawn
native menu_makecallback(const function[]);
```

##### Description

Creates a menu item callback handler.

##### Parameters

- `function`: Function name.

##### Note

The handler function should be prototyped as:
public <function>(id, menu, item)
id      - Client index being displayed to.
menu    - Menu resource identifier.
item    - Item being drawn.
<return> - ITEM_IGNORE to use the default functionality.
ITEM_ENABLED to explicitly enable or ITEM_DISABLED to explicitly disable.

##### Return

Menu callback ID.

#### menu_pages

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_pages
- Line: 167

##### Syntax

```pawn
native menu_pages(menu);
```

##### Description

Returns the number of pages in a menu.

##### Parameters

- `menu`: Menu resource identifier.

##### Return

Number of pages in the menu.

##### Error

Invalid menu resource.

#### menu_setprop

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/menu_setprop
- Line: 376

##### Syntax

```pawn
native menu_setprop(menu, prop, ...);
```

##### Description

Sets a menu property.

##### Parameters

- `menu`: Menu resource identifier.
- `prop`: MPROP_ constant.
- `...`: Property parameters.

##### Return

1 on success, 0 on failure.

##### Error

Invalid menu resource or property.

#### player_menu_info

- Include: `newmenus.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/newmenus/function/player_menu_info
- Line: 305

##### Syntax

```pawn
native player_menu_info(id, &menu, &newmenu, &menupage=0);
```

##### Description

Returns information about a menu (if any) the client is currently viewing.

##### Parameters

- `id`: Client index.
- `menu`: Variable to store old menu id.  If none, then <1 will be
stored.
- `newmenu`: Variable to store new menu id.  If none, then -1 will be
stored.
- `menupage`: Variable to store current page of the new menu, if any.

##### Note

If newmenu is valid, then the menu will refer to the menuid associated with
the title. If newmenu is not valid, and the menu is valid, then the player
is viewing a menu displayed with show_menu().

##### Note

Both may be invalid if the player is not viewing a menu.

##### Return

1 if the player is viewing a menu, 0 otherwise.

##### Error

Invalid client.

## ns.inc

- HTML: https://amxx-api.csrevo.com/ns
- Group: Base includes
- Functions: 104
- Documented constants: 3

### Constants

#### NS_INC

NS_INC

```pawn
#define NS_INC
```

#### Calls NS's private damage routine on the victim entity.

Calls NS's private damage routine on the victim entity.

```pawn
#pragma deprecated It is suggested to use hamsandwich for this action instead.
```

##### Note

This is provided for backwards compatibility with peachy's module.
It is suggested to use hamsandwich for this action instead.

#### Particle system natives - The particle system emulates a map-based custom particle system. Familiarity with the keyvalues from the map-based particle systems is recommended! You will be lost otherwise! - prsearle's NSPEdit is also recommended for designing the systems: http://homepage.ntlworld.com/pr.searle/NSPSEdit/NSPSEdit.html

Particle system natives
-
The particle system emulates a map-based custom particle system.
Familiarity with the keyvalues from the map-based particle systems
is recommended! You will be lost otherwise!
-
prsearle's NSPEdit is also recommended for designing the systems:
http://homepage.ntlworld.com/pr.searle/NSPSEdit/NSPSEdit.html

### Functions

#### client_built

- Include: `ns.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/ns/function/client_built
- Line: 46

##### Syntax

```pawn
forward client_built(idPlayer, idStructure, type, impulse);
```

##### Description

Called whenever the client builds a structure.

##### Parameters

- `idPlayer`: The player index who triggered the building.
- `idStructure`: The structure index that was created.
- `type`: The type of structure that was built (1 for marine, 2 for alien).
- `impulse`: The impulse command that was issued to build this structure.

##### Return

This function has no return value.

#### client_changeclass

- Include: `ns.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/ns/function/client_changeclass
- Line: 35

##### Syntax

```pawn
forward client_changeclass(id, newclass, oldclass);
```

##### Description

Called whenever the client's class is changed.

##### Parameters

- `id`: The index of the player who changed.
- `newclass`: The class the client changed to.  Check the class enum in ns_const.inc.
- `oldclass`: The class the client changed from.  Check the class enum in ns_const.inc.

##### Return

This function has no return value.

#### client_changeteam

- Include: `ns.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/ns/function/client_changeteam
- Line: 517

##### Syntax

```pawn
forward client_changeteam(id, newteam, oldteam);
```

##### Description

Triggered whenever a client's pev->team changes.

##### Parameters

- `id`: The id of the client.
- `newteam`: The team number of the new team.
- `oldteam`: The team number of the old team.

##### Return

This function has no return value.

#### client_spawn

- Include: `ns.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/ns/function/client_spawn
- Line: 525

##### Syntax

```pawn
forward client_spawn(id);
```

##### Description

Triggered whenever a client's pev->deadflag changes from >0 to 0.

##### Parameters

- `id`: The id of the client.

##### Return

This function has no return value.

#### map_reset

- Include: `ns.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/ns/function/map_reset
- Line: 578

##### Syntax

```pawn
forward map_reset(isload);
```

##### Description

This function has no description.

#### round_end

- Include: `ns.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/ns/function/round_end
- Line: 576

##### Syntax

```pawn
forward round_end(Float:roundtime);
```

##### Description

Called immediately when a round ends

##### Parameters

- `roundtime`: The length of the round in seconds.

##### Return

This function has no return value.

#### round_start

- Include: `ns.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/ns/function/round_start
- Line: 568

##### Syntax

```pawn
forward round_start();
```

##### Description

Called at the approximate time that a round is started.

##### Return

This function has no return value.

#### ns_add_deaths

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_deaths
- Line: 472

##### Syntax

```pawn
native ns_add_deaths(idPlayer,numdeaths);
```

##### Description

Adds to a player's death count
Returns the new death count on success

#### ns_add_energy

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_energy
- Line: 238

##### Syntax

```pawn
native Float:ns_add_energy(id, Float:amount);
```

##### Description

Adds to the player's energy percentage.

##### Parameters

- `id`: The player to add the energy to.
- `amount`: The amount of energy to add to the player.

##### Return

The new amount of energy the player has (0.0 through 100.0)

#### ns_add_exp

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_exp
- Line: 331

##### Syntax

```pawn
native Float:ns_add_exp(id, Float:value);
```

##### Description

Adds to the player's experience.

##### Parameters

- `id`: The player to add experience value to.
- `value`: The amount of experience this player will receive.

##### Note

Combat only.

##### Return

The new amount of experience this player has.

#### ns_add_jpfuel

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_jpfuel
- Line: 212

##### Syntax

```pawn
native Float:ns_add_jpfuel(id, Float:amount);
```

##### Description

Adds to the player's jetpack fuel reserve.

##### Parameters

- `id`: The player to add fuel to.
- `amount`: The amount of fuel to add, as a percentage (0.0 through 100.0)

##### Return

The new amount of fuel in the player's reserve. (0.0 through 100.0)

#### ns_add_obs_energy

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_obs_energy
- Line: 666

##### Syntax

```pawn
native Float:ns_add_obs_energy(idObs,Float:value);
```

##### Description

This function has no description.

#### ns_add_points

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_points
- Line: 357

##### Syntax

```pawn
native ns_add_points(id,points);
```

##### Description

Adds to the player's points spent count in combat.

##### Parameters

- `id`: The player to add this to.
- `value`: The value to add to the points spent.

##### Return

The new value of the points spent variable.

#### ns_add_res

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_res
- Line: 268

##### Syntax

```pawn
native Float:ns_add_res(id, Float:amount);
```

##### Description

Adds an amount of resources to the player.

##### Parameters

- `id`: The id of the player to add resources to.
- `amount`: The amount to add to the player.

##### Note

This is only for alien players.

##### Return

The new amount of resources the player has.

#### ns_add_score

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_score
- Line: 461

##### Syntax

```pawn
native ns_add_score(idPlayer,score);
```

##### Description

Adds to a player's score
Returns the new score on success

#### ns_add_teamres

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_teamres
- Line: 301

##### Syntax

```pawn
native Float:ns_add_teamres(Team,Float:value);
```

##### Description

Adds to the team's resources in the resource pool.

##### Parameters

- `Team`: 1 for teama, 2 for teamb. (eg: in MvA maps, 1 is marines,
2 is aliens.  In mvm, 1 is marine1, 2 is marine2)
- `value`: The amount to set the resources to add to the pool

##### Note

If this is used on an alien team, the resources will be
distributed between all of the players who need resources.

##### Return

The new amount of resources in the resource pool.

#### ns_add_weld_done

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_weld_done
- Line: 661

##### Syntax

```pawn
native Float:ns_add_weld_done(idWeldable,Float:value);
```

##### Description

Adds to the total time this func_weldable
has been welded.  Returns the new value.
Note this native clamps the low value to 0.0

#### ns_add_weld_time

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_add_weld_time
- Line: 645

##### Syntax

```pawn
native Float:ns_add_weld_time(idWeldable,Float:value);
```

##### Description

Adds to the weldable's time required to open.
Returns the new required time on success.
Note this native clamps the low value to 0.

#### ns_build_structure

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_build_structure
- Line: 606

##### Syntax

```pawn
native ns_build_structure(idStructure);
```

##### Description

Forces the structure to fully build
Removes the ghost state from marine structures.
Do not use this on hives! It wont work.

#### ns_create_ps

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_create_ps
- Line: 700

##### Syntax

```pawn
native RawPS:ns_create_ps();
```

##### Description

Creates a handle to the a particle system to configure
-
Note! this is not a particle system you can pass to
ns_fire_ps()!

#### ns_finish_weldable

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_finish_weldable
- Line: 627

##### Syntax

```pawn
native ns_finish_weldable(idWeldable);
```

##### Description

Forces the weldable to trigger
Passing an index other than a weldable
will have undefined results!
-
NS renames func_weldable to avhweldable
at map load.
-
Note: This calls a private NS function!
      Be careful when using this!

#### ns_fire_ps

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_fire_ps
- Line: 727

##### Syntax

```pawn
native ns_fire_ps(Particle:system,const Float:origin[3],const Float:angles[3]={0.0,0.0,0.0}, flags=0);
```

##### Description

Draws a particle system at the given origin (and angles)
Flags are the FEV_* defines from hlsdk_const.inc
Only use handles returned by ns_spawn_ps or ns_get_ps_id here!

#### ns_get_build

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_build
- Line: 165

##### Syntax

```pawn
native ns_get_build(const classname[],builtOnly=1,Number=0);
```

##### Description

Returns built/unbuilt structures.
	If:
		builtOnly is 1 (default):
			Only fully built structures are counted.
		builtOnly is 0:
			Any structure meeting the classname is counted.

		Number is 0 (default):
			The total number of matching structures is returned.
		Number is any other value:
			The index of the #th matching structure is returned.

#### ns_get_class

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_class
- Line: 186

##### Syntax

```pawn
native ns_get_class(id);
```

##### Description

Returns the class of the player.  Look in the classes enum in ns_const.inc for the value's meaning.

#### ns_get_deaths

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_deaths
- Line: 464

##### Syntax

```pawn
native ns_get_deaths(idPlayer);
```

##### Description

Gets a player's death count.

#### ns_get_energy

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_energy
- Line: 220

##### Syntax

```pawn
native Float:ns_get_energy(id);
```

##### Description

Gets the player's energy percentage.

##### Parameters

- `id`: The player to get the energy from.

##### Return

The amount of energy the player has (0.0 through 100.0)

#### ns_get_exp

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_exp
- Line: 311

##### Syntax

```pawn
native Float:ns_get_exp(id);
```

##### Description

Returns the player's experience.

##### Parameters

- `id`: The player to get experience value from.

##### Note

Combat only.

##### Return

The amount of experience this player has.

#### ns_get_gameplay

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_gameplay
- Line: 65

##### Syntax

```pawn
native NSGameplay:ns_get_gameplay();
```

##### Description

Returns the gameplay type for the currently active map.
Refer to ns_const.inc's NSGameplay enum for details.

##### Note

The earliest this is guaranteed to be accurate is during plugin_init().  It needs
the info_gameplay entity to be properly set within the map, or it will return "Unknown",
or "Cantfind".

##### Return

Return the gameplay mode, as accurate as the module can tell.

#### ns_get_hive_ability

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_hive_ability
- Line: 507

##### Syntax

```pawn
native ns_get_hive_ability(idPlayer, ability=0);
```

##### Description

Returns 1 if a player has the hive ability number.
If ability is 0, it will return the number of active hives.

##### Parameters

- `idPlayer`: The player index to look up.
- `ability`: The ability number to check, set to 0 to get number of active hives.

##### Return

If ability is != 0, returns 1 or 0 depending on if the client has the ability.
If ability is 0, returns the number of active hives.

#### ns_get_hive_trait

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_hive_trait
- Line: 481

##### Syntax

```pawn
native ns_get_hive_trait(idHive);
```

##### Description

Gets the trait type tied to the hive.  Look at the hivetrait enum for the values.

#### ns_get_jpfuel

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_jpfuel
- Line: 194

##### Syntax

```pawn
native Float:ns_get_jpfuel(id);
```

##### Description

Gets the player's jetpack fuel reserve.

##### Parameters

- `id`: The player to get fuel from.

##### Return

The amount of fuel in the player's reserve. (0.0 through 100.0)

#### ns_get_locationname

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_locationname
- Line: 594

##### Syntax

```pawn
native ns_get_locationname(Float:x, Float:y, name[], len, titlelookup=0);
```

##### Description

Returns the location name of the provided x/y position
(z origin is ignored; can't have location over location)
-
Note that as of NS 3.2 beta 2, on the following maps
the returned string should be passed through ns_lookup_title
to be human readable:
  ns_bast, ns_hera, ns_nothing, ns_tanith,
  ns_nancy, ns_caged, ns_eclipse, ns_veil

Passing the 5th parameter as non zero will auto look up
the title if it exists.

#### ns_get_mask

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_mask
- Line: 148

##### Syntax

```pawn
native ns_get_mask(id,mask);
```

##### Description

Returns whether or not this mask is set from the entity's iuser4 field.  Use the "mask" enum for reference.

#### ns_get_maxspeed

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_maxspeed
- Line: 145

##### Syntax

```pawn
native ns_get_maxspeed(id);
```

##### Description

Returns a client's maxspeed before the speed change modifier is factored in.

##### Parameters

- `id`: The client id to check.

##### Return

The maxspeed for the client.

#### ns_get_obs_energy

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_obs_energy
- Line: 664

##### Syntax

```pawn
native Float:ns_get_obs_energy(idObs);
```

##### Description

Gets/sets/adds to the energy pool of this observatory.

#### ns_get_points

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_points
- Line: 339

##### Syntax

```pawn
native ns_get_points(id);
```

##### Description

Gets the player's points spent count in combat.

##### Parameters

- `id`: The player to check.

##### Return

The amount of points this player has spent.

#### ns_get_ps_id

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_ps_id
- Line: 732

##### Syntax

```pawn
native Particle:ns_get_ps_id(const Name[]);
```

##### Description

Looks up a particle system by name
Returns a usable particle system handle.

#### ns_get_res

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_res
- Line: 248

##### Syntax

```pawn
native Float:ns_get_res(id);
```

##### Description

Returns a player's resources.

##### Parameters

- `id`: The id of the player to check.

##### Note

This is only for alien players.

##### Return

Amount of resources this player has.

#### ns_get_score

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_score
- Line: 446

##### Syntax

```pawn
native ns_get_score(idPlayer);
```

##### Description

Gets the player's score.

##### Parameters

- `idPlayer`: The player to get the score for.

##### Note

The score from level is automatically factored into the scoreboard in combat.

##### Return

The player's score.

#### ns_get_spawn

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_spawn
- Line: 183

##### Syntax

```pawn
native ns_get_spawn(team,number=0,Float:ret[3]);
```

##### Description

Gets spawn point for specified team (type).
	If:
		Team is equal to 0:
			Ready room spawns are returned.
		Team is greater than 0:
			Spawns for the team are returned.

		Number is equal to 0:
			Total number of spawns is returned.
		Number is greater than 0:
			The location of the specified spawn is returned.

#### ns_get_speedchange

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_speedchange
- Line: 137

##### Syntax

```pawn
native ns_get_speedchange(id);
```

##### Description

Returns a client's current speed modifier.

##### Parameters

- `id`: The client id to check.

##### Return

The module's current speed modifier for the client.

#### ns_get_struct_owner

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_struct_owner
- Line: 475

##### Syntax

```pawn
native ns_get_struct_owner(idStructsure);
```

##### Description

Gets the index of the owner of a structure. -1 for no owner.

#### ns_get_teamres

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_teamres
- Line: 277

##### Syntax

```pawn
native Float:ns_get_teamres(Team);
```

##### Description

Returns the team's resources.

##### Parameters

- `Team`: 1 for teama, 2 for teamb. (eg: in MvA maps, 1 is marines,
2 is aliens.  In mvm, 1 is marine1, 2 is marine2)

##### Return

The amount of resources in this team's resource pool.

#### ns_get_user_team

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_user_team
- Line: 75

##### Syntax

```pawn
native ns_get_user_team(id, buff[], len);
```

##### Description

Exact syntax as get_user_team, but should be more accurate.

##### Parameters

- `id`: Player id.
- `buff`: Buffer to store team name in.
- `len`: Buffer length.

##### Return

The pev_team setting for the player.

#### ns_get_weap_clip

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_weap_clip
- Line: 404

##### Syntax

```pawn
native ns_get_weap_clip(idWeapon);
```

##### Description

Gets the weapon's clip ammo.

##### Parameters

- `idWeapon`: The weapon to get the clip ammo from.

##### Note

Use weapon index, not player index!

##### Return

The amount of ammunition in the weapon's clip.

#### ns_get_weap_dmg

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_weap_dmg
- Line: 366

##### Syntax

```pawn
native Float:ns_get_weap_dmg(idWeapon);
```

##### Description

Gets the damage for this weapon.

##### Parameters

- `idWeapon`: The entity index of the weapon to check.

##### Note

Use weapon index, not player index!

##### Return

The damage this weapon does.

#### ns_get_weap_range

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_weap_range
- Line: 385

##### Syntax

```pawn
native Float:ns_get_weap_range(idWeapon);
```

##### Description

Gets the maximum range for this weapon.

##### Parameters

- `idWeapon`: The entity index of the weapon to check.

##### Note

Use weapon index, not player index!

##### Return

The maximum range this weapon has.

#### ns_get_weap_reserve

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_weap_reserve
- Line: 425

##### Syntax

```pawn
native ns_get_weap_reserve(id,weapon);
```

##### Description

Gets the player's weapon reserve (backpack ammo) for the specified
type of weapon.

##### Parameters

- `id`: The player id to check ammo count on.
- `weapon`: The weapon type to check ammo count for.

##### Note

Use player index, not weapon index!

##### Return

The ammunition count in the player's reserve.

#### ns_get_weapon

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_weapon
- Line: 580

##### Syntax

```pawn
native ns_get_weapon(idPlayer,weaponid,&weapontype=0);
```

##### Description

This function has no description.

#### ns_get_weld_done

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_weld_done
- Line: 650

##### Syntax

```pawn
native Float:ns_get_weld_done(idWeldable);
```

##### Description

Gets the total time this func_weldable
has been welded.

#### ns_get_weld_time

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_get_weld_time
- Line: 634

##### Syntax

```pawn
native Float:ns_get_weld_time(idWeldable);
```

##### Description

Gets the total time needed to weld this
func_weldable shut.
Note: NS renames "func_weldable"s to "avhweldable"s
at run time!

#### ns_give_item

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_give_item
- Line: 496

##### Syntax

```pawn
native ns_give_item(id, const class[]);
```

##### Description

Give the player an item.

##### Parameters

- `id`: The player to give the item to.
- `class`: The map-classname of the entity to give to the player.

##### Return

This function has no return value.

#### ns_has_weapon

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_has_weapon
- Line: 169

##### Syntax

```pawn
native ns_has_weapon(id,weapon,setweapon=-1);
```

##### Description

Returns if the player has the weapon or not in their pev->weapons field.
   set "setweapon" to 0 to turn the bit off, set to 1 to turn it on. Or omit it to just return the value.

#### ns_is_combat

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_is_combat
- Line: 53

##### Syntax

```pawn
native ns_is_combat();
```

##### Description

Tell whether or not the map is combat.

##### Return

1 if combat, 0 otherwise.

#### ns_lookup_title

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_lookup_title
- Line: 600

##### Syntax

```pawn
native ns_lookup_title(const KeyName[], Output[], length);
```

##### Description

Looks up a key from titles.txt
Returns -1 if the key is not found
Otherwise it returns the length of the output

#### ns_popup

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_popup
- Line: 85

##### Syntax

```pawn
native ns_popup(target, const szMsg[180], ah=0);
```

##### Description

Send an NS-style popup message.

##### Parameters

- `target`: The client to receive the message.  Set to 0 to send to everybody.
- `szMsg`: The message to send, 180 characters max.
- `ah`: Whether to only display the message on clients who have the cvar "cl_autohelp" set to 1.

##### Return

This function has no return value.

#### ns_recycle

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_recycle
- Line: 615

##### Syntax

```pawn
native ns_recycle(idStructure);
```

##### Description

Forces the structure to begin recycling
Passing an index other than a marine structure will
have undefined results!
-
Note: This calls a private NS function!
      Be careful when using this!

#### ns_remove_upgrade

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_remove_upgrade
- Line: 682

##### Syntax

```pawn
native ns_remove_upgrade(idPlayer, upgrade);
```

##### Description

Removes an upgrade from the player's bought and active upgrade lists.
This will not refund the points spent on the upgrade, nor will it
immediately strip the upgrade if the player is alive.  Rather, it will
make it so the player no longer receives the upgrade on spawn.

##### Note

This only works in combat.

##### Params

idPlayer		The player index to change upgrades for.

##### Params

ugprade		The impulse number for the upgrade to strip.

##### Return

2 for upgrade removed from player's bought and active list.
1 for upgrade removed from player's bought list only.
3 for upgrade removed from player's active list only (shouldn't happen, just incase.)
0 for the player didn't have the upgrade in either list.

#### ns_round_in_progress

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_round_in_progress
- Line: 561

##### Syntax

```pawn
native bool:ns_round_in_progress();
```

##### Description

Whether or not there is a game in progress.

##### Return

true if a game is in progress, false otherwise.

#### ns_set_deaths

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_deaths
- Line: 467

##### Syntax

```pawn
native ns_set_deaths(idPlayer,numdeaths);
```

##### Description

Sets a player's death count.

#### ns_set_energy

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_energy
- Line: 229

##### Syntax

```pawn
native ns_set_energy(id, Float:energy);
```

##### Description

Sets the player's energy percentage.

##### Parameters

- `id`: The player to set the energy on.
- `energy`: The amount of energy to set (0.0 through 100.0)

##### Return

This function has no return value.

#### ns_set_exp

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_exp
- Line: 321

##### Syntax

```pawn
native ns_set_exp(id,Float:exp);
```

##### Description

Sets the player's experience.

##### Parameters

- `id`: The player to set experience value on.
- `exp`: The amount of experience this player will have.

##### Note

Combat only.

##### Return

This function has no return value.

#### ns_set_fov

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_fov
- Line: 487

##### Syntax

```pawn
native ns_set_fov(idPlayer,Float:_fov=0.0);
```

##### Description

Sets the players field of view, set "_fov" to 0.0 (or omit it) to return to normal. FOV change will persist until disconnect unless reset by a plugin

#### ns_set_hive_trait

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_hive_trait
- Line: 484

##### Syntax

```pawn
native ns_set_hive_trait(idHive,trait);
```

##### Description

Sets the trait type tied to the hive.  Look at the hivetrait enum for the values.

#### ns_set_jpfuel

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_jpfuel
- Line: 203

##### Syntax

```pawn
native ns_set_jpfuel(id, Float:fuel);
```

##### Description

Sets the player's jetpack fuel reserve.

##### Parameters

- `id`: The player to set fuel.
- `fuel`: The amount of fuel to set, as a percentage (0.0 through 100.0)

##### Return

This function has no return value.

#### ns_set_mask

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_mask
- Line: 151

##### Syntax

```pawn
native ns_set_mask(id,mask,value);
```

##### Description

Sets or removes the mask from the entity's iuser4 field. Set "value" to 1 to turn the mask on, 0 to turn it off.

#### ns_set_obs_energy

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_obs_energy
- Line: 665

##### Syntax

```pawn
native ns_set_obs_energy(idObs,Float:value);
```

##### Description

This function has no description.

#### ns_set_player_body

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_player_body
- Line: 118

##### Syntax

```pawn
native ns_set_player_body(id, body=-1);
```

##### Description

Sets a player body.  Omit the second parameter to return to default

##### Parameters

- `id`: The player id to change.
- `body`: The body number to change to.

##### Note

The body does not revert on death, teamswitch, gestation, etc.

##### Return

This function has no return value.

#### ns_set_player_model

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_player_model
- Line: 96

##### Syntax

```pawn
native ns_set_player_model(id, const szModel[]="");
```

##### Description

Sets a player model.  Omit the second parameter to return to default

##### Parameters

- `id`: The player id to change.
- `szModel`: The model to change to.

##### Note

The model does not revert on death, teamswitch, gestation, etc.

##### Return

This function has no return value.

#### ns_set_player_skin

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_player_skin
- Line: 107

##### Syntax

```pawn
native ns_set_player_skin(id, skin=-1);
```

##### Description

Sets a player skin.  Omit the second parameter to return to default

##### Parameters

- `id`: The player id to change.
- `skin`: The skin number to change to.

##### Note

The skin does not revert on death, teamswitch, gestation, etc.

##### Return

This function has no return value.

#### ns_set_points

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_points
- Line: 348

##### Syntax

```pawn
native ns_set_points(id, points);
```

##### Description

Sets the player's points spent count in combat.

##### Parameters

- `id`: The player to set this on.
- `points`: The amount to set this to.

##### Return

This function has no return value.

#### ns_set_ps_anim_speed

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_anim_speed
- Line: 750

##### Syntax

```pawn
native ns_set_ps_anim_speed(RawPS:system, speed);
```

##### Description

This function has no description.

#### ns_set_ps_base_color

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_base_color
- Line: 752

##### Syntax

```pawn
native ns_set_ps_base_color(RawPS:system, const colors[]);
```

##### Description

This function has no description.

#### ns_set_ps_genrate

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_genrate
- Line: 738

##### Syntax

```pawn
native ns_set_ps_genrate(RawPS:system, genrate);
```

##### Description

The following are the parameters for configuring the
particle system.  Look through the fgd and NSPSEdit
for details!

#### ns_set_ps_genshape

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_genshape
- Line: 739

##### Syntax

```pawn
native ns_set_ps_genshape(RawPS:system, NSPS_GenShape:genshape);
```

##### Description

This function has no description.

#### ns_set_ps_genshape_params

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_genshape_params
- Line: 740

##### Syntax

```pawn
native ns_set_ps_genshape_params(RawPS:system, const params[]);
```

##### Description

This function has no description.

#### ns_set_ps_max_alpha

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_max_alpha
- Line: 754

##### Syntax

```pawn
native ns_set_ps_max_alpha(RawPS:system, Float:maxalpha);
```

##### Description

This function has no description.

#### ns_set_ps_name

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_name
- Line: 708

##### Syntax

```pawn
native ns_set_ps_name(RawPS:system, const name[]);
```

##### Description

Sets the name of the particle system.
-
This is used for things like ns_get_ps_id()
and through calling another particle system
through the "ps_to_gen" field

#### ns_set_ps_numparticles

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_numparticles
- Line: 742

##### Syntax

```pawn
native ns_set_ps_numparticles(RawPS:system, numparticles);
```

##### Description

This function has no description.

#### ns_set_ps_particle_life

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_particle_life
- Line: 747

##### Syntax

```pawn
native ns_set_ps_particle_life(RawPS:system, Float:lifetime);
```

##### Description

This function has no description.

#### ns_set_ps_rendermode

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_rendermode
- Line: 748

##### Syntax

```pawn
native ns_set_ps_rendermode(RawPS:system, NSPS_RenderMode:rendermode);
```

##### Description

This function has no description.

#### ns_set_ps_scale

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_scale
- Line: 753

##### Syntax

```pawn
native ns_set_ps_scale(RawPS:system, Float:scale);
```

##### Description

This function has no description.

#### ns_set_ps_size

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_size
- Line: 743

##### Syntax

```pawn
native ns_set_ps_size(RawPS:system, Float:size);
```

##### Description

This function has no description.

#### ns_set_ps_spawn_flags

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_spawn_flags
- Line: 751

##### Syntax

```pawn
native ns_set_ps_spawn_flags(RawPS:system, NSPS_Flags:flags);
```

##### Description

This function has no description.

#### ns_set_ps_sprite

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_sprite
- Line: 716

##### Syntax

```pawn
native ns_set_ps_sprite(RawPS:system, const sprite[]);
```

##### Description

Sets the sprite to use for the particle system
-
You do NOT have to precache the sprite, BUT
the sprite must obviously be on the client to
display.

#### ns_set_ps_spriteframes

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_spriteframes
- Line: 741

##### Syntax

```pawn
native ns_set_ps_spriteframes(RawPS:system, spriteframes);
```

##### Description

This function has no description.

#### ns_set_ps_sys_life

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_sys_life
- Line: 746

##### Syntax

```pawn
native ns_set_ps_sys_life(RawPS:system, Float:lifetime);
```

##### Description

This function has no description.

#### ns_set_ps_to_gen

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_to_gen
- Line: 749

##### Syntax

```pawn
native ns_set_ps_to_gen(RawPS:system, const name[]);
```

##### Description

This function has no description.

#### ns_set_ps_vel_params

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_vel_params
- Line: 744

##### Syntax

```pawn
native ns_set_ps_vel_params(RawPS:system, const params[]);
```

##### Description

This function has no description.

#### ns_set_ps_vel_shape

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_ps_vel_shape
- Line: 745

##### Syntax

```pawn
native ns_set_ps_vel_shape(RawPS:system, NSPS_VelShape:shape);
```

##### Description

This function has no description.

#### ns_set_res

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_res
- Line: 258

##### Syntax

```pawn
native ns_set_res(id, Float:res);
```

##### Description

Sets a player's resources.

##### Parameters

- `id`: The id of the player to set.
- `res`: Amount of resources to set on this player.

##### Note

This is only for alien players.

##### Return

This function has no return value.

#### ns_set_score

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_score
- Line: 456

##### Syntax

```pawn
native ns_set_score(idPlayer, score);
```

##### Description

Sets the player's score.

##### Parameters

- `idPlayer`: The player to get the score for.
- `score`: What to set the player's score as.

##### Note

The score from level is automatically factored into the scoreboard in combat.

##### Return

This function has no return value.

#### ns_set_speedchange

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_speedchange
- Line: 129

##### Syntax

```pawn
native ns_set_speedchange(id, speedchange=0);
```

##### Description

Set this to modify the player's speed by a certain amount.

##### Parameters

- `id`: The player id to change.
- `speedchange`: The speed to modify the player speed by.  Set to 0 to revert to default speed.

##### Note

The speed does not revert on death, teamswitch, gestation, etc.

##### Return

This function has no return value.

#### ns_set_struct_owner

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_struct_owner
- Line: 478

##### Syntax

```pawn
native ns_set_struct_owner(idStructure,indexOwner);
```

##### Description

Sets the index of the owner of a structure. -1 for no owner.

#### ns_set_teamres

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_teamres
- Line: 289

##### Syntax

```pawn
native ns_set_teamres(Team, Float:value);
```

##### Description

Sets the team's resources in the resource pool.

##### Parameters

- `Team`: 1 for teama, 2 for teamb. (eg: in MvA maps, 1 is marines,
2 is aliens.  In mvm, 1 is marine1, 2 is marine2)
- `value`: The amount to set the resources to set to.

##### Note

If this is used on an alien team, the resources will be
distributed between all of the players who need resources.

##### Return

This function has no return value.

#### ns_set_weap_clip

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_weap_clip
- Line: 414

##### Syntax

```pawn
native ns_set_weap_clip(idWeapon, clipsize);
```

##### Description

Sets the weapon's ammo in the clip.

##### Parameters

- `idWeapon`: The weapon to set the clip ammo on.
- `clipsize`: The amount of ammunition to set in the weapon's clip.

##### Note

Use weapon index, not player index!

##### Return

This function has no return value.

#### ns_set_weap_dmg

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_weap_dmg
- Line: 376

##### Syntax

```pawn
native ns_set_weap_dmg(idWeapon, Float:damage);
```

##### Description

Sets the damage for this weapon.

##### Parameters

- `idWeapon`: The entity index of the weapon to set.
- `damage`: The damage to make this weapon cause.

##### Note

Use weapon index, not player index!

##### Return

This function has no return value.

#### ns_set_weap_range

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_weap_range
- Line: 395

##### Syntax

```pawn
native ns_set_weap_range(idWeapon, Float:range);
```

##### Description

Sets the maximum range for this weapon.

##### Parameters

- `idWeapon`: The entity index of the weapon to set.
- `range`: The maximum range this weapon will have.

##### Note

Use weapon index, not player index!

##### Return

This function has no return value.

#### ns_set_weap_reserve

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_weap_reserve
- Line: 437

##### Syntax

```pawn
native ns_set_weap_reserve(id,weapon,ammo);
```

##### Description

Sets the player's weapon reserve (backpack ammo) for the specified
type of weapon.

##### Parameters

- `id`: The player id to set ammo count on.
- `weapon`: The weapon type to set ammo count for.
- `ammo`: The ammunition count to set.

##### Note

Use player index, not weapon index!

##### Return

This function has no return value.

#### ns_set_weld_done

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_weld_done
- Line: 655

##### Syntax

```pawn
native ns_set_weld_done(idWeldable,Float:value);
```

##### Description

Sets the total time this func_weldable
has been welded.

#### ns_set_weld_time

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_set_weld_time
- Line: 639

##### Syntax

```pawn
native ns_set_weld_time(idWeldable,Float:value);
```

##### Description

Sets the total time needed to weld this
func_weldable shut.

#### ns_spawn_ps

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_spawn_ps
- Line: 721

##### Syntax

```pawn
native Particle:ns_spawn_ps(RawPS:system);
```

##### Description

Finalizes the particle system.  Do not configure it after this.
A usable particle system handle is returned.

#### ns_takedamage

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_takedamage
- Line: 541

##### Syntax

```pawn
native ns_takedamage(IDVictim, IDInflictor, IDAttacker, Float:Damage, DamageType);
```

##### Description

This function has no description.

#### ns_unstick_player

- Include: `ns.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/ns/function/ns_unstick_player
- Line: 554

##### Syntax

```pawn
native ns_unstick_player(id, StartDistance=32, MaxAttempts=128);
```

##### Description

Attempts to unstick a player.

##### Parameters

- `id`: Player to unstick.
- `StartDistance`: Distance to start from the player to check for a new location.
- `MaxAttempts`: How many attempts to try to find a new spot before giving up.

##### Return

1 on success, 0 on cannot find a place to move player to,
-1 on invalid state (stunned/webbed), -2 on invalid class (comm/egg)
-3 if the player is dead or a spectator, -4 on invalid player,
-5 if the player is not connected.

## ns_const.inc

- HTML: https://amxx-api.csrevo.com/ns_const
- Group: Base includes
- Functions: 0
- Documented constants: 10

### Constants

#### NS_CONST_INC

NS_CONST_INC

```pawn
#define NS_CONST_INC
```

#### NSGameplay

NSGameplay

```pawn
enum NSGameplay
{
	NSGame_CantTell,		/**< It is too soon to tell (can't find avhgameplay
								 entity or it doesn't have private data) */

	NSGame_MarineVAlien,	/**< Marine vs Aliens (standard) gameplay */
	NSGame_MarineVMarine,	/**< Marine vs Marine */
	NSGame_AlienVAlien,		/**< Alien  vs Alien  */

	NSGame_Unknown,			/**< Can find the gameplay entity, but can't
								 determine gameplay type. */
};
```

#### entity pev->iuser4 fields

entity pev->iuser4 fields

```pawn
enum {
	MASK_NONE = 0,
	MASK_SIGHTED = 1,
	MASK_DETECTED = 2,
	MASK_BUILDABLE = 4,
	MASK_BASEBUILD0 = 8,		// Base build slot #0
	MASK_WEAPONS1 = 8,		// Marine weapons 1
	MASK_CARAPACE = 8,		// Alien carapace
	MASK_WEAPONS2 = 16,		// Marines weapons 2
	MASK_REGENERATION = 16,		// Alien regeneration
	MASK_BASEBUILD1 = 16,		// Base build slot #1
	MASK_WEAPONS3 = 32,		// Marine weapons 3
	MASK_REDEMPTION = 32,		// Alien redemption
	MASK_BASEBUILD2 = 32,		// Base build slot #2
	MASK_ARMOR1 = 64,		// Marine armor 1
	MASK_CELERITY = 64,		// Alien celerity
	MASK_BASEBUILD3 = 64,		// Base build slot #3
	MASK_ARMOR2 = 128,		// Marine armor 2
	MASK_ADRENALINE = 128,		// Alien adrenaline
	MASK_BASEBUILD4 = 128,		// Base build slot #4
	MASK_ARMOR3 = 256,		// Marine armor 3
	MASK_SILENCE = 256,		// Alien silence
	MASK_BASEBUILD5 = 256,		// Base build slot #5
	MASK_JETPACK = 512,		// Marine jetpacks
	MASK_CLOAKING = 512,		// Alien cloaking
	MASK_BASEBUILD6 = 512,		// Base build slot #6
	MASK_FOCUS = 1024,		// Alien focus
	MASK_MOTION = 1024,		// Marine motion tracking
	MASK_BASEBUILD7 = 1024,		// Base build slot #7
	MASK_SCENTOFFEAR = 2048,	// Alien scent of fear
	MASK_DEFENSE2 = 4096,		// Defense level 2
	MASK_DEFENSE3 = 8192,		// Defense level 3
	MASK_ELECTRICITY = 8192,	// Electricy
	MASK_MOVEMENT2 = 16384,		// Movement level 2,
	MASK_MOVEMENT3 = 32768,		// Movement level 3
	MASK_HEAVYARMOR = 32768,	// Marine heavy armor
	MASK_SENSORY2 = 65536,		// Sensory level 2
	MASK_SENSORY3 = 131072,		// Sensory level 3
	MASK_ALIEN_MOVEMENT = 262144,	// Onos is charging
	MASK_WALLSTICKING = 524288,	// Flag for wall-sticking
	MASK_PRIMALSCREAM = 1048576,	// Alien is in range of active primal scream
	MASK_UMBRA = 2097152,		// In umbra
	MASK_DIGESTING = 4194304,	// When set on a visible player, player is digesting.  When set on invisible player, player is being digested
	MASK_RECYCLING = 8388608,	// Building is recycling
	MASK_TOPDOWN = 16777216,	// Commander view
	MASK_PLAYER_STUNNED = 33554432,	// Player has been stunned by stomp
	MASK_ENSNARED = 67108864,   	// Webbed
	MASK_ALIEN_EMBRYO = 134217728,  // Gestating
	MASK_SELECTABLE = 268435456,	// ???
	MASK_PARASITED = 536870912,	// Parasite flag
	MASK_SENSORY_NEARBY = 1073741824 // Sensory chamber in range
};
```

#### Enum starting with CLASS_UNKNOWN

Enum starting with CLASS_UNKNOWN

```pawn
enum {
	CLASS_UNKNOWN = 0,
	CLASS_SKULK,
	CLASS_GORGE,
	CLASS_LERK,
	CLASS_FADE,
	CLASS_ONOS,
	CLASS_MARINE,
	CLASS_JETPACK,
	CLASS_HEAVY,
	CLASS_COMMANDER,
	CLASS_GESTATE,
	CLASS_DEAD,
	CLASS_NOTEAM
};
```

#### Enum starting with WEAPON_NONE

Enum starting with WEAPON_NONE

```pawn
enum {
	WEAPON_NONE = 0,
	WEAPON_CLAWS,
	WEAPON_SPIT,
	WEAPON_SPORES,
	WEAPON_SPIKE,
	WEAPON_BITE,
	WEAPON_BITE2,
	WEAPON_SWIPE,
	WEAPON_WEBSPINNER,
	WEAPON_METABOLIZE,
	WEAPON_PARASITE,
	WEAPON_BLINK,
	WEAPON_DIVINEWIND,
	WEAPON_KNIFE,
	WEAPON_PISTOL,
	WEAPON_LMG,
	WEAPON_SHOTGUN,
	WEAPON_HMG,
	WEAPON_WELDER,
	WEAPON_MINE,
	WEAPON_GRENADE_GUN,
	WEAPON_LEAP,
	WEAPON_CHARGE,
	WEAPON_UMBRA,
	WEAPON_PRIMALSCREAM,
	WEAPON_BILEBOMB,
	WEAPON_ACIDROCKET,
	WEAPON_HEALINGSPRAY,
	WEAPON_GRENADE,
	WEAPON_STOMP,
	WEAPON_DEVOUR,
	WEAPON_MAX
};
```

#### Enum starting with HIVETRAIT_NONE

Enum starting with HIVETRAIT_NONE

```pawn
enum {
	HIVETRAIT_NONE	= 0,
	HIVETRAIT_DC	= 92,
	HIVETRAIT_SC	= 93,
	HIVETRAIT_MC	= 94
};
```

#### NSPS_VelShape

NSPS_VelShape

```pawn
enum NSPS_VelShape
{
	NSPS_VS_POINT = 1,
	NSPS_VS_BOX,
	NSPS_VS_SPHERE,
	NSPS_VS_BLOB
};
```

#### NSPS_GenShape

Genshape used in ns_set_ps_genshape
NOTE: The following are in the ns.ps file but
      are not listed in the .fgd file.  Use
      at your own risk!
      Line, Triangle, Plane, Cylinder,
      Cone, Disc, Rectangle and None

```pawn
enum NSPS_GenShape
{
	NSPS_GS_POINT = 0,
	NSPS_GS_LINE,
	NSPS_GS_TRIANGLE,
	NSPS_GS_PLANE,
	NSPS_GS_BOX,
	NSPS_GS_CYLINDER,
	NSPS_GS_CONE,
	NSPS_GS_BLOB,
	NSPS_GS_DISC,
	NSPS_GS_RECTANGLE,
	NSPS_GS_NONE
};
```

#### NSPS_RenderMode

NSPS_RenderMode

```pawn
enum NSPS_RenderMode
{
	NSPS_R_NORMAL = 0,
	NSPS_R_TRANSCOLOR,
	NSPS_R_TRANSTEXTURE,
	NSPS_R_GLOW,
	NSPS_R_TRANSALPHA,
	NSPS_R_ADDITIVE
};
```

#### NSPS_Flags

NSPS_Flags

```pawn
enum NSPS_Flags
{
	NSPS_FL_START_ON = 1,
	NSPS_FL_PARTICLE_DENSITY = 2,
	NSPS_FL_FADE_IN = 4,
	NSPS_FL_FADE_OUT = 8,
	NSPS_FL_USE_GRAVITY = 16,
	NSPS_FL_USE_TRI = 32,
	NSPS_FL_CONSTRAIN_PITCH = 128,
	NSPS_FL_COLLIDE = 256,
	NSPS_FL_HI_DETAIL = 512,
	NSPS_FL_FACE_UP = 1024
};
```

## nvault.inc

- HTML: https://amxx-api.csrevo.com/nvault
- Group: Base includes
- Functions: 9
- Documented constants: 1

### Constants

#### Untitled constant

Untitled constant

##### Global

All timestamps are in UNIX epoch form.

### Functions

#### nvault_close

- Include: `nvault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/nvault/function/nvault_close
- Line: 128

##### Syntax

```pawn
native nvault_close(vault);
```

##### Description

Closes a vault.

##### Parameters

- `vault`: A vault handle returned from nvault_open()

##### Return

This function has no return value.

##### Error

On invalid vault handle.

#### nvault_get

- Include: `nvault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/nvault/function/nvault_get
- Line: 59

##### Syntax

```pawn
native nvault_get(vault, const key[], any:...);
```

##### Description

Retrieves a value from the given key.

##### Parameters

- `vault`: A vault handle returned from nvault_open()
- `key`: A key to get the value from
- `...`: If three argument are given, gets a float value and
puts it in the third argument by reference.
If four arguments are given, gets a string from the
vault and copies it to the third argument, up to
4th argument characters.

##### Note

An example of retrieving a string:
nvault_get(vaultHandle, "myKey", myString, charsmax(myString));

##### Return

Result as integer if only the first two arguments
of the function are used.
1 if only the first three arguments are used.
String length if all four parameters are used.

##### Error

On invalid vault handle.

#### nvault_lookup

- Include: `nvault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/nvault/function/nvault_lookup
- Line: 73

##### Syntax

```pawn
native nvault_lookup(vault, const key[], value[], maxlen, &timestamp);
```

##### Description

Retrieves full information about a vault entry.

##### Parameters

- `vault`: A vault handle returned from nvault_open()
- `key`: A key to get information from
- `value`: A string where the value should be stored
- `maxlen`: Maximum length of the @value string
- `timestamp`: The timestamp of the entry

##### Return

1 if an entry was found, 0 otherwise.

##### Error

On invalid vault handle.

#### nvault_open

- Include: `nvault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/nvault/function/nvault_open
- Line: 37

##### Syntax

```pawn
native nvault_open(const name[]);
```

##### Description

Opens a vault by name. Creates a vault if it doesn't exist yet.

##### Parameters

- `name`: Name of the vault. The vault will be created in
${amxx_datadir}/vault directory.

##### Return

The vault handle to be used in other natives.
INVALID_HANDLE (-1) if not successfully opened.

#### nvault_prune

- Include: `nvault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/nvault/function/nvault_prune
- Line: 118

##### Syntax

```pawn
native nvault_prune(vault, start, end);
```

##### Description

Prunes the vault for entries that are within the given timestamps.

##### Parameters

- `vault`: A vault handle returned from nvault_open()
- `start`: The timestamp to start erasing from
- `end`: The timestamp to erase to

##### Note

This will not erase values set with nvault_pset().

##### Note

An example of pruning all entries that are older than 24 hours:
nvault_prune(vaultHandle, 0, get_systime() - (60 * 60 * 24));

##### Return

Number of erased values.

##### Error

On invalid vault handle.

#### nvault_pset

- Include: `nvault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/nvault/function/nvault_pset
- Line: 102

##### Syntax

```pawn
native nvault_pset(vault, const key[], const value[]);
```

##### Description

Sets value of a vault entry and makes it permanent (non-erasable with nvault_prune()).

##### Parameters

- `vault`: A vault handle returned from nvault_open()
- `key`: A key to set the permanent value for
- `value`: A permanent value to set

##### Note

A new entry is created if one with the given key doesn't exist.

##### Note

Permanent entries have no timestamp.

##### Return

This function has no return value.

##### Error

On invalid vault handle.

#### nvault_remove

- Include: `nvault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/nvault/function/nvault_remove
- Line: 139

##### Syntax

```pawn
native nvault_remove(vault, const key[]);
```

##### Description

Removes an entry from the vault by its key.

##### Parameters

- `vault`: A vault handle returned from nvault_open()
- `key`: The key to remove from the vault

##### Return

This function has no return value.

##### Error

On invalid vault handle.

#### nvault_set

- Include: `nvault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/nvault/function/nvault_set
- Line: 87

##### Syntax

```pawn
native nvault_set(vault, const key[], const value[]);
```

##### Description

Sets value of a vault entry and updates the timestamp.

##### Parameters

- `vault`: A vault handle returned from nvault_open()
- `key`: A key to set the value for
- `value`: A value to set

##### Note

A new entry is created if one with the given key doesn't exist.

##### Return

This function has no return value.

##### Error

On invalid vault handle.

#### nvault_touch

- Include: `nvault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/nvault/function/nvault_touch
- Line: 154

##### Syntax

```pawn
native nvault_touch(vault, const key[], timestamp=-1);
```

##### Description

"Touches" an entry in the vault, updating its timestamp.

##### Parameters

- `vault`: A vault handle returned from nvault_open()
- `key`: The key to search for
- `timestamp`: Update an entry's timestamp to this one. Default is -1.

##### Note

If timestamp is equal to -1, it will use the current time.

##### Note

An empty entry is created if one with the given key doesn't exist.

##### Return

This function has no return value.

##### Error

On invalid vault handle.

## reapi 5.26.0.338 / cssdk_const.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/cssdk_const
- Group: reapi 5.26.0.338
- Functions: 0
- Documented constants: 118

### Constants

#### BIT

Basic constants

```pawn
#define BIT(%0)                         (1<<(%0))

#define NULLENT                         -1

#define MAX_WEAPONS                     32
#define MAX_CLIENTS                     32                  // Max # of clients allowed in a server.
#define MAX_ITEM_TYPES                  6                   // hud item selection slots

#define MAX_EDICT_BITS                  11                  // How many bits to use to encode an edict. # of bits needed to represent max edicts
#define MAX_EDICTS                      (1<<MAX_EDICT_BITS) // Max # of edicts in a level (2048)
```

#### IN_ATTACK

get_entvar(entity, var_button) or get_entvar(entity, var_oldbuttons) values

```pawn
#define IN_ATTACK                       (1<<0)
#define IN_JUMP                         (1<<1)
#define IN_DUCK                         (1<<2)
#define IN_FORWARD                      (1<<3)
#define IN_BACK                         (1<<4)
#define IN_USE                          (1<<5)
#define IN_CANCEL                       (1<<6)
#define IN_LEFT                         (1<<7)
#define IN_RIGHT                        (1<<8)
#define IN_MOVELEFT                     (1<<9)
#define IN_MOVERIGHT                    (1<<10)
#define IN_ATTACK2                      (1<<11)
#define IN_RUN                          (1<<12)
#define IN_RELOAD                       (1<<13)
#define IN_ALT1                         (1<<14)
#define IN_SCORE                        (1<<15) // Used by client.dll for when scoreboard is held down
```

#### FL_FLY

get_entvar(entity, var_flags) values

```pawn
#define FL_FLY                          (1<<0)  // Changes the SV_Movestep() behavior to not need to be on ground
#define FL_SWIM                         (1<<1)  // Changes the SV_Movestep() behavior to not need to be on ground (but stay in water)
#define FL_CONVEYOR                     (1<<2)
#define FL_CLIENT                       (1<<3)
#define FL_INWATER                      (1<<4)
#define FL_MONSTER                      (1<<5)
#define FL_GODMODE                      (1<<6)
#define FL_NOTARGET                     (1<<7)
#define FL_SKIPLOCALHOST                (1<<8)  // Don't send entity to local host, it's predicting this entity itself
#define FL_ONGROUND                     (1<<9)  // At rest / on the ground
#define FL_PARTIALGROUND                (1<<10) // Not all corners are valid
#define FL_WATERJUMP                    (1<<11) // Player jumping out of water
#define FL_FROZEN                       (1<<12) // Player is frozen for 3rd person camera
#define FL_FAKECLIENT                   (1<<13) // JAC: fake client, simulated server side; don't send network messages to them
#define FL_DUCKING                      (1<<14) // Player flag -- Player is fully crouched
#define FL_FLOAT                        (1<<15) // Apply floating force to this entity when in water
#define FL_GRAPHED                      (1<<16) // Worldgraph has this ent listed as something that blocks a connection
#define FL_IMMUNE_WATER                 (1<<17)
#define FL_IMMUNE_SLIME                 (1<<18)
#define FL_IMMUNE_LAVA                  (1<<19)
#define FL_PROXY                        (1<<20) // This is a spectator proxy
#define FL_ALWAYSTHINK                  (1<<21) // Brush model flag -- call think every frame regardless of nextthink - ltime (for constantly changing velocity/path)
#define FL_BASEVELOCITY                 (1<<22) // Base velocity has been applied this frame (used to convert base velocity into momentum)
#define FL_MONSTERCLIP                  (1<<23) // Only collide in with monsters who have FL_MONSTERCLIP set
#define FL_ONTRAIN                      (1<<24) // Player is _controlling_ a train, so movement commands should be ignored on client during prediction.
#define FL_WORLDBRUSH                   (1<<25) // Not moveable/removeable brush entity (really part of the world, but represented as an entity for transparency or something)
#define FL_SPECTATOR                    (1<<26) // This client is a spectator, don't run touch functions, etc.
#define FL_CUSTOMENTITY                 (1<<29) // This is a custom entity
#define FL_KILLME                       (1<<30) // This entity is marked for death -- This allows the engine to kill ents at the appropriate time
#define FL_DORMANT                      (1<<31) // Entity is dormant, no updates to client
```

#### FTRACE_BULLET

global_get(glb_trace_flags) values

```pawn
#define FTRACE_BULLET                   (1<<16)
#define FTRACE_FLASH                    (1<<17)
#define FTRACE_KNIFE                    (1<<18)
```

##### Note

Custom flags that we can retrieve in pfnShouldCollide/TraceLine/TraceHull

#### MOVETYPE_NONE

get_entvar(entity, var_movetype) values

```pawn
#define MOVETYPE_NONE                   0  // Never moves
#define MOVETYPE_WALK                   3  // Player only - moving on the ground
#define MOVETYPE_STEP                   4  // Gravity, special edge handling -- monsters use this
#define MOVETYPE_FLY                    5  // No gravity, but still collides with stuff
#define MOVETYPE_TOSS                   6  // Gravity/Collisions
#define MOVETYPE_PUSH                   7  // No clip to world, push and crush
#define MOVETYPE_NOCLIP                 8  // No gravity, no collisions, still do velocity/avelocity
#define MOVETYPE_FLYMISSILE             9  // Extra size to monsters
#define MOVETYPE_BOUNCE                 10 // Just like Toss, but reflect velocity when contacting surfaces
#define MOVETYPE_BOUNCEMISSILE          11 // Bounce w/o gravity
#define MOVETYPE_FOLLOW                 12 // Track movement of aiment
#define MOVETYPE_PUSHSTEP               13 // BSP model that needs physics/world collisions (uses nearest hull for world collision)
```

#### SOLID_NOT

get_entvar(entity, var_solid) values

```pawn
#define SOLID_NOT                       0 // No interaction with other objects
#define SOLID_TRIGGER                   1 // Touch on edge, but not blocking
#define SOLID_BBOX                      2 // Touch on edge, block
#define SOLID_SLIDEBOX                  3 // Touch on edge, but not an onground
#define SOLID_BSP                       4 // BSP clip, touch on edge, block
```

##### Note

Some movetypes will cause collisions independent of SOLID_NOT and
SOLID_TRIGGER when the entity moves. SOLID only effects OTHER entities
colliding with this one when they move - UGH!

#### DEAD_NO

get_entvar(entity, var_deadflag) values

```pawn
#define DEAD_NO                         0 // Alive
#define DEAD_DYING                      1 // Playing death animation or still falling off of a ledge waiting to hit ground
#define DEAD_DEAD                       2 // Dead, lying still
#define DEAD_RESPAWNABLE                3
#define DEAD_DISCARDBODY                4
```

#### DAMAGE_NO

new Float:takedamage;
get_entvar(entity, var_takedamage, takedamage) values
or
new Float:takedamage = Float:get_entvar(entity, var_takedamage) values

```pawn
#define DAMAGE_NO                       0.0
#define DAMAGE_YES                      1.0
#define DAMAGE_AIM                      2.0
```

#### EF_BRIGHTFIELD

get_entvar(entity, var_effects) values

```pawn
#define EF_BRIGHTFIELD                  1    // Swirling cloud of particles
#define EF_MUZZLEFLASH                  2    // Single frame ELIGHT on entity attachment 0
#define EF_BRIGHTLIGHT                  4    // DLIGHT centered at entity origin
#define EF_DIMLIGHT                     8    // Player flashlight
#define EF_INVLIGHT                     16   // Get lighting from ceiling
#define EF_NOINTERP                     32   // Don't interpolate the next frame
#define EF_LIGHT                        64   // Rocket flare glow sprite
#define EF_NODRAW                       128  // Don't draw entity
#define EF_FORCEVISIBILITY              2048 // force visibility
#define EF_OWNER_VISIBILITY             4096 // visibility for owner
#define EF_OWNER_NO_VISIBILITY          8192 // no visibility for owner
#define EF_NOSLERP                      16384 // no slerp flag for this entity (addtofullpack)
#define EF_FOLLOWKEEPRENDER             32768 // the entity following will not copy the render (like it follows nothing)
```

#### BREAK_TYPEMASK

Break Model Defines

```pawn
#define BREAK_TYPEMASK                  0x4F
#define BREAK_GLASS                     0x01
#define BREAK_METAL                     0x02
#define BREAK_FLESH                     0x04
#define BREAK_WOOD                      0x08

#define BREAK_SMOKE                     0x10
#define BREAK_TRANS                     0x20
#define BREAK_CONCRETE                  0x40
#define BREAK_2                         0x80
```

#### BOUNCE_GLASS

Colliding temp entity sounds

```pawn
#define BOUNCE_GLASS                    BREAK_GLASS
#define BOUNCE_METAL                    BREAK_METAL
#define BOUNCE_FLESH                    BREAK_FLESH
#define BOUNCE_WOOD                     BREAK_WOOD
#define BOUNCE_SHRAP                    0x10
#define BOUNCE_SHELL                    0x20
#define BOUNCE_CONCRETE                 BREAK_CONCRETE
#define BOUNCE_SHOTSHELL                0x80
```

#### TE_BOUNCE_NULL

Temp entity bounce sound types

```pawn
#define TE_BOUNCE_NULL                  0
#define TE_BOUNCE_SHELL                 1
#define TE_BOUNCE_SHOTSHELL             2
```

#### OBS_NONE

Spectating camera mode constants

```pawn
#define OBS_NONE                        0
#define OBS_CHASE_LOCKED                1 // Locked Chase Cam
#define OBS_CHASE_FREE                  2 // Free Chase Cam
#define OBS_ROAMING                     3 // Free Look
#define OBS_IN_EYE                      4 // First Person
#define OBS_MAP_FREE                    5 // Free Overview
#define OBS_MAP_CHASE                   6 // Chase Overview
```

##### Note

These constants are linked to different camera modes available when you
are spectating (either dead or when in spectator team). Usually this is
stored in the var_iuser1 field in Counter-Strike game.

#### PLAYER_CAN_SHOOT

Custom constants iuser3

```pawn
#define PLAYER_CAN_SHOOT                (1<<0)
#define PLAYER_FREEZE_TIME_OVER         (1<<1)
#define PLAYER_IN_BOMB_ZONE             (1<<2)
#define PLAYER_HOLDING_SHIELD           (1<<3)
#define PLAYER_PREVENT_DUCK             (1<<4)
#define PLAYER_PREVENT_CLIMB            (1<<5) // The player can't climb ladder
#define PLAYER_PREVENT_JUMP             (1<<6)
```

#### DMG_GENERIC

Instant damage values for use with the 3rd parameter of the "Damage" client
message.

```pawn
#define DMG_GENERIC                     0           // Generic damage was done
#define DMG_CRUSH                       (1<<0)      // Crushed by falling or moving object
#define DMG_BULLET                      (1<<1)      // Shot
#define DMG_SLASH                       (1<<2)      // Cut, clawed, stabbed
#define DMG_BURN                        (1<<3)      // Heat burned
#define DMG_FREEZE                      (1<<4)      // Frozen
#define DMG_FALL                        (1<<5)      // Fell too far
#define DMG_BLAST                       (1<<6)      // Explosive blast damage
#define DMG_CLUB                        (1<<7)      // Crowbar, punch, headbutt
#define DMG_SHOCK                       (1<<8)      // Electric shock
#define DMG_SONIC                       (1<<9)      // Sound pulse shockwave
#define DMG_ENERGYBEAM                  (1<<10)     // Laser or other high energy beam
#define DMG_NEVERGIB                    (1<<12)     // With this bit OR'd in, no damage type will be able to gib victims upon death
#define DMG_ALWAYSGIB                   (1<<13)     // With this bit OR'd in, any damage type can be made to gib victims upon death.
#define DMG_DROWN                       (1<<14)     // Drowning
#define DMG_PARALYZE                    (1<<15)     // Slows affected creature down
#define DMG_NERVEGAS                    (1<<16)     // Nerve toxins, very bad
#define DMG_POISON                      (1<<17)     // Blood poisioning
#define DMG_RADIATION                   (1<<18)     // Radiation exposure
#define DMG_DROWNRECOVER                (1<<19)     // Drowning recovery
#define DMG_ACID                        (1<<20)     // Toxic chemicals or acid burns
#define DMG_SLOWBURN                    (1<<21)     // In an oven
#define DMG_SLOWFREEZE                  (1<<22)     // In a subzero freezer
#define DMG_MORTAR                      (1<<23)     // Hit by air raid (done to distinguish grenade from mortar)
#define DMG_GRENADE                     (1<<24)     // Counter-Strike only - Hit by HE grenade
#define DMG_TIMEBASED                   (~(0x3fff)) // Mask for time-based damage

// These are the damage types that are allowed to gib corpses
#define DMG_GIB_CORPSE                  (DMG_CRUSH | DMG_FALL | DMG_BLAST | DMG_SONIC | DMG_CLUB)

// These are the damage types that have client hud art
#define DMG_SHOWNHUD                    (DMG_POISON | DMG_ACID | DMG_FREEZE | DMG_SLOWFREEZE | DMG_DROWN | DMG_BURN | DMG_SLOWBURN | DMG_NERVEGAS | DMG_RADIATION | DMG_SHOCK)
```

#### GIB_NORMAL

When calling KILLED(), a value that governs gib behavior is expected to be
one of these three values

```pawn
#define GIB_NORMAL                      0 // Gib if entity was overkilled
#define GIB_NEVER                       1 // Never gib, no matter how much death damage is done ( freezing, etc )
#define GIB_ALWAYS                      2 // Always gib ( Houndeye Shock, Barnacle Bite )
```

#### PFLAG_ONLADDER

Player physics flags bits
CBasePlayer::m_afPhysicsFlags

```pawn
#define PFLAG_ONLADDER                  (1<<0)
#define PFLAG_ONSWING                   (1<<0)
#define PFLAG_ONTRAIN                   (1<<1)
#define PFLAG_ONBARNACLE                (1<<2)
#define PFLAG_DUCKING                   (1<<3) // In the process of ducking, but totally squatted yet
#define PFLAG_USING                     (1<<4) // Using a continuous entity
#define PFLAG_OBSERVER                  (1<<5) // Player is locked in stationary cam mode. Spectators can move, observers can't.
```

#### HIDEHUD_WEAPONS

Player HUD
CBasePlayer::m_iHideHUD

```pawn
#define HIDEHUD_WEAPONS                 (1<<0)
#define HIDEHUD_FLASHLIGHT              (1<<1)
#define HIDEHUD_ALL                     (1<<2)
#define HIDEHUD_HEALTH                  (1<<3)
#define HIDEHUD_TIMER                   (1<<4)
#define HIDEHUD_MONEY                   (1<<5)
#define HIDEHUD_CROSSHAIR               (1<<6)
#define HIDEHUD_OBSERVER_CROSSHAIR      (1<<7)
```

#### ITEM_FLAG_SELECTONEMPTY

Item's flags

```pawn
#define ITEM_FLAG_SELECTONEMPTY         (1<<0)
#define ITEM_FLAG_NOAUTORELOAD          (1<<1)
#define ITEM_FLAG_NOAUTOSWITCHEMPTY     (1<<2)
#define ITEM_FLAG_LIMITINWORLD          (1<<3)
#define ITEM_FLAG_EXHAUSTIBLE           (1<<4)
#define ITEM_FLAG_NOFIREUNDERWATER      (1<<5)
```

#### get_entvar(entity, var_spawnflags) values

get_entvar(entity, var_spawnflags) values

#### SF_TRAIN_WAIT_RETRIGGER

func_train

```pawn
#define SF_TRAIN_WAIT_RETRIGGER         1
#define SF_TRAIN_START_ON               4 // Train is initially moving
#define SF_TRAIN_PASSABLE               8 // Train is not solid -- used to make water trains
```

#### SF_WALL_TOOGLE_START_OFF

func_wall_toggle

```pawn
#define SF_WALL_TOOGLE_START_OFF        0x0001
#define SF_WALL_TOOGLE_NOTSOLID         0x0008
```

#### SF_CONVEYOR_VISUAL

func_conveyor

```pawn
#define SF_CONVEYOR_VISUAL              0x0001
#define SF_CONVEYOR_NOTSOLID            0x0002
```

#### SF_BUTTON_DONTMOVE

func_button

```pawn
#define SF_BUTTON_DONTMOVE              1
#define SF_BUTTON_TOGGLE                32  // Button stays pushed until reactivated
#define SF_BUTTON_SPARK_IF_OFF          64  // Button sparks in OFF state
#define SF_BUTTON_TOUCH_ONLY            256 // Button only fires as a result of USE key.
```

#### SF_ROTBUTTON_NOTSOLID

func_rot_button

```pawn
#define SF_ROTBUTTON_NOTSOLID           1
#define SF_ROTBUTTON_BACKWARDS          2
```

#### SF_GLOBAL_SET

env_global

```pawn
#define SF_GLOBAL_SET                   1  // Set global state to initial state on spawn
```

#### MAX_MS_TARGETS

multisource

```pawn
#define MAX_MS_TARGETS                  32 // maximum number of targets a single multisource entity may be assigned.
#define SF_MULTI_INIT                   1
```

#### SF_MOMENTARY_DOOR

momentary_rot_button

```pawn
#define SF_MOMENTARY_DOOR               0x0001 // Make this button behave like a door (HACKHACK)
                                               // This will disable use and make the button solid
                                               // rotating buttons were made SOLID_NOT by default since their were some
                                               // collision problems with them...
```

#### SF_BTARGET_USE

button_target

```pawn
#define SF_BTARGET_USE                  0x0001
#define SF_BTARGET_ON                   0x0002
```

#### SF_DOOR_START_OPEN

func_door, func_water, func_door_rotating, momementary_door

```pawn
#define SF_DOOR_START_OPEN              1
#define SF_DOOR_PASSABLE                8
#define SF_DOOR_NO_AUTO_RETURN          32
#define SF_DOOR_USE_ONLY                256        // door must be opened by player's use button.
#define SF_DOOR_TOUCH_ONLY_CLIENTS      1024       // Only clients can touch
#define SF_DOOR_ACTUALLY_WATER          0x80000000 // This bit marks that func_door are actually func_water
```

#### SF_GIBSHOOTER_REPEATABLE

gibshooter

```pawn
#define SF_GIBSHOOTER_REPEATABLE        1 // Allows a gibshooter to be refired
```

#### SF_FUNNEL_REVERSE

env_funnel

```pawn
#define SF_FUNNEL_REVERSE               1 // Funnel effect repels particles instead of attracting them
```

#### SF_BUBBLES_STARTOFF

env_bubbles

```pawn
#define SF_BUBBLES_STARTOFF             0x0001
```

#### SF_BLOOD_RANDOM

env_blood

```pawn
#define SF_BLOOD_RANDOM                 0x0001
#define SF_BLOOD_STREAM                 0x0002
#define SF_BLOOD_PLAYER                 0x0004
#define SF_BLOOD_DECAL                  0x0008
```

#### SF_SHAKE_EVERYONE

env_shake

```pawn
#define SF_SHAKE_EVERYONE               0x0001 // Don't check radius
#define SF_SHAKE_DISRUPT                0x0002 // Disrupt controls
#define SF_SHAKE_INAIR                  0x0004 // Shake players in air
```

#### SF_FADE_IN

env_fade

```pawn
#define SF_FADE_IN                      0x0001 // Fade in, not out
#define SF_FADE_MODULATE                0x0002 // Modulate, don't blend
#define SF_FADE_ONLYONE                 0x0004
```

#### SF_BEAM_STARTON

env_beam, env_lightning

```pawn
#define SF_BEAM_STARTON                 0x0001
#define SF_BEAM_TOGGLE                  0x0002
#define SF_BEAM_RANDOM                  0x0004
#define SF_BEAM_RING                    0x0008
#define SF_BEAM_SPARKSTART              0x0010
#define SF_BEAM_SPARKEND                0x0020
#define SF_BEAM_DECALS                  0x0040
#define SF_BEAM_SHADEIN                 0x0080
#define SF_BEAM_SHADEOUT                0x0100
#define SF_BEAM_TEMPORARY               0x8000
```

#### SF_SPRITE_STARTON

env_sprite

```pawn
#define SF_SPRITE_STARTON               0x0001
#define SF_SPRITE_ONCE                  0x0002
#define SF_SPRITE_TEMPORARY             0x8000
```

#### SF_MESSAGE_ONCE

env_message

```pawn
#define SF_MESSAGE_ONCE                 0x0001 // Fade in, not out
#define SF_MESSAGE_ALL                  0x0002 // Send to all clients
```

#### SF_ENVEXPLOSION_NODAMAGE

env_explosion

```pawn
#define SF_ENVEXPLOSION_NODAMAGE        (1<<0) // When set, ENV_EXPLOSION will not actually inflict damage
#define SF_ENVEXPLOSION_REPEATABLE      (1<<1) // Can this entity be refired?
#define SF_ENVEXPLOSION_NOFIREBALL      (1<<2) // Don't draw the fireball
#define SF_ENVEXPLOSION_NOSMOKE         (1<<3) // Don't draw the smoke
#define SF_ENVEXPLOSION_NODECAL         (1<<4) // Don't make a scorch mark
#define SF_ENVEXPLOSION_NOSPARKS        (1<<5) // Don't make a scorch mark
```

#### SF_TANK_ACTIVE

func_tank

```pawn
#define SF_TANK_ACTIVE                  0x0001
#define SF_TANK_PLAYER                  0x0002
#define SF_TANK_HUMANS                  0x0004
#define SF_TANK_ALIENS                  0x0008
#define SF_TANK_LINEOFSIGHT             0x0010
#define SF_TANK_CANCONTROL              0x0020
#define SF_TANK_SOUNDON                 0x8000
```

#### SF_DETONATE

grenade

```pawn
#define SF_DETONATE                     0x0001 // Grenades flagged with this will be triggered when the owner calls detonateSatchelCharges
```

#### SF_SCORE_NEGATIVE

game_score

```pawn
#define SF_SCORE_NEGATIVE               0x0001 // Allow negative scores
#define SF_SCORE_TEAM                   0x0002 // Award points to team in teamplay
```

#### SF_ENVTEXT_ALLPLAYERS

game_text

```pawn
#define SF_ENVTEXT_ALLPLAYERS           0x0001 // Message will be displayed to all players instead of just the activator.
```

#### SF_TEAMMASTER_FIREONCE

game_team_master

```pawn
#define SF_TEAMMASTER_FIREONCE          0x0001 // Remove on Fire
#define SF_TEAMMASTER_ANYTEAM           0x0002 // Any team until set? -- Any team can use this until the team is set (otherwise no teams can use it)
```

#### SF_TEAMSET_FIREONCE

game_team_set

```pawn
#define SF_TEAMSET_FIREONCE             0x0001 // Remove entity after firing.
#define SF_TEAMSET_CLEARTEAM            0x0002 // Clear team -- Sets the team to "NONE" instead of activator
```

#### SF_PKILL_FIREONCE

game_player_hurt

```pawn
#define SF_PKILL_FIREONCE               0x0001 // Remove entity after firing.
```

#### SF_GAMECOUNT_FIREONCE

game_counter

```pawn
#define SF_GAMECOUNT_FIREONCE           0x0001 // Remove entity after firing.
#define SF_GAMECOUNT_RESET              0x0002 // Reset entity Initial value after fired.
#define SF_GAMECOUNT_OVER_LIMIT         0x0004 // Fire a target when initial value is higher than limit value.
```

#### MAX_EQUIP

game_player_equip

```pawn
#define MAX_EQUIP                       32
#define SF_PLAYEREQUIP_USEONLY          0x0001 // If set, the game_player_equip entity will not equip respawning players,
                                               // but only react to direct triggering, equipping its activator. This makes its master obsolete.
```

#### SF_PTEAM_FIREONCE

game_player_team

```pawn
#define SF_PTEAM_FIREONCE               0x0001 // Remove entity after firing.
#define SF_PTEAM_KILL                   0x0002 // Kill Player.
#define SF_PTEAM_GIB                    0x0004 // Gib Player.
```

#### SF_PLAT_TOGGLE

func_plat

```pawn
#define SF_PLAT_TOGGLE                  0x0001 // The lift is no more automatically called from top and activated by stepping on it.
                                               // It required trigger to do so.
```

#### SF_TRACK_ACTIVATETRAIN

func_trackchange

```pawn
#define SF_TRACK_ACTIVATETRAIN          0x00000001
#define SF_TRACK_RELINK                 0x00000002
#define SF_TRACK_ROTMOVE                0x00000004
#define SF_TRACK_STARTBOTTOM            0x00000008
#define SF_TRACK_DONT_MOVE              0x00000010
```

#### SF_TRACKTRAIN_NOPITCH

func_tracktrain

```pawn
#define SF_TRACKTRAIN_NOPITCH           0x0001
#define SF_TRACKTRAIN_NOCONTROL         0x0002
#define SF_TRACKTRAIN_FORWARDONLY       0x0004
#define SF_TRACKTRAIN_PASSABLE          0x0008
```

#### SF_PATH_DISABLED

path_track

```pawn
#define SF_PATH_DISABLED                0x00000001
#define SF_PATH_FIREONCE                0x00000002
#define SF_PATH_ALTREVERSE              0x00000004
#define SF_PATH_DISABLE_TRAIN           0x00000008
#define SF_PATH_ALTERNATE               0x00008000
```

#### SF_CORNER_WAITFORTRIG

path_corner

```pawn
#define SF_CORNER_WAITFORTRIG           0x001
#define SF_CORNER_TELEPORT              0x002
#define SF_CORNER_FIREONCE              0x004
```

#### SF_TRIGGER_PUSH_ONCE

trigger_push

```pawn
#define SF_TRIGGER_PUSH_ONCE            1
#define SF_TRIGGER_PUSH_START_OFF       2 // Spawnflag that makes trigger_push spawn turned OFF
```

#### SF_TRIGGER_HURT_TARGETONCE

trigger_hurt

```pawn
#define SF_TRIGGER_HURT_TARGETONCE      1  // Only fire hurt target once
#define SF_TRIGGER_HURT_START_OFF       2  // Spawnflag that makes trigger_push spawn turned OFF
#define SF_TRIGGER_HURT_NO_CLIENTS      8  // Spawnflag that makes trigger_push spawn turned OFF
#define SF_TRIGGER_HURT_CLIENTONLYFIRE  16 // Trigger hurt will only fire its target if it is hurting a client
#define SF_TRIGGER_HURT_CLIENTONLYTOUCH 32 // Only clients may touch this trigger.
```

#### SF_AUTO_FIREONCE

trigger_auto

```pawn
#define SF_AUTO_FIREONCE                0x0001
#define SF_AUTO_NORESET                 0x0002
```

#### SF_RELAY_FIREONCE

trigger_relay

```pawn
#define SF_RELAY_FIREONCE               0x0001
```

#### SF_MULTIMAN_THREAD

multi_manager

```pawn
#define SF_MULTIMAN_THREAD              0x00000001
#define SF_MULTIMAN_CLONE               0x80000000
```

#### SF_RENDER_MASKFX

env_render

```pawn
#define SF_RENDER_MASKFX                (1<<0)
#define SF_RENDER_MASKAMT               (1<<1)
#define SF_RENDER_MASKMODE              (1<<2)
#define SF_RENDER_MASKCOLOR             (1<<3)
```

##### Note

These are flags to indicate masking off various render parameters that
are usually copied to the targets

#### SF_CHANGELEVEL_USEONLY

trigger_changelevel

```pawn
#define SF_CHANGELEVEL_USEONLY          0x0002
```

#### SF_ENDSECTION_USEONLY

trigger_endsection

```pawn
#define SF_ENDSECTION_USEONLY           0x0001
```

#### SF_CAMERA_PLAYER_POSITION

trigger_camera

```pawn
#define SF_CAMERA_PLAYER_POSITION       1
#define SF_CAMERA_PLAYER_TARGET         2
#define SF_CAMERA_PLAYER_TAKECONTROL    4
```

#### SF_BRUSH_ROTATE_START_ON

func_rotating

```pawn
#define SF_BRUSH_ROTATE_START_ON        1
#define SF_BRUSH_ROTATE_BACKWARDS       2
#define SF_BRUSH_ROTATE_Z_AXIS          4
#define SF_BRUSH_ROTATE_X_AXIS          8
#define SF_BRUSH_ACCDCC                 16   // Brush should accelerate and decelerate when toggled
#define SF_BRUSH_HURT                   32   // Rotating brush that inflicts pain based on rotation speed
#define SF_BRUSH_ROTATE_NOT_SOLID       64   // Some special rotating objects are not solid.
#define SF_BRUSH_ROTATE_SMALLRADIUS     128
#define SF_BRUSH_ROTATE_MEDIUMRADIUS    256
#define SF_BRUSH_ROTATE_LARGERADIUS     512
```

#### SF_TRIGGER_ALLOWMONSTERS

triggers

```pawn
#define SF_TRIGGER_ALLOWMONSTERS        1  // Monsters allowed to fire this trigger
#define SF_TRIGGER_NOCLIENTS            2  // Players not allowed to fire this trigger
#define SF_TRIGGER_PUSHABLES            4  // Only pushables can fire this trigger
#define SF_TRIGGER_NORESET              64 // It is not allowed to be resetting on a new round
```

#### SF_TRIGGER_MULTIPLE_NOTOUCH

trigger_multiple

```pawn
#define SF_TRIGGER_MULTIPLE_NOTOUCH     0x0001
```

#### SF_TRIGGER_COUNTER_NOMESSAGE

trigger_counter

```pawn
#define SF_TRIGGER_COUNTER_NOMESSAGE    0x0001
```

#### SF_BREAK_TRIGGER_ONLY

func_breakable

```pawn
#define SF_BREAK_TRIGGER_ONLY           1   // May only be broken by trigger
#define SF_BREAK_TOUCH                  2   // Can be 'crashed through' by running player (plate glass)
#define SF_BREAK_PRESSURE               4   // Can be broken by a player standing on it
#define SF_BREAK_CROWBAR                256 // Instant break if hit with crowbar
```

#### SF_PUSH_BREAKABLE

func_pushable (also func_breakable, so don't collide with those flags)

```pawn
#define SF_PUSH_BREAKABLE               128
```

#### SF_LIGHT_START_OFF

light_spawn

```pawn
#define SF_LIGHT_START_OFF              1
```

#### SF_DECAL_NOTINDEATHMATCH

info_decal

```pawn
#define SF_DECAL_NOTINDEATHMATCH        2048
```

#### SF_WORLD_DARK

worldspawn

```pawn
#define SF_WORLD_DARK                   0x0001 // Fade from black at startup
#define SF_WORLD_TITLE                  0x0002 // Display game title at startup
#define SF_WORLD_FORCETEAM              0x0004 // Force teams
```

#### SF_NORESPAWN

Set this bit on guns and stuff that should never respawn

```pawn
#define SF_NORESPAWN                    (1<<30)
```

#### TRAIN_ACTIVE

Train status values

```pawn
#define TRAIN_ACTIVE                    0x80
#define TRAIN_NEW                       0xc0

#define TRAIN_OFF                       0x00
#define TRAIN_NEUTRAL                   0x01
#define TRAIN_SLOW                      0x02
#define TRAIN_MEDIUM                    0x03
#define TRAIN_FAST                      0x04
#define TRAIN_BACK                      0x05
```

#### FEV_NOTHOST

PlaybackEvent flags

```pawn
#define FEV_NOTHOST                     (1<<0) // Skip local host for event send.
#define FEV_RELIABLE                    (1<<1) // Send the event reliably. You must specify the origin and angles
                                               // for this to work correctly on the server for anything
                                               // that depends on the event origin/angles. I.e., the origin/angles are not
                                               // taken from the invoking edict for reliable events.

#define FEV_GLOBAL                      (1<<2) // Don't restrict to PAS/PVS, send this event to _everybody_ on the server ( useful for stopping CHAN_STATIC
                                               // sounds started by client event when client is not in PVS anymore ( hwguy in TFC e.g. ).

#define FEV_UPDATE                      (1<<3) // If this client already has one of these events in its queue, just update the event instead of sending it as a duplicate
#define FEV_HOSTONLY                    (1<<4) // Only send to entity specified as the invoker
#define FEV_SERVER                      (1<<5) // Only send if the event was created on the server.
#define FEV_CLIENT                      (1<<6) // Only issue event client side ( from shared code )
```

#### FCAP_CUSTOMSAVE

Cap bits to indicate what an object's capabilities are, currently used for
save/restore and level transitions.

```pawn
#define FCAP_CUSTOMSAVE                 0x00000001
#define FCAP_ACROSS_TRANSITION          0x00000002 // Should transfer between transitions
#define FCAP_MUST_SPAWN                 0x00000004 // Spawn after restore
#define FCAP_IMPULSE_USE                0x00000008 // Can be used by the player
#define FCAP_CONTINUOUS_USE             0x00000010 // Can be used by the player
#define FCAP_ONOFF_USE                  0x00000020 // Can be used by the player
#define FCAP_DIRECTIONAL_USE            0x00000040 // Player sends +/- 1 when using (currently only tracktrains)
#define FCAP_MASTER                     0x00000080 // Can be used to "master" other entities (like multisource)
#define FCAP_MUST_RESET                 0x00000100 // Should reset on the new round
#define FCAP_MUST_RELEASE               0x00000200 // Should release on the new round
#define FCAP_DONT_SAVE                  0x80000000 // Don't save this

// UNDONE: This will ignore transition volumes (trigger_transition), but not the PVS!!!
#define FCAP_FORCE_TRANSITION           0x00000080 // ALWAYS goes across transitions
```

#### DONT_BLEED

All monsters need this data

```pawn
#define DONT_BLEED                      -1
#define BLOOD_COLOR_RED                 247
#define BLOOD_COLOR_YELLOW              195
#define BLOOD_COLOR_GREEN               BLOOD_COLOR_YELLOW
```

#### CBasePlayer::m_iIgnoreGlobalChat

CBasePlayer::m_iIgnoreGlobalChat

```pawn
enum
{
	IGNOREMSG_NONE,  // Nothing to do
	IGNOREMSG_ENEMY, // To ignore any chat messages from the enemy
	IGNOREMSG_TEAM   // Same as IGNOREMSG_ENEMY but ignore teammates
}
```

#### HitBoxGroup

Hitgroups

```pawn
enum HitBoxGroup
{
	HITGROUP_GENERIC = 0,
	HITGROUP_HEAD,
	HITGROUP_CHEST,
	HITGROUP_STOMACH,
	HITGROUP_LEFTARM,
	HITGROUP_RIGHTARM,
	HITGROUP_LEFTLEG,
	HITGROUP_RIGHTLEG,
	HITGROUP_SHIELD
};
```

#### ArmorType

Armor types for m_iKevlar

```pawn
enum ArmorType
{
	ARMOR_NONE,     // No armor
	ARMOR_KEVLAR,   // Body vest only
	ARMOR_VESTHELM, // Vest and helmet
};
```

#### ArmouryItemPack

For CArmoury::m_Armoury_iItem

```pawn
enum ArmouryItemPack
{
	ARMOURY_MP5NAVY,
	ARMOURY_TMP,
	ARMOURY_P90,
	ARMOURY_MAC10,
	ARMOURY_AK47,
	ARMOURY_SG552,
	ARMOURY_M4A1,
	ARMOURY_AUG,
	ARMOURY_SCOUT,
	ARMOURY_G3SG1,
	ARMOURY_AWP,
	ARMOURY_M3,
	ARMOURY_XM1014,
	ARMOURY_M249,
	ARMOURY_FLASHBANG,
	ARMOURY_HEGRENADE,
	ARMOURY_KEVLAR,
	ARMOURY_ASSAULT,
	ARMOURY_SMOKEGRENADE,
	ARMOURY_SHIELD,
	ARMOURY_FAMAS,
	ARMOURY_SG550,
	ARMOURY_GALIL,
	ARMOURY_UMP45,
	ARMOURY_GLOCK18,
	ARMOURY_USP,
	ARMOURY_ELITE,
	ARMOURY_FIVESEVEN,
	ARMOURY_P228,
	ARMOURY_DEAGLE,
};
```

#### RewardType

Reward types for RG_CBasePlayer_AddAccount

```pawn
enum RewardType
{
	RT_NONE,
	RT_ROUND_BONUS,
	RT_PLAYER_RESET,
	RT_PLAYER_JOIN,
	RT_PLAYER_SPEC_JOIN,
	RT_PLAYER_BOUGHT_SOMETHING,
	RT_HOSTAGE_TOOK,
	RT_HOSTAGE_RESCUED,
	RT_HOSTAGE_DAMAGED,
	RT_HOSTAGE_KILLED,
	RT_TEAMMATES_KILLED,
	RT_ENEMY_KILLED,
	RT_INTO_GAME,
	RT_VIP_KILLED,
	RT_VIP_RESCUED_MYSELF
};
```

#### TeamName

Team IDs for m_iTeam

```pawn
enum TeamName
{
	TEAM_UNASSIGNED,
	TEAM_TERRORIST,
	TEAM_CT,
	TEAM_SPECTATOR
};
```

#### ModelName

For m_iModelName

```pawn
enum ModelName
{
	MODEL_UNASSIGNED,
	MODEL_CT_URBAN,
	MODEL_T_TERROR,
	MODEL_T_LEET,
	MODEL_T_ARCTIC,
	MODEL_CT_GSG9,
	MODEL_CT_GIGN,
	MODEL_CT_SAS,
	MODEL_T_GUERILLA,
	MODEL_CT_VIP,
	MODEL_T_MILITIA,
	MODEL_CT_SPETSNAZ,
	MODEL_AUTO
};
```

#### weapon respawning return codes

weapon respawning return codes

```pawn
enum
{
	GR_NONE = 0,
	GR_WEAPON_RESPAWN_YES,
	GR_WEAPON_RESPAWN_NO,
	GR_AMMO_RESPAWN_YES,
	GR_AMMO_RESPAWN_NO,
	GR_ITEM_RESPAWN_YES,
	GR_ITEM_RESPAWN_NO,
	GR_PLR_DROP_GUN_ALL,
	GR_PLR_DROP_GUN_ACTIVE,
	GR_PLR_DROP_GUN_NO,
	GR_PLR_DROP_AMMO_ALL,
	GR_PLR_DROP_AMMO_ACTIVE,
	GR_PLR_DROP_AMMO_NO
};
```

#### WeaponIdType

Weapon IDs for rg_get_weaponbox_id, GetGrenadeType, rg_get_weapon_info(const weapon_name[], WI_ID)

```pawn
enum WeaponIdType
{
	WEAPON_NONE,
	WEAPON_P228,
	WEAPON_GLOCK,
	WEAPON_SCOUT,
	WEAPON_HEGRENADE,
	WEAPON_XM1014,
	WEAPON_C4,
	WEAPON_MAC10,
	WEAPON_AUG,
	WEAPON_SMOKEGRENADE,
	WEAPON_ELITE,
	WEAPON_FIVESEVEN,
	WEAPON_UMP45,
	WEAPON_SG550,
	WEAPON_GALIL,
	WEAPON_FAMAS,
	WEAPON_USP,
	WEAPON_GLOCK18,
	WEAPON_AWP,
	WEAPON_MP5N,
	WEAPON_M249,
	WEAPON_M3,
	WEAPON_M4A1,
	WEAPON_TMP,
	WEAPON_G3SG1,
	WEAPON_FLASHBANG,
	WEAPON_DEAGLE,
	WEAPON_SG552,
	WEAPON_AK47,
	WEAPON_KNIFE,
	WEAPON_P90,
	WEAPON_SHIELDGUN = 99
};
```

#### TimeBasedDamage

For CBaseMonster::m_rgbTimeBasedDamage
prefix should be ITBD_

```pawn
enum TimeBasedDamage
{
	ITDB_PARALYZE,
	ITDB_NERVEGAS,
	ITDB_POISON,
	ITDB_RADIATION,
	ITDB_DROWNRECOVER,
	ITDB_ACID,
	ITDB_SLOWBURN,
	ITDB_SLOWFREEZE
};
```

#### Activity

m_Activity

```pawn
enum Activity
{
	ACT_INVALID = -1,
	ACT_RESET, // Set m_Activity to this invalid value to force a reset to m_IdealActivity
	ACT_IDLE,
	ACT_GUARD,
	ACT_WALK,
	ACT_RUN,
	ACT_FLY,
	ACT_SWIM,
	ACT_HOP,
	ACT_LEAP,
	ACT_FALL,
	ACT_LAND,
	ACT_STRAFE_LEFT,
	ACT_STRAFE_RIGHT,
	ACT_ROLL_LEFT,
	ACT_ROLL_RIGHT,
	ACT_TURN_LEFT,
	ACT_TURN_RIGHT,
	ACT_CROUCH,
	ACT_CROUCHIDLE,
	ACT_STAND,
	ACT_USE,
	ACT_SIGNAL1,
	ACT_SIGNAL2,
	ACT_SIGNAL3,
	ACT_TWITCH,
	ACT_COWER,
	ACT_SMALL_FLINCH,
	ACT_BIG_FLINCH,
	ACT_RANGE_ATTACK1,
	ACT_RANGE_ATTACK2,
	ACT_MELEE_ATTACK1,
	ACT_MELEE_ATTACK2,
	ACT_RELOAD,
	ACT_ARM,
	ACT_DISARM,
	ACT_EAT,
	ACT_DIESIMPLE,
	ACT_DIEBACKWARD,
	ACT_DIEFORWARD,
	ACT_DIEVIOLENT,
	ACT_BARNACLE_HIT,
	ACT_BARNACLE_PULL,
	ACT_BARNACLE_CHOMP,
	ACT_BARNACLE_CHEW,
	ACT_SLEEP,
	ACT_INSPECT_FLOOR,
	ACT_INSPECT_WALL,
	ACT_IDLE_ANGRY,
	ACT_WALK_HURT,
	ACT_RUN_HURT,
	ACT_HOVER,
	ACT_GLIDE,
	ACT_FLY_LEFT,
	ACT_FLY_RIGHT,
	ACT_DETECT_SCENT,
	ACT_SNIFF,
	ACT_BITE,
	ACT_THREAT_DISPLAY,
	ACT_FEAR_DISPLAY,
	ACT_EXCITED,
	ACT_SPECIAL_ATTACK1,
	ACT_SPECIAL_ATTACK2,
	ACT_COMBAT_IDLE,
	ACT_WALK_SCARED,
	ACT_RUN_SCARED,
	ACT_VICTORY_DANCE,
	ACT_DIE_HEADSHOT,
	ACT_DIE_CHESTSHOT,
	ACT_DIE_GUTSHOT,
	ACT_DIE_BACKSHOT,
	ACT_FLINCH_HEAD,
	ACT_FLINCH_CHEST,
	ACT_FLINCH_STOMACH,
	ACT_FLINCH_LEFTARM,
	ACT_FLINCH_RIGHTARM,
	ACT_FLINCH_LEFTLEG,
	ACT_FLINCH_RIGHTLEG,
	ACT_FLINCH,
	ACT_LARGE_FLINCH,
	ACT_HOLDBOMB,
	ACT_IDLE_FIDGET,
	ACT_IDLE_SCARED,
	ACT_IDLE_SCARED_FIDGET,
	ACT_FOLLOW_IDLE,
	ACT_FOLLOW_IDLE_FIDGET,
	ACT_FOLLOW_IDLE_SCARED,
	ACT_FOLLOW_IDLE_SCARED_FIDGET,
	ACT_CROUCH_IDLE,
	ACT_CROUCH_IDLE_FIDGET,
	ACT_CROUCH_IDLE_SCARED,
	ACT_CROUCH_IDLE_SCARED_FIDGET,
	ACT_CROUCH_WALK,
	ACT_CROUCH_WALK_SCARED,
	ACT_CROUCH_DIE,
	ACT_WALK_BACK,
	ACT_IDLE_SNEAKY,
	ACT_IDLE_SNEAKY_FIDGET,
	ACT_WALK_SNEAKY,
	ACT_WAVE,
	ACT_YES,
	ACT_NO
};
```

#### WinStatus

WinStatus for RG_RoundEnd, rg_round_end

```pawn
enum WinStatus
{
	WINSTATUS_NONE = 0,
	WINSTATUS_CTS,
	WINSTATUS_TERRORISTS,
	WINSTATUS_DRAW,
};
```

#### ROUND_ESCAPING_TERRORISTS_NEUTRALIZED

ROUND_ESCAPING_TERRORISTS_NEUTRALIZED

```pawn
	#define ROUND_ESCAPING_TERRORISTS_NEUTRALIZED ROUND_ESCAPING_TERRORISTS_NEUTR
```

#### RR_ESCAPING_TERRORISTS_NEUTRALIZED

RR_ESCAPING_TERRORISTS_NEUTRALIZED

```pawn
	#define RR_ESCAPING_TERRORISTS_NEUTRALIZED RR_ESCAPING_TERRORISTS_NEUTR
```

#### ScenarioEventEndRound

Used for EndRoundMessage() logged messages

```pawn
enum ScenarioEventEndRound
{
	ROUND_NONE,
	ROUND_TARGET_BOMB,
	ROUND_VIP_ESCAPED,
	ROUND_VIP_ASSASSINATED,
	ROUND_TERRORISTS_ESCAPED,
	ROUND_CTS_PREVENT_ESCAPE,
	ROUND_ESCAPING_TERRORISTS_NEUTRALIZED,
	ROUND_BOMB_DEFUSED,
	ROUND_CTS_WIN,
	ROUND_TERRORISTS_WIN,
	ROUND_END_DRAW,
	ROUND_ALL_HOSTAGES_RESCUED,
	ROUND_TARGET_SAVED,
	ROUND_HOSTAGE_NOT_RESCUED,
	ROUND_TERRORISTS_NOT_ESCAPED,
	ROUND_VIP_NOT_ESCAPED,
	ROUND_GAME_COMMENCE,
	ROUND_GAME_RESTART,
	ROUND_GAME_OVER
};
```

#### PLAYER_ANIM

Animation IDs for RG_CBasePlayer_SetAnimation, rg_set_animation

```pawn
enum PLAYER_ANIM
{
	PLAYER_IDLE,
	PLAYER_WALK,
	PLAYER_JUMP,
	PLAYER_SUPERJUMP,
	PLAYER_DIE,
	PLAYER_ATTACK1,
	PLAYER_ATTACK2,
	PLAYER_FLINCH,
	PLAYER_LARGE_FLINCH,
	PLAYER_RELOAD,
	PLAYER_HOLDBOMB
};
```

#### JoinState

For CBasePlayer::m_iJoiningState

```pawn
enum JoinState
{
	JOINED,
	SHOWLTEXT,
	READINGLTEXT,
	SHOWTEAMSELECT,
	PICKINGTEAM,
	GETINTOGAME
};
```

#### _Menu

For CBasePlayer::m_iMenu

```pawn
enum _Menu
{
	Menu_OFF,
	Menu_ChooseTeam,
	Menu_IGChooseTeam,
	Menu_ChooseAppearance,
	Menu_Buy,
	Menu_BuyPistol,
	Menu_BuyRifle,
	Menu_BuyMachineGun,
	Menu_BuyShotgun,
	Menu_BuySubMachineGun,
	Menu_BuyItem,
	Menu_Radio1,
	Menu_Radio2,
	Menu_Radio3,
	Menu_ClientBuy
};
```

#### TrackCommands

For CBasePlayer::m_flLastCommandTime[8]

```pawn
enum TrackCommands
{
	CMD_SAY,
	CMD_SAYTEAM,
	CMD_FULLUPDATE,
	CMD_VOTE,
	CMD_VOTEMAP,
	CMD_LISTMAPS,
	CMD_LISTPLAYERS,
	CMD_NIGHTVISION,
	COMMANDS_TO_TRACK,
};
```

#### InventorySlotType

For CBasePlayer::m_rgpPlayerItems[6]

```pawn
enum InventorySlotType
{
	NONE_SLOT,
	PRIMARY_WEAPON_SLOT,
	PISTOL_SLOT,
	KNIFE_SLOT,
	GRENADE_SLOT,
	C4_SLOT,
};
```

#### shieldgren_e

Sets animation for weapon_shield of SendWeaponAnim

```pawn
enum shieldgren_e
{
	SHIELDREN_IDLE = 4,
	SHIELDREN_UP,
	SHIELDREN_DOWN
};
```

#### shieldgun_e

shieldgun_e

```pawn
enum shieldgun_e
{
	SHIELDGUN_IDLE,
	SHIELDGUN_SHOOT1,
	SHIELDGUN_SHOOT2,
	SHIELDGUN_SHOOT_EMPTY,
	SHIELDGUN_RELOAD,
	SHIELDGUN_DRAW,
	SHIELDGUN_DRAWN_IDLE,
	SHIELDGUN_UP,
	SHIELDGUN_DOWN,
};
```

#### SignalState

Flags for CUnifiedSignals m_signals

```pawn
enum SignalState
{
	SIGNAL_BUY       = BIT(0),
	SIGNAL_BOMB      = BIT(1),
	SIGNAL_RESCUE    = BIT(2),
	SIGNAL_ESCAPE    = BIT(3),
	SIGNAL_VIPSAFETY = BIT(4),
};
```

#### WeaponState

Weapon states of the following weapons: usp, elite, glock18, famas and m4a1.

```pawn
enum WeaponState
{
	WPNSTATE_USP_SILENCED       = BIT(0),
	WPNSTATE_GLOCK18_BURST_MODE = BIT(1),
	WPNSTATE_M4A1_SILENCED      = BIT(2),
	WPNSTATE_ELITE_LEFT         = BIT(3),
	WPNSTATE_FAMAS_BURST_MODE   = BIT(4),
	WPNSTATE_SHIELD_DRAWN       = BIT(5),
};
```

#### Bullet

Bullet types for rg_fire_bullets, rg_fire_bullets3

```pawn
enum Bullet
{
	BULLET_NONE,
	BULLET_PLAYER_9MM,
	BULLET_PLAYER_MP5,
	BULLET_PLAYER_357,
	BULLET_PLAYER_BUCKSHOT,
	BULLET_PLAYER_CROWBAR,
	BULLET_MONSTER_9MM,
	BULLET_MONSTER_MP5,
	BULLET_MONSTER_12MM,
	BULLET_PLAYER_45ACP,
	BULLET_PLAYER_338MAG,
	BULLET_PLAYER_762MM,
	BULLET_PLAYER_556MM,
	BULLET_PLAYER_50AE,
	BULLET_PLAYER_57MM,
	BULLET_PLAYER_357SIG,
};
```

#### RewardRules

Reward rules for rg_get_account_rules, rg_set_account_rules

```pawn
enum RewardRules
{
	RR_CTS_WIN,
	RR_TERRORISTS_WIN,
	RR_TARGET_BOMB,
	RR_VIP_ESCAPED,
	RR_VIP_ASSASSINATED,
	RR_TERRORISTS_ESCAPED,
	RR_CTS_PREVENT_ESCAPE,
	RR_ESCAPING_TERRORISTS_NEUTRALIZED,
	RR_BOMB_DEFUSED,
	RR_BOMB_PLANTED,
	RR_BOMB_EXPLODED,
	RR_ALL_HOSTAGES_RESCUED,
	RR_TARGET_BOMB_SAVED,
	RR_HOSTAGE_NOT_RESCUED,
	RR_VIP_NOT_ESCAPED,
	RR_LOSER_BONUS_DEFAULT,
	RR_LOSER_BONUS_MIN,
	RR_LOSER_BONUS_MAX,
	RR_LOSER_BONUS_ADD,
	RR_RESCUED_HOSTAGE,
	RR_TOOK_HOSTAGE_ACC,
	RR_TOOK_HOSTAGE,
	RR_END
};
```

#### ItemRestType

For RG_CBasePlayer_HasRestrictItem

```pawn
enum ItemRestType
{
	ITEM_TYPE_BUYING,  // When a player is buying items
	ITEM_TYPE_TOUCHED, // When the player touches a weaponbox or armoury_entity
	ITEM_TYPE_EQUIPPED // When an entity game_player_equip gives item to player or default items on player spawn
};
```

#### ItemID

Constant items

```pawn
enum ItemID
{
	ITEM_NONE = -1,
	ITEM_SHIELDGUN,
	ITEM_P228,
	ITEM_GLOCK,
	ITEM_SCOUT,
	ITEM_HEGRENADE,
	ITEM_XM1014,
	ITEM_C4,
	ITEM_MAC10,
	ITEM_AUG,
	ITEM_SMOKEGRENADE,
	ITEM_ELITE,
	ITEM_FIVESEVEN,
	ITEM_UMP45,
	ITEM_SG550,
	ITEM_GALIL,
	ITEM_FAMAS,
	ITEM_USP,
	ITEM_GLOCK18,
	ITEM_AWP,
	ITEM_MP5N,
	ITEM_M249,
	ITEM_M3,
	ITEM_M4A1,
	ITEM_TMP,
	ITEM_G3SG1,
	ITEM_FLASHBANG,
	ITEM_DEAGLE,
	ITEM_SG552,
	ITEM_AK47,
	ITEM_KNIFE,
	ITEM_P90,
	ITEM_NVG,
	ITEM_DEFUSEKIT,
	ITEM_KEVLAR,
	ITEM_ASSAULT,
	ITEM_LONGJUMP,
	ITEM_SODACAN,
	ITEM_HEALTHKIT,
	ITEM_ANTIDOTE,
	ITEM_BATTERY
};
```

#### InfoMapBuyParam

For CMapInfo:m_iBuyingStatus

```pawn
enum InfoMapBuyParam
{
	BUYING_EVERYONE = 0,
	BUYING_ONLY_CTS,
	BUYING_ONLY_TERRORISTS,
	BUYING_NO_ONE,
};
```

#### USE_OFF

For SetUse

```pawn
#define USE_OFF                         0
#define USE_ON                          1
#define USE_SET                         2
#define USE_TOGGLE                      3
```

#### LOUD_GUN_VOLUME

For CBasePlayer:m_iWeaponVolume

```pawn
#define LOUD_GUN_VOLUME                 1000
#define NORMAL_GUN_VOLUME               600
#define QUIET_GUN_VOLUME                200
#define BIG_EXPLOSION_VOLUME            2048
#define NORMAL_EXPLOSION_VOLUME         1024
#define SMALL_EXPLOSION_VOLUME          512
```

#### BRIGHT_GUN_FLASH

For CBasePlayer:m_iWeaponFlash

```pawn
#define BRIGHT_GUN_FLASH                512
#define NORMAL_GUN_FLASH                256
#define DIM_GUN_FLASH                   128
```

#### DEFAULT_LARGE_AWP_ZOOM

Player zoom constants
For m_iFOV

```pawn
#define DEFAULT_LARGE_AWP_ZOOM            10
#define DEFAULT_LARGE_OTHER_SNIPERS_ZOOM  15
#define DEFAULT_SMALL_SNIPERS_ZOOM        40
#define DEFAULT_AUG_SG552_ZOOM            55
#define DEFAULT_NO_ZOOM                   90
```

#### SCORE_STATUS_NONE

Scoreboard attribute constants
For "ScoreAttrib" game event

```pawn
#define SCORE_STATUS_NONE                 0
#define SCORE_STATUS_DEAD                 (1<<0)
#define SCORE_STATUS_BOMB                 (1<<1)
#define SCORE_STATUS_VIP                  (1<<2)
#define SCORE_STATUS_DEFKIT               (1<<3)
```

#### GameEventType

For RG_CBotManager_OnEvent

```pawn
enum GameEventType
{
	EVENT_INVALID = 0,
	EVENT_WEAPON_FIRED,                 // tell bots the player is attack (argumens: 1 = attacker, 2 = NULL)
	EVENT_WEAPON_FIRED_ON_EMPTY,        // tell bots the player is attack without clip ammo (argumens: 1 = attacker, 2 = NULL)
	EVENT_WEAPON_RELOADED,              // tell bots the player is reloading his weapon (argumens: 1 = reloader, 2 = NULL)

	EVENT_HE_GRENADE_EXPLODED,          // tell bots the HE grenade is exploded (argumens: 1 = grenade thrower, 2 = NULL)
	EVENT_FLASHBANG_GRENADE_EXPLODED,   // tell bots the flashbang grenade is exploded (argumens: 1 = grenade thrower, 2 = explosion origin)
	EVENT_SMOKE_GRENADE_EXPLODED,       // tell bots the smoke grenade is exploded (argumens: 1 = grenade thrower, 2 = NULL)
	EVENT_GRENADE_BOUNCED,

	EVENT_BEING_SHOT_AT,
	EVENT_PLAYER_BLINDED_BY_FLASHBANG,  // tell bots the player is flashed (argumens: 1 = flashed player, 2 = NULL)
	EVENT_PLAYER_FOOTSTEP,              // tell bots the player is running (argumens: 1 = runner, 2 = NULL)
	EVENT_PLAYER_JUMPED,                // tell bots the player is jumped (argumens: 1 = jumper, 2 = NULL)
	EVENT_PLAYER_DIED,                  // tell bots the player is killed (argumens: 1 = victim, 2 = killer)
	EVENT_PLAYER_LANDED_FROM_HEIGHT,    // tell bots the player is fell with some damage (argumens: 1 = felled player, 2 = NULL)
	EVENT_PLAYER_TOOK_DAMAGE,           // tell bots the player is take damage (argumens: 1 = victim, 2 = attacker)
	EVENT_HOSTAGE_DAMAGED,              // tell bots the player has injured a hostage (argumens: 1 = hostage, 2 = injurer)
	EVENT_HOSTAGE_KILLED,               // tell bots the player has killed a hostage (argumens: 1 = hostage, 2 = killer)

	EVENT_DOOR,                         // tell bots the door is moving (argumens: 1 = door, 2 = NULL)
	EVENT_BREAK_GLASS,                  // tell bots the glass has break (argumens: 1 = glass, 2 = NULL)
	EVENT_BREAK_WOOD,                   // tell bots the wood has break (argumens: 1 = wood, 2 = NULL)
	EVENT_BREAK_METAL,                  // tell bots the metal/computer has break (argumens: 1 = metal/computer, 2 = NULL)
	EVENT_BREAK_FLESH,                  // tell bots the flesh has break (argumens: 1 = flesh, 2 = NULL)
	EVENT_BREAK_CONCRETE,               // tell bots the concrete has break (argumens: 1 = concrete, 2 = NULL)

	EVENT_BOMB_PLANTED,                 // tell bots the bomb has been planted (argumens: 1 = planter, 2 = NULL)
	EVENT_BOMB_DROPPED,                 // tell bots the bomb has been dropped (argumens: 1 = NULL, 2 = NULL)
	EVENT_BOMB_PICKED_UP,               // let the bots hear the bomb pickup (argumens: 1 = player that pickup c4, 2 = NULL)
	EVENT_BOMB_BEEP,                    // let the bots hear the bomb beeping (argumens: 1 = c4, 2 = NULL)
	EVENT_BOMB_DEFUSING,                // tell the bots someone has started defusing (argumens: 1 = defuser, 2 = NULL)
	EVENT_BOMB_DEFUSE_ABORTED,          // tell the bots someone has aborted defusing (argumens: 1 = NULL, 2 = NULL)
	EVENT_BOMB_DEFUSED,                 // tell the bots the bomb is defused (argumens: 1 = defuser, 2 = NULL)
	EVENT_BOMB_EXPLODED,                // let the bots hear the bomb exploding (argumens: 1 = NULL, 2 = NULL)

	EVENT_HOSTAGE_USED,                 // tell bots the hostage is used (argumens: 1 = user, 2 = NULL)
	EVENT_HOSTAGE_RESCUED,              // tell bots the hostage is rescued (argumens: 1 = rescuer (CBasePlayer *), 2 = hostage (CHostage *))
	EVENT_ALL_HOSTAGES_RESCUED,         // tell bots the all hostages are rescued (argumens: 1 = NULL, 2 = NULL)

	EVENT_VIP_ESCAPED,                  // tell bots the VIP is escaped (argumens: 1 = NULL, 2 = NULL)
	EVENT_VIP_ASSASSINATED,             // tell bots the VIP is assassinated (argumens: 1 = NULL, 2 = NULL)
	EVENT_TERRORISTS_WIN,               // tell bots the terrorists won the round (argumens: 1 = NULL, 2 = NULL)
	EVENT_CTS_WIN,                      // tell bots the CTs won the round (argumens: 1 = NULL, 2 = NULL)
	EVENT_ROUND_DRAW,                   // tell bots the round was a draw (argumens: 1 = NULL, 2 = NULL)
	EVENT_ROUND_WIN,                    // tell carreer the round was a win (argumens: 1 = NULL, 2 = NULL)
	EVENT_ROUND_LOSS,                   // tell carreer the round was a loss (argumens: 1 = NULL, 2 = NULL)
	EVENT_ROUND_START,                  // tell bots the round was started (when freeze period is expired) (argumens: 1 = NULL, 2 = NULL)
	EVENT_PLAYER_SPAWNED,               // tell bots the player is spawned (argumens: 1 = spawned player, 2 = NULL)
	EVENT_CLIENT_CORPSE_SPAWNED,
	EVENT_BUY_TIME_START,
	EVENT_PLAYER_LEFT_BUY_ZONE,
	EVENT_DEATH_CAMERA_START,
	EVENT_KILL_ALL,
	EVENT_ROUND_TIME,
	EVENT_DIE,
	EVENT_KILL,
	EVENT_HEADSHOT,
	EVENT_KILL_FLASHBANGED,
	EVENT_TUTOR_BUY_MENU_OPENNED,
	EVENT_TUTOR_AUTOBUY,
	EVENT_PLAYER_BOUGHT_SOMETHING,
	EVENT_TUTOR_NOT_BUYING_ANYTHING,
	EVENT_TUTOR_NEED_TO_BUY_PRIMARY_WEAPON,
	EVENT_TUTOR_NEED_TO_BUY_PRIMARY_AMMO,
	EVENT_TUTOR_NEED_TO_BUY_SECONDARY_AMMO,
	EVENT_TUTOR_NEED_TO_BUY_ARMOR,
	EVENT_TUTOR_NEED_TO_BUY_DEFUSE_KIT,
	EVENT_TUTOR_NEED_TO_BUY_GRENADE,
	EVENT_CAREER_TASK_DONE,

	EVENT_START_RADIO_1,
	EVENT_RADIO_COVER_ME,
	EVENT_RADIO_YOU_TAKE_THE_POINT,
	EVENT_RADIO_HOLD_THIS_POSITION,
	EVENT_RADIO_REGROUP_TEAM,
	EVENT_RADIO_FOLLOW_ME,
	EVENT_RADIO_TAKING_FIRE,
	EVENT_START_RADIO_2,
	EVENT_RADIO_GO_GO_GO,
	EVENT_RADIO_TEAM_FALL_BACK,
	EVENT_RADIO_STICK_TOGETHER_TEAM,
	EVENT_RADIO_GET_IN_POSITION_AND_WAIT,
	EVENT_RADIO_STORM_THE_FRONT,
	EVENT_RADIO_REPORT_IN_TEAM,
	EVENT_START_RADIO_3,
	EVENT_RADIO_AFFIRMATIVE,
	EVENT_RADIO_ENEMY_SPOTTED,
	EVENT_RADIO_NEED_BACKUP,
	EVENT_RADIO_SECTOR_CLEAR,
	EVENT_RADIO_IN_POSITION,
	EVENT_RADIO_REPORTING_IN,
	EVENT_RADIO_GET_OUT_OF_THERE,
	EVENT_RADIO_NEGATIVE,
	EVENT_RADIO_ENEMY_DOWN,
	EVENT_END_RADIO,

	EVENT_NEW_MATCH,                    // tell bots the game is new (argumens: 1 = NULL, 2 = NULL)
	EVENT_PLAYER_CHANGED_TEAM,          // tell bots the player is switch his team (also called from ClientPutInServer()) (argumens: 1 = switcher, 2 = NULL)
	EVENT_BULLET_IMPACT,                // tell bots the player is shoot at wall (argumens: 1 = shooter, 2 = shoot trace end position)
	EVENT_GAME_COMMENCE,                // tell bots the game is commencing (argumens: 1 = NULL, 2 = NULL)
	EVENT_WEAPON_ZOOMED,                // tell bots the player is switch weapon zoom (argumens: 1 = zoom switcher, 2 = NULL)
	EVENT_HOSTAGE_CALLED_FOR_HELP,      // tell bots the hostage is talking (argumens: 1 = listener, 2 = NULL)
	NUM_GAME_EVENTS,
};
```

#### SecondaryAtkState

Weapon secondary attack states
For CCSPlayerWeapon::m_iStateSecondaryAttack

```pawn
enum SecondaryAtkState
{
	WEAPON_SECONDARY_ATTACK_NONE = 0,
	WEAPON_SECONDARY_ATTACK_SET,
	WEAPON_SECONDARY_ATTACK_BLOCK
};
```

#### Decal

Decal list for rg_decal_trace

```pawn
enum Decal
{
	DECAL_GUNSHOT1 = 0,
	DECAL_GUNSHOT2,
	DECAL_GUNSHOT3,
	DECAL_GUNSHOT4,
	DECAL_GUNSHOT5,
	DECAL_LAMBDA1,
	DECAL_LAMBDA2,
	DECAL_LAMBDA3,
	DECAL_LAMBDA4,
	DECAL_LAMBDA5,
	DECAL_LAMBDA6,
	DECAL_SCORCH1,
	DECAL_SCORCH2,
	DECAL_BLOOD1,
	DECAL_BLOOD2,
	DECAL_BLOOD3,
	DECAL_BLOOD4,
	DECAL_BLOOD5,
	DECAL_BLOOD6,
	DECAL_YBLOOD1,
	DECAL_YBLOOD2,
	DECAL_YBLOOD3,
	DECAL_YBLOOD4,
	DECAL_YBLOOD5,
	DECAL_YBLOOD6,
	DECAL_GLASSBREAK1,
	DECAL_GLASSBREAK2,
	DECAL_GLASSBREAK3,
	DECAL_BIGSHOT1,
	DECAL_BIGSHOT2,
	DECAL_BIGSHOT3,
	DECAL_BIGSHOT4,
	DECAL_BIGSHOT5,
	DECAL_SPIT1,
	DECAL_SPIT2,
	DECAL_BPROOF1,           // Bulletproof glass decal
	DECAL_GARGSTOMP1,        // Gargantua stomp crack
	DECAL_SMALLSCORCH1,      // Small scorch mark
	DECAL_SMALLSCORCH2,      // Small scorch mark
	DECAL_SMALLSCORCH3,      // Small scorch mark
	DECAL_MOMMABIRTH,        // Big momma birth splatter
	DECAL_MOMMASPLAT,
};
```

#### Player relationship return codes

Player relationship return codes

```pawn
enum
{
	GR_NOTTEAMMATE = 0,
	GR_TEAMMATE,
	GR_ENEMY,
	GR_ALLY,
	GR_NEUTRAL,
};
```

#### DeathMessageFlags

Flags for specifying extra info about player death

```pawn
enum DeathMessageFlags
{
	// float[3]
	// Position where the victim was killed by the enemy
	PLAYERDEATH_POSITION          = 0x001,

	// byte
	// Index of the assistant who helped the attacker kill the victim
	PLAYERDEATH_ASSISTANT         = 0x002,

	// short
	// Bitsum classification for the rarity of the kill
	// See enum KillRarity for details
	PLAYERDEATH_KILLRARITY        = 0x004
};
```

#### KillRarity

Classifying various player kill methods in the game

```pawn
enum KillRarity
{
	KILLRARITY_HEADSHOT         = 0x001, // Headshot
	KILLRARITY_KILLER_BLIND     = 0x002, // Killer was blind
	KILLRARITY_NOSCOPE          = 0x004, // No-scope sniper rifle kill
	KILLRARITY_PENETRATED       = 0x008, // Penetrated kill (through walls)
	KILLRARITY_THRUSMOKE        = 0x010, // Smoke grenade penetration kill (bullets went through smoke)
	KILLRARITY_ASSISTEDFLASH    = 0x020, // Assister helped with a flash
	KILLRARITY_DOMINATION_BEGAN = 0x040, // Killer player began dominating the victim (NOTE: this flag is set once)
	KILLRARITY_DOMINATION       = 0x080, // Continues domination by the killer
	KILLRARITY_REVENGE          = 0x100, // Revenge by the killer
	KILLRARITY_INAIR            = 0x200  // Killer was in the air (skill to deal with high inaccuracy)
};
```

## reapi 5.26.0.338 / reapi.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi
- Group: reapi 5.26.0.338
- Functions: 18
- Documented constants: 12

### Constants

#### hooks_tables_e

hooks_tables_e

```pawn
enum hooks_tables_e
{
	ht_engine,
	ht_gamedll,
	ht_animating,
	ht_player,
	ht_gamerules,
	ht_rechecker,
	ht_grenade,
	ht_weaponbox,
	ht_weapon,
	ht_gib,
	ht_cbaseentity,
	ht_botmanager
};
```

#### members_tables_e

members_tables_e

```pawn
enum members_tables_e
{
	mt_gamerules,
	mt_base,
	mt_animating,
	mt_basemonster,
	mt_player,
	mt_entvars,
	mt_playermove,
	mt_movevars,
	mt_usercmd,
	mt_pmtrace,
	mt_csplayer,
	mt_baseitem,
	mt_baseweapon,
	mt_weaponbox,
	mt_armoury,
	mt_grenade,
	mt_p228,
	mt_scout,
	mt_hegrenade,
	mt_xm1014,
	mt_c4,
	mt_mac10,
	mt_aug,
	mt_smokegrenade,
	mt_elite,
	mt_fiveseven,
	mt_ump45,
	mt_sg550,
	mt_galil,
	mt_famas,
	mt_usp,
	mt_glock18,
	mt_awp,
	mt_mp5n,
	mt_m249,
	mt_m3,
	mt_m4a1,
	mt_tmp,
	mt_g3sg1,
	mt_deagle,
	mt_sg552,
	mt_ak47,
	mt_knife,
	mt_p90,
	mt_shield,
	mt_rebuystruct,
	mt_mapinfo,
	mt_csplayerweapon,
	mt_gib,
	mt_netadr,
	mt_csentity,
	mt_netchan
};
```

#### ReAPIFunc

ReAPIFunc

```pawn
#define ReAPIFunc 				{EngineFunc, GamedllFunc, GamedllFunc_CBaseAnimating, GamedllFunc_CBasePlayer, GamedllFunc_CSGameRules, GamedllFunc_CGrenade, GamedllFunc_CWeaponBox, ReCheckerFunc, GamedllFunc_CBasePlayerWeapon, GamedllFunc_CGib, GamedllFunc_CBaseEntity, GamedllFunc_CBotManager}
```

#### is_nullent

is_nullent

```pawn
#define is_nullent(%0)          (%0 == 0 || is_entity(%0) == false)
```

#### MAX_REGION_RANGE

MAX_REGION_RANGE

```pawn
#define MAX_REGION_RANGE        1024
```

#### BEGIN_FUNC_REGION

BEGIN_FUNC_REGION

```pawn
#define BEGIN_FUNC_REGION(%0)   (any:MAX_REGION_RANGE * hooks_tables_e:ht_%0)
```

#### BEGIN_MEMBER_REGION

BEGIN_MEMBER_REGION

```pawn
#define BEGIN_MEMBER_REGION(%0) (any:MAX_REGION_RANGE * members_tables_e:mt_%0)
```

#### set_member

set_member

```pawn
	#define set_member set_member_s
```

#### get_member

get_member

```pawn
	#define get_member get_member_s
```

#### Hookchain return types

Hookchain return types

```pawn
enum
{
	HC_CONTINUE = 0, // Plugin didn't take any action
	HC_SUPERCEDE,    // Skip real function, use my return value
	HC_BREAK,        // Skip all forwards and real function, use my return value
                     // @note Warning: Be very careful, using this type of return will skip calls for all following AMXX plugins

	HC_BYPASS        // Skip calls for all following AMXX plugins, but call the original function
                     // @note Warning: In PRE skips all forwards including POST forwards
};
```

#### AType

Hookchain argument types

```pawn
enum AType
{
	ATYPE_INTEGER = 0,
	ATYPE_FLOAT,
	ATYPE_STRING,
	ATYPE_CLASSPTR,
	ATYPE_EDICT,
	ATYPE_EVARS,
	ATYPE_BOOL,
	ATYPE_VECTOR,
	ATYPE_TRACE
};
```

#### HookChain

HookChain

```pawn
enum HookChain
{
	INVALID_HOOKCHAIN = 0
};
```

### Functions

#### DisableHookChain

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/DisableHookChain
- Line: 170

##### Syntax

```pawn
native bool:DisableHookChain(HookChain:hook);
```

##### Description

Stops a hook from triggering.
Use the return value from RegisterHookChain as the parameter here!

##### Parameters

- `hook`: The hook to stop

#### EnableHookChain

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/EnableHookChain
- Line: 180

##### Syntax

```pawn
native bool:EnableHookChain(HookChain:hook);
```

##### Description

Starts a hook back up.
Use the return value from RegisterHookChain as the parameter here!

##### Parameters

- `hook`: The hook to re-enable

##### Return

Returns true if the function is successfully executed, otherwise false

#### FClassnameIs

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/FClassnameIs
- Line: 237

##### Syntax

```pawn
native bool:FClassnameIs(const entityIndex, const className[]);
```

##### Description

Compares the entity to a specified classname.

##### Note

This native also checks the validity of an entity.

##### Return

true/false

#### GetCurrentHookChainHandle

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/GetCurrentHookChainHandle
- Line: 229

##### Syntax

```pawn
native HookChain:GetCurrentHookChainHandle();
```

##### Description

Returns the current hookchain handle.

##### Return

Returns the hook handle

#### GetGrenadeType

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/GetGrenadeType
- Line: 246

##### Syntax

```pawn
native WeaponIdType:GetGrenadeType(const entityIndex);
```

##### Description

To get WeaponIdType from grenade entity

##### Parameters

- `entity`: Grenade entity

##### Return

return enum's of WeaponIdType

#### GetHookChainReturn

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/GetHookChainReturn
- Line: 200

##### Syntax

```pawn
native any:GetHookChainReturn(AType:type, any:...);
```

##### Description

Gets the return value of the current hookchain.
This has no effect in pre hookchain.

##### Parameters

- `type`: To specify the ATYPE_* parameter, look at the enum AType
- `[maxlen]`: Max length of string (optional)

##### Return

If an integer or boolean or one byte or float, array or everything else is passed via 1st argument and more

#### IsReapiHookOriginalWasCalled

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/IsReapiHookOriginalWasCalled
- Line: 222

##### Syntax

```pawn
native bool:IsReapiHookOriginalWasCalled(ReAPIFunc:function_id);
```

##### Description

Return call state of original API function (that are available into enum).
Look at the enums for parameter lists.

##### Parameters

- `func`: The function to get state

##### Return

Returns true if the original function was called, otherwise false

#### RegisterHookChain

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/RegisterHookChain
- Line: 161

##### Syntax

```pawn
native HookChain:RegisterHookChain(ReAPIFunc:function_id, const callback[], post = 0);
```

##### Description

Hook API function that are available into enum.
Look at the enums for parameter lists.

##### Parameters

- `function`: The function to hook
- `callback`: The forward to call
- `post`: Whether or not to forward this in post

##### Return

Returns a hook handle. Use EnableHookChain/DisableHookChain to toggle the forward on or off

#### SetHookChainArg

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/SetHookChainArg
- Line: 212

##### Syntax

```pawn
native SetHookChainArg(number, AType:type, any:...);
```

##### Description

Set hookchain argument.
This has no effect in post hookchain.

##### Parameters

- `number`: Number of argument
- `value`: New value
- `[maxlen]`: Max length of string (optional)

##### Return

Returns true if the function is successfully executed, otherwise false

#### SetHookChainReturn

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/SetHookChainReturn
- Line: 189

##### Syntax

```pawn
native SetHookChainReturn(AType:type, any:...);
```

##### Description

Sets the return value of a hookchain.

##### Parameters

- `type`: To specify the ATYPE_* parameter, look at the enum AType
- `value`: The value to set the return to

#### engset_view

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/engset_view
- Line: 256

##### Syntax

```pawn
native engset_view(const index, const viewEntity);
```

##### Description

Sets the view entity on a client.
This allows pfnSetView able to hooks.

##### Parameters

- `index`: Client index
- `viewEntity`: Entity index

#### get_viewent

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/get_viewent
- Line: 264

##### Syntax

```pawn
native get_viewent(const index);
```

##### Description

Gets the return index of the current view entity on a client.

##### Parameters

- `index`: Client index

#### has_rechecker

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/has_rechecker
- Line: 307

##### Syntax

```pawn
native bool:has_rechecker();
```

##### Description

Check if Rechecker is available.

##### Return

true/false

#### has_reunion

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/has_reunion
- Line: 293

##### Syntax

```pawn
native bool:has_reunion();
```

##### Description

Check if Reunion is available.

##### Return

true/false

#### has_vtc

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/has_vtc
- Line: 300

##### Syntax

```pawn
native bool:has_vtc();
```

##### Description

Check if VTC is available.

##### Return

true/false

#### is_entity

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/is_entity
- Line: 271

##### Syntax

```pawn
native bool:is_entity(const entityIndex);
```

##### Description

Check if the entity is valid.

##### Return

true/false

#### is_regamedll

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/is_regamedll
- Line: 285

##### Syntax

```pawn
native bool:is_regamedll();
```

##### Description

Check if ReGameDLL is available.

##### Return

true/false

#### is_rehlds

- Include: `reapi.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi/function/is_rehlds
- Line: 278

##### Syntax

```pawn
native bool:is_rehlds();
```

##### Description

Check if ReHLDS is available.

##### Return

true/false

## reapi 5.26.0.338 / reapi_engine.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine
- Group: reapi 5.26.0.338
- Functions: 41
- Documented constants: 1

### Constants

#### MessageHook

MessageHook

```pawn
enum MessageHook
{
	INVALID_MESSAGEHOOK = 0
};
```

### Functions

#### CheckVisibilityInOrigin

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/CheckVisibilityInOrigin
- Line: 194

##### Syntax

```pawn
native CheckVisibilityInOrigin(const ent, Float:origin[3], CheckVisibilityType:type = VisibilityInPVS);
```

##### Description

Test visibility of an entity from a given origin using either PVS or PAS

##### Parameters

- `entity`: Entity index
- `origin`: Vector representing the origin from which visibility is checked
- `type`: Type of visibility check: VisibilityInPVS (Potentially Visible Set) or VisibilityInPAS (Potentially Audible Set)

##### Return

0 - Not visible
1 - Visible, passed by a leafnum
2 - Visible, passed by a headnode

##### Remarks

This function checks the visibility of the specified entity from the given origin, using either
the Potentially Visible Set (PVS) or the Potentially Audible Set (PAS) depending on the provided type

#### DisableHookMessage

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/DisableHookMessage
- Line: 355

##### Syntax

```pawn
native bool:DisableHookMessage(const MessageHook:handle);
```

##### Description

Disables a game message hook identified by the specified handle.

##### Parameters

- `handle`: The handle of the message hook to disable.

##### Return

Returns true if the message hook is successfully disabled, otherwise false.

#### EnableHookMessage

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/EnableHookMessage
- Line: 346

##### Syntax

```pawn
native bool:EnableHookMessage(const MessageHook:handle);
```

##### Description

Enables a game message hook identified by the specified handle.

##### Parameters

- `handle`: The handle of the message hook to enable.

##### Return

Returns true if the message hook is successfully enabled, otherwise false.

#### GetAttachment

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/GetAttachment
- Line: 136

##### Syntax

```pawn
native GetAttachment(const entity, const attachment, Float:vecOrigin[3], Float:vecAngles[3] = {0.0, 0.0, 0.0});
```

##### Description

Gets the position of the attachment

##### Parameters

- `entity`: Entity index
- `attachment`: Number of the attachment
- `vecOrigin`: Array to store origin in
- `vecAngles`: Array to store angles in

##### Return

1 on success, 0 otherwise

##### Error

If the index is not within the range of 1 to maxEntities or
the entity is not valid, an error will be thrown.

#### GetBodygroup

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/GetBodygroup
- Line: 163

##### Syntax

```pawn
native GetBodygroup(const entity, const group);
```

##### Description

Gets body group value based on entity's model group

##### Parameters

- `entity`: Entity index
- `group`: Number of entity's model group index

##### Return

Body group value

##### Error

If the index is not within the range of 1 to maxEntities or
the entity is not valid, an error will be thrown.

#### GetBonePosition

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/GetBonePosition
- Line: 122

##### Syntax

```pawn
native GetBonePosition(const entity, const bone, Float:vecOrigin[3], Float:vecAngles[3] = {0.0, 0.0, 0.0});
```

##### Description

Gets the position of the bone

##### Parameters

- `entity`: Entity index
- `bone`: Number of the bone
- `vecOrigin`: Array to store origin in
- `vecAngles`: Array to store angles in

##### Return

1 on success, 0 otherwise

##### Error

If the index is not within the range of 1 to maxEntities or
the entity is not valid, an error will be thrown.

#### GetMessageArgType

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/GetMessageArgType
- Line: 394

##### Syntax

```pawn
native MsgArgType:GetMessageArgType(const number);
```

##### Description

Retrieves the type of the argument at the specified number in the current game message.

##### Parameters

- `number`: The number of the argument to retrieve the type for.

##### Return

Returns the type of the argument, look at the enum MsgArgType

#### GetMessageArgsNum

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/GetMessageArgsNum
- Line: 401

##### Syntax

```pawn
native GetMessageArgsNum();
```

##### Description

Retrieves the number of argument in the current game message.

##### Return

Returns the number of argument in the current game message.

#### GetMessageBlock

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/GetMessageBlock
- Line: 420

##### Syntax

```pawn
native MsgBlockType:GetMessageBlock(const msgid);
```

##### Description

Retrieves the block type for the specified message ID.

##### Parameters

- `msgid`: The ID of the message to retrieve the block type for.

##### Return

Returns the block type of the specified message, look at the enum MsgBlockType

#### GetMessageData

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/GetMessageData
- Line: 375

##### Syntax

```pawn
native any:GetMessageData(const MsgDataType:type, any:...);
```

##### Description

Gets the message data value in the current game message

##### Parameters

- `type`: The type of message data that can be get
- `...`: Additional args depending on the type of the message argument being retrieved (For more details, look at the enum MsgArgType)

##### Return

Returns value of argument in the current message

#### GetMessageOrigData

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/GetMessageOrigData
- Line: 385

##### Syntax

```pawn
native any:GetMessageOrigData(const MsgDataType:type, any:...);
```

##### Description

Gets the message data original value in the current game message.

##### Parameters

- `type`: The type of message data that can be get
- `...`: Additional args depending on the type of the message argument being retrieved (For more details, look at the enum MsgArgType)

##### Return

Returns original value of argument in the current message

#### GetSequenceInfo

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/GetSequenceInfo
- Line: 178

##### Syntax

```pawn
native bool:GetSequenceInfo(const entity, &piFlags, &Float:pflFrameRate, &Float:pflGroundSpeed);
```

##### Description

Gets sequence information based on entity's model current sequence index

##### Parameters

- `entity`: Entity index
- `piFlags`: Sequence flags (1 = sequence loops)
- `pflFrameRate`: Sequence framerate
- `pflGroundSpeed`: Sequence ground speed

##### Return

True on success, false otherwise

##### Error

If the index is not within the range of 1 to maxEntities or
the entity is not valid, an error will be thrown.

#### IsMessageDataModified

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/IsMessageDataModified
- Line: 442

##### Syntax

```pawn
native bool:IsMessageDataModified(MsgDataType:type = MsgAny, const number = -1);
```

##### Description

Checks if the specified type of message data has been modified

This native allows you to check if any part of the message data, such as its
destination, type, origin, receiver, or any the specific argument of the message, has been modified

##### Parameters

- `type`: The type of the data to check for modification
This can be one of the following:
- MsgAny:      Check if any part of the message has been modified
- MsgDest:     Check if the destination has been modified
- MsgIndex:    Check if the message ID has been modified
- MsgOrigin:   Check if the origin has been modified
- MsgTargetId: Check if the index of the recipient client has been modified
- MsgArg:      Check if a specific argument of the message has been modified
- `number`: The number of the argument to check for modification (used only when type is MsgDataType:MsgArg)
Default value is -1, which means the argument number is not applicable

##### Return

Returns true if the specified data type has been modified, false otherwise

#### RegisterMessage

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/RegisterMessage
- Line: 328

##### Syntax

```pawn
native MessageHook:RegisterMessage(const msg_id, const callback[], post = 0);
```

##### Description

Registers a callback function to be called when a game message with the specified ID is received.

##### Parameters

- `msg_id`: The ID of the message to register the callback for.
- `callback`: The name of the callback function.
- `post`: Whether the callback should be invoked before or after processing the message. (optional)

##### Note

The callback arguments have:
msg_id          - Message id
msg_dest        - Destination type (see MSG_* constants in messages_const.inc)
msg_entity      - Entity receiving the message

##### Note

You can modify the message content using SetMessageData native before the original function is invoked.
Also can reading the message content using GetMessageData native.
In the callback function, use the return values from Hookchain return types, such as HC_CONTINUE, HC_SUPERCEDE, etc.
to control the flow of message processing.

##### Return

Returns a handle to the registered message hook.

#### ResetModifiedMessageData

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/ResetModifiedMessageData
- Line: 461

##### Syntax

```pawn
native bool:ResetModifiedMessageData(MsgDataType:type = MsgAny, const number = -1);
```

##### Description

Resets a specific type of message data to its original value

##### Parameters

- `type`: The type of the data to check for modification
This can be one of the following:
- MsgAny:      Reset all modified message data to its original values
- MsgDest:     Reset the destination to its original value
- MsgIndex:    Reset the message ID to its original value
- MsgOrigin:   Reset the origin to its original value
- MsgTargetId: Reset the index of the recipient client to its original value
- MsgArg:      Reset a specific argument of the message to its original value
- `number`: The number of the argument to reset (used only when type is MsgDataType:MsgArg)
Default value is -1, which means all arguments will be reset.

##### Return

Returns true if the modified data type was reset, otherwise false.

#### SetBodygroup

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/SetBodygroup
- Line: 150

##### Syntax

```pawn
native SetBodygroup(const entity, const group, const value);
```

##### Description

Sets body group value based on entity's model group

##### Parameters

- `entity`: Entity index
- `group`: Number of entity's model group index
- `value`: Value to assign

##### Return

1 on success, 0 otherwise

##### Error

If the index is not within the range of 1 to maxEntities or
the entity is not valid, an error will be thrown.

#### SetMessageBlock

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/SetMessageBlock
- Line: 411

##### Syntax

```pawn
native bool:SetMessageBlock(const msgid, MsgBlockType:type);
```

##### Description

Sets the block type for the specified message ID.

##### Parameters

- `msgid`: The ID of the message to set the block type for.
- `type`: The type of block to set for the message, look at the enum MsgBlockType

##### Return

Returns true if the block type is successfully set, otherwise false.

#### SetMessageData

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/SetMessageData
- Line: 365

##### Syntax

```pawn
native bool:SetMessageData(const MsgDataType:type, any:...);
```

##### Description

Sets the message data in the current game message.

##### Parameters

- `type`: The type of the message data that can be changed
- `...`: Additional args depending on the type of the message argument being retrieved (For more details, look at the enum MsgArgType)

##### Return

Returns true if the message data is successfully set, otherwise false.

#### UnregisterMessage

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/UnregisterMessage
- Line: 337

##### Syntax

```pawn
native bool:UnregisterMessage(const MessageHook:handle);
```

##### Description

Unregisters a game message hook identified by the specified handle.

##### Parameters

- `handle`: The handle of the message hook to unregister.

##### Return

Returns true if the message hook is successfully unregistered, otherwise false.

#### get_entvar

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/get_entvar
- Line: 19

##### Syntax

```pawn
native any:get_entvar(const index, const EntVars:var, any:...);
```

##### Description

Returns entvar data from an entity.
Use the var_* EntVars enum

#### get_key_value

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/get_key_value
- Line: 74

##### Syntax

```pawn
native get_key_value(const pbuffer, const key[], const value[], const maxlen);
```

##### Description

Gets value for key in buffer

##### Parameters

- `pbuffer`: Pointer to buffer
- `key`: Key string
- `value`: Buffer to copy value to
- `maxlen`: Maximum size of the buffer

##### Return

Number of cells written to buffer

##### Error

If invalid buffer handler provided, an error will be thrown.

#### get_key_value_buffer

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/get_key_value_buffer
- Line: 97

##### Syntax

```pawn
native get_key_value_buffer(const pbuffer, const output[], const maxlen);
```

##### Description

Gets an AMXX string buffer from a infobuffer pointer

##### Parameters

- `buffer`: Info string pointer
- `value`: String to copy value to
- `maxlen`: Maximum size of the output buffer

##### Return

Returns a string buffer on infobuffer pointer

#### get_netadr

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/get_netadr
- Line: 61

##### Syntax

```pawn
native any:get_netadr(const adr, const NetAdrVars:var, any:...);
```

##### Description

Returns a NetAdr var

##### Parameters

- `var`: The specified mvar, look at the enum NetAdrVars

##### Return

If an integer or boolean or one byte, array or everything else is passed via the 3rd argument and more, look at the argument list for the specified mvar

#### get_netchan

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/get_netchan
- Line: 43

##### Syntax

```pawn
native any:get_netchan(const index, const NetChan:var, any:...);
```

##### Description

Returns metchan data from an client.
Use the net_* NetChan enum

#### get_ucmd

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/get_ucmd
- Line: 31

##### Syntax

```pawn
native any:get_ucmd(const ucmd, const UCmd:var, any:...);
```

##### Description

Returns usercmd data from an entity.
Use the ucmd_* UCmd enum

#### rh_drop_client

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_drop_client
- Line: 260

##### Syntax

```pawn
native rh_drop_client(const index, const message[] = "");
```

##### Description

Kicks a client from server with message

##### Parameters

- `index`: Client index
- `message`: Message that will be sent to client when it is deleted from server

##### Return

This function has no return value.

#### rh_emit_sound2

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_emit_sound2
- Line: 240

##### Syntax

```pawn
native bool:rh_emit_sound2(const entity, const recipient, const channel, const sample[], Float:vol = VOL_NORM, Float:attn = ATTN_NORM, const flags = 0, const pitch = PITCH_NORM, emitFlags = 0, const Float:origin[3] = {0.0,0.0,0.0});
```

##### Description

Emits a sound from an entity from the engine.

##### Parameters

- `entity`: Entity index or use 0 to emit from worldspawn at the specified position
- `recipient`: Recipient index or use 0 to make all clients hear it
- `channel`: Channel to emit from
- `sample`: Sound file to emit
- `vol`: Volume in percents
- `attn`: Sound attenuation
- `flags`: Emit flags
- `pitch`: Sound pitch
- `emitFlags`: Additional Emit2 flags, look at the defines like SND_EMIT2_*
- `origin`: Specify origin and only on "param" entity worldspawn that is 0

##### Return

true if the emission was successfull, false otherwise

#### rh_get_client_connect_time

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_get_client_connect_time
- Line: 280

##### Syntax

```pawn
native rh_get_client_connect_time(const index);
```

##### Description

Returns client's netchan playing time in seconds.

##### Parameters

- `index`: Client index

##### Return

Netchan connection time in seconds or 0 if client index is invalid or client is not connected

#### rh_get_mapname

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_get_mapname
- Line: 215

##### Syntax

```pawn
native rh_get_mapname(output[], len, MapNameType:type = MNT_SET);
```

##### Description

Gets the name of the map.

##### Parameters

- `output`: Buffer to copy map name to
- `len`: Maximum buffer size
- `type`: MNT_SET will return the name of the current map
MNT_TRUE will return the original map name independant of the name set with via rh_set_mapname

##### Return

This function has no return value.

#### rh_get_net_from

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_get_net_from
- Line: 271

##### Syntax

```pawn
native rh_get_net_from(output[], len);
```

##### Description

-

##### Parameters

- `output`: Buffer to copy the ip address
- `len`: Maximum buffer size

##### Return

This function has no return value.

#### rh_get_realtime

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_get_realtime
- Line: 301

##### Syntax

```pawn
native Float:rh_get_realtime();
```

##### Description

Get real game time throughout the entire server lifecycle.

##### Return

Real game time

#### rh_is_entity_fullpacked

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_is_entity_fullpacked
- Line: 294

##### Syntax

```pawn
native bool:rh_is_entity_fullpacked(const host, const entity, const frame = -1);
```

##### Description

Checks if a specific entity is present in the host's outgoing entity table for a given frame,
indicating it has passed the visibility check (AddToFullPack) and is ready for client transmission.

##### Parameters

- `host`: Host index for whom we are checking the entity. (Host cannot be a fake client)
- `entity`: Entity index to find in the table of entities for the given frame.
- `frame`: Frame index where to look. Default is -1, which checks the previous frame.

##### Note

To check in the current frame, this native should be called at the end of the server frame.

##### Return

Returns true if the entity is present in the host's outgoing entity table and
ready to be sent to all clients in the given frame, otherwise false.

#### rh_reset_mapname

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_reset_mapname
- Line: 222

##### Syntax

```pawn
native rh_reset_mapname();
```

##### Description

Reverts back the original map name.

##### Return

This function has no return value.

#### rh_set_mapname

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_set_mapname
- Line: 203

##### Syntax

```pawn
native rh_set_mapname(const mapname[]);
```

##### Description

Sets the name of the map.

##### Parameters

- `mapname`: New map name.

##### Return

This function has no return value.

#### rh_update_user_info

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/rh_update_user_info
- Line: 249

##### Syntax

```pawn
native rh_update_user_info(const index);
```

##### Description

Forces an userinfo update

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

#### set_entvar

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/set_entvar
- Line: 13

##### Syntax

```pawn
native set_entvar(const index, const EntVars:var, any:...);
```

##### Description

Sets entvars data for an entity.
Use the var_* EntVars enum

#### set_key_value

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/set_key_value
- Line: 86

##### Syntax

```pawn
native set_key_value(const pbuffer, const key[], const value[]);
```

##### Description

Sets value for key in buffer

##### Parameters

- `pbuffer`: Pointer to buffer
- `key`: Key string
- `value`: Value to set

##### Return

This function has no return value.

##### Error

If invalid buffer handler provided, an error will be thrown.

#### set_key_value_buffer

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/set_key_value_buffer
- Line: 108

##### Syntax

```pawn
native set_key_value_buffer(const pbuffer, const value[], const maxlen = -1);
```

##### Description

Sets value string to entire buffer

##### Parameters

- `buffer`: Pointer to buffer
- `value`: Value to set
- `maxlen`: Maximum size of the value buffer to set, -1 means copy all characters

##### Return

1 on success, 0 otherwise

#### set_netadr

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/set_netadr
- Line: 52

##### Syntax

```pawn
native set_netadr(const adr, const NetAdrVars:var, any:...);
```

##### Description

Sets a NetAdr var.

##### Parameters

- `var`: The specified mvar, look at the enum NetAdrVars

##### Return

1 on success.

#### set_netchan

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/set_netchan
- Line: 37

##### Syntax

```pawn
native set_netchan(const index, const NetChan:var, any:...);
```

##### Description

Sets netchan data.
Use the net_* NetChan enum

#### set_ucmd

- Include: `reapi_engine.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine/function/set_ucmd
- Line: 25

##### Syntax

```pawn
native set_ucmd(const ucmd, const UCmd:var, any:...);
```

##### Description

Sets usercmd data.
Use the ucmd_* UCmd enum

## reapi 5.26.0.338 / reapi_engine_const.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_engine_const
- Group: reapi 5.26.0.338
- Functions: 0
- Documented constants: 14

### Constants

#### MapNameType

For native rh_get_mapname

```pawn
enum MapNameType
{
	MNT_TRUE,   // return the original map name independant of the name set with via rh_set_mapname
	MNT_SET     // return the name of the current map
};
```

#### CheckVisibilityType

For native CheckVisibilityInOrigin

```pawn
enum CheckVisibilityType
{
	VisibilityInPVS = 0, // Check in Potentially Visible Set (PVS)
	VisibilityInPAS      // Check in Potentially Audible Set (PAS)
};
```

#### ResourceType_t

For RH_SV_AddResource hook

```pawn
enum ResourceType_t
{
	t_sound = 0,
	t_skin,
	t_model,
	t_decal,
	t_generic,
	t_eventscript,
	t_world,		// Fake type for world, is really t_model
	rt_unk,

	rt_max
};
```

#### SND_EMIT2_NOPAS

rh_emit_sound2 flags

```pawn
#define SND_EMIT2_NOPAS   BIT(0) // Never to check PAS
#define SND_EMIT2_INVOKER BIT(1) // Do not send to the client invoker
```

#### EngineFunc

enum EngineFunc

```pawn
enum EngineFunc
{
	/*
	* Description:  -
	* Params:       (const recipients, const entity, const channel, const sample[], const volume, Float:attenuation, const fFlags, const pitch)
	*/
	RH_SV_StartSound = BEGIN_FUNC_REGION(engine),

	/*
	* Description:  -
	* Params:       (const client, bool:crash, const fmt[])
	*/
	RH_SV_DropClient,

	/*
	* Description:  -
	* Params:       (const runPhysics)
	*/
	RH_SV_ActivateServer,

	/*
	* Description:  -
	* Params:       (pcvar, const value[])
	*/
	RH_Cvar_DirectSet,

	/*
	* Description:  Receiver is player index or 0 when update will be sended to all.
	* Params:       (const client, buffer, const receiver)
	*/
	RH_SV_WriteFullClientUpdate,

	/*
	* Description:  -
	* Params:       (const classname[])
	*/
	RH_GetEntityInit,

	/*
	* Description:  Called after processing a client connection request.
	* Params:       (const client)
	*/
	RH_ClientConnected,

	/*
	* Description:  Called when processing a 'connect' client connectionless packet.
	* Params:       ()
	*/
	RH_SV_ConnectClient,

	/*
	* Description:  Called when client it's in the scoreboard
	* Params:       (const client)
	*/
	RH_SV_EmitPings,

	/*
	* Description:  Called when an entity is created.
	* Return type:  Edict * (Entity index)
	* Params:       ()
	*/
	RH_ED_Alloc,

	/*
	* Description:  Called when an entity is removed (freed from server).
	* Params:       (const entity)
	*/
	RH_ED_Free,

	/*
	* Description:  Called when a message is being sent to the server's console.
	* Params:       (const string[])
	*/
	RH_Con_Printf,

	/*
	* Description:   Called when a player's userinfo is being checked.
	* Params:        (adr, buffer, bool:reconnect, reconnectSlot, name[])
	*
	* @note          Param adr is unused, guaranteed to return nothing also, don't send anything through it.
	* @note          In order for param name work, hook needs to be registered as Post.
	*/
	RH_SV_CheckUserInfo,

	/*
	* Description:  Called when a generic resource is being added to generic precache list.
	* Return type:  int
	* Params:       (const string[])
	*/
	RH_PF_precache_generic_I,

	/*
	* Description:  Called when a model is being added to model precache list.
	* Return type:  int
	* Params:       (const string[])
	*/
	RH_PF_precache_model_I,

	/*
	* Description:  Called when a sound is being added to sound precache list.
	* Return type:  int
	* Params:       (const string[])
	*/
	RH_PF_precache_sound_I,

	/*
	* Description:  Called when an event is being added to event precache list.
	* Return type:  int
	* Params:       (const string[])
	*/
	RH_EV_Precache,

	/*
	* Description:  Called when a resource is being added to resource list.
	* Params:       (ResourceType_t:type, const filename[], size, flags, index)
	*/
	RH_SV_AddResource,

	/*
	* Description:  Called when message is being printed to client console.
	* Params:       (const string[])
	*/
	RH_SV_ClientPrintf,

	/*
	* Description:  Called before adding an entity to the physents of a player.
	* Return type:  bool
	* Params:       (const entity, const client)
	*/
	RH_SV_AllowPhysent,

	/*
	* Description:  Called when a command is being sent to server.
	* Params:       (const cmd[], source, id)
	*/
	RH_ExecuteServerStringCmd,

	/*
	* Description:  Called when server sends resources list and location.
	* Params:       (const client)
	*/
	RH_SV_SendResources,

};
```

#### EntVars

enum EntVars

```pawn
enum EntVars
{
	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_classname = BEGIN_MEMBER_REGION(entvars),

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_globalname,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_origin,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_oldorigin,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_velocity,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_basevelocity,

	/*
	* Description:      Base velocity that was passed in to server physics so client can predict conveyors correctly. Server zeroes it, so we need to it store here, too.
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_clbasevelocity,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_movedir,

	/*
	* Description:      Angles model.
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_angles,

	/*
	* Description:      Angle velocity (degrees per second).
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_avelocity,

	/*
	* Description:      Auto-decaying view angle adjustment.
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_punchangle,

	/*
	* Description:      View angle (player only).
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_v_angle,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_endpos,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_startpos,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_impacttime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_starttime,

	/*
	* Description:      0:nothing, 1:force view angles, 2:add avelocity
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_fixangle,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_idealpitch,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_pitch_speed,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_ideal_yaw,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_yaw_speed,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_modelindex,

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_model,

	/*
	* Description:      Player's viewmodel.
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_viewmodel,

	/*
	* Description:      The model that other players see.
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_weaponmodel,

	/*
	* Description:      BB min translated to world coord.
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_absmin,

	/*
	* Description:      BB max translated to world coord.
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_absmax,

	/*
	* Description:      Local BB min.
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_mins,

	/*
	* Description:      Local BB max.
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_maxs,

	/*
	* Description:      maxs - mins
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_size,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_ltime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_nextthink,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_movetype,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_solid,

	/*
	* Description:      Skin selection for studio models.
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_skin,

	/*
	* Description:      Sub-model selection for studio models.
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_body,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_effects,

	/*
	* Description:      % of "normal" gravity.
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_gravity,

	/*
	* Description:      Inverse elasticity of MOVETYPE_BOUNCE
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_friction,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_light_level,

	/*
	* Description:      Animation sequence.
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_sequence,

	/*
	* Description:      Movement animation sequence for player (0 for none)
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_gaitsequence,

	/*
	* Description:      % playback position in animation sequences (0..255)
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_frame,

	/*
	* Description:      World time when frame was set.
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_animtime,

	/*
	* Description:      Animation playback rate (-8x to 8x)
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_framerate,

	/*
	* Description:      Bone controller setting (0..255)
	* Member type:      byte [4]
	* Get params:       get_entvar(index, EntVars:var, element);
	* Set params:       set_entvar(index, EntVars:var, value, element);
	*/
	var_controller,

	/*
	* Description:      Blending amount between sub-sequences (0..255)
	* Member type:      byte [2]
	* Get params:       get_entvar(index, EntVars:var, element);
	* Set params:       set_entvar(index, EntVars:var, value, element);
	*/
	var_blending,

	/*
	* Description:      Sprite rendering scale (0..255)
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_scale,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_rendermode,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_renderamt,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_rendercolor,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_renderfx,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_health,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_frags,

	/*
	* Description:      bit mask for available weapons
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_weapons,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_takedamage,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_deadflag,

	/*
	* Description:      eye position
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_view_ofs,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_button,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_impulse,

	/*
	* Description:      Entity pointer when linked into a linked list.
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_chain,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_dmg_inflictor,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_enemy,

	/*
	* Description:      Entity pointer when MOVETYPE_FOLLOW
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_aiment,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_owner,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_groundentity,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_spawnflags,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_flags,

	/*
	* Description:      lowbyte topcolor, highbyte bottomcolor
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_colormap,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_team,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_max_health,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_teleport_time,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_armortype,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_armorvalue,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_waterlevel,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_watertype,

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_target,

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_targetname,

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_netname,

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_message,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_dmg_take,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_dmg_save,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_dmg,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_dmgtime,

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_noise,

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_noise1,

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_noise2,

	/*
	* Description:      -
	* Member type:      string_t
	* Get params:       get_entvar(index, EntVars:var, dest[], const lenght);
	* Set params:       set_entvar(index, EntVars:var, const source[]);
	*/
	var_noise3,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_speed,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_air_finished,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_pain_finished,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_radsuit_finished,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_pContainingEntity,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_playerclass,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_maxspeed,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_fov,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_weaponanim,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_pushmsec,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_bInDuck,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_flTimeStepSound,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_flSwimTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_flDuckTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_iStepLeft,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_flFallVelocity,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_gamestate,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_oldbuttons,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_groupinfo,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_iuser1,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_iuser2,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_iuser3,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_iuser4,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_fuser1,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_fuser2,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_fuser3,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, Float:value);
	*/
	var_fuser4,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_vuser1,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_vuser2,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_vuser3,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_entvar(index, EntVars:var, Float:output[3]);
	* Set params:       set_entvar(index, EntVars:var, Float:dest[3]);
	*/
	var_vuser4,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_euser1,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_euser2,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_euser3,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_entvar(index, EntVars:var);
	* Set params:       set_entvar(index, EntVars:var, value);
	*/
	var_euser4
};
```

#### UCmd

enum UCmd

```pawn
enum UCmd
{
	/*
	* Description:      -
	* Member type:      short
	* Get params:       get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, value);
	*/
	ucmd_lerp_msec = BEGIN_MEMBER_REGION(usercmd),

	/*
	* Description:      -
	* Member type:      byte
	* Get params:       get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, value);
	*/
	ucmd_msec,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_ucmd(const ucmd, UCmd:var, Float:output[3]);
	* Set params:       set_ucmd(const ucmd, UCmd:var, Float:dest[3]);
	*/
	ucmd_viewangles,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, Float:value);
	*/
	ucmd_forwardmove,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, Float:value);
	*/
	ucmd_sidemove,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, Float:value);
	*/
	ucmd_upmove,

	/*
	* Description:      -
	* Member type:      byte
	* Get params:       get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, value);
	*/
	ucmd_lightlevel,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, value);
	*/
	ucmd_buttons,

	/*
	* Description:      -
	* Member type:      byte
	* Get params:       get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, value);
	*/
	ucmd_impulse,

	/*
	* Description:      -
	* Member type:      byte
	* Get params:       get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, value);
	*/
	ucmd_weaponselect,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_ucmd(const ucmd, UCmd:var);
	* Set params:       set_ucmd(const ucmd, UCmd:var, value);
	*/
	ucmd_impact_index,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_ucmd(const ucmd, UCmd:var, Float:output[3]);
	* Set params:       set_ucmd(const ucmd, UCmd:var, Float:dest[3]);
	*/
	ucmd_impact_position
};
```

#### NetAdrType

NetAdrType

```pawn
enum NetAdrType
{
	NA_NULL = 0,
	NA_LOOPBACK,
	NA_BROADCAST,
	NA_IP,
	NA_IPX,				// Deprecated: GoldSrc
	NA_BROADCAST_IPX,	// Deprecated: GoldSrc
};
```

#### NetAdrVars

NetAdrVars

```pawn
enum NetAdrVars
{
	/*
	* Description:      -
	* Member type:      NetAdrType
	* Get params:       get_netadr(const NetAdr:adr, const NetAdrVars:var);
	* Set params:       set_netadr(const NetAdr:adr, const NetAdrVars:var, const value);
	*/
	netadr_type = BEGIN_MEMBER_REGION(netadr),

	/*
	* Description:      -
	* Member type:      unsigned char [4]
	* Get params:       get_netadr(const NetAdr:adr, const NetAdrVars:var, dest[], const lenght); // Also returns a iplong value
	* Set params:       set_netadr(const NetAdr:adr, const NetAdrVars:var, const iplong_value); // Only iplong can to set
	*/
	netadr_ip,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_netadr(const NetAdr:adr, const NetAdrVars:var);
	* Set params:       set_netadr(const NetAdr:adr, const NetAdrVars:var, const value);
	*/
	netadr_port
};
```

#### NetSrc

enum NetSrc

```pawn
enum NetSrc
{
	NS_CLIENT,
	NS_SERVER,
	NS_MULTICAST	// xxxMO
};
```

#### NetChan

enum NetChan

```pawn
enum NetChan
{
	/*
	* Description:      NS_SERVER or NS_CLIENT, depending on channel
	* Member type:      int
	* Get params:       NetSrc:get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, NetSrc:value);
	*/
	net_sock = BEGIN_MEMBER_REGION(netchan),

	/*
	* Description:      Address this channel is talking to
	* Member type:      NetAdr
	* Get params:       NetAdr:get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, NetAdr:value);
	*/
	net_remote_address,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, value);
	*/
	net_player_slot,

	/*
	* Description:      For timeouts. Time last message was received
	* Member type:      float
	* Get params:       Float:get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, Float:value);
	*/
	net_last_received,

	/*
	* Description:      Time when channel was connected
	* Member type:      float
	* Get params:       Float:get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, Float:value);
	*/
	net_connect_time,

	/*
	* Description:      Bandwidth choke. (Bytes per second)
	* Member type:      float
	* Get params:       Float:get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, Float:value);
	*/
	net_rate,

	/*
	* Description:      If rh_get_realtime() > cleartime, free to send next packet.
	* Member type:      float
	* Get params:       Float:get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, Float:value);
	*/
	net_cleartime,

	/*
	* Description:      A sequence number that increases with each incoming bunch of packets.
	* Member type:      int
	* Get params:       get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, value);
	*/
	net_incoming_sequence,

	/*
	* Description:      The number of last outgoing message that has been ack'd.
	* Member type:      int
	* Get params:       get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, value);
	*/
	net_incoming_acknowledged,

	/*
	* Description:      Single bit indicating the state of acknowledgment for the last reliable message.
	* Member type:      int
	* Get params:       get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, value);
	*/
	net_incoming_reliable_acknowledged,

	/*
	* Description:      Single bit, maintained local that toggles between 0 and 1 to track the sequence of reliable messages received
	* Member type:      int
	* Get params:       get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, value);
	*/
	net_incoming_reliable_sequence,

	/*
	* Description:      Message we are sending to remote
	* Member type:      int
	* Get params:       get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, value);
	*/
	net_outgoing_sequence,

	/*
	* Description:      Whether the message contains reliable payload, single bit
	* Member type:      int
	* Get params:       get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, value);
	*/
	net_reliable_sequence,

	/*
	* Description:      Outgoing sequence number of last send that had reliable data
	* Member type:      int
	* Get params:       get_netchan(const index, NetChan:var);
	* Set params:       set_netchan(const index, NetChan:var, value);
	*/
	net_last_reliable_sequence
};
```

#### MsgArgType

Message argument types used with GetMessageArgType()

```pawn
enum MsgArgType
{
	ArgByte,
	ArgChar,
	ArgShort,
	ArgLong,
	ArgAngle,
	ArgCoord,
	ArgString,
	ArgEntity,
};
```

#### MsgDataType

Message data types used with SetMessageData()/GetMessageData()
                             HasModifiedMessageData()/ResetModifiedMessageData()

```pawn
enum MsgDataType
{
	/*
	* Description:      Any part of the message
	*/
	MsgAny,

	/*
	* Description:      The destination of the message
	* Arg type:         integer
	* Get params:       new dest = GetMessageData(MsgDest);
	* Set params:       SetMessageData(MsgDest, MSG_ALL);
	*/
	MsgDest,

	/*
	* Description:      The index of the message
	* Arg type:         integer
	* Get params:       new msg_id = GetMessageData(MsgMsgId);
	* Set params:       SetMessageData(MsgMsgId, const msg_id);
	*/
	MsgMsgId,

	/*
	* Description:      The origin of the message
	* Arg type:         float [3]
	* Get params:       GetMessageData(MsgOrigin, Float:dstVector[3]);
	* Set params:       SetMessageData(MsgOrigin, Float:srcVector[3]);
	*/
	MsgOrigin,

	/*
	* Description:      The index of the recipient client
	* Arg type:         integer
	* Get params:       new targetId = GetMessageData(MsgTargetId);
	* Set params:       SetMessageData(MsgTargetId, const targetId); (acceptable indexes 0-32, 0 index also as -1 means NULLENT)
	*/
	MsgTargetId,

	/*
	* Description:      The arguments of the message
	*
	* Arg type:         string (ArgString)
	* Get params:       bool:GetMessageData(MsgArg, const argnumber, value[], const maxlen);
	* Set params:       bool:SetMessageData(MsgArg, const argnumber, const value[]);
	*
	* Arg type:         float (ArgAngle, ArgCoord)
	* Get params:       Float:GetMessageData(MsgArg, const argnumber, &Float:value = 0.0);
	* Set params:       bool:SetMessageData(MsgArg, const argnumber, const Float:value);
	*
	* Arg type:         integer (ArgByte, ArgChar, ArgShort, ArgLong, ArgEntity)
	* Get params:       GetMessageData(MsgArg, const argnumber);
	* Set params:       bool:SetMessageData(MsgArg, const argnumber, const value);
	*/
	MsgArg
};
```

#### MsgBlockType

Blocking behavior types for messages
Flags for natives SetMessageBlock()/GetMessageBlock()

```pawn
enum MsgBlockType
{
	MSG_BLOCK_NOT,  // Not a block
	MSG_BLOCK_ONCE, // Block once
	MSG_BLOCK_SET   // Set block
};
```

## reapi 5.26.0.338 / reapi_gamedll.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll
- Group: reapi 5.26.0.338
- Functions: 109
- Documented constants: 0

### Functions

#### SetBlocked

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/SetBlocked
- Line: 67

##### Syntax

```pawn
native SetBlocked(const ent, const callback[], const params[] = "", const len = 0);
```

##### Description

Sets Blocked callback for entity

##### Parameters

- `entity`: Entity index
- `callback`: The forward to call
- `params`: Optional set of data to pass through to callback
- `len`: Optional size of data

##### Note

Use "" to reset callback

##### Note

Callback should be contains passing arguments as "public Blocked_Callback(const ent, const other)"

##### Return

This function has no return value.

#### SetMoveDone

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/SetMoveDone
- Line: 83

##### Syntax

```pawn
native SetMoveDone(const ent, const callback[], const params[] = "", const len = 0);
```

##### Description

Sets MoveDone callback for entity

##### Parameters

- `entity`: Entity index
- `callback`: The forward to call
- `params`: Optional set of data to pass through to callback
- `len`: Optional size of data

##### Note

Use "" to reset callback

##### Note

Entity should be inherited from CBaseToggle, otherwise server can crash

##### Note

Callback should be contains passing arguments as "public MoveDone_Callback(const ent)"

##### Return

This function has no return value.

#### SetThink

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/SetThink
- Line: 22

##### Syntax

```pawn
native SetThink(const ent, const callback[], const params[] = "", const len = 0);
```

##### Description

Sets Think callback for entity

##### Parameters

- `entity`: Entity index
- `callback`: The forward to call
- `params`: Optional set of data to pass through to callback
- `len`: Optional size of data

##### Note

Use "" to reset callback

##### Note

Callback should be contains passing arguments as "public Think_Callback(const ent)"

##### Return

This function has no return value.

#### SetTouch

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/SetTouch
- Line: 37

##### Syntax

```pawn
native SetTouch(const ent, const callback[], const params[] = "", const len = 0);
```

##### Description

Sets Touch callback for entity

##### Parameters

- `entity`: Entity index
- `callback`: The forward to call
- `params`: Optional set of data to pass through to callback
- `len`: Optional size of data

##### Note

Use "" to reset callback

##### Note

Callback should be contains passing arguments as "public Touch_Callback(const ent, const other)"

##### Return

This function has no return value.

#### SetUse

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/SetUse
- Line: 52

##### Syntax

```pawn
native SetUse(const ent, const callback[], const params[] = "", const len = 0);
```

##### Description

Sets Use callback for entity

##### Parameters

- `entity`: Entity index
- `callback`: The forward to call
- `params`: Optional set of data to pass through to callback
- `len`: Optional size of data

##### Note

Use "" to reset callback

##### Note

Callback should be contains passing arguments as "public Use_Callback(const ent, const activator, const caller, USE_TYPE:useType, Float:value)"

##### Return

This function has no return value.

#### get_member

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/get_member
- Line: 121

##### Syntax

```pawn
native any:get_member(const index, any:member, any:...);
```

##### Description

Returns a value from an entity's member.

##### Parameters

- `index`: Entity index
- `member`: The specified member, look at the enums with name *_Members

##### Return

If an integer or boolean or one byte, array or everything else is passed via the 3rd argument and more, look at the argument list for the specified member

#### get_member_game

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/get_member_game
- Line: 101

##### Syntax

```pawn
native any:get_member_game(CSGameRules_Members:member, any:...);
```

##### Description

Returns a value from CSGameRules_Members members

##### Parameters

- `member`: The specified member, look at the enums with name CSGameRules_Members

##### Return

If an integer or boolean or one byte, array or everything else is passed via the 3rd argument and more, look at the argument list for the specified member

#### get_member_s

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/get_member_s
- Line: 143

##### Syntax

```pawn
native any:get_member_s(const index, any:member, any:...);
```

##### Description

Returns a value from an entity's member.
Safe version, can guarantee that the present member is refers to derived class of the entity.

##### Parameters

- `index`: Entity index
- `member`: The specified member, look at the enums with name *_Members

##### Return

If an integer or boolean or one byte, array or everything else is passed via the 3rd argument and more, look at the argument list for the specified member

#### get_movevar

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/get_movevar
- Line: 179

##### Syntax

```pawn
native any:get_movevar(const MoveVars:var, any:...);
```

##### Description

Returns a movevar value from a playermove.

##### Parameters

- `var`: The specified mvar, look at the enum MoveVars

##### Return

If an integer or boolean or one byte, array or everything else is passed via the 3rd argument and more, look at the argument list for the specified mvar

#### get_pmove

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/get_pmove
- Line: 161

##### Syntax

```pawn
native any:get_pmove(const PlayerMove:var, any:...);
```

##### Description

Returns a playermove var.

##### Parameters

- `var`: The specified playermove var, look at the enums PlayerMove

##### Return

If an integer or boolean or one byte, array or everything else is passed via the 3rd argument and more, look at the argument list for the specified mvar

#### get_pmtrace

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/get_pmtrace
- Line: 197

##### Syntax

```pawn
native any:get_pmtrace(const tracehandle, const PMTrace:var, any:...);
```

##### Description

Returns a pmtrace var

##### Parameters

- `var`: The specified mvar, look at the enum PMTrace

##### Return

If an integer or boolean or one byte, array or everything else is passed via the 3rd argument and more, look at the argument list for the specified mvar

#### get_rebuy

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/get_rebuy
- Line: 215

##### Syntax

```pawn
native any:get_rebuy(const RebuyHandle:rebuyhandle, RebuyStruct:member);
```

##### Description

Returns a RebuyStruct member

##### Parameters

- `var`: The specified RebuyStruct, look at the enum RebuyStruct

##### Return

If an integer or boolean or one byte, array or everything else is passed via the 3rd argument and more, look at the argument list for the specified RebuyStruct

#### rg_add_account

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_add_account
- Line: 236

##### Syntax

```pawn
native rg_add_account(const index, amount, AccountSet:typeSet = AS_ADD, const bool:bTrackChange = true);
```

##### Description

Adds money to player's account.

##### Parameters

- `index`: Client index
- `amount`: The amount of money
- `bTrackChange`: If bTrackChange is 1, the amount of money added will also be displayed.

##### Return

This function has no return value.

#### rg_add_ammo_registry

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_add_ammo_registry
- Line: 1085

##### Syntax

```pawn
native rg_add_ammo_registry(const szAmmoname[]);
```

##### Description

Generates an ammo slot in game's logic

##### Parameters

- `szAmmoname`: Ammo name to create.

##### Note

To see a visual effect, WeaponList message should be sent using the custom ammo name,
where ammo icon HUD will be the one listed in "sprites/weapon_<name>.txt" file.

##### Note

Maximum ammo index is 31, after that every ammo instantiation will start from 1 overriding existing ones.

##### Return

New ammo index. If name already exists, will return the matched index from memory.

#### rg_balance_teams

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_balance_teams
- Line: 767

##### Syntax

```pawn
native rg_balance_teams();
```

##### Description

Instantly balances the teams.

##### Return

This function has no return value.

#### rg_check_win_conditions

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_check_win_conditions
- Line: 949

##### Syntax

```pawn
native rg_check_win_conditions();
```

##### Description

Instantly check win conditions.

##### Return

This function has no return value.

#### rg_create_entity

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_create_entity
- Line: 428

##### Syntax

```pawn
native rg_create_entity(const classname[], const bool:useHashTable = false);
```

##### Description

Creates an entity using Counter-Strike's custom CreateNamedEntity wrapper.

##### Parameters

- `classname`: Entity classname
- `useHashTable`: Use this only for known game entities

##### Note

: Do not use this if you plan to change custom classname an entity after creation,
otherwise it will never be release from hash table even if an entity was destroyed,
and that to lead table to inflate/memory leaks

##### Return

Index of the created entity or 0 otherwise

#### rg_create_weaponbox

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_create_weaponbox
- Line: 1041

##### Syntax

```pawn
native rg_create_weaponbox(const pItem, const pPlayerOwner, const modelName[], Float:origin[3], Float:angles[3], Float:velocity[3], Float:lifeTime, bool:packAmmo);
```

##### Description

Spawn a weaponbox entity with its properties

##### Parameters

- `pItem`: Weapon entity index to attach
- `pPlayerOwner`: Player index to remove pItem entity (0 = no weapon owner)
- `modelName`: Model name ("models/w_*.mdl")
- `origin`: Weaponbox origin position
- `angles`: Weaponbox angles
- `velocity`: Weaponbox initial velocity vector
- `lifeTime`: Time to stay in world (< 0.0 = use mp_item_staytime cvar value)
- `packAmmo`: Set if ammo should be removed from weapon owner

##### Return

Weaponbox ent index on success, AMX_NULLENT (-1) otherwise

#### rg_death_notice

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_death_notice
- Line: 1197

##### Syntax

```pawn
native rg_death_notice(const pVictim, const pKiller, const pevInflictor);
```

##### Description

Emits a death notice (logs, DeathMsg event, win conditions check)

##### Parameters

- `pVictim`: Player index.
- `pKiller`: Killer entity.
- `pevInflictor`: Inflictor entity. 0 = world

##### Return

This function has no return value.

#### rg_decal_trace

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_decal_trace
- Line: 1060

##### Syntax

```pawn
native rg_decal_trace(const ptr, Decal:decalNumber);
```

##### Description

Creates a Decal in world based on a traceresult.

##### Parameters

- `ptr`: Traceresult pointer, use Fakemeta's create_tr2 to instantiate one
- `decalNumber`: Number of decal to spray, see DECAL_ constants on cssdk_const.inc

##### Return

This function has no return value.

#### rg_disappear

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_disappear
- Line: 1175

##### Syntax

```pawn
native rg_disappear(const player);
```

##### Description

Disappear a player from the world. Used when VIP reaches escape zone. Basically a silent kill.

##### Parameters

- `player`: Player index.

##### Return

This function has no return value.

#### rg_dmg_radius

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_dmg_radius
- Line: 296

##### Syntax

```pawn
native rg_dmg_radius(Float:vecSrc[3], const inflictor, const attacker, const Float:flDamage, const Float:flRadius, const iClassIgnore, const bitsDamageType);
```

##### Description

Inflicts damage in a radius from the source position.

##### Parameters

- `vecSrc`: The source position
- `inflictor`: Inflictor is the entity that caused the damage (such as a gun)
- `attacker`: Attacker is the entity that triggered the damage (such as the gun's owner)
- `flDamage`: The amount of damage
- `flRadius`: Damage radius
- `iClassIgnore`: To specify classes that are immune to damage
- `bitsDamageType`: Damage type DMG_*

##### Return

This function has no return value.

#### rg_drop_item

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_drop_item
- Line: 538

##### Syntax

```pawn
native rg_drop_item(const index, const item_name[]);
```

##### Description

Forces the player to drop the specified item classname.

##### Parameters

- `index`: Client index
- `item_name`: Item classname, if no name, the active item classname

##### Return

Entity index of weaponbox, AMX_NULLENT (-1) otherwise

#### rg_drop_items_by_slot

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_drop_items_by_slot
- Line: 517

##### Syntax

```pawn
native rg_drop_items_by_slot(const index, const InventorySlotType:slot);
```

##### Description

Drop to floor all the player's stuff by specific slot.

##### Parameters

- `index`: Client index
- `slot`: Specific slot for remove of each item.

##### Return

1 - successful drop of all items in the slot or the slot is empty
0 - if at least one item failed to drop

#### rg_emit_texture_sound

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_emit_texture_sound
- Line: 1073

##### Syntax

```pawn
native rg_emit_texture_sound(const ptr, Float:vecSrc[3], Float:vecEnd[3], Bullet:iBulletType);
```

##### Description

Emits a sound based on a traceresult simulating a bullet hit (metal, wood, concrete, etc.).

##### Parameters

- `ptr`: Traceresult pointer, use Fakemeta's create_tr2 to instantiate one
- `vecSrc`: Start position
- `vecEnd`: End position, must match ptr's vecEndPos member
- `iBulletType`: Bullet type, see BULLET_* constants in cssdk_const.inc

##### Note

Used mostly on trace attacks (bullets, knife).

##### Return

This function has no return value.

#### rg_find_ent_by_class

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_find_ent_by_class
- Line: 441

##### Syntax

```pawn
native rg_find_ent_by_class(start_index, const classname[], const bool:useHashTable = false);
```

##### Description

Finds an entity in the world using Counter-Strike's custom FindEntityByString wrapper.

##### Parameters

- `start_index`: Entity index to start searching from. -1 to start from the first entity
- `classname`: Classname to search for
- `useHashTable`: Use this only for known game entities

##### Note

: Do not use this if you use a custom classname

##### Return

Entity index > 0 if found, 0 otherwise

#### rg_find_ent_by_owner

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_find_ent_by_owner
- Line: 451

##### Syntax

```pawn
native bool:rg_find_ent_by_owner(&start_index, const classname[], owner);
```

##### Description

Finds an entity in the world using Counter-Strike's custom FindEntityByString wrapper, matching by owner.

##### Parameters

- `start_index`: Entity index to start searching from. AMX_NULLENT (-1) to start from the first entity
- `classname`: Classname to search for

##### Return

true if found, false otherwise

#### rg_find_weapon_bpack_by_name

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_find_weapon_bpack_by_name
- Line: 461

##### Syntax

```pawn
native rg_find_weapon_bpack_by_name(const index, const weapon[]);
```

##### Description

Finds the weapon by name in the player's inventory.

##### Parameters

- `index`: Client index
- `weapon`: Weapon name

##### Return

Weapon's entity index, 0 otherwise

#### rg_fire_buckshots

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_fire_buckshots
- Line: 366

##### Syntax

```pawn
native rg_fire_buckshots(const inflictor, const attacker, const shots, Float:vecSrc[3], Float:vecDirShooting[3], Float:vecSpread[3], const Float:flDistance, const iTracerFreq, const iDamage);
```

##### Description

Fires buckshots from entity (used at XM1014 and M3 weapons).

##### Parameters

- `inflictor`: Inflictor is the entity that caused the damage (such as a gun)
- `attacker`: Attacker is the entity that triggered the damage (such as the gun's owner)
- `shots`: The number of shots
- `vecSrc`: The source position of the barrel
- `vecDirShooting`: Shooting direction
- `vecSpread`: Spread
- `flDistance`: Max shot distance
- `iTracerFreq`: Tracer frequency
- `iDamage`: Damage amount

##### Note

: This native doesn't create a decal effect

##### Note

: Decal creation is handled by PlaybackEvent, including shot animation and shot sound

##### Return

This function has no return value.

#### rg_fire_bullets

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_fire_bullets
- Line: 346

##### Syntax

```pawn
native rg_fire_bullets(const inflictor, const attacker, const shots, Float:vecSrc[3], Float:vecDirShooting[3], Float:vecSpread[3], const Float:flDistance, const Bullet:iBulletType, const iTracerFreq, const iDamage);
```

##### Description

Fires bullets from entity.

##### Parameters

- `inflictor`: Inflictor is the entity that caused the damage (such as a gun)
- `attacker`: Attacker is the entity that triggered the damage (such as the gun's owner)
- `shots`: The number of shots
- `vecSrc`: The source position of the barrel
- `vecDirShooting`: Shooting direction
- `vecSpread`: Spread
- `flDistance`: Max shot distance
- `iBulletType`: Bullet type, look at the enum with name Bullet in cssdk_const.inc
- `iTracerFreq`: Tracer frequency
- `iDamage`: Damage amount

##### Note

: This native doesn't create a decal effect

##### Note

: Decal creation is handled by PlaybackEvent, including shot animation and shot sound

##### Return

This function has no return value.

#### rg_fire_bullets3

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_fire_bullets3
- Line: 389

##### Syntax

```pawn
native Float:[3] rg_fire_bullets3(const inflictor, const attacker, Float:vecSrc[3], Float:vecDirShooting[3], const Float:vecSpread, const Float:flDistance, const iPenetration, const Bullet:iBulletType, const iDamage, const Float:flRangeModifier, const bool:bPistol, const shared_rand);
```

##### Description

Fires bullets from player's weapon.

##### Parameters

- `inflictor`: Inflictor is the entity that caused the damage (such as a gun)
- `attacker`: Attacker is the entity that triggered the damage (such as the gun's owner)
- `vecSrc`: The source position of the barrel
- `vecDirShooting`: Shooting direction
- `vecSpread`: Spread
- `flDistance`: Max shot distance
- `iPenetration`: The amount of penetration
- `iBulletType`: Bullet type, look at the enum with name Bullet in cssdk_const.inc
- `iDamage`: Damage amount
- `flRangeModifier`: Damage range modifier
- `bPistol`: Pistol shot
- `shared_rand`: Use player's random seed, get circular gaussian spread

##### Note

: This native doesn't create a decal effect

##### Note

: Decal creation is handled by PlaybackEvent, including shot animation and shot sound

##### Return

Float:[3]         The spread result

#### rg_get_account_rules

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_account_rules
- Line: 743

##### Syntax

```pawn
native rg_get_account_rules(const RewardRules:rules_index);
```

##### Description

Gets the specified reward rule's money amount.

##### Parameters

- `rules_index`: Look at the enum with name RewardRules

##### Return

The amount of reward

#### rg_get_can_hear_player

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_can_hear_player
- Line: 990

##### Syntax

```pawn
native bool:rg_get_can_hear_player(const listener, const sender);
```

##### Description

Get if player can hear another player

##### Parameters

- `listener`: Listener player id
- `sender`: Sender player id

##### Return

boolean

#### rg_get_global_iteminfo

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_global_iteminfo
- Line: 922

##### Syntax

```pawn
native rg_get_global_iteminfo(const {WeaponIdType,_}:weapon_id, ItemInfo:type, any:...);
```

##### Description

Gets a parameter of the global CBasePlayerItem::m_ItemInfoArray array

##### Parameters

- `weapon_id`: Weapon id, see WEAPON_* constants
- `type`: Item info type. See ItemInfo constants.

#### rg_get_iteminfo

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_iteminfo
- Line: 900

##### Syntax

```pawn
native rg_get_iteminfo(const ent, ItemInfo:type, any:...);
```

##### Description

Gets a parameter of the member CSPlayerItem::m_ItemInfo

##### Parameters

- `entity`: Entity index
- `type`: Item info type. See ItemInfo constants.

#### rg_get_join_team_priority

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_join_team_priority
- Line: 801

##### Syntax

```pawn
native TeamName:rg_get_join_team_priority();
```

##### Description

Gets which team has a higher join priority.

##### Return

Returns the Team Name

#### rg_get_user_ammo

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_user_ammo
- Line: 602

##### Syntax

```pawn
native rg_get_user_ammo(const index, WeaponIdType:weapon);
```

##### Description

Returns the amount of clip ammo for a specific weapon.

##### Parameters

- `index`: Client index
- `weapon`: Weapon id

##### Return

Amount of clip ammo

#### rg_get_user_armor

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_user_armor
- Line: 625

##### Syntax

```pawn
native rg_get_user_armor(const index, &ArmorType:armortype = ARMOR_NONE);
```

##### Description

Returns the client's armor value and retrieves the type of armor.

##### Parameters

- `index`: Client index
- `armortype`: Variable to store armor type in

##### Return

Amount of armor, 0 if the client has no armor

#### rg_get_user_bpammo

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_user_bpammo
- Line: 581

##### Syntax

```pawn
native rg_get_user_bpammo(const index, WeaponIdType:weapon);
```

##### Description

Returns the amount of ammo in the client's backpack for a specific weapon.

##### Parameters

- `index`: Client index
- `weapon`: Weapon id

##### Return

Amount of ammo in backpack

#### rg_get_user_footsteps

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_user_footsteps
- Line: 692

##### Syntax

```pawn
native rg_get_user_footsteps(const index);
```

##### Description

Get the current footsteps state of the player.

##### Parameters

- `index`: Client index

##### Return

1 if the player has silent footsteps, 0 otherwise

#### rg_get_weapon_info

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_weapon_info
- Line: 484

##### Syntax

```pawn
native any:rg_get_weapon_info(any:...);
```

##### Description

Returns specific information about the weapon.

##### Parameters

- `weapon`: name or id      Weapon id, see WEAPON_* constants, WeaponIdType or weapon_* name
- `WpnInfo:type`: Info type, see WI_* constants

##### Note

weapon_* name can only be used to get WI_ID

##### Return

Weapon information

##### Error

If weapon_id or type are out of bounds, an error will be thrown

#### rg_get_weaponbox_id

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_get_weaponbox_id
- Line: 829

##### Syntax

```pawn
native WeaponIdType:rg_get_weaponbox_id(const entity);
```

##### Description

Gets WeaponIdType from weaponbox

##### Parameters

- `entity`: Weaponbox entity

##### Return

return enum of WeaponIdType

#### rg_give_custom_item

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_give_custom_item
- Line: 262

##### Syntax

```pawn
native rg_give_custom_item(const index, const pszName[], GiveType:type = GT_APPEND, const uid = 0);
```

##### Description

Gives the player an custom item, this means that don't handled API things.

##### Parameters

- `index`: Client index
- `pszName`: Item classname
- `type`: Look at the enums with name GiveType
- `uid`: Sets a unique index for the entity

##### Example

rg_give_custom_item(id, "weapon_c4"); doesn't sets the member m_bHasC4 to true, as the rg_give_item does.

##### Return

Index of entity if successfull, -1 otherwise

#### rg_give_default_items

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_give_default_items
- Line: 271

##### Syntax

```pawn
native rg_give_default_items(const index);
```

##### Description

Give the default items to a player.

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

#### rg_give_defusekit

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_give_defusekit
- Line: 615

##### Syntax

```pawn
native rg_give_defusekit(const index, const bool:bDefusekit = true, const Float:color[] = {0.0, 160.0, 0.0}, const icon[] = "defuser", const bool:bFlash = false);
```

##### Description

Sets the client's defusekit status and allows to set a custom HUD icon and color.

##### Parameters

- `index`: Client index
- `defusekit`: If nonzero the client will have a defusekit, otherwise it will be removed
- `color`: Color RGB
- `icon`: HUD sprite to use as an icon
- `flash`: If nonzero the icon will flash red

##### Return

This function has no return value.

#### rg_give_item

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_give_item
- Line: 247

##### Syntax

```pawn
native rg_give_item(const index, const pszName[], GiveType:type = GT_APPEND);
```

##### Description

Gives the player an item.

##### Parameters

- `index`: Client index
- `pszName`: Item classname
- `type`: Look at the enums with name GiveType

##### Return

Index of entity if successfull, -1 otherwise

#### rg_give_shield

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_give_shield
- Line: 281

##### Syntax

```pawn
native rg_give_shield(const index, const bool:bDeploy = true);
```

##### Description

Gives the player a shield

##### Parameters

- `index`: Client index
- `bDeploy`: To deploy the shield

##### Return

This function has no return value.

#### rg_has_item_by_name

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_has_item_by_name
- Line: 471

##### Syntax

```pawn
native bool:rg_has_item_by_name(const index, const item[]);
```

##### Description

Checks if the player has the item.

##### Parameters

- `index`: Client index
- `item`: Item name

##### Return

true if he does, false otherwise

#### rg_hint_message

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_hint_message
- Line: 935

##### Syntax

```pawn
native bool:rg_hint_message(const index, const message[], Float:duration = 6.0, bool:bDisplayIfPlayerDead = false, bool:bOverride = false);
```

##### Description

Adds hint message to the queue.

##### Parameters

- `index`: Client index
- `message`: The message hint
- `duration`: The time duration in seconds stays on screen
- `bDisplayIfPlayerDead`: Whether to print hint for dead players?
- `bOverride`: Whether to override previous messages?

##### Return

true if prints, false otherwise

#### rg_initialize_player_counts

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_initialize_player_counts
- Line: 961

##### Syntax

```pawn
native rg_initialize_player_counts(&num_alive_terrorist = 0, &num_alive_ct = 0, &num_dead_terrorist = 0, &num_dead_ct = 0);
```

##### Description

Instantly initialize player counts.

##### Parameters

- `num_alive_terrorist`: Count alive terrorists
- `num_alive_ct`: Count alive counter-terrorists
- `num_dead_terrorist`: Count dead terrorists
- `num_dead_ct`: Count dead counter-terrorists

##### Return

This function has no return value.

#### rg_instant_reload_weapons

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_instant_reload_weapons
- Line: 712

##### Syntax

```pawn
native rg_instant_reload_weapons(const index, const weapon = 0);
```

##### Description

Instantly reload client's weapons.

##### Parameters

- `index`: Client index
- `weapon`: Weapon entity-index, if 0 then all weapons will be reloaded

##### Return

1 on success, 0 otherwise

#### rg_internal_cmd

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_internal_cmd
- Line: 549

##### Syntax

```pawn
native rg_internal_cmd(const index, const cmd[], const arg[] = "");
```

##### Description

Executes a client command on the gamedll side.

##### Parameters

- `index`: Client index
- `command`: Client command to execute
- `arg`: Optional command arguments

##### Return

1 on success, 0 otherwise

#### rg_is_bomb_planted

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_is_bomb_planted
- Line: 750

##### Syntax

```pawn
native bool:rg_is_bomb_planted();
```

##### Description

Checks if the bomb is planted.

##### Return

true if the bomb is planted, false otherwise

#### rg_is_player_can_respawn

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_is_player_can_respawn
- Line: 820

##### Syntax

```pawn
native bool:rg_is_player_can_respawn(const index);
```

##### Description

Checks whether the player can respawn.

##### Parameters

- `index`: Client index

##### Return

true if player can respawn, false otherwise

#### rg_is_player_can_takedamage

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_is_player_can_takedamage
- Line: 811

##### Syntax

```pawn
native bool:rg_is_player_can_takedamage(const index, const attacker);
```

##### Description

Checks whether the player can take damage from the attacker.

##### Parameters

- `index`: Client index
- `attacker`: Attacker index

##### Return

true if player can take damage, false otherwise

#### rg_join_team

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_join_team
- Line: 760

##### Syntax

```pawn
native rg_join_team(const index, const TeamName:team);
```

##### Description

Forces a player to join a team.

##### Parameters

- `index`: Client index
- `team`: Team id

##### Return

1 on success, 0 otherwise

#### rg_multidmg_add

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_multidmg_add
- Line: 325

##### Syntax

```pawn
native rg_multidmg_add(const inflictor, const victim, const Float:flDamage, const bitsDamageType);
```

##### Description

Adds damage to the accumulator.

##### Parameters

- `inflictor`: Inflictor is the entity that caused the damage (such as a gun)
- `victim`: The victim that takes damage
- `flDamage`: The amount of damage
- `bitsDamageType`: Damage type DMG_*

##### Return

This function has no return value.

#### rg_multidmg_apply

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_multidmg_apply
- Line: 313

##### Syntax

```pawn
native rg_multidmg_apply(const inflictor, const attacker);
```

##### Description

Inflicts contents of global multi damage registered on victim.

##### Parameters

- `inflictor`: Inflictor is the entity that caused the damage (such as a gun)
- `attacker`: Attacker is the entity that triggered the damage (such as the gun's owner)

##### Return

This function has no return value.

#### rg_multidmg_clear

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_multidmg_clear
- Line: 303

##### Syntax

```pawn
native rg_multidmg_clear();
```

##### Description

Resets the global multi damage accumulator.

##### Return

This function has no return value.

#### rg_plant_bomb

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_plant_bomb
- Line: 723

##### Syntax

```pawn
native rg_plant_bomb(const index, Float:vecOrigin[3], Float:vecAngles[3] = {0.0,0.0,0.0});
```

##### Description

Plant a bomb.

##### Parameters

- `index`: Owner index or 0 for worldspawn.
- `origin`: The origin of the bomb where it will be planted.
- `angles`: The angles of the planted bomb.

##### Return

Index of bomb entity or AMX_NULLENT (-1) otherwise

#### rg_player_relationship

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_player_relationship
- Line: 1207

##### Syntax

```pawn
native rg_player_relationship(const player, const target);
```

##### Description

Checks a player relationship with another reference

##### Parameters

- `player`: Player index
- `target`: Target index

##### Return

Match player relationship, see GR_* constants in cssdk_const.inc

#### rg_remove_all_items

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_remove_all_items
- Line: 527

##### Syntax

```pawn
native rg_remove_all_items(const index, const bool:removeSuit = false);
```

##### Description

Remove all of the player's items.

##### Parameters

- `index`: Client index
- `removeSuit`: Remove suit

##### Return

1 on success, 0 otherwise

#### rg_remove_entity

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_remove_entity
- Line: 1050

##### Syntax

```pawn
native rg_remove_entity(const pEntity);
```

##### Description

Removes an entity using gamedll's UTIL_Remove function, which sets a frame delay to ensure its removal.

##### Parameters

- `pEntity`: Entity index to remove

##### Return

1 on success, 0 otherwise

#### rg_remove_item

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_remove_item
- Line: 560

##### Syntax

```pawn
native rg_remove_item(const index, const item_name[], const bool:removeAmmo = false);
```

##### Description

Removes the specified item classname from the player

##### Parameters

- `index`: Client index
- `item_name`: Item classname
- `removeAmmo`: Remove ammunition

##### Return

1 if found and remove, 0 otherwise

#### rg_remove_items_by_slot

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_remove_items_by_slot
- Line: 506

##### Syntax

```pawn
native rg_remove_items_by_slot(const index, const InventorySlotType:slot, const bool:removeAmmo = true);
```

##### Description

Remove all the player's stuff in a specific slot.

##### Parameters

- `index`: Client index
- `slot`: The slot that will be emptied
- `removeAmmo`: Remove ammunition

##### Return

1 - successful removal of all items in the slot or the slot is empty
0 - if at least one item failed to remove

#### rg_reset_can_hear_player

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_reset_can_hear_player
- Line: 969

##### Syntax

```pawn
native rg_reset_can_hear_player(const index);
```

##### Description

Reset if player can hear another player.

##### Parameters

- `index`: Player id

##### Return

This function has no return value.

#### rg_reset_maxspeed

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_reset_maxspeed
- Line: 847

##### Syntax

```pawn
native rg_reset_maxspeed(const index);
```

##### Description

Resets player's maxspeed.

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

#### rg_reset_user_model

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_reset_user_model
- Line: 673

##### Syntax

```pawn
native rg_reset_user_model(const index, const bool:update_index = false);
```

##### Description

Resets the client's model.

##### Parameters

- `index`: Client index
- `update_index`: If true, the modelindex is reset as well

##### Return

1 on success, 0 otherwise

#### rg_restart_round

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_restart_round
- Line: 942

##### Syntax

```pawn
native rg_restart_round();
```

##### Description

Instantly restart round.

##### Return

This function has no return value.

#### rg_round_end

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_round_end
- Line: 404

##### Syntax

```pawn
native rg_round_end(const Float:tmDelay, const WinStatus:st, const ScenarioEventEndRound:event = ROUND_NONE, const message[] = "default", const sentence[] = "default", const bool:trigger = false);
```

##### Description

Forces the round to end.

##### Parameters

- `tmDelay`: Delay before the onset of a new round
- `st`: Which team won
- `event`: The event is the end of the round
- `message`: The message on round end
- `sentence`: The sound at the end of the round
- `trigger`: This will trigger to all hooks on that function
Be very careful about recursion!

##### Return

1 on success, 0 otherwise

#### rg_round_respawn

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_round_respawn
- Line: 838

##### Syntax

```pawn
native rg_round_respawn(const index);
```

##### Description

Respawn on round for players/bots.

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

#### rg_send_audio

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_send_audio
- Line: 882

##### Syntax

```pawn
native rg_send_audio(const index, const sample[], const pitch = PITCH_NORM);
```

##### Description

Sends the SendAudio message - plays the specified audio.

##### Parameters

- `index`: Receiver index or use 0 for everyone
- `sample`: Sound file to play
- `pitch`: Sound pitch

##### Return

This function has no return value.

#### rg_send_bartime

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_send_bartime
- Line: 859

##### Syntax

```pawn
native rg_send_bartime(const index, const duration, const bool:observer = true);
```

##### Description

Draws a HUD progress bar which fills from 0% to 100% for the time duration in seconds.

##### Parameters

- `index`: Client index
- `time`: Duration
- `observer`: Send for everyone who is observing the player

##### Note

: Set the duration to 0 to hide the bar.

##### Return

This function has no return value.

#### rg_send_bartime2

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_send_bartime2
- Line: 871

##### Syntax

```pawn
native rg_send_bartime2(const index, const duration, const Float:startPercent, const bool:observer = true);
```

##### Description

Same as BarTime, but StartPercent specifies how much of the bar is (already) filled.

##### Parameters

- `index`: Client index
- `time`: Duration
- `startPercent`: Start percent
- `observer`: Send for everyone who is observing the player

##### Return

This function has no return value.

#### rg_send_death_message

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_send_death_message
- Line: 1223

##### Syntax

```pawn
native rg_send_death_message(const pKiller, const pVictim, const pAssister, const pevInflictor, const killerWeaponName[], const DeathMessageFlags:iDeathMessageFlags, const KillRarity:iRarityOfKill);
```

##### Description

Sends death messages to all players, including info about the killer, victim, weapon used,
extra death flags, death position, assistant, and kill rarity using the CHalfLifeMultiplay::SendDeathMessage function.

##### Parameters

- `pKiller`: Killer index (if any).
- `pVictim`: Victim index.
- `pAssister`: Assisting player index (if any).
- `pevInflictor`: Inflictor entity. 0 = world
- `killerWeaponName`: The name of the weapon used by the killer.
- `iDeathMessageFlags`: Flags indicating extra death message info, see DeathMessageFlags enum in cssdk_const.inc
- `iRarityOfKill`: An bitsums representing the rarity classification of the kill, see KillRarity enum in cssdk_const.inc

##### Return

This function has no return value.

#### rg_set_account_rules

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_account_rules
- Line: 733

##### Syntax

```pawn
native rg_set_account_rules(const RewardRules:rules_index, const amount);
```

##### Description

Sets the amount of reward in the game account for all players.

##### Parameters

- `rules_index`: Look at the enum with name RewardRules
- `amount`: The money amount

##### Return

This function has no return value.

#### rg_set_animation

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_animation
- Line: 225

##### Syntax

```pawn
native rg_set_animation(const index, PLAYER_ANIM:playerAnim);
```

##### Description

Assign the number of the player's animation.

##### Parameters

- `index`: Client index
- `playerAnim`: Specific animation number

##### Return

This function has no return value.

#### rg_set_can_hear_player

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_can_hear_player
- Line: 980

##### Syntax

```pawn
native rg_set_can_hear_player(const listener, const sender, const bool:can_hear);
```

##### Description

Set if player can hear another player

##### Parameters

- `listener`: Listener player id
- `sender`: Sender player id
- `can_hear`: Can listener hear sender

##### Return

This function has no return value.

#### rg_set_global_iteminfo

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_global_iteminfo
- Line: 913

##### Syntax

```pawn
native rg_set_global_iteminfo(const {WeaponIdType,_}:weapon_id, ItemInfo:type, any:...);
```

##### Description

Sets a parameter of the global CBasePlayerItem::m_ItemInfoArray array

##### Parameters

- `weapon_id`: Weapon id, see WEAPON_* constants
- `type`: Item info type. See ItemInfo constants.

##### Note

To have effect on client side (i.g. ammo size on HUD) you should
alter this value BEFORE WeaponList message is sent to client, or
force it's alteration by sending again to the specific client.
Hooking WeaponList message with AMXX's register_message is a choice.

#### rg_set_iteminfo

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_iteminfo
- Line: 891

##### Syntax

```pawn
native rg_set_iteminfo(const entity, ItemInfo:type, any:...);
```

##### Description

Sets a parameter of the member CSPlayerItem::m_ItemInfo

##### Parameters

- `entity`: Entity index
- `type`: Item info type. See ItemInfo constants.

#### rg_set_observer_mode

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_observer_mode
- Line: 1186

##### Syntax

```pawn
native rg_set_observer_mode(const player, const mode);
```

##### Description

Sets player current Observer mode.

##### Parameters

- `player`: Player index.
- `mode`: Observer mode, see OBS_* constants in cssdk_const.inc

##### Note

Player must be a valid observer (m_afPhysicsFlags & PFLAG_OBSERVER).

##### Return

This function has no return value.

#### rg_set_user_ammo

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_user_ammo
- Line: 592

##### Syntax

```pawn
native rg_set_user_ammo(const index, WeaponIdType:weapon, amount);
```

##### Description

Sets the amount of clip ammo for a specific weapon.

##### Parameters

- `index`: Client index
- `weapon`: Weapon id
- `amount`: New clip ammo amount to set

##### Return

This function has no return value.

#### rg_set_user_armor

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_user_armor
- Line: 636

##### Syntax

```pawn
native rg_set_user_armor(const index, armorvalue, ArmorType:armortype);
```

##### Description

Sets the client's armor value and the type of armor.

##### Parameters

- `index`: Client index
- `armorvalue`: Amount of armor to set
- `armortype`: Armor type to set

##### Return

This function has no return value.

#### rg_set_user_bpammo

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_user_bpammo
- Line: 571

##### Syntax

```pawn
native rg_set_user_bpammo(const index, WeaponIdType:weapon, amount);
```

##### Description

Sets the amount of ammo in the client's backpack for a specific weapon.

##### Parameters

- `index`: Client index
- `weapon`: Weapon id
- `amount`: New backpack ammo amount to set

##### Return

This function has no return value.

#### rg_set_user_footsteps

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_user_footsteps
- Line: 683

##### Syntax

```pawn
native rg_set_user_footsteps(const index, bool:silent = false);
```

##### Description

Enable/Disable player's footsteps.

##### Parameters

- `index`: Client index
- `silent`: To enable silent footsteps

##### Return

1 on success, 0 otherwise

#### rg_set_user_model

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_user_model
- Line: 663

##### Syntax

```pawn
native rg_set_user_model(const index, const model[], const bool:update_index = false);
```

##### Description

Sets the client's player model.

##### Parameters

- `index`: Client index
- `model`: Model name
- `update_index`: If true, the modelindex is updated as well

##### Return

1 on success, 0 otherwise

#### rg_set_user_team

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_user_team
- Line: 652

##### Syntax

```pawn
native rg_set_user_team(const index, {TeamName,_}:team, {ModelName,_}:model = MODEL_AUTO, const bool:send_teaminfo = true, const bool:check_win_conditions = false);
```

##### Description

Sets the client's team without killing the player and sets the client's model.

##### Parameters

- `index`: Client index
- `team`: Team id
- `model`: Internal model, use MODEL_AUTO for a random appearance or MODEL_UNASSIGNED to not update it
- `send_teaminfo`: If true, a TeamInfo message will be sent
- `check_win_conditions`: If true, a CheckWinConditions will be call

##### Note

To obtain a TeamName use the following:
new TeamName:team = get_member(id, m_iTeam);

##### Return

1 on success, 0 otherwise

#### rg_set_weapon_info

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_set_weapon_info
- Line: 494

##### Syntax

```pawn
native rg_set_weapon_info(const {WeaponIdType,_}:weapon_id, WpnInfo:type, any:...);
```

##### Description

Sets specific weapon info values.

##### Parameters

- `weapon_id`: Weapon id, see WEAPON_* constants
- `type`: Info type, see WI_* constants

##### Return

1 on success, 0 otherwise

#### rg_spawn_grenade

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_spawn_grenade
- Line: 1025

##### Syntax

```pawn
native rg_spawn_grenade(WeaponIdType:weaponId, pevOwner, Float:vecSrc[3], Float:vecThrow[3], Float:time, TeamName:iTeam, usEvent = 0);
```

##### Description

Spawn a grenade (HEGrenade, Flashbang, SmokeGrenade, or C4)

##### Parameters

- `weaponId`: WEAPON_HEGRENADE, WEAPON_SMOKEGRENADE, WEAPON_FLASHBANG or WEAPON_C4
- `pevOwner`: Grenade owner
- `vecSrc`: Grenade spawn position
- `vecThrow`: Grenade velocity vector
- `time`: Grenade explosion time
- `iTeam`: Grenade team, see TEAM_* constants
- `usEvent`: Event index related to grenade (returned value of precache_event)

##### Return

Entity index on success, AMX_NULLENT (-1) otherwise

#### rg_spawn_head_gib

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_spawn_head_gib
- Line: 999

##### Syntax

```pawn
native rg_spawn_head_gib(const index);
```

##### Description

Spawn a head gib

##### Parameters

- `index`: Entity id

##### Return

Index of head gib entity or AMX_NULLENT (-1) otherwise

#### rg_spawn_random_gibs

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_spawn_random_gibs
- Line: 1010

##### Syntax

```pawn
native rg_spawn_random_gibs(const index, const cGibs, const bool:bHuman = true);
```

##### Description

Spawn random gibs

##### Parameters

- `index`: Entity id
- `cGibs`: Count gibs
- `bHuman`: Set gibs of a human or alien

##### Return

This function has no return value.

#### rg_swap_all_players

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_swap_all_players
- Line: 774

##### Syntax

```pawn
native rg_swap_all_players();
```

##### Description

Swaps players' teams without reseting frags, deaths and wins.

##### Return

This function has no return value.

#### rg_switch_best_weapon

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_switch_best_weapon
- Line: 1166

##### Syntax

```pawn
native rg_switch_best_weapon(const player, const currentWeapon = 0);
```

##### Description

Switches player current weapon into the best one on its inventory using the CHalfLifeMultiplay::GetNextBestWeapon function.

##### Parameters

- `player`: Player index.
- `currentWeapon`: Current player active weapon. 0 = retrieve from m_pActiveItem member

##### Note

Weapon selection is based on weapon's Weight attribute from ItemInfo structure.

##### Return

1 if weapon was found and switched to, 0 otherwise

#### rg_switch_team

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_switch_team
- Line: 784

##### Syntax

```pawn
native rg_switch_team(const index);
```

##### Description

Instantly switches the player to his opposite team.

##### Parameters

- `index`: Client index

##### Note

Switch from CT to TERRORIST is also opposite.

##### Return

This function has no return value.

#### rg_switch_weapon

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_switch_weapon
- Line: 794

##### Syntax

```pawn
native rg_switch_weapon(const index, const weapon);
```

##### Description

Forces the player to switch to a specific weapon.

##### Parameters

- `index`: Client index
- `weapon`: Weapon entity-index

##### Return

1 on success, 0 otherwise

#### rg_transfer_c4

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_transfer_c4
- Line: 702

##### Syntax

```pawn
native rg_transfer_c4(const index, const receiver = 0);
```

##### Description

Transfers C4 from one player to another.

##### Parameters

- `index`: Client index
- `receiver`: Receiver index, if 0 it will transfer to a random player

##### Return

Index of player entity if successfull, 0 otherwise

#### rg_update_teamscores

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_update_teamscores
- Line: 415

##### Syntax

```pawn
native rg_update_teamscores(const iCtsWins = 0, const iTsWins = 0, const bool:bAdd = true);
```

##### Description

Updates current scores.

##### Parameters

- `iCtsWins`: The amount of wins for counter-terrorists
- `iTsWins`: The amount of wins for terrorists
- `bAdd`: Adds the score to the current amount

##### Return

This function has no return value.

#### rg_weapon_deploy

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_weapon_deploy
- Line: 1100

##### Syntax

```pawn
native rg_weapon_deploy(const entity, const szViewModel[], const szWeaponModel[], iAnim, const szAnimExt[], skiplocal = 0);
```

##### Description

Deploys a weapon attached to a player using the CBasePlayerWeapon::DefaultDeploy function.

##### Parameters

- `entity`: Weapon to deploy. Must be attached to a player.
- `szViewModel`: Weapon view model name ("models/v_*.mdl")
- `szWeaponModel`: Weapon world model bame ("models/p_*.mdl")
- `iAnim`: Weapon view model animation to play (often "deploy", use HLMV to see anim index)
- `szAnimExt`: Player anim extension name to assign. Examples: "carbine", "shotgun", "knife", etc.
Use HLMV on a player model to see animext names.
- `skiplocal`: If 0, weapon animation will be forced to play on client ignoring active client prediction.

##### Return

1 on successful weapon deploy, 0 otherwise.

#### rg_weapon_kickback

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_weapon_kickback
- Line: 1155

##### Syntax

```pawn
native rg_weapon_kickback(const entity, Float:up_base, Float:lateral_base, Float:up_modifier, Float:lateral_modifier, Float:up_max, Float:lateral_max, direction_change);
```

##### Description

Emits a "recoil" effect on weapon's player using the CBasePlayerWeapon::KickBack function.

##### Parameters

- `entity`: Weapon to reload (> MaxClients) OR player index to reload his current active weapon (>= 1 & <= MaxClients).
- `up_base`: Minimum vertical punchangle
- `lateral_base`: Minimum horizontal punchangle
- `up_modifier`: Vertical punchangle units to multiply to m_iShotsFired member
- `lateral_modifier`: Horizontal punchangle units to multiply to m_iShotsFired member
- `up_max`: Maximum vertical punchangle
- `lateral_max`: Maximum horizontal punchangle
- `direction_change`: Probability to change punchangle orientation (positive or negative). 0 = 100% (1/1), 1 = 50% (1/2), 2 = 33.3% (1/3), ...

##### Return

This function has no return value.

#### rg_weapon_reload

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_weapon_reload
- Line: 1112

##### Syntax

```pawn
native rg_weapon_reload(const entity, iClipSize, iAnim, Float:fDelay);
```

##### Description

Reloads a weapon or a player's active weapon using the CBasePlayerWeapon::DefaultReload function.

##### Parameters

- `entity`: Weapon to reload (> MaxClients) OR player index to reload his current active weapon (>= 1 & <= MaxClients).
- `iClipSize`: Weapon max clip to check. 0 = weapon max clip stored in ItemInfo
- `iAnim`: Weapon view model animation to play (often "reload", use HLMV to see anim index)
- `fDelay`: Player reload duration before clip refill.

##### Return

1 on successful weapon reload, 0 otherwise.

#### rg_weapon_send_animation

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_weapon_send_animation
- Line: 1139

##### Syntax

```pawn
native rg_weapon_send_animation(const entity, iAnim, skiplocal = 0);
```

##### Description

Sends a weapon animation using the CBasePlayerWeapon::SendWeaponAnim function.

##### Parameters

- `entity`: Weapon to send animation on owner (> MaxClients) OR player index to send animation (>= 1 & <= MaxClients).
- `iAnim`: Weapon view model animation to play (use HLMV to see anim index)
- `skiplocal`: If 0, weapon animation will be forced to play on client ignoring active client prediction.

##### Return

This function has no return value.

#### rg_weapon_shotgun_reload

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/rg_weapon_shotgun_reload
- Line: 1128

##### Syntax

```pawn
native rg_weapon_shotgun_reload(const entity, iAnim, iStartAnim, Float:fDelay, Float:fStartDelay, const pszReloadSound1[] = "", const pszReloadSound2[] = "");
```

##### Description

Forces shotgun reload thinking on a weapon or a player's active weapon using the CBasePlayerWeapon::DefaultShotgunReload function.

##### Parameters

- `entity`: Weapon to reload (> MaxClients) OR player index to reload his current active weapon (>= 1 & <= MaxClients).
- `iAnim`: Weapon view model "insert" animation to play (use HLMV to see anim index)
- `iStartAnim`: Weapon view model "start reload" animation to play (use HLMV to see anim index)
- `fDelay`: Delay between each buckshot inserted
- `fStartDelay`: Delay before buckshots insertion starts
- `pszReloadSound1`: Sound to play on every insertion
- `pszReloadSound2`: Another sound to play on every insertion

##### Note

This is used inside weapon's Reload function and is often called every frame player is pressing IN_RELOAD button.

##### Return

1 while weapon not in delay and with ammo remaining to load, 0 otherwise.

#### set_member

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/set_member
- Line: 111

##### Syntax

```pawn
native set_member(const index, any:member, any:...);
```

##### Description

Sets a value to an entity's member.

##### Parameters

- `index`: Entity index
- `member`: The specified member, look at the enums with name *_Members

##### Return

1 on success.

#### set_member_game

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/set_member_game
- Line: 92

##### Syntax

```pawn
native set_member_game(CSGameRules_Members:member, any:...);
```

##### Description

Sets a value to CSGameRules_Members members.

##### Parameters

- `member`: The specified member, look at the enums with name CSGameRules_Members

##### Return

1 on success.

#### set_member_s

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/set_member_s
- Line: 132

##### Syntax

```pawn
native set_member_s(const index, any:member, any:...);
```

##### Description

Sets a value to an entity's member.
Safe version, can guarantee that the present member is refers to derived class of the entity.

##### Parameters

- `index`: Entity index
- `member`: The specified member, look at the enums with name *_Members

##### Return

1 on success.

#### set_movevar

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/set_movevar
- Line: 170

##### Syntax

```pawn
native set_movevar(const MoveVars:var, any:...);
```

##### Description

Sets a movevar value to a playermove.

##### Parameters

- `var`: The specified mvar, look at the enum MoveVars

##### Return

1 on success.

#### set_pmove

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/set_pmove
- Line: 152

##### Syntax

```pawn
native set_pmove(const PlayerMove:var, any:...);
```

##### Description

Sets playermove var.

##### Parameters

- `var`: The specified playermove, look at the enum PlayerMove

##### Return

1 on success.

#### set_pmtrace

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/set_pmtrace
- Line: 188

##### Syntax

```pawn
native set_pmtrace(const tracehandle, const PMTrace:var, any:...);
```

##### Description

Sets a pmtrace var.

##### Parameters

- `var`: The specified mvar, look at the enum PMTrace

##### Return

1 on success.

#### set_rebuy

- Include: `reapi_gamedll.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll/function/set_rebuy
- Line: 206

##### Syntax

```pawn
native set_rebuy(const RebuyHandle:rebuyhandle, const RebuyStruct:member, any:value);
```

##### Description

Sets a RebuyStruct member.

##### Parameters

- `var`: The specified RebuyStruct, look at the enum RebuyStruct

##### Return

1 on success.

## reapi 5.26.0.338 / reapi_gamedll_const.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_gamedll_const
- Group: reapi 5.26.0.338
- Functions: 0
- Documented constants: 68

### Constants

#### IsRoundExpireEvent

Returns true if round has ended by expired time

```pawn
#define IsRoundExpireEvent(%0) (((1 << _:(%0) + _:ScenarioEventEndRound:0) & ((1 << _:ROUND_TARGET_SAVED) | (1 << _:ROUND_HOSTAGE_NOT_RESCUED) | (1 << _:ROUND_TERRORISTS_NOT_ESCAPED) | (1 << _:ROUND_VIP_NOT_ESCAPED) | (1 << _:ROUND_GAME_OVER))) != 0)
```

##### Note

Use this for hookchain RG_RoundEnd with the parameter ScenarioEventEndRound:event

#### RG_CBaseAnimating_ResetSequenceInfo

suppress warning: 200 on amxmodx 1.8.2

```pawn
#if AMXX_VERSION_NUM < 183
	#define RG_CBaseAnimating_ResetSequenceInfo RG_CBaseAnimating_ResetSequence
	#define RG_CBasePlayer_Observer_IsValidTarget RG_CBasePlayer_Observer_IsValid
	#define RG_CSGameRules_FShouldSwitchWeapon RG_CSGameRules_ShouldSwitchWpn
	#define RG_CSGameRules_GetNextBestWeapon RG_CSGameRules_GetNextBestWpn
	#define RG_CSGameRules_FlPlayerFallDamage RG_CSGameRules_PlayerFallDmg
	#define RG_CSGameRules_FPlayerCanTakeDamage RG_CSGameRules_PlayerCanTakeDmg
	#define RG_CSGameRules_FPlayerCanRespawn RG_CSGameRules_PlayerCanRespawn
	#define RG_CSGameRules_GetPlayerSpawnSpot RG_CSGameRules_PlayerSpawnSpot
	#define RG_CSGameRules_ClientUserInfoChanged RG_CSGameRules_UserInfoChanged
	#define RG_CSGameRules_CanHavePlayerItem RG_CSGameRules_CanPlayerItem
	#define RG_CSGameRules_DeadPlayerWeapons RG_CSGameRules_DeadPlayerWpn
	#define RG_CSGameRules_CheckMapConditions RG_CSGameRules_CheckMapCond
	#define RG_CSGameRules_CheckWinConditions RG_CSGameRules_CheckWinCond
	#define RG_CSGameRules_CanPlayerHearPlayer RG_CSGameRules_CanPlrHearPlr
	#define RG_CBasePlayer_SetClientUserInfoModel RG_CBasePlayer_SetUserInfoModel
	#define RG_CBasePlayer_SetClientUserInfoName RG_CBasePlayer_SetUserInfoName
	#define m_Shield_hEntToIgnoreTouchesFrom m_Shield_EntToIgnoreTouchesFrom
	#define RG_CBasePlayer_RemoveSpawnProtection RG_CBasePlayer_RemoveProtection
	#define RG_CBasePlayer_SetSpawnProtection RG_CBasePlayer_SetProtection
	#define RG_CBasePlayerWeapon_DefaultDeploy RG_CBaseWeapon_DefDeploy
	#define RG_CBasePlayerWeapon_DefaultReload RG_CBaseWeapon_DefReload
	#define RG_CBasePlayerWeapon_DefaultShotgunReload RG_CBaseWeapon_DefShotgunReload
	#define RG_CBasePlayer_Observer_SetMode RG_CBasePlayer_Observer_SetMod
	#define RG_CBasePlayer_Observer_FindNextPlayer RG_CBasePlayer_Observer_FindNxt
#endif
```

#### UnifiedSignals

enum UnifiedSignals

```pawn
enum UnifiedSignals
{
	US_Signal,
	US_State
};
```

#### AccountSet

enum AccountSet

```pawn
enum AccountSet
{
	AS_SET, // Setts the value of the account
	AS_ADD  // Adds a value to the account
};
```

#### WpnInfo

Weapon info types for use with rg_set_weapon_info/rg_get_weapon_info()

```pawn
enum WpnInfo
{
	/*
	* Description:      -
	* Return type:      enum WeaponIdType
	* Get params:       rg_get_weapon_info(const weapon_name[], WI_ID);
	* Set params:       -
	*/
	WI_ID,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_weapon_info(const weapon_id, WI_COST);
	* Set params:       rg_set_weapon_info(const weapon_id, WI_COST, const value);
	*/
	WI_COST,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_weapon_info(const weapon_id, WI_CLIP_COST);
	* Set params:       rg_set_weapon_info(const weapon_id, WI_CLIP_COST, const value);
	*/
	WI_CLIP_COST,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_weapon_info(const weapon_id, WI_BUY_CLIP_SIZE);
	* Set params:       rg_set_weapon_info(const weapon_id, WI_BUY_CLIP_SIZE, const value);
	*/
	WI_BUY_CLIP_SIZE,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_weapon_info(const weapon_id, WI_GUN_CLIP_SIZE);
	* Set params:       rg_set_weapon_info(const weapon_id, WI_GUN_CLIP_SIZE, const value);
	*/
	WI_GUN_CLIP_SIZE,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_weapon_info(const weapon_id, WI_MAX_ROUNDS);
	* Set params:       rg_set_weapon_info(const weapon_id, WI_MAX_ROUNDS, const value);
	*/
	WI_MAX_ROUNDS,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_weapon_info(const weapon_id, WI_AMMO_TYPE);
	* Set params:       rg_set_weapon_info(const weapon_id, WI_AMMO_TYPE, const value);
	*/
	WI_AMMO_TYPE,

	/*
	* Description:      -
	* Return type:      -
	* Get params:       rg_get_weapon_info(const weapon_id, WI_AMMO_NAME, const output[], maxlenght);
	* Set params:       -
	*/
	WI_AMMO_NAME,

	/*
	* Description:      -
	* Return type:      -
	* Get params:       rg_get_weapon_info(const weapon_id, WI_NAME, const output[], maxlenght);
	* Set params:       -
	*/
	WI_NAME,

	/*
	* Description:      -
	* Return type:      enum InventorySlotType
	* Get params:       rg_get_weapon_info(const weapon_id, WI_SLOT);
	* Set params:       rg_set_weapon_info(const weapon_id, WI_SLOT, const value);
	*/
	WI_SLOT,
};
```

#### ItemInfo

Item's info types for use with rg_set_[global_]iteminfo/rg_get_[global_]iteminfo()

```pawn
enum ItemInfo
{
	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_iSlot);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_iSlot, const value);
	*/
	ItemInfo_iSlot,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_iPosition);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_iPosition, const value);
	*/
	ItemInfo_iPosition,

	/*
	* Description:      -
	* Return type:      -
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_pszAmmo1, const output[], maxlenght);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_pszAmmo1, const value[]);
	*/
	ItemInfo_pszAmmo1,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_iMaxAmmo1);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_iMaxAmmo1, const value);
	*/
	ItemInfo_iMaxAmmo1,

	/*
	* Description:      -
	* Return type:      -
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_pszAmmo2, const output[], maxlenght);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_pszAmmo2, const value[]);
	*/
	ItemInfo_pszAmmo2,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_iMaxAmmo2);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_iMaxAmmo2, const value);
	*/
	ItemInfo_iMaxAmmo2,

	/*
	* Description:      -
	* Return type:      -
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_pszName, const output[], maxlenght);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_pszName, const value[]);
	*/
	ItemInfo_pszName,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_iMaxClip);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_iMaxClip, const value);
	*/
	ItemInfo_iMaxClip,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_iId);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_iId, const value);
	*/
	ItemInfo_iId,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_iFlags);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_iFlags, const value);
	*/
	ItemInfo_iFlags,

	/*
	* Description:      -
	* Return type:      int
	* Get params:       rg_get_iteminfo(const ent, ItemInfo_iWeight);
	* Set params:       rg_set_iteminfo(const ent, ItemInfo_iWeight, const value);
	*/
	ItemInfo_iWeight
};
```

#### GiveType

Use with rg_give_item

```pawn
enum GiveType
{
	GT_APPEND,          // Just give item
	GT_REPLACE,         // Give the item and remove all other weapons from the slot
	GT_DROP_AND_REPLACE // Give the item and drop all other weapons from the slot
};
```

#### MenuChooseTeam

MenuChooseTeam

```pawn
enum MenuChooseTeam
{
	MenuChoose_T = 1,
	MenuChoose_CT,
	MenuChoose_VIP,

	MenuChoose_AutoSelect = 5,
	MenuChoose_Spec,
};
```

#### VGUIMenu

VGUIMenu

```pawn
enum VGUIMenu
{
	VGUI_Menu_Team = 2,
	VGUI_Menu_MapBriefing = 4,

	VGUI_Menu_Class_T = 26,
	VGUI_Menu_Class_CT,
	VGUI_Menu_Buy,
	VGUI_Menu_Buy_Pistol,
	VGUI_Menu_Buy_ShotGun,
	VGUI_Menu_Buy_Rifle,
	VGUI_Menu_Buy_SubMachineGun,
	VGUI_Menu_Buy_MachineGun,
	VGUI_Menu_Buy_Item,
};
```

#### GamedllFunc

GamedllFunc

```pawn
enum GamedllFunc
{
	/*
	* Description:      -
	* Return type:      int
	* Params:           (const pObserver)
	*/
	RG_GetForceCamera = BEGIN_FUNC_REGION(gamedll),

	/*
	* Description:      -
	* Params:           (const index, const inflictor, const attacker, const Float:fadeTime, const Float:fadeHold, const alpha, Float:color[3])
	*/
	RG_PlayerBlind,

	/*
	* Description:      -
	* Params:           (const index, inflictor, attacker, Float:vecSrc[3], Float:vecSpot[3], tracehandle)
	*/
	RG_RadiusFlash_TraceLine,

	/*
	* Description:      -
	* Params:           (WinStatus:status, ScenarioEventEndRound:event, Float:tmDelay)
	*/
	RG_RoundEnd,

	/*
	* Description:      -
	* Params:           (const playerIndex)
	*/
	RG_PM_Move,

	/*
	* Description:      -
	* Params:           (const playerIndex)
	*/
	RG_PM_AirMove,

	/*
	* Description:      -
	* Params:           (const index, const slot)
	*/
	RG_HandleMenu_ChooseAppearance,

	/*
	* Description:      -
	* Params:           (const index, const MenuChooseTeam:slot)
	*/
	RG_HandleMenu_ChooseTeam,

	/*
	* Description:      -
	* Params:           (const index, const bitsSlots, const iDisplayTime, const iNeedMore, pszText[])
	*/
	RG_ShowMenu,

	/*
	* Description:      -
	* Params:           (const index, VGUIMenu:menuType, const bitsSlots, szOldMenu[])
	*/
	RG_ShowVGUIMenu,

	/*
	* Description:      The player buys ammo.
	* Return type:      bool
	* Params:           (const index, const weapon_entity, const bool:blinkMoney)
	*/
	RG_BuyGunAmmo,

	/*
	* Description:      -
	* Return type:      CBaseEntity * (Entity index of weapon)
	* Params:           (const index, const WeaponIdType:weaponID)
	*/
	RG_BuyWeaponByWeaponID,

	/*
	* Description:      Called when a player throws the hegrenade.
	* Return type:      CGrenade * (Entity index of hegrenade)
	* Params:           (const index, Float:vecStart[3], Float:vecVelocity[3], Float:time, const team, const usEvent)
	*/
	RG_ThrowHeGrenade,

	/*
	* Description:      Called when a player throws the flashbang.
	* Return type:      CGrenade * (Entity index of flashbang)
	* Params:           (const index, Float:vecStart[3], Float:vecVelocity[3], Float:time)
	*/
	RG_ThrowFlashbang,

	/*
	* Description:      Called when a player throws the smokegrenade.
	* Return type:      CGrenade * (Entity index of smokegrenade)
	* Params:           (const index, Float:vecStart[3], Float:vecVelocity[3], Float:time, const usEvent)
	*/
	RG_ThrowSmokeGrenade,

	/*
	* Description:      Called when a player plant's the bomb on the ground.
	* Return type:      CGrenade * (Entity index of bomb)
	* Params:           (const index, Float:vecStart[3], Float:vecVelocity[3])
	*/
	RG_PlantBomb,

	/*
	* Description:      Called when a player hit to entity.
	* Return type:      bool
	* Params:           (Float:vecSrc[3], Float:vecEnd[3], index, entity)
	*/
	RG_IsPenetrableEntity,

	/*
	* Description:      -
	* Return type:      CGib * (Entity index of gib)
	* Params:           (pevVictim)
	*/
	RG_SpawnHeadGib,

	/*
	* Description:      -
	* Params:           (pevVictim, cGibs, human)
	*/
	RG_SpawnRandomGibs,

	/*
	* Description:      Called when a player drops a weapon (usually manual drop or death)
	* Return type:      CWeaponBox * (Entity index of weaponbox)
	* Params:           (const weaponent, const owner, modelName[], Float:origin[3], Float:angles[3], Float:velocity[3], Float:lifeTime, bool:packAmmo)
	*/
	RG_CreateWeaponBox,

	/*
	* Description:      Called when a player is on a ladder.
	* Params:           (const pLadder, const playerIndex)
	*/
	RG_PM_LadderMove,

	/*
	* Description:      Called on every frame after a player jumps on water for a short period of time
	* Params:           (const playerIndex)
	*/
	RG_PM_WaterJump,

	/*
	* Description:      Called when a player jumps on water for the first time
	* Params:           (const playerIndex)
	*/
	RG_PM_CheckWaterJump,

	/*
	* Description:      Called on every frame while player presses jump button
	* Params:           (const playerIndex)
	*/
	RG_PM_Jump,

	/*
	* Description:      Called on every frame to check player ducking
	* Params:           (const playerIndex)
	*/
	RG_PM_Duck,

	/*
	* Description:      Called whenever player tries to unduck
	* Params:           (const playerIndex)
	*/
	RG_PM_UnDuck,

	/*
	* Description:      Called whenever player emits an step sound
	* Params:           (step, Float:fvol, const playerIndex)
	*/
	RG_PM_PlayStepSound,

	/*
	* Description:      Called whenever player is on air (not touching floor)
	* Params:           (Float:wishdir[3], Float:wishspeed, Float:accel, const playerIndex)
	*/
	RG_PM_AirAccelerate,

	/*
	* Description:      Called when game clears multidamage data (before TraceAttack)
	* Params:           ()
	*/
	RG_ClearMultiDamage,

	/*
	* Description:      Called inside TraceAttack to store entity damage to multidamage data
	* Params:           (const pevInflictor, const pEntity, Float:flDamage, bitsDamageType)
	*/
	RG_AddMultiDamage,

	/*
	* Description:      Called after game finished a bullet tracing for applying damage cached on multidamage data
	* Params:           (const pevInflictor, const pevAttacker)
	*/
	RG_ApplyMultiDamage,

	/*
	* Description:      Called when player buys an item from buy menu (Nightvision, Kevlar, etc.)
	* Params:           (const pPlayer, iSlot)
	*/
	RG_BuyItem,
};
```

#### GamedllFunc_CBaseAnimating

GamedllFunc CBaseAnimating

```pawn
enum GamedllFunc_CBaseAnimating
{
	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBaseAnimating_ResetSequenceInfo = BEGIN_FUNC_REGION(animating)
};
```

#### GamedllFunc_CGrenade

GamedllFunc CGrenade

```pawn
enum GamedllFunc_CGrenade
{
	/*
	* Description:      Called when a player goes to start defuse the bomb.
	* Params:           (const this, const player)
	*/
	RG_CGrenade_DefuseBombStart = BEGIN_FUNC_REGION(grenade),

	/*
	* Description:      Called when a player has ended to defuses the bomb or when the previous defuser has taken off or been killed.
	* Params:           (const this, const player, bool:bDefused)
	*/
	RG_CGrenade_DefuseBombEnd,

	/*
	* Description:      Called when a hegrenade detonates.
	* Params:           (const this, tracehandle, const bitsDamageType)
	*/
	RG_CGrenade_ExplodeHeGrenade,

	/*
	* Description:      Called when a flashbang detonates.
	* Params:           (const this, tracehandle, const bitsDamageType)
	*/
	RG_CGrenade_ExplodeFlashbang,

	/*
	* Description:      Called when a smokegrenade detonates.
	* Params:           (const this)
	*/
	RG_CGrenade_ExplodeSmokeGrenade,

	/*
	* Description:      Called when a C4 goes to explodes.
	* Params:           (const this, tracehandle, const bitsDamageType)
	*/
	RG_CGrenade_ExplodeBomb,
};
```

#### GamedllFunc_CWeaponBox

GamedllFunc CWeaponBox

```pawn
enum GamedllFunc_CWeaponBox
{
	/*
	* Description:      Called when a player dies to pack up the appropriate weapons and ammo items, and creates a weaponbox that falls to floor with sets specify the model or when a player drop the item.
	* Params:           (const this, const szModelName[])
	*/
	RG_CWeaponBox_SetModel = BEGIN_FUNC_REGION(weaponbox),
};
```

#### GamedllFunc_CBasePlayer

GamedllFunc CBasePlayer

```pawn
enum GamedllFunc_CBasePlayer
{
	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_Spawn = BEGIN_FUNC_REGION(player),

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_Precache,

	/*
	* Description:      -
	* Return type:      int
	* Params:           (const this)
	*/
	RG_CBasePlayer_ObjectCaps,

	/*
	* Description:      -
	* Return type:      int
	* Params:           (const this)
	*/
	RG_CBasePlayer_Classify,

	/*
	* Description:      -
	* Params:           (const this, pevAttacker, Float:flDamage, Float:vecDir[3], tracehandle, bitsDamageType)
	*/
	RG_CBasePlayer_TraceAttack,

	/*
	* Description:      -
	* Return type:      int
	* Params:           (const this, pevInflictor, pevAttacker, Float:flDamage, bitsDamageType)
	*/
	RG_CBasePlayer_TakeDamage,

	/*
	* Description:      -
	* Params:           (const this, Float:flHealth, bitsDamageType)
	*/
	RG_CBasePlayer_TakeHealth,

	/*
	* Description:      -
	* Params:           (const this, pevAttacker, iGib)
	*/
	RG_CBasePlayer_Killed,

	/*
	* Description:      -
	* Params:           (const this, score, bAllowNegativeScore)
	*/
	RG_CBasePlayer_AddPoints,

	/*
	* Description:      -
	* Params:           (const this, score, bAllowNegativeScore)
	*/
	RG_CBasePlayer_AddPointsToTeam,

	/*
	* Description:      -
	* Return type:      BOOL
	* Params:           (const this, const pItem)
	*/
	RG_CBasePlayer_AddPlayerItem,

	/*
	* Description:      -
	* Return type:      BOOL
	* Params:           (const this, const pItem)
	*/
	RG_CBasePlayer_RemovePlayerItem,

	/*
	* Description:      -
	* Return type:      int
	* Params:           (const this, iAmount, szName[], iMax)
	*/
	RG_CBasePlayer_GiveAmmo,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_ResetMaxSpeed,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_Jump,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_Duck,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_PreThink,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_PostThink,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_UpdateClientData,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_ImpulseCommands,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_RoundRespawn,

	/*
	* Description:      -
	* Params:           (const this, Float:flUntilTime, Float:flHoldTime, Float:flFadeTime, iAlpha)
	*/
	RG_CBasePlayer_Blind,

	/*
	* Description:      -
	* Params:           (const this, infobuffer[], szNewModel[])
	*/
	RG_CBasePlayer_SetClientUserInfoModel,

	/*
	* Description:      -
	* Params:           (const this, infobuffer[], szNewName[])
	*/
	RG_CBasePlayer_SetClientUserInfoName,

	/*
	* Description:      -
	* Params:           (const this, iPlayerIndex, bool:bSameTeam)
	*/
	RG_CBasePlayer_Observer_IsValidTarget,

	/*
	* Description:      -
	* Params:           (const this, PLAYER_ANIM:playerAnim)
	*/
	RG_CBasePlayer_SetAnimation,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_GiveDefaultItems,

	/*
	* Description:      -
	* Return type:      CBaseEntity * (Entity index of item)
	* Params:           (const this, const pszName[])
	*/
	RG_CBasePlayer_GiveNamedItem,

	/*
	* Description:      -
	* Params:           (const this, amount, RewardType:type, bool:bTrackChange)
	*/
	RG_CBasePlayer_AddAccount,

	/*
	* Description:      -
	* Params:           (const this, bool:bDeploy)
	*/
	RG_CBasePlayer_GiveShield,

	/*
	* Description:      -
	* Return type:      CBaseEntity * (Entity index of item)
	* Params:           (const this, const pszItemName[])
	*/
	RG_CBasePlayer_DropPlayerItem,

	/*
	* Description:      -
	* Params:           (const this, ItemID:item, ItemRestType:type)
	*/
	RG_CBasePlayer_HasRestrictItem,

	/*
	* Description:      Called when a player throws the shield on the ground.
	* Return type:      CBaseEntity * (Entity index of shield)
	* Params:           (const this, bool:deploy)
	*/
	RG_CBasePlayer_DropShield,

	/*
	* Description:      Called on spawn, the attempt to equip a player.
	* Params:           (const this, bool:addDefault, bool:equipGame)
	*/
	RG_CBasePlayer_OnSpawnEquip,

	/*
	* Description:      The player uses a radio message.
	*                   Called on self-radio uses, throwing grenades or on freeze time end.
	* Params:           (const this, const msg_id[], const msg_verbose[], pitch, bool:showIcon)
	*/
	RG_CBasePlayer_Radio,

	/*
	* Description:      VIP player got to the point of rescue.
	* Params:           (const this)
	*/
	RG_CBasePlayer_Disappear,

	/*
	* Description:      Makes a random player the VIP.
	* Params:           (const this)
	*/
	RG_CBasePlayer_MakeVIP,

	/*
	* Description:      Makes a random player the bomber.
	* Return type:      bool
	* Params:           (const this)
	*/
	RG_CBasePlayer_MakeBomber,

	/*
	* Description:      The player goes into observer mode.
	* Params:           (const this, Float:vecPosition[3], Float:vecViewAngle[3])
	*/
	RG_CBasePlayer_StartObserver,

	/*
	* Description:      Called when a player enters the game.
	* Return type:      bool
	* Params:           (const this)
	*/
	RG_CBasePlayer_GetIntoGame,

	/*
	* Description:      Called when a player dying and goes into observer mode like StartObserver
	* Params:           (const this)
	*/
	RG_CBasePlayer_StartDeathCam,

	/*
	* Description:      Called when a player goes switch to opposite team after auto-teambalance or caused by 3rd-party things.
	* @note             This doesn't register the event when a player switched manually
	* Params:           (const this)
	*/
	RG_CBasePlayer_SwitchTeam,

	/*
	* Description:      Can a player switch to team?
	* Return type:      bool
	* Params:           (const this, TeamName:teamToSwap)
	*/
	RG_CBasePlayer_CanSwitchTeam,

	/*
	* Description:      Called when a player throws the grenade.
	* Return type:      CGrenade * (Entity index of grenade)
	* Params:           (const this, const grenade, Float:vecSrc[3], Float:vecThrow[3], Float:time, const usEvent)
	*/
	RG_CBasePlayer_ThrowGrenade,

	/*
	* Description:      Called when a player's set protection.
	* Return type:      void
	* Params:           (const this, Float:time)
	*/
	RG_CBasePlayer_SetSpawnProtection,

	/*
	* Description:      Called when a player's remove protection.
	* Return type:      void
	* Params:           (const this)
	*/
	RG_CBasePlayer_RemoveSpawnProtection,

	/*
	* Description:      Called when the game prints hint message into DHUD.
	* Return type:      bool
	* Params:           (const this, const message[], Float:duration, bool:bDisplayIfPlayerDead, bool:bOverride)
	*/
	RG_CBasePlayer_HintMessageEx,

	/*
	* Description:      Called when a player press use and if a suitable candidate is not found.
	* Return type:      void
	* Params:           (const this)
	*/
	RG_CBasePlayer_UseEmpty,

	/*
	* Description:      Called when a idle player is removed from server.
	* Return type:      void
	* Params:           (const this, const reason[])
	*/
	RG_CBasePlayer_DropIdlePlayer,

	/*
	* Description:      Called when a client attempt to change the observer mode.
	* Params:           (const this, iMode)
	*/
	RG_CBasePlayer_Observer_SetMode,

	/*
	* Description:      Called when a client attempt to find the next observer.
	* Return type:      void
	* Params:           (const this, bool bReverse, name[])
	*/
	RG_CBasePlayer_Observer_FindNextPlayer,

	/*
	* Description:      Called when a client emits a "pain sound" after received damage.
	* Return type:      void
	* Params:           (const this)
	*/
	RG_CBasePlayer_Pain,

	/*
	* Description:      Called when a client emits a "death sound" after death.
	* Return type:      void
	* Params:           (const this, lastHitGroup, bool:hasArmour)
	*/
	RG_CBasePlayer_DeathSound,

	/*
	* Description:      Called when a client "thinks for the join status".
	*                   (permanently called on each call of "CBasePlayer::PreThink", and only when he is not assigned as specatator or not playing)
	* Return type:      void
	* Params:           (const this)
	*/
	RG_CBasePlayer_JoiningThink,

	/*
	* Description:      Called every client frame to check time based damage
	* Return type:      void
	* Params:           (const this)
	*/
	RG_CBasePlayer_CheckTimeBasedDamage,

	/*
	* Description:      Called when game selects a spawn point (info_player_start/deathmatch) to position the player
	* Return type:      edict_t * (Entity index of selected spawn point)
	* Params:           (const this)
	*/
	RG_CBasePlayer_EntSelectSpawnPoint,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_PlayerDeathThink,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CBasePlayer_Observer_Think,

	/*
	* Description:      -
	* Params:           (const this, bool:removeSuit)
	*/
	RG_CBasePlayer_RemoveAllItems,
};
```

#### GamedllFunc_CBasePlayerWeapon

GamedllFunc CBasePlayer

```pawn
enum GamedllFunc_CBasePlayerWeapon
{
	/*
	* Description:      -
	* Return type:      BOOL
	* Params:           (const this)
	*/
	RG_CBasePlayerWeapon_CanDeploy = BEGIN_FUNC_REGION(weapon),

	/*
	* Description:      -
	* Return type:      BOOL
	* Params:           (const this, szViewModel[], szWeaponModel[], iAnim, szAnimExt[], skiplocal)
	*/
	RG_CBasePlayerWeapon_DefaultDeploy,

	/*
	* Description:      -
	* Return type:      int
	* Params:           (const this, iClipSize, iAnim, Float:fDelay)
	*/
	RG_CBasePlayerWeapon_DefaultReload,

	/*
	* Description:      -
	* Return type:      bool
	* Params:           (const this, iAnim, iStartAnim, Float:fDelay, Float:fStartDelay, const pszReloadSound1[], const pszReloadSound2[])
	*/
	RG_CBasePlayerWeapon_DefaultShotgunReload,

	/*
	* Description:      Called every client frame (PlayerPostThink) for the player's active weapon
	* Return type:      void
	* Params:           (const this)
	*/
	RG_CBasePlayerWeapon_ItemPostFrame,

	/*
	* Description:      Called whenever player fires a weapon and shakes player screen (punchangles altering)
	* @note             Weapons that use KickBack: AK47, AUG, FAMAS, GALIL, M249, M4A1, MAC10, MP5NAVY, P90, SG552, TMP, UMP45
	* Return type:      void
	* Params:           (const this, Float:up_base, Float:lateral_base, Float:up_modifier, Float:lateral_modifier, Float:p_max, Float:lateral_max, direction_change)
	*/
	RG_CBasePlayerWeapon_KickBack,

	/*
	* Description:      Called whenever game sends an animation to his current holder (player)
	* @note             This is often called for all animations in exception of "fire" and "idle" sequences (both called via client prediction)
	* Return type:      void
	* Params:           (const this, iAnim, skiplocal)
	*/
	RG_CBasePlayerWeapon_SendWeaponAnim,
};
```

#### GamedllFunc_CGib

GamedllFunc CGib

```pawn
enum GamedllFunc_CGib
{
	/*
	* Description:      -
	* Params:           (const this, const szGibModel[])
	*/
	RG_CGib_Spawn = BEGIN_FUNC_REGION(gib),

	/*
	* Description:      -
	* Params:           (const this, pOther)
	*/
	RG_CGib_BounceGibTouch,

	/*
	* Description:      -
	* Params:           (const this)
	*/
	RG_CGib_WaitTillLand,
};
```

#### GamedllFunc_CBaseEntity

GamedllFunc CBaseEntity

```pawn
enum GamedllFunc_CBaseEntity
{
	/*
	* Description:      -
	* Return type:      void
	* Params:           (pEntity, cShots, Float:vecSrc[3], Float:vecDirShooting[3], Float:vecSpread[3], Float:flDistance, iBulletType, iTracerFreq, iDamage, pevAttacker)

	*/
	RG_CBaseEntity_FireBullets = BEGIN_FUNC_REGION(cbaseentity),

	/*
	* Description:      -
	* Return type:      void
	* Params:           (pEntity, cShots, Float:vecSrc[3], Float:vecDirShooting[3], Float:vecSpread[3], Float:flDistance, iTracerFreq, iDamage, pevAttacker)
	*/
	RG_CBaseEntity_FireBuckshots,

	/*
	* Description:      -
	* Return type:      Vector [3]
	* Params:           (pEntity, Float:vecSrc[3], Float:vecDirShooting[3], Float:vecSpread, Float:flDistance, iPenetration, iBulletType, iDamage, Float:flRangeModifier, pevAttacker, bool:bPistol, shared_rand)
	*/
	RG_CBaseEntity_FireBullets3,
};
```

#### GamedllFunc_CBotManager

GamedllFunc CBotManager

```pawn
enum GamedllFunc_CBotManager
{
	/*
	* Description:      Called on each improved bot event
	* Return type:      void
	* Params:           (GameEventType:event, const pEntity, const pOther)

	*/
	RG_CBotManager_OnEvent = BEGIN_FUNC_REGION(botmanager),
}
```

#### GamedllFunc_CSGameRules

GamedllFunc CSGameRules

```pawn
enum GamedllFunc_CSGameRules
{
	/*
	* Description:      Should the player switch to this weapon?
	* Return type:      BOOL
	* Params:           (const index, const weapon)
	*/
	RG_CSGameRules_FShouldSwitchWeapon = BEGIN_FUNC_REGION(gamerules),

	/*
	* Description:      I can't use this weapon anymore, get me the next best one.
	* Return type:      BOOL
	* Params:           (const index, const currentWeapon)
	*/
	RG_CSGameRules_GetNextBestWeapon,

	/*
	* Description:      -
	* Return type:      float
	* Params:           (const index)
	*/
	RG_CSGameRules_FlPlayerFallDamage,

	/*
	* Description:      Can this player take damage from this attacker?
	* Return type:      BOOL
	* Params:           (const index, const attacker)
	*/
	RG_CSGameRules_FPlayerCanTakeDamage,

	/*
	* Description:      Called by CBasePlayer::Spawn just before releasing the player into the game.
	* Params:           (const index)
	*/
	RG_CSGameRules_PlayerSpawn,

	/*
	* Description:      Is this player allowed to respawn now?
	* Return type:      BOOL
	* Params:           (const index)
	*/
	RG_CSGameRules_FPlayerCanRespawn,

	/*
	* Description:      Place this player on his spawnspot and face him in the proper direction.
	* Return type:      edict_t * (Entity index of spawnspot)
	* Params:           (const index)
	*/
	RG_CSGameRules_GetPlayerSpawnSpot,

	/*
	* Description:      The player has changed userinfo; can change it now.
	* Params:           (const index, infobuffer[])
	*/
	RG_CSGameRules_ClientUserInfoChanged,

	/*
	* Description:      Called each time a player dies.
	* Params:           (const victim, const killer, const inflictor)
	*/
	RG_CSGameRules_PlayerKilled,

	/*
	* Description:      Call this from within a GameRules class to report an obituary.
	* Params:           (const victim, const killer, const inflictor)
	*/
	RG_CSGameRules_DeathNotice,

	/*
	* Description:      The player is touching a CBasePlayerItem, do I give it to him?
	* Return type:      BOOL
	* Params:           (const index, const item)
	*/
	RG_CSGameRules_CanHavePlayerItem,

	/*
	* Description:      What do I do with player's weapons when he's killed?
	* Return type:      int
	* Params:           (const index)
	*/
	RG_CSGameRules_DeadPlayerWeapons,

	/*
	* Description:      -
	* Params:           ()
	*/
	RG_CSGameRules_ServerDeactivate,

	/*
	* Description:      -
	* Params:           ()
	*/
	RG_CSGameRules_CheckMapConditions,

	/*
	* Description:      Recreate all the map entities from the map data (preserving their indices),
	*                   then remove everything else except the players.
	*                   Also get rid of all world decals.
	* Params:           ()
	*/
	RG_CSGameRules_CleanUpMap,

	/*
	* Description:      Call this on a new round or restart round with member m_bCompleteReset is TRUE
	* Params:           ()
	*/
	RG_CSGameRules_RestartRound,

	/*
	* Description:      Check if the scenario has been won/lost.
	* Params:           ()
	*/
	RG_CSGameRules_CheckWinConditions,

	/*
	* Description:      -
	* Params:           ()
	*/
	RG_CSGameRules_RemoveGuns,

	/*
	* Description:      -
	* Return type:      CBasePlayer * (Entity index of player)
	* Params:           ()
	*/
	RG_CSGameRules_GiveC4,

	/*
	* Description:      -
	* Params:           ()
	*/
	RG_CSGameRules_ChangeLevel,

	/*
	* Description:      -
	* Params:           ()
	*/
	RG_CSGameRules_GoToIntermission,

	/*
	* Description:      -
	* Params:           ()
	*/
	RG_CSGameRules_BalanceTeams,

	/*
	* Description:      It's called when the freeze time ends.
	* Params:           ()
	*/
	RG_CSGameRules_OnRoundFreezeEnd,

	/*
	* Description:      It's called when a player hears another player.
	* Return type:      bool
	* Params:           (const listener, const sender)
	*/
	RG_CSGameRules_CanPlayerHearPlayer,

	/*
	* Description:      Called every server frame to process game rules
	* Params:           ()
	*/
	RG_CSGameRules_Think,

	/*
	* Description:      Called each time player tries to join a team to ensure availability
	* Return type:      bool
	* Params:           (team_id)
	*/
	RG_CSGameRules_TeamFull,

	/*
	* Description:      Called each time player tries to join a team to ensure a fair distribution of players (based on mp_limitteams cvar)
	* Return type:      bool
	* Params:           (newTeam_id, curTeam_id)
	*/
	RG_CSGameRules_TeamStacked,

	/*
	* Description:      Called each time player gets a weapon linked to his inventory
	* Params:           (const pPlayer, const pWeapon)
	*/
	RG_CSGameRules_PlayerGotWeapon,

	/*
	* Description:      Called when a player is killed, sends death messages to all players, including info about the killer, victim, weapon used,
	*                   extra death flags, death position, assistant, and kill rarity
	* Return type:      void
	* Params:           (const pKiller, const pVictim, const pAssister, const pevInflictor, const killerWeaponName[], const DeathMessageFlags:iDeathMessageFlags, const KillRarity:iRarityOfKill)
	*/
	RG_CSGameRules_SendDeathMessage,
};
```

#### CSGameRules_Members

CSGameRules Members

```pawn
enum CSGameRules_Members
{
	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_bFreezePeriod = BEGIN_MEMBER_REGION(gamerules),

	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_bBombDropped,

	/*
	* Description:      -
	* Member type:      char *
	* Get params:       get_member_game(member, dest[], const lenght);
	* Set params:       set_member_game(member, const source[]);
	*/
	m_GameDesc,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_msgPlayerVoiceMask,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_msgRequestState,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_nMaxPlayers,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_UpdateInterval,

	/*
	* Description:      The global time when the round is supposed to end, if this is not 0.
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flRestartRoundTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flCheckWinConditions,

	/*
	* Description:      Time round has started.
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_fRoundStartTime,

	/*
	* Description:      How many seconds long this round is.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iRoundTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iRoundTimeSecs,

	/*
	* Description:      (From mp_freezetime) - How many seconds long the intro round (when players are frozen) is.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iIntroRoundTime,

	/*
	* Description:      The global time when the intro round ends and the real one starts (wrote the original "m_flRoundTime" comment for this variable).
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_fRoundStartTimeReal,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iAccountTerrorist,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iAccountCT,

	/*
	* Description:      The number of terrorists on the team (this is generated at the end of a round).
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumTerrorist,

	/*
	* Description:      The number of CTs on the team (this is generated at the end of a round).
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumCT,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumSpawnableTerrorist,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumSpawnableCT,

	/*
	* Description:      Number of Terrorist spawn points.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iSpawnPointCount_Terrorist,

	/*
	* Description:      Number of CT spawn points.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iSpawnPointCount_CT,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iHostagesRescued,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iHostagesTouched,

	/*
	* Description:      1 == CTs won last round, 2 == Terrorists did, 3 == Draw, no winner
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iRoundWinStatus,

	/*
	* Description:      -
	* Member type:      short
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumCTWins,

	/*
	* Description:      -
	* Member type:      short
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumTerroristWins,

	/*
	* Description:      Whether or not the bomb target has been bombed.
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bTargetBombed,

	/*
	* Description:      Whether or not the bomb has been defused.
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bBombDefused,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bMapHasBombTarget,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bMapHasBombZone,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bMapHasBuyZone,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bMapHasRescueZone,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bMapHasEscapeZone,

	/*
	* Description:      0 = uninitialized, 1 = has VIP safety zone, 2 = DOES not have VIP safetyzone
	* Member type:      qboolean
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_bMapHasVIPSafetyZone,

	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_bMapHasCameras,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iC4Timer,

	/*
	* Description:      The current Terrorist who has the C4.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iC4Guy,

	/*
	* Description:      The amount of money the losing team gets. This scales up as they lose more rounds in a row.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iLoserBonus,

	/*
	* Description:      The number of rounds the CTs have lost in a row.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumConsecutiveCTLoses,

	/*
	* Description:      The number of rounds the Terrorists have lost in a row.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumConsecutiveTerroristLoses,

	/*
	* Description:      For the idle kick functionality. This is the max amount of time that the player has to be idle before being kicked.
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_fMaxIdlePeriod,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iLimitTeams,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bLevelInitialized,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bRoundTerminating,

	/*
	* Description:      Set to TRUE to have the scores reset next time round restarts.
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bCompleteReset,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flRequiredEscapeRatio,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumEscapers,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iHaveEscaped,

	/*
	* Description:      Who can and can't buy.
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bCTCantBuy,

	/*
	* Description:      Who can and can't buy.
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bTCantBuy,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flBombRadius,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iConsecutiveVIP,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iTotalGunCount,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iTotalGrenadeCount,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iTotalArmourCount,

	/*
	* Description:      Keeps track of the # of consecutive rounds that have gone by where one team outnumbers the other team by more than 2.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iUnBalancedRounds,

	/*
	* Description:      Keeps track of the # of consecutive rounds of escape played. Teams will be swapped after 8 rounds.
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iNumEscapeRounds,

	/*
	* Description:      -
	* Member type:      int [100]
	* Get params:       get_member_game(member, element);
	* Set params:       set_member_game(member, value, element);
	*/
	m_iMapVotes,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iLastPick,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iMaxMapTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iMaxRounds,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iTotalRoundsPlayed,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iMaxRoundsWon,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iStoredSpectValue,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flForceCameraValue,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flForceChaseCamValue,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flFadeToBlackValue,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_pVIP,

	/*
	* Description:      -
	* Member type:      int [5]
	* Get params:       get_member_game(member, element);
	* Set params:       set_member_game(member, value, element);
	*/
	m_pVIPQueue,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flIntermissionEndTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flIntermissionStartTime,


	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iEndIntermissionButtonHit,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_tmNextPeriodicThink,

	/*
	* Description:      TRUE = the game commencing when there is at least one CT and T, FALSE = scoring will not start until both teams have players (deprecated name m_bFirstConnected)
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bGameStarted,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bInCareerGame,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_fCareerRoundMenuTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iCareerMatchWins,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, value);
	*/
	m_iRoundWinDifference,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_fCareerMatchMenuTime,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bSkipSpawn,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bSkipShowMenu,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bNeededPlayers,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flEscapeRatio,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flTimeLimit,

	/*
	* Description:      Stores the start time of the game.
	* @note             The time resets when the game is restarting or the game commencing.
	* Member type:      float
	* Get params:       Float:get_member_game(member);
	* Set params:       set_member_game(member, Float:value);
	*/
	m_flGameStartTime,

	/*
	* Description:      TRUE = goes balance team, otherwise FALSE
	* Member type:      bool
	* Get params:       get_member_game(member);
	* Set params:       set_member_game(member, bool:value);
	*/
	m_bTeamBalanced,
};
```

#### CBaseEntity_Members

CBaseEntity Members

```pawn
enum CBaseEntity_Members
{
	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	currentammo = BEGIN_MEMBER_REGION(base),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_buckshot,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_buckshot,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_9mm,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_9mm,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_556nato,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_556nato,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_556natobox,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_556natobox,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_762nato,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_762nato,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_45acp,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_45acp,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_50ae,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_50ae,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_338mag,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_338mag,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_57mm,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_57mm,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	maxammo_357sig,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	ammo_357sig,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flStartThrow,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flReleaseThrow,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iSwing,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	has_disconnected,
};
```

#### CBaseAnimating_Members

CBaseAnimating Members

```pawn
enum CBaseAnimating_Members
{
	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flFrameRate = BEGIN_MEMBER_REGION(animating),

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flGroundSpeed,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flLastEventCheck,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_fSequenceFinished,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_fSequenceLoops,
};
```

#### CBaseMonster_Members

CBaseMonster Members

```pawn
enum CBaseMonster_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Activity = BEGIN_MEMBER_REGION(basemonster),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_IdealActivity,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_LastHitGroup,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_bitsDamageType,

	/*
	* Description:      -
	* Member type:      byte [8]
	* Get params:       get_member(index, member, TimeBasedDamage:element);
	* Set params:       set_member(index, member, value, TimeBasedDamage:element);
	*/
	m_rgbTimeBasedDamage,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_MonsterState,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_IdealMonsterState,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_afConditions,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_afMemory,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flNextAttack,

	/*
	* Description:      -
	* Member type:      class EHANDLE
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_hEnemy,

	/*
	* Description:      -
	* Member type:      class EHANDLE
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_hTargetEnt,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flFieldOfView,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_bloodColor,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_member(index, member, Float:output[3]);
	* Set params:       set_member(index, member, Float:dest[3]);
	*/
	m_HackedGunPos,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_member(index, member, Float:output[3]);
	* Set params:       set_member(index, member, Float:dest[3]);
	*/
	m_vecEnemyLKP,
};
```

#### CBasePlayer_Members

CBasePlayer Members

```pawn
enum CBasePlayer_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	random_seed = BEGIN_MEMBER_REGION(player),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_usPlayerBleed,

	/*
	* Description:      -
	* Member type:      class EHANDLE
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_hObserverTarget,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flNextObserverInput,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iObserverWeapon,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iObserverC4State,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bObserverHasDefuser,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iObserverLastMode,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flFlinchTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flAnimTime,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bHighDamage,

	/*
	* Description:      Slow down the player based on the velocity modifier, applies when the player takes damage.
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flVelocityModifier,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iLastZoom,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bResumeZoom,

	/*
	* Description:      Delay to call EjectBrass function on M3, Scout and AWP (rest of weapons are client-side).
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flEjectBrass,

	/*
	* Description:      -
	* Member type:      enum ArmorType
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iKevlar,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bNotKilled,

	/*
	* Description:      -
	* Member type:      enum TeamName
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iTeam,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iAccount,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bHasPrimary,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flDeathThrowTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iThrowDirection,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flLastTalk,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bJustConnected,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bContextHelp,

	/*
	* Description:      -
	* Member type:      enum JoinState
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iJoiningState,

	/*
	* Description:      -
	* Member type:      class CBaseEntity *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pIntroCamera,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_fIntroCamTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_fLastMovement,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bMissionBriefing,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bTeamChanged,

	/*
	* Description:      -
	* Member type:      enum ModelName
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iModelName,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iTeamKills,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iIgnoreGlobalChat,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bHasNightVision,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bNightVisionOn,

	/*
	* Description:      -
	* Member type:      class Vector [20]
	* Get params:       get_member(index, member, Float:output[3], element);
	* Set params:       set_member(index, member, Float:dest[3], element);
	*/
	m_vRecentPath,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flIdleCheckTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flRadioTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iRadioMessages,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bIgnoreRadio,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bHasC4,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bHasDefuser,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bKilledByBomb,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_member(index, member, Float:output[3]);
	* Set params:       set_member(index, member, Float:dest[3]);
	*/
	m_vBlastVector,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bKilledByGrenade,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_flDisplayHistory,

	/*
	* Description:      -
	* Member type:      enum _Menu
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iMenu,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iChaseTarget,

	/*
	* Description:      -
	* Member type:      class CBaseEntity *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pChaseTarget,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_fCamSwitch,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bEscaped,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bIsVIP,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_tmNextRadarUpdate,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_member(index, member, Float:output[3]);
	* Set params:       set_member(index, member, Float:dest[3]);
	*/
	m_vLastOrigin,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iCurrentKickVote,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flNextVoteTime,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bJustKilledTeammate,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iHostagesKilled,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iMapVote,

	/*
	* Description:      The player can't shoot for freezetime period or during defuse bomb
	* @note             This member isn't flexible, you can't override it for other behavior, so for this purpose use m_bCanShootOverride
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bCanShoot,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flLastFired,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flLastAttackedTeammate,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bHeadshotKilled,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bPunishedForTK,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bReceivesNoMoneyNextRound,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iTimeCheckAllowed,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bHasChangedName,

	/*
	* Description:      -
	* Member type:      char [32]
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_szNewName,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bIsDefusing,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_tmHandleSignals,

	/*
	* Description:      (0 - signal, 1 - state)
	* Member type:      class CUnifiedSignals
	* Get params:       get_member(index, member, signals[UnifiedSignals]);
	* Set params:       set_member(index, member, signals[UnifiedSignals]);
	*/
	m_signals,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pentCurBombTarget,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iPlayerSound,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iTargetVolume,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iWeaponVolume,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iExtraSoundTypes,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iWeaponFlash,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flStopExtraSoundTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flFlashLightTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iFlashBattery,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_afButtonLast,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_afButtonPressed,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_afButtonReleased,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pentSndLast,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flSndRoomtype,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flSndRange,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flFallVelocity,

	/*
	* Description:      -
	* Member type:      int [4]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_rgItems,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_fNewAmmo,

	/*
	* Description:      -
	* Member type:      unsigned int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_afPhysicsFlags,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_fNextSuicideTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flTimeStepSound,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flTimeWeaponIdle,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flSwimTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flDuckTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flWallJumpTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flSuitUpdate,

	/*
	* Description:      -
	* Member type:      int [4]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_rgSuitPlayList,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iSuitPlayNext,

	/*
	* Description:      -
	* Member type:      int [32]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_rgiSuitNoRepeat,

	/*
	* Description:      -
	* Member type:      float [32]
	* Get params:       Float:get_member(index, member, element);
	* Set params:       set_member(index, member, Float:value, element);
	*/
	m_rgflSuitNoRepeatTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_lastDamageAmount,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_tbdPrev,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flgeigerRange,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flgeigerDelay,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_igeigerRangePrev,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iStepLeft,

	/*
	* Description:      -
	* Member type:      char [17]
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_szTextureName,

	/*
	* Description:      -
	* Member type:      char
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_chTextureType,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_idrowndmg,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_idrownrestored,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_bitsHUDDamage,

	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_fInitHUD,

	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_fGameHUDInitialized,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iTrain,

	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_fWeapon,

	/*
	* Description:      -
	* Member type:      class EHANDLE
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pTank,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_fDeadTime,

	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_fNoPlayerSound,

	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_fLongJump,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_tSneaking,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iUpdateTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iClientHealth,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iClientBattery,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iHideHUD,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iClientHideHUD,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iFOV,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iClientFOV,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iNumSpawns,

	/*
	* Description:      -
	* Member type:      class CBaseEntity *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pObserver,

	/*
	* Description:      -
	* Member type:      class CBasePlayerItem *[6]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_rgpPlayerItems,

	/*
	* Description:      -
	* Member type:      class CBasePlayerItem *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pActiveItem,

	/*
	* Description:      -
	* Member type:      class CBasePlayerItem *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pClientActiveItem,

	/*
	* Description:      -
	* Member type:      class CBasePlayerItem *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pLastItem,

	/*
	* Description:      -
	* Member type:      int [32]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_rgAmmo,

	/*
	* Description:      -
	* Member type:      int [32]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_rgAmmoLast,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_member(index, member, Float:output[3]);
	* Set params:       set_member(index, member, Float:dest[3]);
	*/
	m_vecAutoAim,

	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_fOnTarget,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iDeaths,

	/*
	* Description:      -
	* Member type:      int [4]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_izSBarState,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flNextSBarUpdateTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flStatusBarDisappearDelay,

	/*
	* Description:      -
	* Member type:      char [128]
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_SbarString0,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_lastx,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_lasty,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_nCustomSprayFrames,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flNextDecalTime,

	/*
	* Description:      -
	* Member type:      char [16]
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_szTeamName,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_modelIndexPlayer,

	/*
	* Description:      -
	* Member type:      char [32]
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_szAnimExtention,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iGaitsequence,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flGaitframe,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flGaityaw,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_member(index, member, Float:output[3]);
	* Set params:       set_member(index, member, Float:dest[3]);
	*/
	m_prevgaitorigin,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flPitch,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flYaw,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flGaitMovement,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iAutoWepSwitch,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bVGUIMenus,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bShowHints,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bShieldDrawn,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bOwnsShield,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bWasFollowing,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flNextFollowTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flYawModifier,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_blindUntilTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_blindStartTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_blindHoldTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_blindFadeTime,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_blindAlpha,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_allowAutoFollowTime,

	/*
	* Description:      -
	* Member type:      char [256]
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_autoBuyString,

	/*
	* Description:      -
	* Member type:      char *
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_rebuyString,

	/*
	* Description:      -
	* Member type:      struct RebuyStruct
	* Get params:       RebuyHandle:get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_rebuyStruct,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bIsInRebuy,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flLastUpdateTime,

	/*
	* Description:      -
	* Member type:      char [32]
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_lastLocation,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_progressStart,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_progressEnd,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bObserverAutoDirector,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_canSwitchObserverModes,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_heartBeatTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_intenseTimestamp,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_silentTimestamp,

	/*
	* Description:      -
	* Member type:      enum MusicState
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_musicState,

	/*
	* Description:      -
	* Member type:      float [8]
	* Get params:       Float:get_member(index, member, element);
	* Set params:       set_member(index, member, Float:value, element);
	*/
	m_flLastCommandTime,

	/*
	* Description:      The amount of money sent to the client last time.
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iLastAccount,

	/*
	* Description:      The amount of health sent to the client last time.
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_iLastClientHealth,

	/*
	* Description:      Waiting time for update fields into scoreboard.
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_tmNextAccountHealthUpdate,
};
```

#### RebuyStruct

RebuyStruct

```pawn
enum RebuyStruct
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_primaryWeapon = BEGIN_MEMBER_REGION(rebuystruct),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_primaryAmmo,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_secondaryWeapon,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_secondaryAmmo,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_heGrenade,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_flashbang,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_smokeGrenade,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_defuser,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_nightVision,

	/*
	* Description:      enum ArmorType
	* Member type:      int
	* Get params:       get_rebuy(RebuyHandle:handle, RebuyStruct:member);
	* Set params:       set_rebuy(RebuyHandle:handle, RebuyStruct:member, value);
	*/
	m_armor,
};
```

#### PlayerMove

PlayerMove

```pawn
enum PlayerMove
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_player_index = BEGIN_MEMBER_REGION(playermove),

	/*
	* Description:      -
	* Member type:      qboolean
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_server,

	/*
	* Description:      -
	* Member type:      qboolean
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_multiplayer,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(const MoveVars:var);
	* Set params:       set_pmove(const MoveVars:var, Float:value);
	*/
	pm_time,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(const MoveVars:var);
	* Set params:       set_pmove(const MoveVars:var, Float:value);
	*/
	pm_frametime,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_forward,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_right,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_up,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_origin,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_angles,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_oldangles,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_velocity,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_movedir,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_basevelocity,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_view_ofs,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_flDuckTime,

	/*
	* Description:      -
	* Member type:      qboolean
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_bInDuck,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_flTimeStepSound,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_iStepLeft,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_flFallVelocity,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_punchangle,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_flSwimTime,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_flNextPrimaryAttack,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_effects,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_flags,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_usehull,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_gravity,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_friction,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_oldbuttons,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_waterjumptime,

	/*
	* Description:      -
	* Member type:      qboolean
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_dead,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_deadflag,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_spectator,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_movetype,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_onground,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_waterlevel,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_watertype,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_oldwaterlevel,

	/*
	* Description:      -
	* Member type:      char [256]
	* Get params:       get_pmove(const PlayerMove:var, dest[], const lenght);
	* Set params:       set_pmove(const PlayerMove:var, const source[]);
	*/
	pm_sztexturename,

	/*
	* Description:      -
	* Member type:      char
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_chtexturetype,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_maxspeed,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_clientmaxspeed,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_iuser1,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_iuser2,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_iuser3,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_iuser4,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_fuser1,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_fuser2,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_fuser3,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, Float:value);
	*/
	pm_fuser4,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_vuser1,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_vuser2,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_vuser3,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3]);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3]);
	*/
	pm_vuser4,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_numphysent,

	/*
	* Description:      -
	* Member type:      struct usercmd_s *
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_cmd,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmove(member);
	* Set params:       set_pmove(const PlayerMove:var, value);
	*/
	pm_numtouch,

	/*
	* Description:      -
	* Member type:      char [256]
	* Get params:       get_pmove(const PlayerMove:var, dest[], const lenght);
	* Set params:       set_pmove(const PlayerMove:var, const source[]);
	*/
	pm_physinfo,

	/*
	* Description:      -
	* Member type:      vec3_t [4]
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3], element);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3], element);
	*/
	pm_player_mins,

	/*
	* Description:      -
	* Member type:      vec3_t [4]
	* Get params:       get_pmove(const PlayerMove:var, Float:output[3], element);
	* Set params:       set_pmove(const PlayerMove:var, Float:dest[3], element);
	*/
	pm_player_maxs,
};
```

#### MoveVars

MoveVars

```pawn
enum MoveVars
{
	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_gravity = BEGIN_MEMBER_REGION(movevars),

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_stopspeed,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_maxspeed,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_spectatormaxspeed,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_accelerate,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_airaccelerate,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_wateraccelerate,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_friction,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_edgefriction,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_waterfriction,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_entgravity,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_bounce,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_stepsize,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_maxvelocity,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_zmax,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_waveHeight,

	/*
	* Description:      -
	* Member type:      BOOL
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_footsteps,

	/*
	* Description:      -
	* Member type:      char [32]
	* Get params:       Float:get_movevar(const MoveVars:var, dest[], const lenght);
	* Set params:       set_movevar(const MoveVars:var, const source[]);
	*/
	mv_skyName,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_rollangle,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_rollspeed,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_skycolor_r,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_skycolor_g,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_skycolor_b,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_skyvec_x,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_skyvec_y,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_movevar(const MoveVars:var);
	* Set params:       set_movevar(const MoveVars:var, Float:value);
	*/
	mv_skyvec_z,
};
```

#### PMTrace

PMTrace

```pawn
enum PMTrace
{
	/*
	* Description:      -
	* Member type:      qboolean
	* Get params:       get_pmtrace(const tr, const PMTrace:var);
	* Set params:       set_pmtrace(const tr, const PMTrace:var, value);
	*/
	pmt_allsolid = BEGIN_MEMBER_REGION(pmtrace),

	/*
	* Description:      -
	* Member type:      qboolean
	* Get params:       get_pmtrace(const tr, const PMTrace:var);
	* Set params:       set_pmtrace(const tr, const PMTrace:var, value);
	*/
	pmt_startsolid,

	/*
	* Description:      -
	* Member type:      qboolean
	* Get params:       get_pmtrace(const tr, const PMTrace:var);
	* Set params:       set_pmtrace(const tr, const PMTrace:var, value);
	*/
	pmt_inopen,

	/*
	* Description:      -
	* Member type:      qboolean
	* Get params:       get_pmtrace(const tr, const PMTrace:var);
	* Set params:       set_pmtrace(const tr, const PMTrace:var, value);
	*/
	pmt_inwater,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_pmtrace(const tr, const PMTrace:var);
	* Set params:       set_pmtrace(const tr, const PMTrace:var, Float:value);
	*/
	pmt_fraction,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmtrace(const tr, const PMTrace:var, Float:output[3]);
	* Set params:       set_pmtrace(const tr, const PMTrace:var, Float:dest[3]);
	*/
	pmt_endpos,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmtrace(const tr, const PMTrace:var);
	* Set params:       set_pmtrace(const tr, const PMTrace:var, value);
	*/
	pmt_ent,

	/*
	* Description:      -
	* Member type:      vec3_t
	* Get params:       get_pmtrace(const tr, const PMTrace:var, Float:output[3]);
	* Set params:       set_pmtrace(const tr, const PMTrace:var, Float:dest[3]);
	*/
	pmt_deltavelocity,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_pmtrace(const tr, const PMTrace:var);
	* Set params:       set_pmtrace(const tr, const PMTrace:var, value);
	*/
	pmt_hitgroup
};
```

#### CCSPlayer_Members

CCSPlayer API Members

```pawn
enum CCSPlayer_Members
{
	/*
	* Description:      -
	* Member type:      char [32]
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_szModel = BEGIN_MEMBER_REGION(csplayer),

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bForceShowMenu,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flRespawnPending,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flSpawnProtectionEndTime,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_member(index, member, Float:output[3]);
	* Set params:       set_member(index, member, Float:dest[3]);
	*/
	m_vecOldvAngle,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iWeaponInfiniteAmmo,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iWeaponInfiniteIds,

	/*
	* Description:      Forcing override for CBasePlayer::m_bCanShoot
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bCanShootOverride,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bGameForcingRespawn,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bAutoBunnyHopping,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bMegaBunnyJumping,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bPlantC4Anywhere,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_bSpawnProtectionEffects,

	/*
	* Description:      Player vertical jump height
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flJumpHeight,

	/*
	* Description:      Player vertical jump height with longjump
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flLongJumpHeight,

	/*
	* Description:      Player horizontal jump height with longjump
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flLongJumpForce,

	/*
	* Description:      Player crouch maxspeed multiplier
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_flDuckSpeedMultiplier,

	/*
	* Description:      How many unanswered kills this player has been dealt by each other player (0-31)
	* Member type:      int [32]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_iNumKilledByUnanswered,

	/*
	* Description:      Array of state per other player whether player is dominating other players (0-31)
	* Member type:      bool [32]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_bPlayerDominated,
};
```

#### CBasePlayerItem_Members

CBasePlayerItem Members

```pawn
enum CBasePlayerItem_Members
{
	/*
	* Description:      ID of the owner on this item
	* Member type:      class CBasePlayer *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pPlayer = BEGIN_MEMBER_REGION(baseitem),

	/*
	* Description:      Iterator for linked list of the entities
	* Member type:      class CBasePlayerItem *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pNext,

	/*
	* Description:      ID of the item
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_iId,
};
```

#### CBasePlayerWeapon_Members

CBasePlayerWeapon Members

```pawn
enum CBasePlayerWeapon_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iPlayEmptySound = BEGIN_MEMBER_REGION(baseweapon),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_fFireOnEmpty,

	/*
	* Description:      Soonest time ItemPostFrame will call PrimaryAttack.
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flNextPrimaryAttack,

	/*
	* Description:      Soonest time ItemPostFrame will call SecondaryAttack.
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flNextSecondaryAttack,

	/*
	* Description:      Soonest time ItemPostFrame will call WeaponIdle.
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flTimeWeaponIdle,

	/*
	* Description:      "primary" ammo index into player's m_rgAmmo[]
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iPrimaryAmmoType,

	/*
	* Description:      "secondary" ammo index into player's m_rgAmmo[]
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iSecondaryAmmoType,

	/*
	* Description:      Number of shots left in the primary weapon clip, -1 if not used.
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iClip,

	/*
	* Description:      The last version of m_Weapon_iClip sent to hud dll.
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iClientClip,

	/*
	* Description:      The last version of the weapon state sent to hud dll (is current weapon, is on target).
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iClientWeaponState,

	/*
	* Description:      Are we in the middle of a reload?
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_fInReload,

	/*
	* Description:      Are we in the middle of a reload for the shotguns?
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_fInSpecialReload,

	/*
	* Description:      How much ammo you get when you pick up this weapon as placed by a level designer.
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iDefaultAmmo,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iShellId,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_fMaxSpeed,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_Weapon_bDelayFire,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iDirection,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_Weapon_bSecondarySilencerOn,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flAccuracy,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flLastFire,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iShotsFired,

	/*
	* Description:      Time to shoot the remaining bullets of the glock18 burst fire.
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flGlock18Shoot,

	/*
	* Description:      Used to keep track of the shots fired during the Glock18 burst fire mode.
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iGlock18ShotsFired,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flFamasShoot,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iFamasShotsFired,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_fBurstSpread,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_iWeaponState,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flNextReload,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flDecreaseShotsFired,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_usFireGlock18,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Weapon_usFireFamas,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flPrevPrimaryAttack,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flLastFireTime,
};
```

#### CWeaponBox_Members

CWeaponBox Members

```pawn
enum CWeaponBox_Members
{
	/*
	* Description:      -
	* Member type:      class CBasePlayerItem *[MAX_ITEM_TYPES]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_WeaponBox_rgpPlayerItems = BEGIN_MEMBER_REGION(weaponbox),

	/*
	* Description:      -
	* Member type:      string_t [MAX_AMMO_SLOTS]
	* Get params:       get_member(index, member, dest[], const lenght, element);
	* Set params:       set_member(index, member, const source[], element);
	*/
	m_WeaponBox_rgiszAmmo,

	/*
	* Description:      -
	* Member type:      int [MAX_AMMO_SLOTS]
	* Get params:       get_member(index, member, element);
	* Set params:       set_member(index, member, value, element);
	*/
	m_WeaponBox_rgAmmo,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_WeaponBox_cAmmoTypes,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_WeaponBox_bIsBomb,
};
```

#### CArmoury_Members

CArmoury Members

```pawn
enum CArmoury_Members
{
	/*
	* Description:      -
	* Member type:      enum ArmouryItemPack
	* Get params:       ArmouryItemPack:get_member(index, member);
	* Set params:       set_member(index, member, ArmouryItemPack:value);
	*/
	m_Armoury_iItem = BEGIN_MEMBER_REGION(armoury),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Armoury_iCount,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Armoury_iInitialCount,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_Armoury_bAlreadyCounted,
};
```

#### CGrenade_Members

CGrenade Members

```pawn
enum CGrenade_Members
{
	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_Grenade_bStartDefuse = BEGIN_MEMBER_REGION(grenade),

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_Grenade_bIsC4,

	/*
	* Description:      -
	* Member type:      class EHANDLE
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Grenade_pBombDefuser,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Grenade_flDefuseCountDown,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Grenade_flC4Blow,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Grenade_flNextFreqInterval,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Grenade_flNextBeep,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Grenade_flNextFreq,

	/*
	* Description:      -
	* Member type:      char *
	* Get params:       get_member(index, member, dest[], const lenght);
	* Set params:       set_member(index, member, const source[]);
	*/
	m_Grenade_sBeepName,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Grenade_fAttenu,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Grenade_flNextBlink,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Grenade_fNextDefuse,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_Grenade_bJustBlew,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Grenade_iTeam,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Grenade_iCurWave,

	/*
	* Description:      -
	* Member type:      struct edict_s *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Grenade_pentCurBombTarget,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Grenade_SGSmoke,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Grenade_angle,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Grenade_usEvent,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_Grenade_bLightSmoke,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_Grenade_bDetonated,

	/*
	* Description:      -
	* Member type:      class Vector
	* Get params:       get_member(index, member, Float:output[3]);
	* Set params:       set_member(index, member, Float:dest[3]);
	*/
	m_Grenade_vSmokeDetonate,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Grenade_iBounceCount,

	/*
	* Description:      Whether or not this grenade has issued its DANGER sound to the world sound list yet.
	* Member type:      BOOL
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Grenade_fRegisteredSound,
};
```

#### CP228_Members

CP228 Members

```pawn
enum CP228_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_P228_iShell = BEGIN_MEMBER_REGION(p228),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_P228_usFire,
};
```

#### CSCOUT_Members

CSCOUT Members

```pawn
enum CSCOUT_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_SCOUT_iShell = BEGIN_MEMBER_REGION(scout),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_SCOUT_usFire,
};
```

#### CHEGrenade_Members

CHEGrenade Members

```pawn
enum CHEGrenade_Members
{
	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_HEGrenade_usCreate = BEGIN_MEMBER_REGION(hegrenade),
};
```

#### CXM1014_Members

CXM1014 Members

```pawn
enum CXM1014_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_XM1014_iShell = BEGIN_MEMBER_REGION(xm1014),

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_XM1014_flPumpTime,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_XM1014_usFire,
};
```

#### CC4_Members

CC4 Members

```pawn
enum CC4_Members
{
	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_C4_bStartedArming = BEGIN_MEMBER_REGION(c4),

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_C4_bBombPlacedAnimation,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_C4_fArmedTime,

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_C4_bHasShield,
};
```

#### CMAC10_Members

CMAC10 Members

```pawn
enum CMAC10_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_MAC10_iShell = BEGIN_MEMBER_REGION(mac10),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_MAC10_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_MAC10_usFire,
};
```

#### CAUG_Members

CAUG Members

```pawn
enum CAUG_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_AUG_iShell = BEGIN_MEMBER_REGION(aug),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_AUG_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_AUG_usFire,
};
```

#### CSmokeGrenade_Members

CSmokeGrenade Members

```pawn
enum CSmokeGrenade_Members
{
	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_SmokeGrenade_usCreate = BEGIN_MEMBER_REGION(smokegrenade),
};
```

#### CELITE_Members

CELITE Members

```pawn
enum CELITE_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_ELITE_iShell = BEGIN_MEMBER_REGION(elite),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_ELITE_usFire_LEFT,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_ELITE_usFire_RIGHT,
};
```

#### CFiveSeven_Members

CFiveSeven Members

```pawn
enum CFiveSeven_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_FiveSeven_iShell = BEGIN_MEMBER_REGION(fiveseven),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_FiveSeven_usFire,
};
```

#### CUMP45_Members

CUMP45 Members

```pawn
enum CUMP45_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_UMP45_iShell = BEGIN_MEMBER_REGION(ump45),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_UMP45_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_UMP45_usFire,
};
```

#### CSG550_Members

CSG550 Members

```pawn
enum CSG550_Members
{
	m_SG550_iShell = BEGIN_MEMBER_REGION(sg550),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_SG550_usFire,
};
```

#### CGalil_Members

CGalil Members

```pawn
enum CGalil_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Galil_iShell = BEGIN_MEMBER_REGION(galil),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Galil_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Galil_usFire,
};
```

#### CFamas_Members

CFamas Members

```pawn
enum CFamas_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Famas_iShell = BEGIN_MEMBER_REGION(famas),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Famas_iShellOn,

	/*
	* Description:      Basic damage that famas deals before any multiplier, such as hitgroup, armor, distance and bullet penetration in burst mode
	* Member type:      float
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Famas_flBaseDamageBurst,
};
```

#### CUSP_Members

CUSP Members

```pawn
enum CUSP_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_USP_iShell = BEGIN_MEMBER_REGION(usp),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_USP_usFire,

	/*
	* Description:      Basic damage that usp deals before any multiplier, such as hitgroup, armor, distance and bullet penetration in silence mdoe
	* Member type:      float
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_USP_flBaseDamageSil,
};
```

#### CGLOCK18_Members

CGLOCK18 Members

```pawn
enum CGLOCK18_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_GLOCK18_iShell = BEGIN_MEMBER_REGION(glock18),

	/*
	* Description:      -
	* Member type:      bool
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, bool:value);
	*/
	m_GLOCK18_bBurstFire,
};
```

#### CAWP_Members

CAWP Members

```pawn
enum CAWP_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_AWP_iShell = BEGIN_MEMBER_REGION(awp),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_AWP_usFire,
};
```

#### CMP5N_Members

CMP5N Members

```pawn
enum CMP5N_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_MP5N_iShell = BEGIN_MEMBER_REGION(mp5n),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_MP5N_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_MP5N_usFire,
};
```

#### CM249_Members

CM249 Members

```pawn
enum CM249_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_M249_iShell = BEGIN_MEMBER_REGION(m249),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_M249_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_M249_usFire,
};
```

#### CM3_Members

CM3 Members

```pawn
enum CM3_Members
{
	m_M3_iShell = BEGIN_MEMBER_REGION(m3),

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_M3_flPumpTime,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_M3_usFire,
};
```

#### CM4A1_Members

CM4A1 Members

```pawn
enum CM4A1_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_M4A1_iShell = BEGIN_MEMBER_REGION(m4a1),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_M4A1_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_M4A1_usFire,

	/*
	* Description:      Basic damage that m4a1 deals before any multiplier, such as hitgroup, armor, distance and bullet penetration in silence mdoe
	* Member type:      float
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_M4A1_flBaseDamageSil,
};
```

#### CTMP_Members

CTMP Members

```pawn
enum CTMP_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_TMP_iShell = BEGIN_MEMBER_REGION(tmp),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_TMP_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_TMP_usFire,
};
```

#### CG3SG1_Members

CG3SG1 Members

```pawn
enum CG3SG1_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_G3SG1_iShell = BEGIN_MEMBER_REGION(g3sg1),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_G3SG1_usFire,
};
```

#### CDEAGLE_Members

CDEAGLE Members

```pawn
enum CDEAGLE_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_DEAGLE_iShell = BEGIN_MEMBER_REGION(deagle),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_DEAGLE_usFire,
};
```

#### CSG552_Members

CSG552 Members

```pawn
enum CSG552_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_SG552_iShell = BEGIN_MEMBER_REGION(sg552),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_SG552_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_SG552_usFire,
};
```

#### CAK47_Members

CAK47 Members

```pawn
enum CAK47_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_AK47_iShell = BEGIN_MEMBER_REGION(ak47),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_AK47_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_AK47_usFire,
};
```

#### CKnife_Members

CKnife Members

```pawn
enum CKnife_Members
{
	/*
	* Description:      -
	* Member type:      TraceResult
	* Get params:       TraceResult:get_member(index, member);
	* Set params:       set_member(index, member, TraceResult:value);
	*/
	m_Knife_trHit = BEGIN_MEMBER_REGION(knife),

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Knife_usKnife,

	/*
	* Description:      Stab damage (default: 65.0)
	* Member type:      float
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Knife_flStabBaseDamage,

	/*
	* Description:      Swing damage (default: 15.0)
	* Member type:      float
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Knife_flSwingBaseDamage,

	/*
	* Description:      Fast Swing (first one) damage (default: 20.0)
	* Member type:      float
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Knife_flSwingBaseDamage_Fast,

	/*
	* Description:      Stab distance (default: 32.0)
	* Member type:      float
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Knife_flStabDistance,

	/*
	* Description:      Swing distance (default: 64.0)
	* Member type:      float
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Knife_flSwingDistance,

	/*
	* Description:      Back Stab damage multiplier (default: 3.0)
	* Member type:      float
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Knife_flBackStabMultiplier,
};
```

#### CP90_Members

CP90 Members

```pawn
enum CP90_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_P90_iShell = BEGIN_MEMBER_REGION(p90),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_P90_iShellOn,

	/*
	* Description:      -
	* Member type:      unsigned short
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_P90_usFire,
};
```

#### CShield_Members

CWShield Members

```pawn
enum CShield_Members
{
	/*
	* Description:      -
	* Member type:      class EHANDLE
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Shield_hEntToIgnoreTouchesFrom = BEGIN_MEMBER_REGION(shield),

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Shield_flTimeToIgnoreTouches,
};
```

#### CMapInfo_Members

CMapInfo Members

```pawn
enum CMapInfo_Members
{
	/*
	* Description:      -
	* Member type:      enum InfoMapBuyParam
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_MapInfo_iBuyingStatus = BEGIN_MEMBER_REGION(mapinfo),

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_MapInfo_flBombRadius,
};
```

#### CCSPlayerWeapon_Members

CCSPlayerWeapon API Members

```pawn
enum CCSPlayerWeapon_Members
{
	/*
	* Description:      Weapon secondary attack state
	* Member type:      enum SecondaryAtkState
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, SecondaryAtkState:value);
	*/
	m_Weapon_iStateSecondaryAttack = BEGIN_MEMBER_REGION(csplayerweapon),

	/*
	* Description:      Basic damage that weapon deals before any multiplier, such as hitgroup, armor, distance and bullet penetration
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Weapon_flBaseDamage,
};
```

#### m_Weapon_bHasSecondaryAttack

m_Weapon_bHasSecondaryAttack

```pawn
#define m_Weapon_bHasSecondaryAttack m_Weapon_iStateSecondaryAttack
```

#### CGib_Members

CGib Members

```pawn
enum CGib_Members
{
	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Gib_bloodColor = BEGIN_MEMBER_REGION(gib),

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Gib_cBloodDecals,

	/*
	* Description:      -
	* Member type:      int
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_Gib_material,

	/*
	* Description:      -
	* Member type:      float
	* Get params:       Float:get_member(index, member);
	* Set params:       set_member(index, member, Float:value);
	*/
	m_Gib_lifeTime,
};
```

#### CCSEntity_Members

CCSEntity API Members

```pawn
enum CCSEntity_Members
{
	/*
	* Description:      Penetration level of the damage caused by the inflictor
	* Member type:      unsigned char
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_ucDmgPenetrationLevel = BEGIN_MEMBER_REGION(csentity),

	/*
	* Description:      Cached inflictor passed inside TakeDamage to retrieve in Killed
	* Member type:      entvars_t *
	* Get params:       get_member(index, member);
	* Set params:       set_member(index, member, value);
	*/
	m_pevLastInflictor,
};
```

## reapi 5.26.0.338 / reapi_rechecker.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_rechecker
- Group: reapi 5.26.0.338
- Functions: 2
- Documented constants: 2

### Constants

#### ResourceType

ResourceType

```pawn
enum ResourceType
{
	RES_TYPE_NONE = 0,
	RES_TYPE_EXISTS,    // to comparison with the specified hash value
	RES_TYPE_MISSING,   // check it missing file on client
	RES_TYPE_IGNORE,    // ignore the specified hash value
	RES_TYPE_HASH_ANY,  // any file with any the hash value
};
```

#### ReCheckerFunc

ReCheckerFunc

```pawn
enum ReCheckerFunc
{
	/*
	* Description:   -
	* Params:        (const client, const filename[], const cmd[], const ResourceType:type, const responseHash, bool:isBreak)
	*/
	RC_FileConsistencyProcess = BEGIN_FUNC_REGION(rechecker),

	/*
	* Description:   -
	* Params:        (const client)
	*/
	RC_FileConsistencyFinal,

	/*
	* Description:   -
	* Params:        (const client, const filename[], const cmd[], const responseHash)
	*/
	RC_CmdExec,

	// [...]
};
```

### Functions

#### RegisterQueryFile

- Include: `reapi_rechecker.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_rechecker/function/RegisterQueryFile
- Line: 48

##### Syntax

```pawn
native QueryFileHook:RegisterQueryFile(const file[], const function[], const ResourceType:type, const hash = -1);
```

##### Description

Send request the file for the client to get hash

##### Parameters

- `file`: The file (Can contain a relative path to the file)
- `function`: The forward to call
- `type`: The request type, can be only RES_TYPE_EXISTS, RES_TYPE_MISSING or RES_TYPE_HASH_ANY
- `hash`: Hash of file to request.

##### Return

Returns a hook handle. Use UnRegisterQueryFile to remove the forward

#### UnRegisterQueryFile

- Include: `reapi_rechecker.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_rechecker/function/UnRegisterQueryFile
- Line: 58

##### Syntax

```pawn
native bool:UnRegisterQueryFile(QueryFileHook:hook);
```

##### Description

Unregister the forward.
Use the return value from RegisterQueryFile as the parameter here!

##### Parameters

- `hook`: The hook to remove

##### Return

Returns true if the hook is successfully removed, otherwise false

## reapi 5.26.0.338 / reapi_reunion.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_reunion
- Group: reapi 5.26.0.338
- Functions: 4
- Documented constants: 2

### Constants

#### client_auth_type

client_auth_type

```pawn
enum client_auth_type
{
	CA_TYPE_NONE = 0,
	CA_TYPE_DPROTO,
	CA_TYPE_STEAM,
	CA_TYPE_STEAMEMU,
	CA_TYPE_REVEMU,
	CA_TYPE_OLDREVEMU,
	CA_TYPE_HLTV,
	CA_TYPE_SC2009,
	CA_TYPE_AVSMP,
	CA_TYPE_SXEI,
	CA_TYPE_REVEMU2013,
	CA_TYPE_SSE3,
};
```

#### is_user_steam

is_user_steam

```pawn
#define is_user_steam(%0) (REU_GetAuthtype(%0) == CA_TYPE_STEAM)
```

### Functions

#### REU_GetAuthKey

- Include: `reapi_reunion.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_reunion/function/REU_GetAuthKey
- Line: 52

##### Syntax

```pawn
native REU_GetAuthKey(const index, dest[], maxlen);
```

##### Description

Get client authkey

##### Parameters

- `index`: Client index
- `index`: Buffer to copy the authkey
- `index`: Maximum buffer size

##### Return

Number of cells copied to buffer

#### REU_GetAuthtype

- Include: `reapi_reunion.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_reunion/function/REU_GetAuthtype
- Line: 40

##### Syntax

```pawn
native client_auth_type:REU_GetAuthtype(const index);
```

##### Description

Gets client auth type.

##### Parameters

- `index`: Client index

##### Return

Client auth type

#### REU_GetProtocol

- Include: `reapi_reunion.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_reunion/function/REU_GetProtocol
- Line: 31

##### Syntax

```pawn
native REU_GetProtocol(const index);
```

##### Description

Gets client protocol.

##### Parameters

- `index`: Client index

##### Return

Client protocol

#### REU_IsRevemuWithoutAdminRights

- Include: `reapi_reunion.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_reunion/function/REU_IsRevemuWithoutAdminRights
- Line: 61

##### Syntax

```pawn
native bool:REU_IsRevemuWithoutAdminRights(const index);
```

##### Description

Check if the client is running RevEmu with limited user rights.

##### Parameters

- `index`: Client index

##### Return

1/0

## reapi 5.26.0.338 / reapi_version.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_version
- Group: reapi 5.26.0.338
- Functions: 0
- Documented constants: 3

### Constants

#### REAPI_VERSION

REAPI_VERSION

```pawn
#define REAPI_VERSION 526338
```

#### REAPI_VERSION_MAJOR

REAPI_VERSION_MAJOR

```pawn
#define REAPI_VERSION_MAJOR 5
```

#### REAPI_VERSION_MINOR

REAPI_VERSION_MINOR

```pawn
#define REAPI_VERSION_MINOR 26
```

## reapi 5.26.0.338 / reapi_vtc.inc

- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_vtc
- Group: reapi 5.26.0.338
- Functions: 7
- Documented constants: 0

### Functions

#### VTC_OnClientStartSpeak

- Include: `reapi_vtc.inc`
- Group: `reapi 5.26.0.338`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_vtc/function/VTC_OnClientStartSpeak
- Line: 62

##### Syntax

```pawn
forward VTC_OnClientStartSpeak(const index);
```

##### Description

Called when the player started talking.

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

#### VTC_OnClientStopSpeak

- Include: `reapi_vtc.inc`
- Group: `reapi 5.26.0.338`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_vtc/function/VTC_OnClientStopSpeak
- Line: 71

##### Syntax

```pawn
forward VTC_OnClientStopSpeak(const index);
```

##### Description

Called when the player stopped talking.

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

#### VTC_IsClientMuted

- Include: `reapi_vtc.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_vtc/function/VTC_IsClientMuted
- Line: 40

##### Syntax

```pawn
native bool:VTC_IsClientMuted(const index);
```

##### Description

Checks whether the player is muted at the moment.

##### Parameters

- `index`: Client index

##### Return

true if client is muted, false otherwise

#### VTC_IsClientSpeaking

- Include: `reapi_vtc.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_vtc/function/VTC_IsClientSpeaking
- Line: 13

##### Syntax

```pawn
native bool:VTC_IsClientSpeaking(const index);
```

##### Description

Checks whether the player is talking at the moment.

##### Parameters

- `index`: Client index

##### Return

true if client is speaking, false otherwise

#### VTC_MuteClient

- Include: `reapi_vtc.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_vtc/function/VTC_MuteClient
- Line: 22

##### Syntax

```pawn
native VTC_MuteClient(const index);
```

##### Description

Mutes the player.

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

#### VTC_PlaySound

- Include: `reapi_vtc.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_vtc/function/VTC_PlaySound
- Line: 53

##### Syntax

```pawn
native VTC_PlaySound(const receiver, const soundFilePath[]);
```

##### Description

Play the audio file via the voice stream.

##### Parameters

- `receiver`: Receiver index
- `soundFilePath`: The path to the sound file

##### Note

Usage example:
VTC_PlaySound(id, "sound/ambience/Opera.wav");

##### Return

This function has no return value.

#### VTC_UnmuteClient

- Include: `reapi_vtc.inc`
- Group: `reapi 5.26.0.338`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/reapi-5-26-0-338/reapi_vtc/function/VTC_UnmuteClient
- Line: 31

##### Syntax

```pawn
native VTC_UnmuteClient(const index);
```

##### Description

Unmutes the player.

##### Parameters

- `index`: Client index

##### Return

This function has no return value.

## regex.inc

- HTML: https://amxx-api.csrevo.com/regex
- Group: Base includes
- Functions: 10
- Documented constants: 5

### Constants

#### Regex

Regex

```pawn
enum Regex
{
	REGEX_MATCH_FAIL   = -2,
	REGEX_PATTERN_FAIL = -1,
	REGEX_NO_MATCH     =  0,
	REGEX_OK           =  1
};
```

#### PCRE_CASELESS

Flags for compiling regex expressions.
These come directly from the pcre library and can be used in regex_compile_ex.

```pawn
#define PCRE_CASELESS           0x00000001  /* Ignore Case */
#define PCRE_MULTILINE          0x00000002  /* Multilines (affects ^ and $ so that they match the start/end of a line rather than matching the start/end of the string). */
#define PCRE_DOTALL             0x00000004  /* Single line (affects . so that it matches any character, even new line characters). */
#define PCRE_EXTENDED           0x00000008  /* Pattern extension (ignore whitespace and # comments). */
#define PCRE_ANCHORED           0x00000010  /* Force pattern anchoring. */
#define PCRE_DOLLAR_ENDONLY     0x00000020  /* $ not to match newline at end. */
#define PCRE_UNGREEDY           0x00000200  /* Invert greediness of quantifiers */
#define PCRE_NOTEMPTY           0x00000400  /* An empty string is not a valid match. */
#define PCRE_UTF8               0x00000800  /* Use UTF-8 Chars */
#define PCRE_NO_UTF8_CHECK      0x00002000  /* Do not check the pattern for UTF-8 validity (only relevant if PCRE_UTF8 is set) */
#define PCRE_NEVER_UTF          0x00010000  /* Lock out interpretation of the pattern as UTF-8 */
#define PCRE_FIRSTLINE          0x00040000  /* Force matching to be before newline */
#define PCRE_DUPNAMES           0x00080000  /* Allow duplicate names for subpattern */
#define PCRE_NEWLINE_CR         0x00100000  /* Specify that a newline is indicated by a single character CR           )                            */
#define PCRE_NEWLINE_CRLF       0x00300000  /* specify that a newline is indicated by the two-character CRLF sequence )  Overrides the default     */
#define PCRE_NEWLINE_ANY        0x00400000  /* Specify that any Unicode newline sequence should be recognized.        )  newline definition (LF)   */
#define PCRE_NEWLINE_ANYCRLF    0x00500000  /* Specify that any of CR, LF and CRLF sequences should be recognized     )                            */
#define PCRE_UCP                0x20000000  /* Change the way PCRE processes \B, \b, \D, \d, \S, \s, \W, \w etc. to use Unicode properties */
```

#### RegexError

Regex expression error codes.
This can be used with regex_compile_ex and regex_match_ex.

```pawn
enum /*RegexError*/
{
	REGEX_ERROR_NONE           =  0,    /* No error */
	REGEX_ERROR_NOMATCH        = -1,    /* No match was found */
	REGEX_ERROR_NULL           = -2,
	REGEX_ERROR_BADOPTION      = -3,
	REGEX_ERROR_BADMAGIC       = -4,
	REGEX_ERROR_UNKNOWN_OPCODE = -5,
	REGEX_ERROR_NOMEMORY       = -6,
	REGEX_ERROR_NOSUBSTRING    = -7,
	REGEX_ERROR_MATCHLIMIT     = -8,
	REGEX_ERROR_CALLOUT        = -9,    /* Never used by PCRE itself */
	REGEX_ERROR_BADUTF8        = -10,
	REGEX_ERROR_BADUTF8_OFFSET = -11,
	REGEX_ERROR_PARTIAL        = -12,
	REGEX_ERROR_BADPARTIAL     = -13,
	REGEX_ERROR_INTERNAL       = -14,
	REGEX_ERROR_BADCOUNT       = -15,
	REGEX_ERROR_DFA_UITEM      = -16,
	REGEX_ERROR_DFA_UCOND      = -17,
	REGEX_ERROR_DFA_UMLIMIT    = -18,
	REGEX_ERROR_DFA_WSSIZE     = -19,
	REGEX_ERROR_DFA_RECURSE    = -20,
	REGEX_ERROR_RECURSIONLIMIT = -21,
	REGEX_ERROR_NULLWSLIMIT    = -22,   /* No longer actually used */
	REGEX_ERROR_BADNEWLINE     = -23,
	REGEX_ERROR_BADOFFSET      = -24,
	REGEX_ERROR_SHORTUTF8      = -25,
	REGEX_ERROR_RECURSELOOP    = -26,
	REGEX_ERROR_JIT_STACKLIMIT = -27,
	REGEX_ERROR_BADMODE        = -28,
	REGEX_ERROR_BADENDIANNESS  = -29,
	REGEX_ERROR_DFA_BADRESTART = -30,
	REGEX_ERROR_JIT_BADOPTION  = -31,
	REGEX_ERROR_BADLENGTH      = -32,
	REGEX_ERROR_UNSET          = -33
};
```

#### The following natives are only available in 1.8.3 and above.

The following natives are only available in 1.8.3 and above.

#### REGEX_FORMAT_DEFAULT

Flags used with regex_replace to control the replacement behavior.

```pawn
#define REGEX_FORMAT_DEFAULT   0       /* Uses the standard formatting rules to replace matches */
#define REGEX_FORMAT_NOCOPY    (1<<0)  /* The sections that do not match the regular expression are not copied when replacing matches. */
#define REGEX_FORMAT_FIRSTONLY (1<<1)  /* Only the first occurrence of a regular expression is replaced. */
```

### Functions

#### regex_compile

- Include: `regex.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_compile
- Line: 125

##### Syntax

```pawn
native Regex:regex_compile(const pattern[], &ret = 0, error[] = "", maxLen = 0, const flags[]="");
```

##### Description

Precompile a regular expression.

##### Parameters

- `pattern`: The regular expression pattern.
- `ret`: Error code encountered, if applicable.
- `error`: Error message encountered, if applicable.
- `maxLen`: Maximum string length of the error buffer.
- `flags`: General flags for the regular expression.
i = Ignore case
m = Multilines (affects ^ and $ so that they match
the start/end of a line rather than matching the
start/end of the string).
s = Single line (affects . so that it matches any character,
even new line characters).
x = Pattern extension (ignore whitespace and # comments).

##### Note

Use this if you intend on using the same expression multiple times.
Pass the regex handle returned here to regex_match_c to check for matches.

##### Note

This handle is automatically freed on map change.  However,
if you are completely done with it before then, you should
call regex_free on this handle.

##### Note

Consider using regex_compile_ex instead if you want to use PCRE_* flags.

##### Return

-1 on error in the pattern, > valid regex handle (> 0) on success.

#### regex_compile_ex

- Include: `regex.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_compile_ex
- Line: 231

##### Syntax

```pawn
native Regex:regex_compile_ex(const pattern[], flags = 0, error[]= "", maxLen = 0, &errcode = 0);
```

##### Description

Precompile a regular expression.

##### Parameters

- `pattern`: The regular expression pattern.
- `flags`: General flags for the regular expression, see PCRE_* defines.
- `error`: Error message encountered, if applicable.
- `maxLen`: Maximum string length of the error buffer.
- `errcode`: Regex type error code encountered, if applicable. See REGEX_ERROR_* defines.

##### Note

Use this if you intend on using the same expression multiple times.
Pass the regex handle returned here to regex_match_c() to check for matches.

##### Note

Unlike regex_compile(), this allows you to use PCRE flags directly.

##### Return

Valid regex handle (> 0) on success, or -1 on failure.

#### regex_free

- Include: `regex.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_free
- Line: 208

##### Syntax

```pawn
native regex_free(&Regex:id);
```

##### Description

Frees the memory associated with a regex result, and sets the handle to 0.

##### Parameters

- `id`: The regex handle to free.

##### Note

This must be called on all results from regex_match() when you are done extracting
the results with regex_substr().

##### Note

The results of regex_compile() or regex_compile_ex() (and subsequently, regex_match_c())
only need to be freed when you are done using the pattern.

##### Note

Do not use the handle again after freeing it!

##### Return

This function has no return value.

#### regex_match

- Include: `regex.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_match
- Line: 177

##### Syntax

```pawn
native Regex:regex_match(const string[], const pattern[], &ret = 0, error[] = "", maxLen = 0, const flags[] = "");
```

##### Description

Matches a string against a regular expression pattern.

##### Parameters

- `string`: The string to check.
- `pattern`: The regular expression pattern.
- `ret`: Error code, or result state of the match.
- `error`: Error message, if applicable.
- `maxLen`: Maximum length of the error buffer.
- `flags`: General flags for the regular expression.
i = Ignore case
m = Multilines (affects ^ and $ so that they match
the start/end of a line rather than matching the
start/end of the string).
s = Single line (affects . so that it matches any character,
even new line characters).
x = Pattern extension (ignore whitespace and # comments).

##### Note

If you intend on using the same regular expression pattern
multiple times, consider using regex_compile and regex_match_ex
instead of making this function reparse the expression each time.

##### Note

Flags only exist in amxmodx 1.8 and later.

##### Note

You should free the returned handle with regex_free()
when you are done extracting all of the substrings.

##### Return

-2 = Matching error (error code is stored in ret)
-1 = Error in pattern (error message and offset # in error and ret)
0 = No match.
>1 = Handle for getting more information (via regex_substr)

#### regex_match_all

- Include: `regex.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_match_all
- Line: 280

##### Syntax

```pawn
native Regex:regex_match_all(const string[], const pattern[], flags = 0, error[]= "", maxLen = 0, &errcode = 0);
```

##### Description

Matches a string against a regular expression pattern, matching all occurrences of the
pattern inside the string. This is similar to using the "g" flag in perl regex.

##### Parameters

- `string`: The string to check.
- `pattern`: The regular expression pattern.
- `flags`: General flags for the regular expression, see PCRE_* defines.
- `error`: Error message encountered, if applicable.
- `maxLen`: Maximum string length of the error buffer.
- `errcode`: Regex type error code encountered, if applicable. See REGEX_ERROR_* defines.

##### Note

If you intend on using the same regular expression pattern
multiple times, consider using regex_compile and regex_match_ex
instead of making this function reparse the expression each time.

##### Note

Flags only exist in amxmodx 1.8 and later.

##### Note

You should free the returned handle with regex_free()
when you are done extracting all of the substrings.

##### Return

-2 = Matching error (error code is stored in ret)
-1 = Error in pattern (error message and offset # in error and ret)
0 = No match.
>1 = Handle for getting more information (via regex_substr)

#### regex_match_all_c

- Include: `regex.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_match_all_c
- Line: 253

##### Syntax

```pawn
native regex_match_all_c(const string[], Regex:pattern, &ret = 0);
```

##### Description

Matches a string against a pre-compiled regular expression pattern, matching all
occurrences of the pattern inside the string. This is similar to using the "g" flag
in perl regex.

##### Parameters

- `pattern`: The regular expression pattern.
- `string`: The string to check.
- `ret`: Error code, if applicable, or number of results on success.
See REGEX_ERROR_* defines.

##### Note

You should free the returned handle (with regex_free())
when you are done with this pattern.

##### Note

Use the regex handle passed to this function to extract
matches with regex_substr().

##### Return

-2 = Matching error (error code is stored in ret)
0 = No match.
>1 = Number of results.

#### regex_match_c

- Include: `regex.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_match_c
- Line: 144

##### Syntax

```pawn
native regex_match_c(const string[], Regex:pattern, &ret = 0);
```

##### Description

Matches a string against a pre-compiled regular expression pattern.

##### Parameters

- `string`: The string to check.
- `pattern`: The regular expression pattern.
- `ret`: Error code, if applicable, or number of results on success. See REGEX_ERROR_* defines.

##### Note

You should free the returned handle with regex_free()
when you are done with this pattern.

##### Note

Use the regex handle passed to this function to extract
matches with regex_substr().

##### Return

-2 = Matching error (error code is stored in ret)
0 = No match.
>1 = Number of results.

#### regex_replace

- Include: `regex.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_replace
- Line: 348

##### Syntax

```pawn
native regex_replace(Regex:pattern, string[], maxLen, const replace[], flags = REGEX_FORMAT_DEFAULT, &errcode = 0);
```

##### Description

Perform a regular expression search and replace.

An optional parameter, flags, allows you to specify options on how the replacement is performed.
Supported format specifiers for replace parameter:
  $number  : Substitutes the substring matched by group number.
             n must be an integer value designating a valid backreference, greater than 0, and of two digits at most.
  ${name}  : Substitutes the substring matched by the named group name (a maximum of 32 characters).
  $&       : Substitutes a copy of the whole match.
  $`       : Substitutes all the text of the input string before the match.
  $'       : Substitutes all the text of the input string after the match.
  $+       : Substitutes the last group that was captured.
  $_       : Substitutes the entire input string.
  $$       : Substitutes a literal "$".
As note, the character \ can be also used with format specifier, this is same hehavior as $.

##### Parameters

- `pattern`: The regular expression pattern.
- `string`: The string to check.
- `error`: Error message, if applicable.
- `maxLen`: Maximum length of the error buffer.
- `replace`: The string will be used to replace any matches. See above for format specifiers.
- `flags`: General flags to control how the string is replaced. See REGEX_FORMAT_* defines.
- `errcode`: Regex type error code encountered, if applicable. See REGEX_ERROR_* defines.

##### Return

-2 = Matching error (error code is stored in ret)
0 = No match.
>1 = Number of matches.

#### regex_substr

- Include: `regex.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_substr
- Line: 192

##### Syntax

```pawn
native regex_substr(Regex:id, str_id, buffer[], maxLen);
```

##### Description

Returns a matched substring from a regex handle.

##### Parameters

- `id`: The regex handle to extract data from.
- `str_id`: The index of the expression to get - starts at 0, and ends at ret - 1.
- `buffer`: The buffer to set to the matching substring.
- `maxLen`: The maximum string length of the buffer.

##### Note

Substring ids start at 0 and end at ret - 1, where ret is from the corresponding
regex_match* function call.

##### Return

1 on success, otherwise 0 on failure.

#### regex_match_simple

- Include: `regex.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/regex/function/regex_match_simple
- Line: 301

##### Syntax

```pawn
stock regex_match_simple(const str[], const pattern[], flags = 0, error[]= "", maxLen = 0, &errcode = 0)
```

##### Description

Matches a string against a regular expression pattern.

##### Parameters

- `str`: The string to check.
- `pattern`: The regular expression pattern.
- `flags`: General flags for the regular expression.
- `error`: Error message, if applicable.
- `maxLen`: Maximum length of the error buffer.
- `errcode`: Regex type error code encountered, if applicable. See REGEX_ERROR_* defines.

##### Note

If you intend on using the same regular expression pattern
multiple times, consider using compile regex_compile_ex and regex_match*
instead of making this function reparse the expression each time.

##### Return

-2 = Matching error (error code is stored in ret)
-1 = Pattern error (error code is stored in ret)
0 = No match.
>1 = Number of results.

## sockets.inc

- HTML: https://amxx-api.csrevo.com/sockets
- Group: Base includes
- Functions: 8
- Documented constants: 4

### Constants

#### SOCKET_TCP

Socket connection type (TCP/UDP)

```pawn
#define SOCKET_TCP 1
#define SOCKET_UDP 2
```

#### SOCK_NON_BLOCKING

Socket flags

```pawn
#define SOCK_NON_BLOCKING (1 << 0)    /* Set the socket a nonblocking */
#define SOCK_LIBC_ERRORS  (1 << 1)    /* Enable libc error reporting */
```

#### SOCK_ERROR_OK

Error reporting

```pawn
#define SOCK_ERROR_OK               0 /* No error */
#define SOCK_ERROR_CREATE_SOCKET    1 /* Couldn't create a socket */
#define SOCK_ERROR_SERVER_UNKNOWN   2 /* Server unknown */
#define SOCK_ERROR_WHILE_CONNECTING 3 /* Error while connecting */
```

#### Backwards compatible function.

Backwards compatible function.

```pawn
#pragma deprecated Use socket_is_readable() instead
```

##### Deprecated

Renamed to socket_is_readable()

### Functions

#### socket_change

- Include: `sockets.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sockets/function/socket_change
- Line: 151

##### Syntax

```pawn
native socket_change(_socket, _timeout = 100000);
```

##### Description

This function has no description.

#### socket_close

- Include: `sockets.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sockets/function/socket_close
- Line: 92

##### Syntax

```pawn
native socket_close(_socket);
```

##### Description

Closes a socket.

##### Parameters

- `_socket`: Socket descriptor

##### Return

1 on success
0 on failure

#### socket_is_readable

- Include: `sockets.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sockets/function/socket_is_readable
- Line: 167

##### Syntax

```pawn
native socket_is_readable(_socket, _timeout = 100000);
```

##### Description

Checks if a socket is marked as readable.

##### Parameters

- `_socket`: Socket descriptor
- `_timeout`: Amount of time to block the call waiting for the socket to be marked as readable or
for the timeout to expire, in µSeconds (1 sec = 1000000 µsec)

##### Note

You can use this function to make sure there's something on the socket and avoid a blocking call.

##### Note

Set _timeout to 0 avoid blocking the call.

##### Note

A socket will become readable if there's any data or an EOF.

##### Return

1 if the socket is marked as readable
0 otherwise

#### socket_is_writable

- Include: `sockets.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sockets/function/socket_is_writable
- Line: 183

##### Syntax

```pawn
native socket_is_writable(_socket, _timeout = 100000);
```

##### Description

Checks if a socket is marked as writable.

##### Parameters

- `_socket`: Socket descriptor
- `_timeout`: Amount of time to block the call waiting for the socket to be marked as writable or
for the timeout to expire, in µSeconds (1 sec = 1000000 µsec)

##### Note

Use this function to check if a nonblocking socket is ready to be used.

##### Note

Set _timeout to 0 avoid blocking the call.

##### Note

An UDP socket is always writable.

##### Return

1 if the socket is marked as writable
0 otherwise

#### socket_open

- Include: `sockets.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sockets/function/socket_open
- Line: 82

##### Syntax

```pawn
native socket_open(const _hostname[], _port, _protocol = SOCKET_TCP, &_error, _flags = 0);
```

##### Description

Connects to the given node and service via TCP/UDP.

##### Parameters

- `_hostname`: Node to connect to
- `_port`: Service to connect to
- `_protocol`: Connect via SOCKET_TCP or SOCKET_UDP
- `_error`: Set an error code here if anything goes wrong
- `_flags`: Optional bit flags that change the behaviour of the function

##### Note

There's 2 types of error reporting on this function that you can use.

##### Note

Default error codes:
0 - No error
1 - Error while creating socket
2 - Couldn't resolve hostname
3 - Couldn't connect

##### Note

New, more expressive libc error codes:
https://www.gnu.org/software/libc/manual/html_node/Error-Codes.html
https://github.com/torvalds/linux/blob/master/include/uapi/asm-generic/errno.h
https://msdn.microsoft.com/en-us/library/ms740668.aspx

##### Note

The currently available bit flags are:
- SOCK_NON_BLOCKING : if set, the socket will be on nonblocking mode
- SOCK_LIBC_ERRORS : if set, the new libc errors will be seen on _error

##### Note

If no flags are set, the behaviour of the function will not be modified.

##### Note

Multiple flags may be set at the same time using the | operator.
For example, SOCK_NON_BLOCKING|SOCK_LIBC_ERRORS will create a nonblocking socket with libc error codes.

##### Note

If you're creating a new nonblocking socket, _hostname should be numeric to avoid calling the
name resolution server and potentially blocking the call.

##### Note

If the socket is a nonblocking one, the returned socket descriptor may be still connecting and
further checks should be done with socket_is_writable() before trying to send data.

##### Return

A socket descriptor (a positive integer) on success
-1 on failure

#### socket_recv

- Include: `sockets.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sockets/function/socket_recv
- Line: 111

##### Syntax

```pawn
native socket_recv(_socket, _data[], _length);
```

##### Description

Receives data.

##### Parameters

- `_socket`: Socket descriptor
- `_data`: Array to save the data
- `_length`: Length of the array

##### Note

The amount of bytes than you end up receiving can be less than the one you expected.

##### Note

This function will completely block the server until some data arrives
to the given socket. Use this only if you are sure there is some data
to be retrieved. You can do that by polling with socket_is_readable().

##### Return

Amount of bytes received
0 if the peer closed the connection
-1 on failure

#### socket_send

- Include: `sockets.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sockets/function/socket_send
- Line: 126

##### Syntax

```pawn
native socket_send(_socket, const _data[], _length);
```

##### Description

Sends data.

##### Parameters

- `_socket`: Socket descriptor
- `_data`: Array with the data to send
- `_length`: Length of the array

##### Note

The amount of bytes that end up being sent may be lower than the total length of the array,
check the return value and send the rest if needed.

##### Return

Amount of bytes sent
-1 on failure

#### socket_send2

- Include: `sockets.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sockets/function/socket_send2
- Line: 143

##### Syntax

```pawn
native socket_send2(_socket, const _data[], _length);
```

##### Description

Sends data that can contain null bytes.

##### Parameters

- `_socket`: Socket descriptor
- `_data`: Array with the data to send
- `_length`: Length of the array

##### Note

The amount of bytes that end up being sent may be lower than the total length of the array,
check the return value and send the rest if needed.

##### Note

strlen(_data) will return the wrong length if the array contains null bytes.

##### Return

Amount of bytes sent
-1 on failure

## sorting.inc

- HTML: https://amxx-api.csrevo.com/sorting
- Group: Base includes
- Functions: 6
- Documented constants: 3

### Constants

#### SortMethod

Contains sorting orders.

```pawn
enum SortMethod
{
	Sort_Ascending = 0,
	Sort_Descending,
	Sort_Random,
};
```

#### SortType

Data types for ADT Array Sorts

```pawn
enum SortType
{
	Sort_Integer = 0,
	Sort_Float,
 	Sort_String,
};
```

#### Custom sorting functions below.

Custom sorting functions below.

### Functions

#### SortADTArray

- Include: `sorting.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sorting/function/SortADTArray
- Line: 107

##### Syntax

```pawn
native SortADTArray(Array:array, SortMethod:order, SortType:type);
```

##### Description

Sort an ADT Array. Specify the type as Integer, Float, or String.

##### Parameters

- `array`: Array Handle to sort
- `order`: Sort order to use, same as other sorts.
- `type`: Data type stored in the ADT Array

##### Return

This function has no return value.

#### SortCustom1D

- Include: `sorting.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sorting/function/SortCustom1D
- Line: 76

##### Syntax

```pawn
native SortCustom1D(array[], array_size, const comparefunc[], data[]="", data_size=0);
```

##### Description

Sorts a custom 1D array.  You must pass in a comparison function.
The sorting algorithm then uses your comparison function to sort the data.
The function is called in the following manner:

public MySortFunc(elem1, elem2, const array[], const data[], data_size)

 elem1, elem2	- Current element pair being compared
 array[]			- Array in its current mid-sorted state.
 data[]			- Extra data array you passed to the sort func.
 data_size		- Size of extra data you passed to the sort func.

Your function should return:
 -1 if elem1 should go before elem2
  0 if elem1 and elem2 are equal
  1 if elem1 should go after elem2
Note that the parameters after elem2 are all optional and you do not need to specify them.

#### SortCustom2D

- Include: `sorting.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sorting/function/SortCustom2D
- Line: 97

##### Syntax

```pawn
native SortCustom2D(array[][], array_size, const comparefunc[], data[]="", data_size=0);
```

##### Description

Sorts a custom 2D array.
The sorting algorithm then uses your comparison function to sort the data.
The function is called in the following manner:

public MySortFunc(const elem1[], const elem2[], const array[], data[], data_size)

 elem1[], elem2[] - Current element array pairs being compared
 array[][]		 - Array in its currently being sorted state.
 data[]			 - Extra data array you passed to the sort func.
 data_size		 - Size of extra data you passed to the sort func.

Your function should return:
 -1 if elem1[] should go before elem2[]
  0 if elem1[] and elem2 are equal[]
  1 if elem1[] should go after elem2[]
Note that the parameters after elem2[] are all optional and you do not need to specify them.

#### SortFloats

- Include: `sorting.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sorting/function/SortFloats
- Line: 50

##### Syntax

```pawn
native SortFloats(Float:array[], array_size, SortMethod:order = Sort_Ascending);
```

##### Description

This function has no description.

#### SortIntegers

- Include: `sorting.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sorting/function/SortIntegers
- Line: 48

##### Syntax

```pawn
native SortIntegers(array[], array_size, SortMethod:order = Sort_Ascending);
```

##### Description

Basic sorting functions below.

#### SortStrings

- Include: `sorting.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sorting/function/SortStrings
- Line: 52

##### Syntax

```pawn
native SortStrings(array[][], num_strings, SortMethod:order = Sort_Ascending);
```

##### Description

This function has no description.

## sqlx.inc

- HTML: https://amxx-api.csrevo.com/sqlx
- Group: Base includes
- Functions: 30
- Documented constants: 3

### Constants

#### SQL_NumRows

SQL_NumRows

```pawn
#define SQL_NumRows SQL_NumResults
```

#### Handle

Handle

```pawn
enum Handle
{
   Empty_Handle
};
```

#### TQUERY_CONNECT_FAILED

Threaded query states. Used to check the state of a complete threaded query.

```pawn
#define TQUERY_CONNECT_FAILED	-2
#define TQUERY_QUERY_FAILED	-1
#define TQUERY_SUCCESS		0
```

### Functions

#### SQL_AffectedRows

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_AffectedRows
- Line: 281

##### Syntax

```pawn
native SQL_AffectedRows(Handle:query);
```

##### Description

Returns the number of affected rows by a query.

##### Parameters

- `query`: Handle of a query to check.

##### Return

The number of affected rows.

##### Error

Invalid query handle.

#### SQL_Connect

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_Connect
- Line: 77

##### Syntax

```pawn
native Handle:SQL_Connect(Handle:cn_tuple, &errcode, error[], maxlength);
```

##### Description

Opens a database connection.

##### Parameters

- `cn_tuple`: Tuple handle, returned from SQL_MakeDbTuple().
- `errcode`: An error code set by reference.
- `error`: String where error string will be stored.
- `maxlength`: Maximum length of the error buffer.

##### Return

Returns an SQL connection handle, which must be freed.
Returns Empty_Handle on failure.

##### Error

Invalid info tuple handle.

#### SQL_Execute

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_Execute
- Line: 195

##### Syntax

```pawn
native SQL_Execute(Handle:query);
```

##### Description

Executes an already prepared query.

##### Parameters

- `query`: Handle of a prepared query to be executed.

##### Note

You can call this multiple times as long as its parent connection is kept open.
Each time the result set from the previous call will be freed.

##### Return

1 if the query succeeded, 0 if the query failed.

##### Error

Invalid query handle.

#### SQL_FieldNameToNum

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_FieldNameToNum
- Line: 333

##### Syntax

```pawn
native SQL_FieldNameToNum(Handle:query, const name[]);
```

##### Description

Retrieves the number of a named column.

##### Parameters

- `query`: Handle of a query.
- `name`: Name to search for.

##### Return

Column index if found (>= 0); -1 otherwise.

##### Error

Invalid query handle.
No result set in this query.

#### SQL_FieldNumToName

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_FieldNumToName
- Line: 320

##### Syntax

```pawn
native SQL_FieldNumToName(Handle:query, num, name[], maxlength);
```

##### Description

Retrieves the name of a column by its index.

##### Parameters

- `query`: Handle of a query.
- `num`: The number (index) of a column to retrieve the name from.
- `name`: Buffer where to store the column's name.
- `maxlength`: Maximum length of the output buffer.

##### Return

This function has no return value.

##### Error

Invalid query handle.
No result set in this query.
Invalid column index.

#### SQL_FreeHandle

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_FreeHandle
- Line: 62

##### Syntax

```pawn
native SQL_FreeHandle(Handle:h);
```

##### Description

Frees an SQL handle.

##### Parameters

- `h`: Handle to be freed.

##### Note

The handle can be to anything (tuple, connection, query, results, etc).

##### Note

If you free the database connection handle, it closes the connection as well.

##### Return

This function has no return value.

#### SQL_GetAffinity

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_GetAffinity
- Line: 367

##### Syntax

```pawn
native SQL_GetAffinity(driver[], maxlen);
```

##### Description

Retrieves which driver is this plugin currently bound to.

##### Parameters

- `driver`: Buffer to store the driver name in.
- `maxlen`: Maximum length of the output buffer.

##### Return

This function has no return value.

#### SQL_GetInsertId

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_GetInsertId
- Line: 356

##### Syntax

```pawn
native SQL_GetInsertId(Handle:query);
```

##### Description

Retrieves the instert ID of the latest INSERT query.

##### Parameters

- `query`: Handle of a query.

##### Return

The insert ID of the latest INSERT query.

##### Error

Invalid query handle.

#### SQL_GetQueryString

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_GetQueryString
- Line: 404

##### Syntax

```pawn
native SQL_GetQueryString(Handle:query, buffer[], maxlength);
```

##### Description

Returns the original query string that a query handle used.

##### Parameters

- `query`: Handle of a query.
- `buffer`: Buffer where to put the query string in.
- `maxlength`: The maximum length of the output buffer.

##### Return

This function has no return value.

##### Error

Invalid query handle.

#### SQL_IsNull

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_IsNull
- Line: 232

##### Syntax

```pawn
native SQL_IsNull(Handle:query, column);
```

##### Description

Tells whether a specific column in the current row is NULL or not.

##### Parameters

- `query`: Handle of a query to check.
- `column`: Which column to check for NULL.

##### Return

1 if the column is NULL, 0 otherwise.

##### Error

Invalid query handle.
No result set in this query.
Invalid column.

#### SQL_MakeDbTuple

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_MakeDbTuple
- Line: 49

##### Syntax

```pawn
native Handle:SQL_MakeDbTuple(const host[], const user[], const pass[], const db[], timeout=0);
```

##### Description

Creates a connection information tuple. This tuple must be passed
into connection routines.

##### Parameters

- `host`: Database host
- `user`: Database user
- `pass`: Database password
- `db`: Database name to use
- `timeout`: Specifies how long connections should wait before giving up.
If <= 0, the default of 60s is used.

##### Note

Freeing the tuple is not necessary, but is a good idea if you create
many of them. You can cache these handles globally.

##### Note

This does not connect to the DB; it only caches the connection information.

##### Return

A newly created tuple handle to be used in connection routines.

#### SQL_MoreResults

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_MoreResults
- Line: 218

##### Syntax

```pawn
native SQL_MoreResults(Handle:query);
```

##### Description

Checks whether there are more results to be read.

##### Parameters

- `query`: Handle of a query to check.

##### Return

1 if there are more results, 0 otherwise.

##### Error

Invalid query handle.

#### SQL_NextResultSet

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_NextResultSet
- Line: 421

##### Syntax

```pawn
native bool:SQL_NextResultSet(Handle:query);
```

##### Description

For queries which return multiple result sets, this advances to the next
result set if one is available.  Otherwise, the current result set is
destroyed and will no longer be accessible.

##### Parameters

- `query`: Query Handle.

##### Note

This function will always return false on SQLite, and when using threaded
queries in MySQL.  Nonetheless, it has the same effect of removing the last
result set.

##### Return

True on success, false on failure.

##### Error

Invalid query handle.
No result set in this query.

#### SQL_NextRow

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_NextRow
- Line: 270

##### Syntax

```pawn
native SQL_NextRow(Handle:query);
```

##### Description

Advances to the next result (row).

##### Parameters

- `query`: Handle of a query.

##### Return

This function has no return value.

##### Error

Invalid query handle.
No result set in this query.

#### SQL_NumColumns

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_NumColumns
- Line: 304

##### Syntax

```pawn
native SQL_NumColumns(Handle:query);
```

##### Description

Returns the total number of columns.

##### Parameters

- `query`: Handle of a query to check.

##### Return

The number of retrieved columns by the query.

##### Error

Invalid query handle.
No result set in this query.

#### SQL_NumResults

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_NumResults
- Line: 292

##### Syntax

```pawn
native SQL_NumResults(Handle:query);
```

##### Description

The number of retrieved rows (results) after a query.

##### Parameters

- `query`: Handle of a query to check.

##### Return

The number of retrieved rows by the query.

##### Error

Invalid query handle.

#### SQL_PrepareQuery

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_PrepareQuery
- Line: 110

##### Syntax

```pawn
native Handle:SQL_PrepareQuery(Handle:db, const fmt[], any:...);
```

##### Description

Prepares a query.

##### Parameters

- `db`: Connection handle, returned from SQL_Connect().
- `fmt`: Query string. Can be formated with format specifiers.
- `...`: Additional format specifiers used to format the query.

##### Note

This does not actually do a query!

##### Return

Returns an SQL query handle, which must always be freed.
Returns Empty_Handle on failure.

#### SQL_QueryError

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_QueryError
- Line: 207

##### Syntax

```pawn
native SQL_QueryError(Handle:query, error[], maxlength);
```

##### Description

Gets information about a failed query error.

##### Parameters

- `query`: Handle of a query to extract the error from.
- `error`: Buffer where to store the error string.
- `maxlength`: The maximum length of the output buffer.

##### Return

The error code.

#### SQL_QuoteString

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_QuoteString
- Line: 127

##### Syntax

```pawn
native SQL_QuoteString(Handle:db, buffer[], buflen, const string[]);
```

##### Description

Back-quotes characters in a string for database querying.

##### Parameters

- `db`: Database handle for localization, or Empty_Handle
for when a handle is not available.
- `buffer`: Buffer to copy to.
- `buflen`: Maximum size of the buffer.
- `string`: String to backquote (should not overlap buffer).

##### Note

The buffer's maximum size should be 2*strlen(string) to catch all scenarios.

##### Return

Length of new string, or -1 on failure.

##### Error

Invalid database handle.

#### SQL_QuoteStringFmt

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_QuoteStringFmt
- Line: 143

##### Syntax

```pawn
native SQL_QuoteStringFmt(Handle:db, buffer[], buflen, const fmt[], any:...);
```

##### Description

Back-quotes characters in a string for database querying.
Note: The buffer's maximum size should be 2*strlen(string) to catch
all scenarios.

##### Parameters

- `db`: Database handle for localization, or Empty_Handle
for when a handle is not available.
- `buffer`: Buffer to copy to.
- `buflen`: Maximum size of the buffer.
- `fmt`: Format of string to backquote (should not overlap buffer).
- `...`: Format arguments.

##### Return

Length of new string, or -1 on failure.

#### SQL_ReadResult

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_ReadResult
- Line: 258

##### Syntax

```pawn
native SQL_ReadResult(Handle:query, column, any:...);
```

##### Description

Retrieves the current result.

##### Parameters

- `query`: Handle of a query to read results from.
- `column`: Which column to get the value from.
- `...`: Passing no extra arguments - returns an integer.
Passing one extra argument - returns a float in the first extra argument
Passing two extra params - returns a string in the first argument
with a maximum string length in the second argument.

##### Note

A successful query starts at the first result, so you should not call
SQL_NextRow() first.

##### Note

Example how to get different types of values:
new num = SQL_ReadResult(query, 0)
new Float:num2
new string[32]
SQL_ReadResult(query, 1, num2)
SQL_ReadResult(query, 2, string, charsmax(string))

##### Return

If no extra arguments are passed, returns an integer value.

##### Error

Invalid query handle.

#### SQL_Rewind

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_Rewind
- Line: 345

##### Syntax

```pawn
native SQL_Rewind(Handle:query);
```

##### Description

Rewinds a result set to the first row.

##### Parameters

- `query`: Handle of a query to rewind the result set of.

##### Return

This function has no return value.

##### Error

Invalid query handle.
No result set in this query.

#### SQL_SetAffinity

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_SetAffinity
- Line: 392

##### Syntax

```pawn
native SQL_SetAffinity(const driver[]);
```

##### Description

Sets driver affinity. You can use this to force a particular driver implementation.
This will automatically change all SQL natives in your plugin to be "bound" to
the module in question.

##### Parameters

- `driver`: The name of a driver to use.

##### Note

Using this while you have open handles to another database type will
cause problems. I.e., you cannot open a handle, switch affinity,
then close the handle with a different driver.

##### Note

Switching affinity is an O(n * m) operation, where n is the number of
SQL natives and m is the number of used natives in total.

##### Note

Intuitive programmers will note that this causes problems for
threaded queries. You will have to either force your script to work
under one affinity, or to pack the affinity type into the query data,
check it against the current, then set the new affinity if necessary.
Then, restore the old one for safety.

##### Return

If no module with the given name is found, returns 0.
Unless your plugin is bult to handle different driver
types at once, you should let this error pass.

#### SQL_SetCharset

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_SetCharset
- Line: 95

##### Syntax

```pawn
native bool:SQL_SetCharset(Handle:h, const charset[]);
```

##### Description

Sets the character set of the current connection.
Like SET NAMES .. in mysql, but stays after connection problems.

##### Parameters

- `h`: Database or connection tuple Handle.
- `charset`: The character set string to change to.

##### Note

If a connection tuple is supplied, this should be called before SQL_Connect or SQL_ThreadQuery.

##### Note

The change will remain until you call this function with another value.

##### Note

This native does nothing in SQLite.
Example: "utf8", "latin1"

##### Return

True, if character set was changed, false otherwise.

#### SQL_ThreadQuery

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_ThreadQuery
- Line: 181

##### Syntax

```pawn
native SQL_ThreadQuery(Handle:db_tuple, const handler[], const query[], const data[]="", dataSize=0);
```

##### Description

Prepares and executes a threaded query.

##### Parameters

- `db_tuple`: Tuple handle, returned from SQL_MakeDbTuple().
- `handler`: A function to be called when the query finishes. It has to be public.
- `query`: The query string.
- `data`: Additional data array that will be passed to the handler function.
- `dataSize`: The size of the additional data array.

##### Note

The handler should look like:
public QueryHandler(failstate, Handle:query, error[], errnum, data[], size, Float:queuetime)
failstate - One of the three TQUERY_ defines.
query     - Handle to the query, do not free it.
error     - An error message, if any.
errnum    - An error code, if any.
data      - Data array you passed in.
size      - Size of the data array you passed in.
queuetime - Amount of gametime that passed while the query was resolving.

##### Note

This will not interrupt gameplay in the event of a poor/lossed
connection, however, the interface is more complicated and
asynchronous. Furthermore, a new connection/disconnection is
made for each query to simplify driver support.

##### Note

The handle does not need to be freed.

##### Return

This function has no return value.

##### Error

Thread worker was unable to start.
Invalid info tuple handle.
Handler function not found.

#### SQL_MakeStdTuple

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_MakeStdTuple
- Line: 555

##### Syntax

```pawn
stock Handle:SQL_MakeStdTuple(timeout = 0)
```

##### Description

Use this for making a standard DB Tuple, using AMXX's database info cvars.

##### Parameters

- `timeout`: Specifies how long connections should wait before giving up.
If 0, the value is read from "amx_sql_timeout" cvar.

##### Return

A newly created tuple handle to be used in connection routines.

#### SQL_QueryAndIgnore

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_QueryAndIgnore
- Line: 525

##### Syntax

```pawn
stock SQL_QueryAndIgnore(Handle:db, const queryfmt[], any:...)
```

##### Description

Use this for executing a query and not caring about the error.

##### Parameters

- `db`: A connection handle returned from SQL_Connect().
- `queryfmt`: The query string that can be formated with format specifiers.

##### Pram

...            Additional arguments for formating the query.

##### Return

-1 on error.
>= 0 on success (with the number of affected rows).

#### SQL_SimpleQuery

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_SimpleQuery
- Line: 461

##### Syntax

```pawn
stock SQL_SimpleQuery(Handle:db, const query[], error[]="", maxlength=0, &rows=0)
```

##### Description

Use this for executing a query where you don't care about the result.

##### Parameters

- `db`: Connection handle returned from SQL_Connect().
- `query`: The query string.
- `error`: If an error occurs, it will be placed into this buffer.
- `maxlength`: Maximum length of the error buffer.
- `rows`: Optional. If put, retrieves the number of rows the query returned.

##### Return

1 on success, 0 on failure.

#### SQL_SimpleQueryFmt

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/sqlx/function/SQL_SimpleQueryFmt
- Line: 494

##### Syntax

```pawn
stock SQL_SimpleQueryFmt(Handle:db, error[]="", maxlength=0, &rows=0, const fmt[], any:...)
```

##### Description

Use this for executing a query where you don't care about the result.

##### Parameters

- `db`: Connection handle returned from SQL_Connect().
- `error`: If an error occurs, it will be placed into this buffer.
- `maxlength`: The maximum length of the error buffer.
- `rows`: Optional. If put, retrieves the number of rows the query returned.
- `fmt`: The query string that can be formated with format specifiers.
- `...`: Additional arguments for formating the query.

##### Note

Differs from SQL_SimpleQuery() because the query can be formated.

##### Return

1 on success, 0 on failure.

#### sqlite_TableExists

- Include: `sqlx.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/sqlx/function/sqlite_TableExists
- Line: 432

##### Syntax

```pawn
stock bool:sqlite_TableExists(Handle:db, const table[])
```

##### Description

This function can be used to find out if a table in a SQLite database exists.

##### Parameters

- `db`: Connection handle returned from SQL_Connect().
- `table`: The table name to check for.

##### Return

True if it exists, false otherwise.

## string.inc

- HTML: https://amxx-api.csrevo.com/string
- Group: Base includes
- Functions: 50
- Documented constants: 1

### Constants

#### Untitled constant

Untitled constant

##### Global

Unless otherwise noted, all string functions which take in a
writable buffer and maximum length should NOT have the null terminator INCLUDED
in the length.  This means that this is valid:
copy(string, charsmax(string), ...)

### Functions

#### add

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/add
- Line: 133

##### Syntax

```pawn
native add(dest[],len,const src[],max=0);
```

##### Description

Concatenates one string onto another.

##### Parameters

- `dest`: String to append to.
- `len`: Maximum length of entire buffer.
- `src`: Source string to concatenate.
- `max`: Number of characters to add.

##### Return

Number of of all merged characters.

#### argparse

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/argparse
- Line: 766

##### Syntax

```pawn
native argparse(const text[], pos, argbuffer[], maxlen);
```

##### Description

Parses an argument string to find the first argument. You can use this to
replace strbreak().

##### Parameters

- `text`: String to tokenize.
- `pos`: Position to start parsing from.
- `argbuffer`: Buffer to store first argument.
- `maxlen`: Size of the buffer.

##### Note

Only available in 1.8.3 and above.

##### Note

You can use argparse() to break a string into all of its arguments:
new arg[N], pos;
while (true) {
pos = argparse(string, pos, arg, sizeof(arg) - 1);
if (pos == -1)
break;
}

##### Note

All initial whitespace is removed. Remaining characters are read until an
argument separator is encountered. A separator is any whitespace not inside
a double-quotation pair (i.e. "x b" is one argument). If only one quotation
mark appears, argparse() acts as if one existed at the end of the string.
Quotation marks are never written back, and do not act as separators. For
example, "a""b""c" will return "abc". An empty quote pair ("") will count
as an argument containing no characters.

##### Note

argparse() will write an empty string to argbuffer if no argument is found.

##### Return

If no argument was found, -1 is returned. Otherwise,
the index to the next position to parse from is
returned. This might be the very end of the string.

#### contain

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/contain
- Line: 45

##### Syntax

```pawn
native contain(const source[], const string[]);
```

##### Description

Tests whether a string is found inside another string.

##### Parameters

- `source`: String to search in.
- `string`: Substring to find inside the original string.

##### Return

-1 on failure (no match found). Any other value
indicates a position in the string where the match starts.

#### containi

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/containi
- Line: 58

##### Syntax

```pawn
native containi(const source[], const string[]);
```

##### Description

Tests whether a string is found inside another string with case ignoring.

##### Parameters

- `source`: String to search in.
- `string`: Substring to find inside the original string.

##### Note

This supports multi-byte characters (UTF-8) on comparison.

##### Return

-1 on failure (no match found). Any other value
indicates a position in the string where the match starts.

#### copy

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/copy
- Line: 385

##### Syntax

```pawn
native copy(dest[],len,const src[]);
```

##### Description

Copies one string to another string.

##### Parameters

- `dest`: Destination string buffer to copy to.
- `len`: Destination buffer length.
- `src`: Source string buffer to copy from.

##### Note

If the destination buffer is too small to hold the source string, the
destination will be truncated.

##### Return

Number of cells written.

#### copyc

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/copyc
- Line: 397

##### Syntax

```pawn
native copyc(dest[],len,const src[],ch);
```

##### Description

Copies one string to another string until ch is found.

##### Parameters

- `dest`: Destination string buffer to copy to.
- `len`: Destination buffer length.
- `src`: Source string buffer to copy from.
- `ch`: Character to search for.

##### Return

Number of cells written.

#### equal

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/equal
- Line: 358

##### Syntax

```pawn
native equal(const a[],const b[],c=0);
```

##### Description

Returns whether two strings are equal.

##### Parameters

- `a`: First string (left).
- `b`: Second string (right).
- `c`: Number of characters to compare.

##### Return

True if equal, false otherwise.

#### equali

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/equali
- Line: 371

##### Syntax

```pawn
native equali(const a[], const b[], c = 0);
```

##### Description

Returns whether two strings are equal with case ignoring.

##### Parameters

- `a`: First string (left).
- `b`: Second string (right).
- `c`: Number of characters to compare.

##### Note

This supports multi-byte characters (UTF-8) on comparison.

##### Return

True if equal, false otherwise.

#### float_to_str

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/float_to_str
- Line: 339

##### Syntax

```pawn
native float_to_str(Float:fl, string[], len);
```

##### Description

Converts a floating point number to a string.

##### Parameters

- `fl`: Floating point number to convert.
- `string`: Buffer to store string in.
- `len`: Maximum length of string buffer.

##### Return

Number of cells written to buffer.

#### fmt

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/fmt
- Line: 189

##### Syntax

```pawn
native [MAX_FMT_LENGTH]fmt(const format[], any:...);
```

##### Description

Formats and returns a string according to the AMX Mod X format rules
(see documentation).

##### Parameters

- `format`: Formatting rules.
- `...`: Variable number of format parameters.

##### Note

Example: menu_additem(menu, fmt("My first %s", "item")).

##### Note

This should only be used for simple inline formatting like in the above example.
Avoid using this function to store strings into variables as an additional
copying step is required.

##### Note

The buffer size is defined by MAX_FMT_LENGTH.

##### Return

Formatted string

#### format

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/format
- Line: 151

##### Syntax

```pawn
native format(output[], len, const format[], any:...);
```

##### Description

Formats a string according to the AMX Mod X format rules (see documentation).

##### Parameters

- `output`: Destination string buffer.
- `len`: Maximum length of output string buffer.
- `format`: Formatting rules.
- `...`: Variable number of format parameters.

##### Note

Example: format(dest, "Hello %s. You are %d years old", "Tom", 17).
If any of your input buffers overlap with the destination buffer,
format() falls back to a "copy-back" version as of 1.65.  This is
slower, so you should using a source string that is the same as
the destination.

##### Return

Number of cells written.

#### format_args

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/format_args
- Line: 243

##### Syntax

```pawn
native format_args(output[], len, pos = 0);
```

##### Description

Gets parameters from function as formated string.

##### Parameters

- `output`: Destination string buffer.
- `len`: Maximum length of output string buffer.
- `pos`: Argument number which contains the '...' symbol.

##### Return

Number of bytes written.

#### formatex

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/formatex
- Line: 172

##### Syntax

```pawn
native formatex(output[], len, const format[], any:...);
```

##### Description

Formats a string according to the AMX Mod X format rules (see documentation).

##### Parameters

- `output`: Destination string buffer.
- `len`: Maximum length of output string buffer.
- `format`: Formatting rules.
- `...`: Variable number of format parameters.

##### Note

Same as format(), except does not perform a "copy back" check.
This means formatex() is faster, but DOES NOT ALLOW this type
of call:
formatex(buffer, len, "%s", buffer)
formatex(buffer, len, buffer, buffer)
formatex(buffer, len, "%s", buffer[5])
This is because the output is directly stored into "buffer",
rather than copied back at the end.

##### Return

Number of cells written.

#### get_char_bytes

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/get_char_bytes
- Line: 675

##### Syntax

```pawn
native get_char_bytes(const source[]);
```

##### Description

Returns the number of bytes a character is using.  This is
for multi-byte characters (UTF-8).  For normal ASCII characters,
this will return 1.

##### Parameters

- `source`: Source input string.

##### Note

Only available in 1.8.3 and above.

##### Return

Number of bytes the current character uses.

#### is_char_lower

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/is_char_lower
- Line: 663

##### Syntax

```pawn
native bool:is_char_lower(ch);
```

##### Description

Returns whether an alphabetic character is lowercase.

##### Parameters

- `ch`: Character to test.

##### Note

Only available in 1.8.3 and above.

##### Note

Multi-byte characters will always return false.

##### Return

True if character is lowercase, otherwise false.

#### is_char_mb

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/is_char_mb
- Line: 641

##### Syntax

```pawn
native is_char_mb(ch);
```

##### Description

Returns if a character is multi-byte or not.

##### Parameters

- `ch`: Character to test.

##### Note

Only available in 1.8.3 and above.

##### Return

0 for a normal 7-bit ASCII character,
otherwise number of bytes in multi-byte character.

#### is_char_upper

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/is_char_upper
- Line: 652

##### Syntax

```pawn
native bool:is_char_upper(ch);
```

##### Description

Returns whether an alphabetic character is uppercase.

##### Parameters

- `ch`: Character to test.

##### Note

Only available in 1.8.3 and above.

##### Note

Multi-byte characters will always return false.

##### Return

True if character is uppercase, otherwise false.

#### is_string_category

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/is_string_category
- Line: 590

##### Syntax

```pawn
native bool:is_string_category(const input[], input_size, flags, &output_size = 0);
```

##### Description

Checks if the input string conforms to the category specified by the flags.

##### Parameters

- `input`: The string to check
- `input_size`: Size of the string, use 1 to check one character regardless its size
- `flags`: Requested category, see UTF8C_* flags
- `output_size`: Number of bytes in the input that conform to the specified
category flags

##### Note

This function can be used to check if the code points in a string are part
of a category. Valid flags are part of the UTF8C_* list of defines.
The category for a code point is defined as part of the entry in
UnicodeData.txt, the data file for the Unicode code point database.

##### Note

Flags parameter must be a combination of UTF8C_* flags or a single UTF8C_IS* flag.
In order to main backwards compatibility with POSIX functions like `isdigit`
and `isspace`, compatibility flags have been provided. Note, however, that
the result is only guaranteed to be correct for code points in the Basic
Latin range, between U+0000 and 0+007F. Combining a compatibility flag with
a regular category flag will result in undefined behavior.

##### Note

The function is greedy. This means it will try to match as many code
points with the matching category flags as possible and return the offset in
the input in bytes.

##### Return

True if the whole input of `input_size` conforms to the specified
category flags, false otherwise

#### isalnum

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/isalnum
- Line: 630

##### Syntax

```pawn
native isalnum(ch);
```

##### Description

Returns whether a character is numeric or an ASCII alphabet character.

##### Parameters

- `ch`: Character to test.

##### Note

Multi-byte characters will always return false.

##### Return

True if character is numeric, otherwise false.

#### isalpha

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/isalpha
- Line: 610

##### Syntax

```pawn
native isalpha(ch);
```

##### Description

Returns whether a character is an ASCII alphabet character.

##### Parameters

- `ch`: Character to test.

##### Note

Multi-byte characters will always return false.

##### Return

True if character is alphabetical, otherwise false.

#### isdigit

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/isdigit
- Line: 600

##### Syntax

```pawn
native isdigit(ch);
```

##### Description

Returns whether a character is numeric.

##### Parameters

- `ch`: Character to test.

##### Note

Multi-byte characters will always return false.

##### Return

True if character is numeric, otherwise false.

#### isspace

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/isspace
- Line: 620

##### Syntax

```pawn
native isspace(ch);
```

##### Description

Returns whether a character is whitespace.

##### Parameters

- `ch`: Character to test.

##### Note

Multi-byte characters will always return false.

##### Return

True if character is whitespace, otherwise false.

#### mb_strtolower

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/mb_strtolower
- Line: 497

##### Syntax

```pawn
native mb_strtolower(string[], maxlength = 0);
```

##### Description

Performs a multi-byte safe (UTF-8) conversion of all chars in string to lower case.

##### Parameters

- `string`: The string to convert.
- `maxlength`: Optional size of the buffer. If 0, the length of the original string
will be used instead.

##### Note

Although most code points can be converted in-place, there are notable
exceptions and the final length can vary.

##### Note

Case mapping is not reversible. That is, toUpper(toLower(x)) != toLower(toUpper(x)).

##### Return

Number of bytes written.

#### mb_strtotitle

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/mb_strtotitle
- Line: 563

##### Syntax

```pawn
native mb_strtotitle(string[], maxlength = 0);
```

##### Description

Performs a multi-byte safe (UTF-8) conversion of all chars in string to title case.

##### Parameters

- `string`: The string to convert.
- `maxlength`: Optional size of the buffer. If 0, the length of the original string
will be used instead.

##### Note

Although most code points can be converted in-place, there are notable
exceptions and the final length can vary.

##### Note

Any type of punctuation can break up a word, even if this is
not grammatically valid. This happens because the titlecasing algorithm
does not and cannot take grammar rules into account.

##### Note

Examples:
The running man                      | The Running Man
NATO Alliance                        | Nato Alliance
You're amazing at building libraries | You'Re Amazing At Building Libraries

##### Return

Number of bytes written.

#### mb_strtoupper

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/mb_strtoupper
- Line: 520

##### Syntax

```pawn
native mb_strtoupper(string[], maxlength = 0);
```

##### Description

Performs a multi-byte safe (UTF-8) conversion of all chars in string to upper case.

##### Parameters

- `string`: The string to convert.
- `maxlength`: Optional size of the buffer. If 0, the length of the original string
will be used instead.

##### Note

Although most code points can be converted in-place, there are notable
exceptions and the final length can vary.

##### Note

Case mapping is not reversible. That is, toUpper(toLower(x)) != toLower(toUpper(x)).

##### Return

Number of bytes written.

#### mb_ucfirst

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/mb_ucfirst
- Line: 542

##### Syntax

```pawn
native mb_ucfirst(string[], maxlength = 0);
```

##### Description

Performs a multi-byte safe (UTF-8) conversion of a string's first character to upper case.

##### Parameters

- `string`: The string to convert.
- `maxlength`: Optional size of the buffer. If 0, the length of the original string
will be used instead.

##### Note

Although most code points can be converted in-place, there are notable
exceptions and the final length can vary.

##### Return

Number of bytes written.

#### num_to_str

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/num_to_str
- Line: 254

##### Syntax

```pawn
native num_to_str(num,string[],len);
```

##### Description

Converts an integer to a string.

##### Parameters

- `num`: Integer to convert.
- `string`: Buffer to store string in.
- `len`: Maximum length of string buffer.

##### Return

Number of cells written to buffer.

#### parse

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/parse
- Line: 423

##### Syntax

```pawn
native parse(const text[], ... );
```

##### Description

Gets parameters from text.

##### Parameters

- `text`: String to parse.
- `...`: Variable number of format parameters.

##### Note

Example: to split text: "^"This is^" the best year",
call function like this: parse(text,arg1,len1,arg2,len2,arg3,len3,arg4,len4)
and you will get: "This is", "the", "best", "year"
Function returns number of parsed parameters.

##### Return

Number of parsed parameters.

#### replace

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/replace
- Line: 71

##### Syntax

```pawn
native replace(text[], len, const what[], const with[]);
```

##### Description

Given a string, replaces the first occurrence of a search string with a
replacement string.

##### Parameters

- `text`: String to perform search and replacements on.
- `len`: Maximum length of the string buffer.
- `what`: String to search for.
- `with`: String to replace the search string with.

##### Return

The new string length after replacement, or 0 if no replacements were made.

#### replace_string

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/replace_string
- Line: 93

##### Syntax

```pawn
native replace_string(text[], maxlength, const search[], const replace[], bool:caseSensitive = true);
```

##### Description

Given a string, replaces all occurrences of a search string with a
replacement string.

##### Parameters

- `text`: String to perform search and replacements on.
- `maxlength`: Maximum length of the string buffer.
- `search`: String to search for.
- `replace`: String to replace the search string with.
- `caseSensitive`: If true (default), search is case sensitive.

##### Note

Similar to replace_all() stock, but implemented as native and
with different algorithm. This native doesn't error on bad
buffer size and will smartly cut off the string in a way
that pushes old data out.

##### Note

Only available in 1.8.3 and above.

##### Note

This supports multi-byte characters (UTF-8) on case insensitive comparison.

##### Return

Number of replacements that were performed.

#### replace_stringex

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/replace_stringex
- Line: 121

##### Syntax

```pawn
native replace_stringex(text[], maxlength, const search[], const replace[], searchLen = -1, replaceLen = -1, bool:caseSensitive = true);
```

##### Description

Given a string, replaces the first occurrence of a search string with a
replacement string.

##### Parameters

- `text`: String to perform search and replacements on.
- `maxlength`: Maximum length of the string buffer.
- `search`: String to search for.
- `replace`: String to replace the search string with.
- `searchLen`: If higher than -1, its value will be used instead of
a strlen() call on the search parameter.
- `replaceLen`: If higher than -1, its value will be used instead of
a strlen() call on the replace parameter.
- `caseSensitive`: If true (default), search is case sensitive.

##### Note

Similar to replace() native, but implemented with more options and
with different algorithm. This native doesn't error on bad
buffer size and will smartly cut off the string in a way
that pushes old data out.

##### Note

Only available in 1.8.3 and above.

##### Note

This supports multi-byte characters (UTF-8) on case insensitive comparison.

##### Return

Index into the buffer (relative to the start) from where
the last replacement ended, or -1 if no replacements were
made.

#### setc

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/setc
- Line: 408

##### Syntax

```pawn
native setc(src[],len,ch);
```

##### Description

Sets string with given character.

##### Parameters

- `src`: Destination string buffer to copy to.
- `len`: Destination buffer length.
- `ch`: Character to set string.

##### Return

This function has no return value.

#### split_string

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/split_string
- Line: 782

##### Syntax

```pawn
native split_string(const source[], const split[], part[], partLen);
```

##### Description

Returns text in a string up until a certain character sequence is reached.

##### Parameters

- `source`: Source input string.
- `split`: A string which specifies a search point to break at.
- `part`: Buffer to store string part.
- `partLen`: Maximum length of the string part buffer.

##### Note

Only available in 1.8.3 and above.

##### Return

-1 if no match was found; otherwise, an index into source
marking the first index after the searched text.  The
index is always relative to the start of the input string.

#### str_to_float

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/str_to_float
- Line: 347

##### Syntax

```pawn
native Float:str_to_float(const string[]);
```

##### Description

Converts a string to a floating point number.

##### Parameters

- `string`: String to convert to a foat.

##### Return

Floating point result, or 0.0 on error.

#### str_to_num

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/str_to_num
- Line: 262

##### Syntax

```pawn
native str_to_num(const string[]);
```

##### Description

Converts a string to an integer.

##### Parameters

- `string`: String to convert.

##### Return

Integer conversion of string, or 0 on failure.

#### strcat

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strcat
- Line: 685

##### Syntax

```pawn
native strcat(dest[], const source[], maxlength);
```

##### Description

Concatenates one string onto another.

##### Parameters

- `dest`: String to append to.
- `source`: Source string to concatenate.
- `maxlength`: Maximum length of entire buffer.

##### Return

Number of bytes written.

#### strcmp

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strcmp
- Line: 715

##### Syntax

```pawn
native strcmp(const string1[], const string2[], bool:ignorecase = false);
```

##### Description

Compares two strings lexographically.

##### Parameters

- `string1`: First string (left).
- `string2`: Second string (right).
- `ignorecase`: If true, comparison is case insensitive.
If false (default), comparison is case sensitive.

##### Note

This supports multi-byte characters (UTF-8) on case insensitive comparison.

##### Return

-1 if string1 < string2
0 if string1 == string2
1 if string1 > string2

#### strfind

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strfind
- Line: 700

##### Syntax

```pawn
native strfind(const string[], const sub[], bool:ignorecase = false, pos = 0);
```

##### Description

Tests whether a string is found inside another string.

##### Parameters

- `string`: String to search in.
- `sub`: Substring to find inside the original string.
- `ignorecase`: If true, search is case insensitive.
If false (default), search is case sensitive.
- `pos`: Start position to search from.

##### Note

This supports multi-byte characters (UTF-8) on case insensitive comparison.

##### Return

-1 on failure (no match found). Any other value
indicates a position in the string where the match starts.

#### strlen

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strlen
- Line: 34

##### Syntax

```pawn
native strlen(const string[]);
```

##### Description

Calculates the length of a string.

##### Parameters

- `string`: String to check.

##### Return

Number of valid character bytes in the string.

#### strncmp

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strncmp
- Line: 732

##### Syntax

```pawn
native strncmp(const string1[], const string2[], num, bool:ignorecase = false);
```

##### Description

Compares two strings parts lexographically.

##### Parameters

- `string1`: First string (left).
- `string2`: Second string (right).
- `num`: Number of characters to compare.
- `ignorecase`: If true, comparison is case insensitive.
If false (default), comparison is case sensitive.

##### Note

Only available in 1.8.3 and above.

##### Note

This supports multi-byte characters (UTF-8) on case insensitive comparison.

##### Return

-1 if string1 < string2
0 if string1 == string2
1 if string1 > string2

#### strtof

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strtof
- Line: 328

##### Syntax

```pawn
native Float:strtof(const string[], &endPos = 0);
```

##### Description

Parses the 'string' interpreting its content as an floating point number and returns its value as a float.
The function also sets the value of 'endPos' to point to the position of the first character after the number.

This is the same as C++ strtod function with a difference on second param.

The function first discards as many whitespace characters as necessary until the first
non-whitespace character is found. Then, starting from this character, takes as many
characters as possible that are valid and interprets them as a numerical value.
Finally, a position of the first character following the float representation in 'string'
is stored in 'endPos'.

If the first sequence of non-whitespace characters in 'string' is not a valid float number
as defined above, or if no such sequence exists because either 'string' is empty or it contains
only whitespace characters, no conversion is performed.

##### Parameters

- `string`: The string to parse.
- `endPos`: The position of the first character following the number.
On success and when containing only numbers, position is at the end of string, meaning equal to 'string' length.
On failure, position is sets always to 0.

##### Return

On success, the function returns the converted floating point number as float value.
If no valid conversion could be performed, a zero value is returned.

#### strtok

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strtok
- Line: 448

##### Syntax

```pawn
native strtok(const text[], Left[], leftLen, Right[], rightLen, token=' ', trimSpaces=0);
```

##### Description

Breaks a string in two by token.

##### Parameters

- `text`: String to tokenize
- `Left`: Buffer to store left half
- `leftLen`: Size of left buffer
- `Right`: Buffer to store right half
- `rightLen`: Size of right buffer
- `token`: Token to split by
- `trimSpaces`: Whether spaces are trimmed.

##### Note

Trimming spaces is buggy. Consider strtok2 instead.

##### Note

See argbreak() for doing this with parameters.
Example:
str1[] = This *is*some text
strtok(str1, left, 24, right, 24, '*')
left will be "This "
Right will be "is*some text"
If you use trimSpaces, all spaces are trimmed from Left.

##### Return

This function has no return value.

#### strtok2

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strtok2
- Line: 466

##### Syntax

```pawn
native strtok2(const text[], left[], const llen, right[], const rlen, const token = ' ', const trim = 0);
```

##### Description

Breaks a string in two by token.

##### Parameters

- `text`: String to tokenize
- `left`: Buffer to store left half
- `llen`: Size of left buffer
- `right`: Buffer to store right half
- `rlen`: Size of right buffer
- `token`: Token to split by
- `trim`: Flags for trimming behavior, see above

##### Note

Only available in 1.8.3 and above.

##### Return

Returns position of token in string if found,
-1 if token was not found

#### strtol

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strtol
- Line: 303

##### Syntax

```pawn
native strtol(const string[], &endPos = 0, base = 0);
```

##### Description

Parses the 'string' interpreting its content as an integral number of the specified 'base',
which is returned as integer value. The function also sets the value of 'endPos' to point
to the position of the first character after the number.

This is the same as C++ strtol function with a difference on second param.

The function first discards as many whitespace characters as necessary until the first
non-whitespace character is found. Then, starting from this character, takes as many
characters as possible that are valid following a syntax that depends on the 'base' parameter,
and interprets them as a numerical value. Finally, a position of the first character following
the integer representation in 'string' is stored in 'endPos'.

If the value of 'base' is zero, the syntax expected is similar to that of integer constants,
which is formed by a succession of :
   An optional sign character (+ or -)
   An optional prefix indicating octal or hexadecimal base ("0" or "0x"/"0X" respectively)
   A sequence of decimal digits (if no base prefix was specified) or either octal or hexadecimal digits if a specific prefix is present

If the 'base' value is between 2 and 36, the format expected for the integral number is a succession
of any of the valid digits and/or letters needed to represent integers of the specified radix
(starting from '0' and up to 'z'/'Z' for radix 36). The sequence may optionally be preceded by
a sign (either + or -) and, if base is 16, an optional "0x" or "0X" prefix.

If the first sequence of non-whitespace characters in 'string' is not a valid integral number
as defined above, or if no such sequence exists because either 'string' is empty or it contains
only whitespace characters, no conversion is performed.

##### Parameters

- `string`: The string to parse.
- `endPos`: The position of the first character following the number.
On success and when containing only numbers, position is at the end of string, meaning equal to 'string' length.
On failure, position is sets always to 0.
- `base`: The numerical base (radix) that determines the valid characters and their interpretation.
If this is 0, the base used is determined by the format in the sequence.

##### Return

On success, the function returns the converted integral number as integer value.
If no valid conversion could be performed, a zero value is returned.
If the value read is out of the range of representable values by a cell,
the function returns 'cellmin' or 'cellmax'.

#### strtolower

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strtolower
- Line: 482

##### Syntax

```pawn
native strtolower(string[]);
```

##### Description

Converts all chars in string to lower case.

##### Parameters

- `string`: The string to convert.

##### Return

Number of bytes written.

#### strtoupper

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/strtoupper
- Line: 505

##### Syntax

```pawn
native strtoupper(string[]);
```

##### Description

Converts all chars in string to upper case.

##### Parameters

- `string`: The string to convert.

##### Return

Number of bytes written.

#### trim

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/trim
- Line: 474

##### Syntax

```pawn
native trim(text[]);
```

##### Description

Removes whitespace characters from the beginning and end of a string.

##### Parameters

- `text`: The string to trim.

##### Return

Number of bytes written.

#### ucfirst

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/ucfirst
- Line: 528

##### Syntax

```pawn
native ucfirst(string[]);
```

##### Description

Make a string's first character uppercase.

##### Parameters

- `string`: The string to convert.

##### Return

1 on success, otherwise 0.

#### vdformat

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/vdformat
- Line: 232

##### Syntax

```pawn
native vdformat(buffer[], len, fmt_arg, vararg, ...);
```

##### Description

Formats a string according to the AMX Mod X format rules (see documentation).

##### Parameters

- `buffer`: Destination string buffer.
- `len`: Maximum length of output string buffer.
- `fmt_arg`: Argument number which contains the format.
- `vararg`: Argument number which contains the '...' symbol.
Note: Arguments start at 1.

##### Note

Same as vformat(), except works in normal style dynamic natives.
Instead of passing the format arg string, you can only pass the
actual format argument number itself.
If you pass 0, it will read the format string from an optional
fifth parameter.

##### Return

Number of bytes written.

#### vformat

- Include: `string.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/string/function/vformat
- Line: 214

##### Syntax

```pawn
native vformat(buffer[], len, const fmt[], vararg);
```

##### Description

Formats a string according to the AMX Mod X format rules (see documentation).

##### Parameters

- `buffer`: Destination string buffer.
- `len`: Maximum length of output string buffer.
- `fmt`: Formatting rules.
- `vararg`: Argument number which contains the '...' symbol.
Note: Arguments start at 1.

##### Note

This is the same as format(), except it grabs parameters from a
parent parameter stack, rather than a local.  This is useful for
implementing your own variable argument functions.

##### Note

Replacement for format_args.  Much faster and %L compatible.
This works exactly like vsnprintf() from C.
You must pass in the output buffer and its size,
the string to format, and the number of the FIRST variable
argument parameter.  For example, for:
function (a, b, c, ...)
You would pass 4 (a is 1, b is 2, c is 3, et cetera).
There is no vformatex().

##### Return

Number of bytes written.

## string_const.inc

- HTML: https://amxx-api.csrevo.com/string_const
- Group: Base includes
- Functions: 0
- Documented constants: 5

### Constants

#### charsmax

charsmax

```pawn
#define charsmax(%1) (sizeof(%1)-1)
```

#### Untitled constant

Untitled constant

##### Global

Unless otherwise noted, all string functions which take in a
writable buffer and maximum length should NOT have the null terminator INCLUDED
in the length.  This means that this is valid:
copy(string, charsmax(string), ...)

#### MAX_FMT_LENGTH

Buffer size used by fmt().

```pawn
#define MAX_FMT_LENGTH 256
```

#### LTRIM_LEFT

Below are the trim flags for strtok2

You can specify how the left and right buffers will
be trimmed by strtok2. LTRIM trims spaces from the
left side. RTRIM trims from the right side.

The defines TRIM_INNER, TRIM_OUTER and TRIM_FULL are
shorthands for commonly used flag combinations.

When the initial string is trimmed, using TRIM_INNER
for all subsequent strtok2 calls will ensure that left
and right are always trimmed from both sides.

Examples:
str1[] = "  This is  *  some text  "
strtok2(str1, left, 24, right, 24, '*', TRIM_FULL)
 left will be "This is", right will be "some text"

str2[] = "  Here is  |  an  | example  "
trim(str2)
strtok2(str2, left, 24, right, 24, '|', TRIM_INNER)
 left will be "Here is", right will be "an  | example"
strtok2(right, left, 24, right, 24, '|', TRIM_INNER)
 left will be "an", right will be "example"

str3[] = "  One  -  more  "
strtok2(str3, left, 24, right, 24, '-', TRIM_OUTER)
 left will be "One  ", right will be "  more"

str4[] = "  Final  .  example  "
strtok2(str4, left, 24, right, 24, '.', LTRIM_LEFT|LTRIM_RIGHT)
 left will be "Final  ", right will be "example  "

```pawn
#define LTRIM_LEFT (1<<0)
#define RTRIM_LEFT (1<<1)
#define LTRIM_RIGHT (1<<2)
#define RTRIM_RIGHT (1<<3)

#define TRIM_INNER RTRIM_LEFT|LTRIM_RIGHT
#define TRIM_OUTER LTRIM_LEFT|RTRIM_RIGHT
#define TRIM_FULL TRIM_OUTER|TRIM_INNER
```

#### UTF8C_LETTER_UPPERCASE

Category flags to be used with is_string_category(), to check whether code points in a
string are part of that category.

```pawn
#define UTF8C_LETTER_UPPERCASE          0x00000001    // Uppercase letter code points, Lu in the Unicode database.
#define UTF8C_LETTER_LOWERCASE          0x00000002    // Lowercase letter code points, Ll in the Unicode database.
#define UTF8C_LETTER_TITLECASE          0x00000004    // Titlecase letter code points, Lt in the Unicode database.
#define UTF8C_LETTER_MODIFIER           0x00000008    // Modifier letter code points, Lm in the Unicode database.
#define UTF8C_LETTER_OTHER              0x00000010    // Other letter code points, Lo in the Unicode database.

// Combined flag for all letter categories with case mapping
// Combined flag for all letter categories
const UTF8C_LETTER      = (UTF8C_LETTER_UPPERCASE | UTF8C_LETTER_LOWERCASE | UTF8C_LETTER_TITLECASE | UTF8C_LETTER_MODIFIER  | UTF8C_LETTER_OTHER);
const UTF8C_CASE_MAPPED = (UTF8C_LETTER_UPPERCASE | UTF8C_LETTER_LOWERCASE | UTF8C_LETTER_TITLECASE);

#define UTF8C_MARK_NON_SPACING          0x00000020    // Non-spacing mark code points, Mn in the Unicode database.
#define UTF8C_MARK_SPACING              0x00000040    // Spacing mark code points, Mc in the Unicode database.
#define UTF8C_MARK_ENCLOSING            0x00000080    // Enclosing mark code points, Me in the Unicode database.

// Combined flag for all mark categories.
const UTF8C_MARK = (UTF8C_MARK_NON_SPACING | UTF8C_MARK_SPACING | UTF8C_MARK_ENCLOSING);

#define UTF8C_NUMBER_DECIMAL            0x00000100    // Decimal number code points, Nd in the Unicode database.
#define UTF8C_NUMBER_LETTER             0x00000200    // Letter number code points, Nl in the Unicode database.
#define UTF8C_NUMBER_OTHER              0x00000400    // Other number code points, No in the Unicode database.

// Combined flag for all number categories.
const UTF8C_NUMBER = (UTF8C_NUMBER_DECIMAL | UTF8C_NUMBER_LETTER | UTF8C_NUMBER_OTHER);

#define UTF8C_PUNCTUATION_CONNECTOR     0x00000800    // Connector punctuation category, Pc in the Unicode database.
#define UTF8C_PUNCTUATION_DASH          0x00001000    // Dash punctuation category, Pd in the Unicode database.
#define UTF8C_PUNCTUATION_OPEN          0x00002000    // Open punctuation category, Ps in the Unicode database.
#define UTF8C_PUNCTUATION_CLOSE         0x00004000    // Close punctuation category, Pe in the Unicode database.
#define UTF8C_PUNCTUATION_INITIAL       0x00008000    // Initial punctuation category, Pi in the Unicode database.
#define UTF8C_PUNCTUATION_FINAL         0x00010000    // Final punctuation category, Pf in the Unicode database.
#define UTF8C_PUNCTUATION_OTHER         0x00020000    // Other punctuation category, Po in the Unicode database.

// Combined flag for all punctuation categories.
const UTF8C_PUNCTUATION  = (UTF8C_PUNCTUATION_CONNECTOR | UTF8C_PUNCTUATION_DASH    | UTF8C_PUNCTUATION_OPEN  | \
							UTF8C_PUNCTUATION_CLOSE     | UTF8C_PUNCTUATION_INITIAL | UTF8C_PUNCTUATION_FINAL | \
							UTF8C_PUNCTUATION_OTHER);

#define UTF8C_SYMBOL_MATH               0x00040000    // Math symbol category, Sm in the Unicode database.
#define UTF8C_SYMBOL_CURRENCY           0x00080000    // Currency symbol category, Sc in the Unicode database.
#define UTF8C_SYMBOL_MODIFIER           0x00100000    // Modifier symbol category, Sk in the Unicode database.
#define UTF8C_SYMBOL_OTHER              0x00200000    // Other symbol category, So in the Unicode database.

// Combined flag for all symbol categories.
const UTF8C_SYMBOL = (UTF8C_SYMBOL_MATH | UTF8C_SYMBOL_CURRENCY | UTF8C_SYMBOL_MODIFIER | UTF8C_SYMBOL_OTHER);

#define UTF8C_SEPARATOR_SPACE           0x00400000    // Space separator category, Zs in the Unicode database.
#define UTF8C_SEPARATOR_LINE            0x00800000    // Line separator category, Zl in the Unicode database.
#define UTF8C_SEPARATOR_PARAGRAPH       0x01000000    // Paragraph separator category, Zp in the Unicode database.

// Combined flag for all separator categories.
const UTF8C_SEPARATOR = (UTF8C_SEPARATOR_SPACE | UTF8C_SEPARATOR_LINE | UTF8C_SEPARATOR_PARAGRAPH);

#define UTF8C_CONTROL                   0x02000000    // Control category, Cc in the Unicode database.
#define UTF8C_FORMAT                    0x04000000    // Format category, Cf in the Unicode database.
#define UTF8C_SURROGATE                 0x08000000    // Surrogate category, Cs in the Unicode database.
#define UTF8C_PRIVATE_USE               0x10000000    // Private use category, Co in the Unicode database.
#define UTF8C_UNASSIGNED                0x20000000    // Unassigned category, Cn in the Unicode database.
#define UTF8C_COMPATIBILITY             0x40000000    // Flag used for maintaining backwards compatibility with POSIX
#define UTF8C_IGNORE_GRAPHEME_CLUSTER   0x80000000    // Flag used for checking only the general category of code points at the start of a grapheme cluster.

// Flag used for maintaining backwards compatibility with POSIX function
const UTF8C_ISCNTRL  = (UTF8C_COMPATIBILITY | UTF8C_CONTROL);
const UTF8C_ISPRINT  = (UTF8C_COMPATIBILITY | UTF8C_LETTER | UTF8C_NUMBER | UTF8C_PUNCTUATION | UTF8C_SYMBOL | UTF8C_SEPARATOR);
const UTF8C_ISSPACE  = (UTF8C_COMPATIBILITY | UTF8C_SEPARATOR_SPACE);
const UTF8C_ISBLANK  = (UTF8C_COMPATIBILITY | UTF8C_SEPARATOR_SPACE | UTF8C_PRIVATE_USE);
const UTF8C_ISGRAPH  = (UTF8C_COMPATIBILITY | UTF8C_LETTER | UTF8C_NUMBER | UTF8C_PUNCTUATION | UTF8C_SYMBOL);
const UTF8C_ISPUNCT  = (UTF8C_COMPATIBILITY | UTF8C_PUNCTUATION | UTF8C_SYMBOL);
const UTF8C_ISALNUM  = (UTF8C_COMPATIBILITY | UTF8C_LETTER | UTF8C_NUMBER);
const UTF8C_ISALPHA  = (UTF8C_COMPATIBILITY | UTF8C_LETTER);
const UTF8C_ISUPPER  = (UTF8C_COMPATIBILITY | UTF8C_LETTER_UPPERCASE);
const UTF8C_ISLOWER  = (UTF8C_COMPATIBILITY | UTF8C_LETTER_LOWERCASE);
const UTF8C_ISDIGIT  = (UTF8C_COMPATIBILITY | UTF8C_NUMBER);
const UTF8C_ISXDIGIT = (UTF8C_COMPATIBILITY | UTF8C_NUMBER | UTF8C_PRIVATE_USE);

// All flags.
const UTF8C_ALL = 0xFFFFFFFF & (~UTF8C_COMPATIBILITY);
```

## string_stocks.inc

- HTML: https://amxx-api.csrevo.com/string_stocks
- Group: Base includes
- Functions: 10
- Documented constants: 2

### Constants

#### Untitled constant

Untitled constant

##### Global

Unless otherwise noted, all string functions which take in a
writable buffer and maximum length should NOT have the null terminator INCLUDED
in the length.  This means that this is valid:
copy(string, charsmax(string), ...)

#### Backwards compatibility stock - use argbreak or argparse.

Backwards compatibility stock - use argbreak or argparse.

```pawn
#pragma deprecated Use argbreak() instead
```

##### Deprecated

this function does not work properly.

### Functions

#### argbreak

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/argbreak
- Line: 110

##### Syntax

```pawn
stock argbreak(const text[], left[], leftlen, right[], rightlen)
```

##### Description

Emulates strbreak() using argparse().

##### Parameters

- `text`: Source input string.
- `left`: Buffer to store string left part.
- `leftlen`: Maximum length of the string part buffer.
- `right`: Buffer to store string right part.
- `rightlen`: Maximum length of the string part buffer.

##### Return

-1 if no match was found; otherwise, an index into source
marking the first index after the searched text.  The
index is always relative to the start of the input string.

#### char_to_lower

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/char_to_lower
- Line: 77

##### Syntax

```pawn
stock char_to_lower(chr)
```

##### Description

Returns a lowercase character to an uppercase character.

##### Parameters

- `chr`: Characer to convert.

##### Note

Only available in 1.8.3 and above.

##### Return

Uppercase character on success,
no change on failure.

#### char_to_upper

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/char_to_upper
- Line: 58

##### Syntax

```pawn
stock char_to_upper(chr)
```

##### Description

Returns an uppercase character to a lowercase character.

##### Parameters

- `chr`: Characer to convert.

##### Note

Only available in 1.8.3 and above.

##### Return

Lowercase character on success,
no change on failure.

#### explode_string

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/explode_string
- Line: 259

##### Syntax

```pawn
stock explode_string(const text[], const split[], buffers[][], maxStrings, maxStringLength, bool:copyRemainder = false)
```

##### Description

Breaks a string into pieces and stores each piece into an array of buffers.

##### Parameters

- `text`: The string to split.
- `split`: The string to use as a split delimiter.
- `buffers`: An array of string buffers (2D array).
- `maxStrings`: Number of string buffers (first dimension size).
- `maxStringLength`: Maximum length of each string buffer.
- `copyRemainder`: False (default) discard excess pieces, true to ignore
delimiters after last piece.

##### Return

Number of strings retrieved.

#### implode_strings

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/implode_strings
- Line: 297

##### Syntax

```pawn
stock implode_strings(const strings[][], numStrings, const join[], buffer[], maxLength)
```

##### Description

Joins an array of strings into one string, with a "join" string inserted in
between each given string.  This function complements ExplodeString.

##### Parameters

- `strings`: An array of strings.
- `numStrings`: Number of strings in the array.
- `join`: The join string to insert between each string.
- `buffer`: Output buffer to write the joined string to.
- `maxLength`: Maximum length of the output buffer.

##### Return

Number of bytes written to the output buffer.

#### is_str_num

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/is_str_num
- Line: 37

##### Syntax

```pawn
stock bool:is_str_num(const sString[])
```

##### Description

Returns whether a given string contains only digits.
This returns false for zero-length strings.

##### Parameters

- `sString`: Character to test.

##### Return

True if string contains only digit, otherwise false.

#### remove_filepath

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/remove_filepath
- Line: 174

##### Syntax

```pawn
stock remove_filepath(const szFilePath[], szFile[], pMax)
```

##### Description

Removes a path from szFilePath leaving the name of the file in szFile for a pMax length.

##### Parameters

- `szFilePath`: String to perform search and replacements on.
- `szFile`: Buffer to store file name.
- `pMax`: Maximum length of the string buffer.

##### Return

This function has no return value.

#### replace_all

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/replace_all
- Line: 200

##### Syntax

```pawn
stock replace_all(string[], len, const what[], const with[])
```

##### Description

Replaces a contained string iteratively.

##### Parameters

- `string`: String to perform search and replacements on.
- `len`: Maximum length of the string buffer.
- `what`: String to search for.
- `with`: String to replace the search string with.

##### Note

Consider using replace_string() instead.

##### Note

This ensures that no infinite replacements will take place by
intelligently moving to the next string position each iteration.

##### Return

Number of replacements on success, otherwise 0.

#### split

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/split
- Line: 143

##### Syntax

```pawn
stock split(const szInput[], szLeft[], pL_Max, szRight[], pR_Max, const szDelim[])
```

##### Description

It is basically strbreak but you have a delimiter that is more than one character in length. By Suicid3.

##### Parameters

- `szInput`: Source input string.
- `szLeft`: Buffer to store left string part.
- `pL_Max`: Maximum length of the string part buffer.
- `szRight`: Buffer to store right string part.
- `pR_Max`: Maximum length of the string part buffer.
- `szDelim`: A string which specifies a search point to break at.

##### Return

This function has no return value.

#### strbreak

- Include: `string_stocks.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/string_stocks/function/strbreak
- Line: 92

##### Syntax

```pawn
stock strbreak(const text[], Left[], leftLen, Right[], rightLen)
```

##### Description

This function has no description.

## textparse_ini.inc

- HTML: https://amxx-api.csrevo.com/textparse_ini
- Group: Base includes
- Functions: 7
- Documented constants: 3

### Constants

#### This parser API is entirely event based. You must hook events to receive data.

This parser API is entirely event based.
You must hook events to receive data.

#### The INI file format is defined as:    WHITESPACE: 0x20, \n, \t, \r    IDENTIFIER: A-Z a-z 0-9 _ - , + . $ ? /    STRING    : Any set of symbols  Basic syntax is comprised of SECTIONs.    A SECTION is defined as:    [SECTIONNAME]    OPTION    OPTION    OPTION...  SECTIONNAME is an IDENTIFIER.    OPTION can be repeated any number of times, once per line.    OPTION is defined as one of:      KEY = "VALUE"      KEY = VALUE      KEY    Where KEY is an IDENTIFIER and VALUE is a STRING.  WHITESPACE should always be omitted.    COMMENTS should be stripped, and are defined as text occurring in:    ;<TEXT>  Example file below.  Note that the second line is technically invalid. The event handler must decide whether this should be allowed.    --FILE BELOW--    [gaben]    hi = clams    bye = "NO CLAMS"     [valve]    cannot    maintain    products

The INI file format is defined as:
   WHITESPACE: 0x20, \n, \t, \r
   IDENTIFIER: A-Z a-z 0-9 _ - , + . $ ? /
   STRING    : Any set of symbols

Basic syntax is comprised of SECTIONs.
   A SECTION is defined as:
   [SECTIONNAME]
   OPTION
   OPTION
   OPTION...

SECTIONNAME is an IDENTIFIER.
   OPTION can be repeated any number of times, once per line.
   OPTION is defined as one of:
     KEY = "VALUE"
     KEY = VALUE
     KEY
   Where KEY is an IDENTIFIER and VALUE is a STRING.

WHITESPACE should always be omitted.
   COMMENTS should be stripped, and are defined as text occurring in:
   ;<TEXT>

Example file below.  Note that the second line is technically invalid.
The event handler must decide whether this should be allowed.
   --FILE BELOW--
   [gaben]
   hi = clams
   bye = "NO CLAMS"

   [valve]
   cannot
   maintain
   products

#### INIParser

Parser invalid code.

```pawn
enum INIParser
{
	Invalid_INIParser = 0
};
```

### Functions

#### INI_CreateParser

- Include: `textparse_ini.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_ini/function/INI_CreateParser
- Line: 76

##### Syntax

```pawn
native INIParser:INI_CreateParser();
```

##### Description

Creates a new INI parser.
This is used to set parse hooks.

##### Return

A new handle to an INI Parse structure.

#### INI_DestroyParser

- Include: `textparse_ini.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_ini/function/INI_DestroyParser
- Line: 85

##### Syntax

```pawn
native INI_DestroyParser(&INIParser:handle);
```

##### Description

Disposes of an INI parser.

##### Parameters

- `handle`: Handle to an INI Parse structure.

##### Return

True if disposed, false otherwise.

#### INI_ParseFile

- Include: `textparse_ini.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_ini/function/INI_ParseFile
- Line: 99

##### Syntax

```pawn
native bool:INI_ParseFile(INIParser:handle, const file[], &line = 0, &col = 0, any:data = 0);
```

##### Description

Parses an INI config file.

##### Parameters

- `handle`: A handle to an INI Parse structure.
- `file`: A string containing the file path.
- `line`: An optional by reference cell to store the last line number read.
- `col`: An optional by reference cell to store the last column number read.
- `data`: An optional handle or value to pass through to callback functions

##### Return

An SMCParseError result.

##### Error

Invalid or corrupt handle.

#### INI_SetParseEnd

- Include: `textparse_ini.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_ini/function/INI_SetParseEnd
- Line: 144

##### Syntax

```pawn
native INI_SetParseEnd(INIParser:handle, const func[]);
```

##### Description

Sets the INI_ParseEnd function of a parse handle.

##### Parameters

- `handle`: A handle to an INI Parse structure.
- `halted`: True if abnormally halted, false otherwise.
- `data`: Handle or value passed in INI_ParseFile
- `handle`: Handle to an INI Parse structure.
- `func`: A ParseEnd callback.

##### Note

Below is the prototype of callback:
-
Called when parsing is halted.

##### Return

This function has no return value.

##### Return

This function has no return value.

##### Error

Invalid or corrupt handle.

#### INI_SetParseStart

- Include: `textparse_ini.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_ini/function/INI_SetParseStart
- Line: 121

##### Syntax

```pawn
native INI_SetParseStart(INIParser:handle, const func[]);
```

##### Description

Sets the INI_ParseStart function of a parse handle.

##### Parameters

- `handle`: A handle to an INI Parse structure.
- `data`: Handle or value passed in INI_ParseFile
- `handle`: Handle to an INI Parse structure.
- `func`: A ParseStart callback.

##### Note

Below is the prototype of callback:
-
Called when parsing is started.

##### Return

This function has no return value.

##### Return

This function has no return value.

##### Error

Invalid or corrupt handle.

#### INI_SetRawLine

- Include: `textparse_ini.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_ini/function/INI_SetRawLine
- Line: 214

##### Syntax

```pawn
native INI_SetRawLine(INIParser:handle, const func[]);
```

##### Description

Sets a raw line reader on an INI parser handle.

##### Parameters

- `handle`: The INI Parse handle.
- `line`: Contents of line.
- `lineno`: The line number it occurs on.
- `curtok`: Pointer to optionally store failed position in string.
- `data`: Handle or value passed in INI_ParseFile
- `handle`: Handle to an INI Parse structure.
- `func`: A RawLine callback.

##### Note

Below is the prototype of callback:
-
Called whenever a raw line is read.

##### Return

True to keep parsing, false otherwise.
public bool:OnRawLine(INIParser:smc, const line[], lineno, curtok, any:data)

##### Return

This function has no return value.

#### INI_SetReaders

- Include: `textparse_ini.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_ini/function/INI_SetReaders
- Line: 190

##### Syntax

```pawn
native INI_SetReaders(INIParser:smc, const kvFunc[], const nsFunc[] = "" );
```

##### Description

Sets the two main reader functions.

##### Parameters

- `handle`: Handle to an INI Parse structure.
- `section`: Name of section in between the [ and ] characters.
- `invalid_tokens`: True if invalid tokens were detected in the name.
- `close_bracket`: True if a closing bracket was detected, false otherwise.
- `extra_tokens`: True if extra tokens were detected on the line.
- `curtok`: Contains current token in the line where the section name starts.
You can add to this offset when failing to point to a token.
- `data`: Handle or value passed in INI_ParseFile
- `handle`: Handle to an INI Parse structure.
- `key`: Name of key.
- `value`: String containing value (with quotes stripped, if any).
- `invalid_tokens`: Whether or not the key contained invalid tokens.
- `equal_token`: There was an '=' sign present (in case the value is missing).
- `quotes`: Whether value was enclosed in quotes.
- `curtok`: Contains the token index of the start of the value string.
This can be changed when returning false.
- `data`: Handle or value passed in INI_ParseFile
- `handle`: Handle to an INI Parse structure.
- `kv`: A KeyValue callback.
- `ns`: An optional NewSection callback.

##### Note

Below is the prototype of callback:
-
NewSection:
Called when the parser finds a new section.

##### Return

True to keep parsing, false otherwise.
public bool:OnNewSection(INIParser:handle, const section[], bool:invalid_tokens, bool:close_bracket, bool:extra_tokens, curtok, any:data)
KeyValue:
Called when the parser finds a new key/value pair.

##### Return

True to keep parsing, false otherwise.
public bool:OnKeyValue(INIParser:handle, const key[], const value[], bool:invalid_tokens, bool:equal_token, bool:quotes, curtok, any:data)
-

##### Return

This function has no return value.

## textparse_smc.inc

- HTML: https://amxx-api.csrevo.com/textparse_smc
- Group: Base includes
- Functions: 8
- Documented constants: 5

### Constants

#### Everything below describes the SMC Parse, or "SourceMod Configuration" format. This parser is entirely event based.  You must hook events to receive data. The file format itself is nearly identical to Valve's KeyValues format (also known as VDF).

Everything below describes the SMC Parse, or "SourceMod Configuration" format.
This parser is entirely event based.  You must hook events to receive data.
The file format itself is nearly identical to Valve's KeyValues format (also known as VDF).

#### The SMC file format is defined as:    WHITESPACE: 0x20, \n, \t, \r    IDENTIFIER: Any ASCII character EXCLUDING ", {, }, ;, //, / *, or WHITESPACE.    STRING    : Any set of symbols enclosed in quotes.     Note: if a STRING does not have quotes, it is parsed as an IDENTIFIER.  Basic syntax is comprised of SECTIONBLOCKs.    A SECTIONBLOCK defined as:     SECTIONNAME    {        OPTION    }  OPTION can be repeated any number of times inside a SECTIONBLOCK. A new line will terminate an OPTION, but there can be more than one OPTION per line. OPTION is defined any of:    "KEY"  "VALUE"    SECTIONBLOCK  SECTIONNAME, KEY, VALUE, and SINGLEKEY are strings SECTIONNAME cannot have trailing characters if quoted, but the quotes can be optionally removed. If SECTIONNAME is not enclosed in quotes, the entire sectionname string is used (minus surrounding whitespace). If KEY is not enclosed in quotes, the key is terminated at first whitespace. If VALUE is not properly enclosed in quotes, the entire value string is used (minus surrounding whitespace). The VALUE may have inner quotes, but the key string may not.  For an example, see scripting/testsuite/textparse_test.cfg  WHITESPACE should be ignored. Comments are text occurring inside the following tokens, and should be stripped unless they are inside literal strings:    ;<TEXT>    //<TEXT>    / *<TEXT> * /

The SMC file format is defined as:
   WHITESPACE: 0x20, \n, \t, \r
   IDENTIFIER: Any ASCII character EXCLUDING ", {, }, ;, //, / *, or WHITESPACE.
   STRING    : Any set of symbols enclosed in quotes.

   Note: if a STRING does not have quotes, it is parsed as an IDENTIFIER.

Basic syntax is comprised of SECTIONBLOCKs.
   A SECTIONBLOCK defined as:

   SECTIONNAME
   {
       OPTION
   }

OPTION can be repeated any number of times inside a SECTIONBLOCK.
A new line will terminate an OPTION, but there can be more than one OPTION per line.
OPTION is defined any of:
   "KEY"  "VALUE"
   SECTIONBLOCK

SECTIONNAME, KEY, VALUE, and SINGLEKEY are strings
SECTIONNAME cannot have trailing characters if quoted, but the quotes can be optionally removed.
If SECTIONNAME is not enclosed in quotes, the entire sectionname string is used (minus surrounding whitespace).
If KEY is not enclosed in quotes, the key is terminated at first whitespace.
If VALUE is not properly enclosed in quotes, the entire value string is used (minus surrounding whitespace).
The VALUE may have inner quotes, but the key string may not.

For an example, see scripting/testsuite/textparse_test.cfg

WHITESPACE should be ignored.
Comments are text occurring inside the following tokens, and should be stripped
unless they are inside literal strings:
   ;<TEXT>
   //<TEXT>
   / *<TEXT> * /

#### SMCParser

Parser invalid code.

```pawn
enum SMCParser
{
	Invalid_SMCParser = 0
};
```

#### SMCResult

Parse result directive.

```pawn
enum SMCResult
{
	SMCParse_Continue,          /* Continue parsing */
	SMCParse_Halt,              /* Stop parsing here */
	SMCParse_HaltFail           /* Stop parsing and return failure */
};
```

#### SMCError

Parse error codes.

```pawn
enum SMCError
{
	SMCError_Okay = 0,          /* No error */
	SMCError_StreamOpen,        /* Stream failed to open */
	SMCError_StreamError,       /* The stream died... somehow */
	SMCError_Custom,            /* A custom handler threw an error */
	SMCError_InvalidSection1,   /* A section was declared without quotes, and had extra tokens */
	SMCError_InvalidSection2,   /* A section was declared without any header */
	SMCError_InvalidSection3,   /* A section ending was declared with too many unknown tokens */
	SMCError_InvalidSection4,   /* A section ending has no matching beginning */
	SMCError_InvalidSection5,   /* A section beginning has no matching ending */
	SMCError_InvalidTokens,     /* There were too many unidentifiable strings on one line */
	SMCError_TokenOverflow,     /* The token buffer overflowed */
	SMCError_InvalidProperty1,  /* A property was declared outside of any section */
};
```

### Functions

#### SMC_CreateParser

- Include: `textparse_smc.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_smc/function/SMC_CreateParser
- Line: 107

##### Syntax

```pawn
native SMCParser:SMC_CreateParser();
```

##### Description

Creates a new SMC parser.
This is used to set parse hooks.

##### Return

A new handle to an SMC Parse structure.

#### SMC_DestroyParser

- Include: `textparse_smc.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_smc/function/SMC_DestroyParser
- Line: 116

##### Syntax

```pawn
native SMC_DestroyParser(&SMCParser:handle);
```

##### Description

Disposes of an SMC parser.

##### Parameters

- `handle`: Handle to an SMC Parse structure.

##### Return

True if disposed, false otherwise.

#### SMC_GetErrorString

- Include: `textparse_smc.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_smc/function/SMC_GetErrorString
- Line: 261

##### Syntax

```pawn
native bool:SMC_GetErrorString(SMCError:error, buffer[], buf_max);
```

##### Description

Gets an error string for an SMCError code.

##### Parameters

- `error`: The SMCParseError code.
- `buffer`: A string buffer for the error (contents undefined on failure).
- `buf_max`: The maximum size of the buffer.

##### Note

SMCError_Okay returns false.

##### Note

SMCError_Custom (which is thrown on SMCParse_HaltFail) returns false.

##### Return

True on success, false otherwise.

#### SMC_ParseFile

- Include: `textparse_smc.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_smc/function/SMC_ParseFile
- Line: 130

##### Syntax

```pawn
native SMCError:SMC_ParseFile(SMCParser:handle, const file[], &line = 0, &col = 0, any:data = 0);
```

##### Description

Parses a config file.

##### Parameters

- `handle`: A handle to an SMC Parse structure.
- `file`: A string containing the file path.
- `line`: An optional by reference cell to store the last line number read.
- `col`: An optional by reference cell to store the last column number read.
- `data`: An optional handle or value to pass through to callback functions

##### Return

An SMCParseError result.

##### Error

Invalid or corrupt handle.

#### SMC_SetParseEnd

- Include: `textparse_smc.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_smc/function/SMC_SetParseEnd
- Line: 176

##### Syntax

```pawn
native SMC_SetParseEnd(SMCParser:handle, const func[]);
```

##### Description

Sets the SMC_ParseEnd function of a parse handle.

##### Parameters

- `handle`: Handle to an SMC Parse structure.
- `halted`: True if abnormally halted, false otherwise.
- `failed`: True if parsing failed, false otherwise.
- `data`: Handle or value passed in SMC_ParseFile
- `handle`: Handle to an SMC Parse structure.
- `func`: A ParseEnd callback.

##### Note

Below is the prototype of callback:
-
Called when parsing is halted.

##### Return

This function has no return value.

##### Return

This function has no return value.

##### Error

Invalid or corrupt handle.

#### SMC_SetParseStart

- Include: `textparse_smc.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_smc/function/SMC_SetParseStart
- Line: 152

##### Syntax

```pawn
native SMC_SetParseStart(SMCParser:handle, const func[]);
```

##### Description

Sets the SMC_ParseStart function of a parse handle.

##### Parameters

- `handle`: Handle to an SMC Parse structure.
- `data`: Handle or value passed in SMC_ParseFile
- `handle`: Handle to an SMC Parse structure.
- `func`: A ParseStart callback.

##### Note

Below is the prototype of callback:
-
Called when parsing is started.

##### Return

This function has no return value.

##### Return

This function has no return value.

##### Error

Invalid or corrupt handle.

#### SMC_SetRawLine

- Include: `textparse_smc.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_smc/function/SMC_SetRawLine
- Line: 247

##### Syntax

```pawn
native SMC_SetRawLine(SMCParser:handle, const func[]);
```

##### Description

Sets a raw line reader on an text parser handle.

##### Parameters

- `handle`: Handle to an SMC Parse structure.
- `line`: A string containing the raw line from the file.
- `lineno`: The line number it occurs on.
- `data`: Handle or value passed in SMC_ParseFile
- `handle`: Handle to an SMC Parse structure.
- `func`: A RawLine callback.

##### Note

Below is the prototype of callbacks:
-
Called whenever a raw line is read.

##### Return

An SMCResult action to take.
public SMCResult:SMC_RawLine(SMCParser:handle, const line[], lineno, any:data)
-

##### Return

This function has no return value.

#### SMC_SetReaders

- Include: `textparse_smc.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/textparse_smc/function/SMC_SetReaders
- Line: 224

##### Syntax

```pawn
native SMC_SetReaders(SMCParser:smc, const kvFunc[], const nsFunc[] = "", const esFunc[] = "");
```

##### Description

Sets the three main reader functions.

##### Parameters

- `handle`: Handle to an SMC Parse structure.
- `name`: String containing section name.
- `data`: Handle or value passed in SMC_ParseFile
- `handle`: Handle to an SMC Parse structure.
- `key`: String containing key name.
- `value`: String containing value name.
- `data`: Handle or value passed in SMC_ParseFile
- `handle`: Handle to an SMC Parse structure.
- `data`: Handle or value passed in SMC_ParseFile
- `handle`: Handle to an SMC Parse structure.
- `kv`: A KeyValue callback.
- `ns`: An optional NewSection callback.
- `es`: An optional EndSection callback.

##### Note

Enclosing quotes are always stripped.

##### Note

Below is the prototype of callbacks:
-
NewSection:
Called when the parser finds a new section or sub-section.

##### Return

An SMCResult action to take.
public SMCResult:OnNewSection(SMCParser:handle, const name[], any:data)
KeyValue:
Called when the parser finds a new key/value pair.

##### Return

An SMCResult action to take.
public SMCResult:OnKeyValue(SMCParser:handle, const key[], const value[], any:data)
EndSection:
Called when the parser finds the end of the current section.

##### Return

An SMCResult action to take.
public SMCResult:OnEndSection(SMCParser:handle, any:data)
-

##### Return

This function has no return value.

## tfcconst.inc

- HTML: https://amxx-api.csrevo.com/tfcconst
- Group: Base includes
- Functions: 0
- Documented constants: 8

### Constants

#### TFCMAX_WEAPONS

TFCMAX_WEAPONS

```pawn
#define TFCMAX_WEAPONS	37
```

#### Enum starting with TFC_AMMO_SHELLS

Enum starting with TFC_AMMO_SHELLS

```pawn
enum {
	TFC_AMMO_SHELLS = 0,
	TFC_AMMO_BULLETS,
	TFC_AMMO_CELLS,
	TFC_AMMO_ROCKETS,
	TFC_AMMO_NADE1,
	TFC_AMMO_NADE2,
};
```

#### Enum starting with TFC_WPN_NONE

Enum starting with TFC_WPN_NONE

```pawn
enum {
	TFC_WPN_NONE = 0,
	TFC_WPN_TIMER,//TFC_WPN_UNK1,
	TFC_WPN_SENTRYGUN,//TFC_WPN_UNK2,
	TFC_WPN_MEDIKIT,
	TFC_WPN_SPANNER,
	TFC_WPN_AXE,
	TFC_WPN_SNIPERRIFLE,
	TFC_WPN_AUTORIFLE,
	TFC_WPN_SHOTGUN,
	TFC_WPN_SUPERSHOTGUN,
	TFC_WPN_NG,
	TFC_WPN_SUPERNG,
	TFC_WPN_GL,
	TFC_WPN_FLAMETHROWER,
	TFC_WPN_RPG,
	TFC_WPN_IC,
	TFC_WPN_FLAMES,//TFC_WPN_UNK16,
	TFC_WPN_AC,
	TFC_WPN_UNK18,
	TFC_WPN_UNK19,
	TFC_WPN_TRANQ,
	TFC_WPN_RAILGUN,
	TFC_WPN_PL,
	TFC_WPN_KNIFE,
	TFC_WPN_CALTROP, // 24
	TFC_WPN_CONCUSSIONGRENADE,
	TFC_WPN_NORMALGRENADE,
	TFC_WPN_NAILGRENADE,
	TFC_WPN_MIRVGRENADE,
	TFC_WPN_NAPALMGRENADE,
	TFC_WPN_GASGRENADE,
	TFC_WPN_EMPGRENADE,
};
```

#### Enum starting with TFC_PC_SCOUT

Enum starting with TFC_PC_SCOUT

```pawn
enum {
	TFC_PC_SCOUT = 1,
	TFC_PC_SNIPER,
	TFC_PC_SOLDIER,
	TFC_PC_DEMOMAN,
	TFC_PC_MEDIC,
	TFC_PC_HWGUY,
	TFC_PC_PYRO,
	TFC_PC_SPY,
	TFC_PC_ENGENEER,	// Typo; preserved for backward compatibility
	TFC_PC_ENGINEER = 9,
	TFC_PC_CIVILIAN = 11,
};
```

#### TFC_GOALITEM_BLUE

TFC_GOALITEM_BLUE

```pawn
#define TFC_GOALITEM_BLUE   (1 << 17)
```

#### TFC_GOALITEM_RED

TFC_GOALITEM_RED

```pawn
#define TFC_GOALITEM_RED    (1 << 18)
```

#### TFC_GOALITEM_YELLOW

TFC_GOALITEM_YELLOW

```pawn
#define TFC_GOALITEM_YELLOW (1 << 24)
```

#### TFC_GOALITEM_GREEN

TFC_GOALITEM_GREEN

```pawn
#define TFC_GOALITEM_GREEN  (1 << 25)
```

## tfcstats.inc

- HTML: https://amxx-api.csrevo.com/tfcstats
- Group: Base includes
- Functions: 9
- Documented constants: 0

### Functions

#### get_stats

- Include: `tfcstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcstats/function/get_stats
- Line: 59

##### Syntax

```pawn
native get_stats(index,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS],name[],len);
```

##### Description

Gets overall stats which stored in stats.dat file in amx folder
and updated on every mapchange or user disconnect.
Function returns next index of stats entry or 0 if no more exists.

#### get_statsnum

- Include: `tfcstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcstats/function/get_statsnum
- Line: 62

##### Syntax

```pawn
native get_statsnum();
```

##### Description

Returns number of all entries in stats.

#### get_user_astats

- Include: `tfcstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcstats/function/get_user_astats
- Line: 51

##### Syntax

```pawn
native get_user_astats(index,wpnindex,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have been killed/hurt. If killer is 0
then stats are from all attacks. If killer has not hurt user, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_rstats

- Include: `tfcstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcstats/function/get_user_rstats
- Line: 41

##### Syntax

```pawn
native get_user_rstats(index,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets round stats of player.

#### get_user_stats

- Include: `tfcstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcstats/function/get_user_stats
- Line: 38

##### Syntax

```pawn
native get_user_stats(index,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets overall stats which are stored in file on server
and updated on every respawn or user disconnect.
Function returns the position in stats by diff. kills to deaths.

#### get_user_vstats

- Include: `tfcstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcstats/function/get_user_vstats
- Line: 46

##### Syntax

```pawn
native get_user_vstats(index,victim,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have killed/hurt his victim. If victim is 0
then stats are from all victims. If victim has not been hurt, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_wrstats

- Include: `tfcstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcstats/function/get_user_wrstats
- Line: 33

##### Syntax

```pawn
native get_user_wrstats(index,wpnindex,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets round stats from given weapon index.

#### get_user_wstats

- Include: `tfcstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcstats/function/get_user_wstats
- Line: 30

##### Syntax

```pawn
native get_user_wstats(index,wpnindex,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets stats from given weapon index. If wpnindex is 0
then the stats are from all weapons. If weapon has not been used function
returns 0 in other case 1. Fields in stats are:
0 - kills
1 - deaths
2 - headshots
3 - teamkilling
4 - shots
5 - hits
6 - damage
For body hits fields see amxconst.inc.

#### reset_user_wstats

- Include: `tfcstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcstats/function/reset_user_wstats
- Line: 54

##### Syntax

```pawn
native reset_user_wstats(index);
```

##### Description

Resets life, weapon, victims and attackers user stats.

## tfcx.inc

- HTML: https://amxx-api.csrevo.com/tfcx
- Group: Base includes
- Functions: 26
- Documented constants: 1

### Constants

#### Forward types

Forward types

```pawn
enum {
  XMF_DAMAGE = 0,
  XMF_DEATH,
};
```

### Functions

#### client_damage

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/tfcx/function/client_damage
- Line: 40

##### Syntax

```pawn
forward client_damage(attacker,victim,damage,wpnindex,hitplace,TA);
```

##### Description

Function is called after player to player attacks ,
if players were damaged by teammate TA is set to 1

#### client_death

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/tfcx/function/client_death
- Line: 44

##### Syntax

```pawn
forward client_death(killer,victim,wpnindex,hitplace,TK);
```

##### Description

Function is called after player death ,
if player was killed by teammate TK is set to 1

#### custom_weapon_add

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/custom_weapon_add
- Line: 48

##### Syntax

```pawn
native custom_weapon_add( const wpnname[],melee = 0,const logname[]="" );
```

##### Description

function will return index of new weapon

#### custom_weapon_dmg

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/custom_weapon_dmg
- Line: 50

##### Syntax

```pawn
native custom_weapon_dmg( weapon, att, vic, damage, hitplace=0 );
```

##### Description

Function will pass damage done by this custom weapon to stats module and other plugins

#### custom_weapon_shot

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/custom_weapon_shot
- Line: 52

##### Syntax

```pawn
native custom_weapon_shot( weapon,index ); // weapon id , player id
```

##### Description

Function will pass info about custom weapon shot to stats module

#### register_statsfwd

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/register_statsfwd
- Line: 36

##### Syntax

```pawn
native register_statsfwd( ftype );
```

##### Description

Use this function to register forwards

#### tfc_clearmodel

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_clearmodel
- Line: 110

##### Syntax

```pawn
native 	tfc_clearmodel(index);
```

##### Description

This function has no description.

#### tfc_get_user_goalitem

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_get_user_goalitem
- Line: 138

##### Syntax

```pawn
native tfc_get_user_goalitem(index, &team);
```

##### Description

Returns 1 if user is carrying a goal item such as a flag or a keycard, else 0.
Team is by reference parameter that will be set to owning team(s) of the goal item.
Use the TFC_GOALITEM_* constants to determine the owning team.

#### tfc_getbammo

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_getbammo
- Line: 114

##### Syntax

```pawn
native 	tfc_getbammo(index, ammo);
```

##### Description

Ammo Types in tfcconst.inc

#### tfc_getweaponammo

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_getweaponammo
- Line: 128

##### Syntax

```pawn
native tfc_getweaponammo(index);
```

##### Description

Index must be weapon's entity index

#### tfc_getweaponbammo

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_getweaponbammo
- Line: 121

##### Syntax

```pawn
native tfc_getweaponbammo(index, weapon);
```

##### Description

Weapons list in tfcconst.inc

#### tfc_is_team_ally

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_is_team_ally
- Line: 148

##### Syntax

```pawn
native tfc_is_team_ally(TeamA,TeamB);
```

##### Description

Returns 1 if the two teams are allies, 0 otherwise
Note: Team must be 1->4
      Team 0 will always return 0
      Any other team will result in an error

#### tfc_is_user_feigning

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_is_user_feigning
- Line: 141

##### Syntax

```pawn
native tfc_is_user_feigning(index);
```

##### Description

Returns 1 if the player is a spy and is currently feigning death

#### tfc_setbammo

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_setbammo
- Line: 117

##### Syntax

```pawn
native 	tfc_setbammo(index, ammo, value);
```

##### Description

Set amount of ammo in backpack on a user for a specific weapon

#### tfc_setmodel

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_setmodel
- Line: 109

##### Syntax

```pawn
native 	tfc_setmodel(index, const Model[], const Skin[]);
```

##### Description

This function has no description.

#### tfc_setpddata

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_setpddata
- Line: 105

##### Syntax

```pawn
native tfc_setpddata(timer,sentrygun,shells,bullets,cells,rockets,nade1,nade2);
```

##### Description

Use this function to set private data offsets if needed
Default offsets:
	timer: 932
	sentrygun: 83
from AssKicR
	shells: 53
	bullets: 55
	cells: 57
	rockets: 59
	nade1: 14
	nade2: 15

#### tfc_setweaponammo

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_setweaponammo
- Line: 132

##### Syntax

```pawn
native tfc_setweaponammo(index, value);
```

##### Description

Index must be weapon's entity index

#### tfc_setweaponbammo

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_setweaponbammo
- Line: 124

##### Syntax

```pawn
native tfc_setweaponbammo(index, weapon, value);
```

##### Description

Sets amount of ammo in weapon's clip (backpack)

#### tfc_userkill

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_userkill
- Line: 91

##### Syntax

```pawn
native tfc_userkill( index );
```

##### Description

This function has no description.

#### xmod_get_maxweapons

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/xmod_get_maxweapons
- Line: 64

##### Syntax

```pawn
native xmod_get_maxweapons();
```

##### Description

Returns weapons array size

#### xmod_get_stats_size

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/xmod_get_stats_size
- Line: 67

##### Syntax

```pawn
native xmod_get_stats_size();
```

##### Description

Returns stats array size ex. 8 in TS , 9 in DoD

#### xmod_get_wpnlogname

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/xmod_get_wpnlogname
- Line: 61

##### Syntax

```pawn
native xmod_get_wpnlogname(wpnindex,name[],len);
```

##### Description

Returns weapon logname.

#### xmod_get_wpnname

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/xmod_get_wpnname
- Line: 58

##### Syntax

```pawn
native xmod_get_wpnname(wpnindex,name[],len);
```

##### Description

Returns weapon name.

#### xmod_is_custom_wpn

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/xmod_is_custom_wpn
- Line: 70

##### Syntax

```pawn
native xmod_is_custom_wpn(wpnindex);
```

##### Description

Returns 1 if true

#### xmod_is_melee_wpn

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tfcx/function/xmod_is_melee_wpn
- Line: 55

##### Syntax

```pawn
native xmod_is_melee_wpn(wpnindex);
```

##### Description

function will return 1 if true

#### tfc_isgrenade

- Include: `tfcx.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tfcx/function/tfc_isgrenade
- Line: 74

##### Syntax

```pawn
stock tfc_isgrenade( weapon ){
```

##### Description

This function has no description.

## time.inc

- HTML: https://amxx-api.csrevo.com/time
- Group: Base includes
- Functions: 1
- Documented constants: 7

### Constants

#### Time unit types for get_time_length()

Time unit types for get_time_length()

```pawn
enum
{
    timeunit_seconds = 0,
    timeunit_minutes,
    timeunit_hours,
    timeunit_days,
    timeunit_weeks,
    timeunit_months,
    timeunit_years,
};
```

#### SECONDS_IN_MINUTE

SECONDS_IN_MINUTE

```pawn
#define SECONDS_IN_MINUTE 60
```

#### SECONDS_IN_HOUR

SECONDS_IN_HOUR

```pawn
#define SECONDS_IN_HOUR   3600
```

#### SECONDS_IN_DAY

SECONDS_IN_DAY

```pawn
#define SECONDS_IN_DAY    86400
```

#### SECONDS_IN_WEEK

SECONDS_IN_WEEK

```pawn
#define SECONDS_IN_WEEK   604800
```

#### SECONDS_IN_MONTH

SECONDS_IN_MONTH

```pawn
#define SECONDS_IN_MONTH  2592000
```

#### SECONDS_IN_YEAR

SECONDS_IN_YEAR

```pawn
#define SECONDS_IN_YEAR   31536000
```

### Functions

#### get_time_length

- Include: `time.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/time/function/get_time_length
- Line: 52

##### Syntax

```pawn
stock get_time_length(id, unitCnt, type, output[], outputLen)
```

##### Description

Stock by Brad.

##### Parameters

- `id`: The player whose language the length should be translated to
- `unitCnt`: The number of time units you want translated into verbose text
- `type`: The type of unit (i.e. seconds, minutes, hours, days, weeks, months, years) that you are passing in
- `output`: The variable you want the verbose text to be placed in
- `outputLen`: The length of the output variable

##### Note

You must add register_dictionary("time.txt") in plugin_init()

##### Return

This function has no return value.

## tsconst.inc

- HTML: https://amxx-api.csrevo.com/tsconst
- Group: Base includes
- Functions: 0
- Documented constants: 38

### Constants

#### TSMAX_WEAPONS

TSMAX_WEAPONS

```pawn
#define TSMAX_WEAPONS 44	// 37 + throwing knife + brekable + 5 custom weapon slots
```

#### TSPWUP_NONE

TSPWUP_NONE

```pawn
#define TSPWUP_NONE			0
```

#### TSPWUP_RANDOM

TSPWUP_RANDOM

```pawn
#define TSPWUP_RANDOM			0
```

#### TSPWUP_SLOWMO

TSPWUP_SLOWMO

```pawn
#define TSPWUP_SLOWMO 			1
```

#### TSPWUP_INFAMMO

TSPWUP_INFAMMO

```pawn
#define TSPWUP_INFAMMO		 	2
```

#### TSPWUP_KUNGFU

TSPWUP_KUNGFU

```pawn
#define TSPWUP_KUNGFU		 	4
```

#### TSPWUP_SLOWPAUSE

TSPWUP_SLOWPAUSE

```pawn
#define TSPWUP_SLOWPAUSE 		8
```

#### TSPWUP_DFIRERATE

TSPWUP_DFIRERATE

```pawn
#define TSPWUP_DFIRERATE		16
```

#### TSPWUP_GRENADE

TSPWUP_GRENADE

```pawn
#define TSPWUP_GRENADE			32
```

#### TSPWUP_HEALTH

TSPWUP_HEALTH

```pawn
#define TSPWUP_HEALTH			64
```

#### TSPWUP_ARMOR

TSPWUP_ARMOR

```pawn
#define TSPWUP_ARMOR			128
```

#### TSPWUP_SUPERJUMP

TSPWUP_SUPERJUMP

```pawn
#define TSPWUP_SUPERJUMP		256
```

#### TSITEM_KUNGFU

TSITEM_KUNGFU

```pawn
#define TSITEM_KUNGFU			1<<0
```

#### TSITEM_SUPERJUMP

TSITEM_SUPERJUMP

```pawn
#define TSITEM_SUPERJUMP		1<<1
```

#### TSKF_STUNTKILL

TSKF_STUNTKILL

```pawn
#define TSKF_STUNTKILL			1<<0
```

#### TSKF_SLIDINGKILL

TSKF_SLIDINGKILL

```pawn
#define TSKF_SLIDINGKILL		1<<1
```

#### TSKF_DOUBLEKILL

TSKF_DOUBLEKILL

```pawn
#define TSKF_DOUBLEKILL			1<<2
```

#### TSKF_ISSPEC

TSKF_ISSPEC

```pawn
#define TSKF_ISSPEC			1<<3
```

#### TSKF_KILLEDSPEC

TSKF_KILLEDSPEC

```pawn
#define TSKF_KILLEDSPEC			1<<4
```

#### TSA_SILENCER

TSA_SILENCER

```pawn
#define TSA_SILENCER			1
```

#### TSA_LASERSIGHT

TSA_LASERSIGHT

```pawn
#define TSA_LASERSIGHT			2
```

#### TSA_FLASHLIGHT

TSA_FLASHLIGHT

```pawn
#define TSA_FLASHLIGHT			4
```

#### TSA_SCOPE

TSA_SCOPE

```pawn
#define TSA_SCOPE				8
```

#### TSMSG_NORMAL

TSMSG_NORMAL

```pawn
#define TSMSG_NORMAL			6
```

#### TSMSG_WAITING

TSMSG_WAITING

```pawn
#define TSMSG_WAITING			11
```

#### TSMSG_DEAD

TSMSG_DEAD

```pawn
#define TSMSG_DEAD			1
```

#### TSMSG_KILLER

TSMSG_KILLER

```pawn
#define TSMSG_KILLER			2
```

#### TSMSG_DEMOLITION

TSMSG_DEMOLITION

```pawn
#define TSMSG_DEMOLITION		3
```

#### TSMSG_SPECIALIST

TSMSG_SPECIALIST

```pawn
#define TSMSG_SPECIALIST		4
```

#### TSMSG_UNSTOPPABLE

TSMSG_UNSTOPPABLE

```pawn
#define TSMSG_UNSTOPPABLE		5
```

#### TSMSG_THEONE

TSMSG_THEONE

```pawn
#define TSMSG_THEONE			10
```

#### STUNT_NONE

STUNT_NONE

```pawn
#define STUNT_NONE 0
```

#### STUNT_DUCK

STUNT_DUCK

```pawn
#define STUNT_DUCK 1
```

#### STUNT_ROLL

STUNT_ROLL

```pawn
#define STUNT_ROLL 2
```

#### STUNT_DIVE

STUNT_DIVE

```pawn
#define STUNT_DIVE 3
```

#### STUNT_GETUP

STUNT_GETUP

```pawn
#define STUNT_GETUP 4
```

#### STUNT_FLIP

STUNT_FLIP

```pawn
#define STUNT_FLIP 5
```

#### Enum starting with TSW_GLOCK18

Enum starting with TSW_GLOCK18

```pawn
enum {
  TSW_GLOCK18 = 1,
  TSW_UNK1,
  TSW_UZI,
  TSW_M3,
  TSW_M4A1,
  TSW_MP5SD,
  TSW_MP5K,
  TSW_ABERETTAS,
  TSW_MK23,
  TSW_AMK23,
  TSW_USAS,
  TSW_DEAGLE,
  TSW_AK47,
  TSW_57,
  TSW_AUG,
  TSW_AUZI,
  TSW_TMP,
  TSW_M82A1,
  TSW_MP7,
  TSW_SPAS,
  TSW_GCOLTS,
  TSW_GLOCK20,
  TSW_UMP,
  TSW_M61GRENADE,
  TSW_CKNIFE,
  TSW_MOSSBERG,
  TSW_M16A4,
  TSW_MK1,
  TSW_C4,
  TSW_A57,
  TSW_RBULL,
  TSW_M60E3,
  TSW_SAWED_OFF,
  TSW_KATANA,
  TSW_SKNIFE,
  TSW_KUNG_FU,
  TSW_TKNIFE,
};
```

## tsfun.inc

- HTML: https://amxx-api.csrevo.com/tsfun
- Group: Base includes
- Functions: 47
- Documented constants: 1

### Constants

#### Forward types

Forward types

```pawn
enum {
  XMF_DAMAGE = 0,
  XMF_DEATH,
};
```

### Functions

#### Melee_Attack

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/tsfun/function/Melee_Attack
- Line: 42

##### Syntax

```pawn
forward Melee_Attack(id,Float:time,Float:damage,UNAVAILABLE);
```

##### Description

Function is called just before a kung foo attack is done,
damage and time length may be altered with natives.
Return PLUGIN_HANDLED to stop attack.
UNAVAILABLE IN 1.70

#### client_powerup

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/tsfun/function/client_powerup
- Line: 54

##### Syntax

```pawn
forward client_powerup(id,powerup,UNAVAILABLE);
```

##### Description

Function is called when powerups are ran,
Returns value of powerup. Use TSPWUP_*'s
to find exactly which one it is.
UNAVAILABLE IN 1.70

#### client_stunt

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/tsfun/function/client_stunt
- Line: 47

##### Syntax

```pawn
forward client_stunt(id,stunttype,UNAVAILABLE);
```

##### Description

This function has no description.

#### ts_createpwup

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_createpwup
- Line: 113

##### Syntax

```pawn
native ts_createpwup( pwup );
```

##### Description

Function will create pwup entity and return its index (pwupent)

#### ts_force_run_powerup

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_force_run_powerup
- Line: 198

##### Syntax

```pawn
native ts_force_run_powerup(id,PWUP_TYPE);
```

##### Description

This function has no description.

#### ts_get_message

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_get_message
- Line: 127

##### Syntax

```pawn
native ts_get_message(id);
```

##### Description

This function has no description.

#### ts_getkillingstreak

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_getkillingstreak
- Line: 77

##### Syntax

```pawn
native ts_getkillingstreak( index );
```

##### Description

This function has no description.

#### ts_getusercash

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_getusercash
- Line: 66

##### Syntax

```pawn
native ts_getusercash( index );
```

##### Description

This function has no description.

#### ts_getuserkillflags

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_getuserkillflags
- Line: 76

##### Syntax

```pawn
native ts_getuserkillflags(killer);
```

##### Description

This function has no description.

#### ts_getuserlastfrag

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_getuserlastfrag
- Line: 78

##### Syntax

```pawn
native ts_getuserlastfrag( index );
```

##### Description

This function has no description.

#### ts_getuserpwup

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_getuserpwup
- Line: 82

##### Syntax

```pawn
native ts_getuserpwup( index );
```

##### Description

This function has no description.

#### ts_getuserslots

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_getuserslots
- Line: 69

##### Syntax

```pawn
native ts_getuserslots( index );
```

##### Description

This function has no description.

#### ts_getuserspace

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_getuserspace
- Line: 74

##### Syntax

```pawn
native ts_getuserspace( index );
```

##### Description

This function has no description.

#### ts_getuserstate

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_getuserstate
- Line: 72

##### Syntax

```pawn
native ts_getuserstate( index );
```

##### Description

This function has no description.

#### ts_getuserwpn

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_getuserwpn
- Line: 73

##### Syntax

```pawn
native ts_getuserwpn( index,&clip=0,&ammo=0,&mode=0,&extra=0 );
```

##### Description

This function has no description.

#### ts_givepwup

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_givepwup
- Line: 115

##### Syntax

```pawn
native ts_givepwup( index,pwupent );
```

##### Description

This function has no description.

#### ts_giveweapon

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_giveweapon
- Line: 80

##### Syntax

```pawn
native ts_giveweapon( index,weapon,clips,extra );
```

##### Description

This function has no description.

#### ts_has_fupowerup

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_has_fupowerup
- Line: 167

##### Syntax

```pawn
native ts_has_fupowerup(id);					//!
```

##### Description

This function has no description.

#### ts_has_superjump

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_has_superjump
- Line: 166

##### Syntax

```pawn
native ts_has_superjump(id);					//!
```

##### Description

This function has no description.

#### ts_is_in_slowmo

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_in_slowmo
- Line: 168

##### Syntax

```pawn
native ts_is_in_slowmo(id);
```

##### Description

This function has no description.

#### ts_is_running_powerup

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_running_powerup
- Line: 193

##### Syntax

```pawn
native ts_is_running_powerup(id);
```

##### Description

This function has no description.

#### ts_set_bullettrail

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_set_bullettrail
- Line: 176

##### Syntax

```pawn
native ts_set_bullettrail(id,yesorno);
```

##### Description

This function has no description.

#### ts_set_fakeslowmo

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_set_fakeslowmo
- Line: 179

##### Syntax

```pawn
native ts_set_fakeslowmo(id,Float:time);
```

##### Description

This function has no description.

#### ts_set_fakeslowpause

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_set_fakeslowpause
- Line: 180

##### Syntax

```pawn
native ts_set_fakeslowpause(id,Float:time);
```

##### Description

This function has no description.

#### ts_set_message

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_set_message
- Line: 124

##### Syntax

```pawn
native ts_set_message(id,message);
```

##### Description

This function has no description.

#### ts_set_physics_speed

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_set_physics_speed
- Line: 190

##### Syntax

```pawn
native ts_set_physics_speed(id,Float:speed);
```

##### Description

Sets physics speed artificially. Things like sparks and sounds will be effected.
Any negative number will render all physics paused.

#### ts_set_speed

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_set_speed
- Line: 186

##### Syntax

```pawn
native ts_set_speed(id,Float:speed,Float:auradist,Float:time);
```

##### Description

Sets speed artificially. 1.0 is default, Go into fractions and decimals for slower
and put in higher numbers for higher speeds. Aura is how far things around you are effected
Time is the time until it wears off. 0.0 for speed will freeze people. Do not use negatives.

#### ts_setpddata

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_setpddata
- Line: 117

##### Syntax

```pawn
native ts_setpddata( knifeoffset );
```

##### Description

This function has no description.

#### ts_setusercash

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_setusercash
- Line: 67

##### Syntax

```pawn
native ts_setusercash( index, money );
```

##### Description

This function has no description.

#### ts_setuserslots

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_setuserslots
- Line: 70

##### Syntax

```pawn
native ts_setuserslots( index, slots );
```

##### Description

This function has no description.

#### ts_wpnlogtoid

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_wpnlogtoid
- Line: 60

##### Syntax

```pawn
native ts_wpnlogtoid(const logname[]);
```

##### Description

weapon logname to weapon index convertion

#### ts_wpnlogtoname

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_wpnlogtoname
- Line: 57

##### Syntax

```pawn
native ts_wpnlogtoname(const logname[],name[],len);
```

##### Description

weapon logname to weapon name convertion

#### ts_has_armor

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_has_armor
- Line: 108

##### Syntax

```pawn
stock ts_has_armor(id) {
```

##### Description

This function has no description.

#### ts_has_dfirerate

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_has_dfirerate
- Line: 96

##### Syntax

```pawn
stock ts_has_dfirerate(id) {
```

##### Description

This function has no description.

#### ts_has_grenade

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_has_grenade
- Line: 100

##### Syntax

```pawn
stock ts_has_grenade(id) {
```

##### Description

This function has no description.

#### ts_has_health

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_has_health
- Line: 104

##### Syntax

```pawn
stock ts_has_health(id) {
```

##### Description

This function has no description.

#### ts_has_infammo

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_has_infammo
- Line: 88

##### Syntax

```pawn
stock ts_has_infammo(id) {
```

##### Description

This function has no description.

#### ts_has_slowmo

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_has_slowmo
- Line: 84

##### Syntax

```pawn
stock ts_has_slowmo(id) {
```

##### Description

This function has no description.

#### ts_has_slowpause

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_has_slowpause
- Line: 92

##### Syntax

```pawn
stock ts_has_slowpause(id) {
```

##### Description

This function has no description.

#### ts_is_dead

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_dead
- Line: 140

##### Syntax

```pawn
stock ts_is_dead(id) {
```

##### Description

This function has no description.

#### ts_is_demolition

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_demolition
- Line: 148

##### Syntax

```pawn
stock ts_is_demolition(id) {
```

##### Description

This function has no description.

#### ts_is_killer

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_killer
- Line: 144

##### Syntax

```pawn
stock ts_is_killer(id) {
```

##### Description

This function has no description.

#### ts_is_normal

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_normal
- Line: 129

##### Syntax

```pawn
stock ts_is_normal(id)
```

##### Description

This function has no description.

#### ts_is_specialist

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_specialist
- Line: 152

##### Syntax

```pawn
stock ts_is_specialist(id) {
```

##### Description

This function has no description.

#### ts_is_theone

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_theone
- Line: 160

##### Syntax

```pawn
stock ts_is_theone(id) {
```

##### Description

This function has no description.

#### ts_is_unstoppable

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_unstoppable
- Line: 156

##### Syntax

```pawn
stock ts_is_unstoppable(id) {
```

##### Description

This function has no description.

#### ts_is_waiting

- Include: `tsfun.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsfun/function/ts_is_waiting
- Line: 136

##### Syntax

```pawn
stock ts_is_waiting(id) {
```

##### Description

This function has no description.

## tsstats.inc

- HTML: https://amxx-api.csrevo.com/tsstats
- Group: Base includes
- Functions: 10
- Documented constants: 0

### Functions

#### get_stats

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/get_stats
- Line: 62

##### Syntax

```pawn
native get_stats(index,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS],name[],len);
```

##### Description

Gets overall stats which stored in stats.dat file in amx folder
and updated on every mapchange or user disconnect.
Function returns next index of stats entry or 0 if no more exists.

#### get_statsnum

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/get_statsnum
- Line: 65

##### Syntax

```pawn
native get_statsnum();
```

##### Description

Returns number of all entries in stats.

#### get_user_astats

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/get_user_astats
- Line: 54

##### Syntax

```pawn
native get_user_astats(index,wpnindex,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have been killed/hurt. If killer is 0
then stats are from all attacks. If killer has not hurt user, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_rstats

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/get_user_rstats
- Line: 44

##### Syntax

```pawn
native get_user_rstats(index,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets round stats of player.

#### get_user_stats

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/get_user_stats
- Line: 41

##### Syntax

```pawn
native get_user_stats(index,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets overall stats which are stored in file on server
and updated on every respawn or user disconnect.
Function returns the position in stats by diff. kills to deaths.

#### get_user_vstats

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/get_user_vstats
- Line: 49

##### Syntax

```pawn
native get_user_vstats(index,victim,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS],wpnname[]="",len=0);
```

##### Description

Gets stats with which user have killed/hurt his victim. If victim is 0
then stats are from all victims. If victim has not been hurt, function
returns 0 in other case 1. User stats are reset on his respawn.

#### get_user_wlstats

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/get_user_wlstats
- Line: 36

##### Syntax

```pawn
native get_user_wlstats(index,wpnindex,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets life (from spawn to spawn) stats from given weapon index.

#### get_user_wrstats

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/get_user_wrstats
- Line: 33

##### Syntax

```pawn
native get_user_wrstats(index,wpnindex,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets round stats from given weapon index.

#### get_user_wstats

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/get_user_wstats
- Line: 30

##### Syntax

```pawn
native get_user_wstats(index,wpnindex,stats[STATSX_MAX_STATS],bodyhits[MAX_BODYHITS]);
```

##### Description

Gets stats from given weapon index. If wpnindex is 0
then the stats are from all weapons. If weapon has not been used function
returns 0 in other case 1. Fields in stats are:
0 - kills
1 - deaths
2 - headshots
3 - teamkilling
4 - shots
5 - hits
6 - damage
For body hits fields see amxconst.inc.

#### reset_user_wstats

- Include: `tsstats.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsstats/function/reset_user_wstats
- Line: 57

##### Syntax

```pawn
native reset_user_wstats(index);
```

##### Description

Resets life, weapon, victims and attackers user stats.

## tsx.inc

- HTML: https://amxx-api.csrevo.com/tsx
- Group: Base includes
- Functions: 13
- Documented constants: 1

### Constants

#### Forward types

Forward types

```pawn
enum {
  XMF_DAMAGE = 0,
  XMF_DEATH,
};
```

### Functions

#### client_damage

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/tsx/function/client_damage
- Line: 41

##### Syntax

```pawn
forward client_damage(attacker,victim,damage,wpnindex,hitplace,TA);
```

##### Description

Function is called after player to player attacks ,
if players were damaged by teammate TA is set to 1

#### client_death

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/tsx/function/client_death
- Line: 45

##### Syntax

```pawn
forward client_death(killer,victim,wpnindex,hitplace,TK);
```

##### Description

Function is called after player death ,
if player was killed by teammate TK is set to 1

#### custom_weapon_add

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/custom_weapon_add
- Line: 49

##### Syntax

```pawn
native custom_weapon_add( const wpnname[],melee = 0,const logname[]="" );
```

##### Description

function will return index of new weapon

#### custom_weapon_dmg

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/custom_weapon_dmg
- Line: 51

##### Syntax

```pawn
native custom_weapon_dmg( weapon, att, vic, damage, hitplace=0 );
```

##### Description

Function will pass damage done by this custom weapon to stats module and other plugins

#### custom_weapon_shot

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/custom_weapon_shot
- Line: 53

##### Syntax

```pawn
native custom_weapon_shot( weapon,index ); // weapon id , player id
```

##### Description

Function will pass info about custom weapon shot to stats module

#### register_statsfwd

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/register_statsfwd
- Line: 37

##### Syntax

```pawn
native register_statsfwd( ftype );
```

##### Description

Use this function to register forwards
DEPRECATED

#### xmod_get_maxweapons

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/xmod_get_maxweapons
- Line: 65

##### Syntax

```pawn
native xmod_get_maxweapons();
```

##### Description

Returns weapons array size

#### xmod_get_stats_size

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/xmod_get_stats_size
- Line: 68

##### Syntax

```pawn
native xmod_get_stats_size();
```

##### Description

Returns stats array size ex. 8 in TS , 9 in DoD

#### xmod_get_wpnlogname

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/xmod_get_wpnlogname
- Line: 62

##### Syntax

```pawn
native xmod_get_wpnlogname(wpnindex,name[],len);
```

##### Description

Returns weapon logname.

#### xmod_get_wpnname

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/xmod_get_wpnname
- Line: 59

##### Syntax

```pawn
native xmod_get_wpnname(wpnindex,name[],len);
```

##### Description

Returns weapon name.

#### xmod_is_custom_wpn

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/xmod_is_custom_wpn
- Line: 71

##### Syntax

```pawn
native xmod_is_custom_wpn(wpnindex);
```

##### Description

Returns 1 if true

#### xmod_is_melee_wpn

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/tsx/function/xmod_is_melee_wpn
- Line: 56

##### Syntax

```pawn
native xmod_is_melee_wpn(wpnindex);
```

##### Description

function will return 1 if true

#### ts_weaponspawn

- Include: `tsx.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/tsx/function/ts_weaponspawn
- Line: 76

##### Syntax

```pawn
stock ts_weaponspawn(const weaponid[], const duration[], const extraclip[], const spawnflags[], const Float:Origin[3])
```

##### Description

Spawns a Weapon

## vault.inc

- HTML: https://amxx-api.csrevo.com/vault
- Group: Base includes
- Functions: 4
- Documented constants: 0

### Functions

#### get_vaultdata

- Include: `vault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vault/function/get_vaultdata
- Line: 31

##### Syntax

```pawn
native get_vaultdata(const key[], data[] = "", len = 0);
```

##### Description

Reads data from a given key.

##### Parameters

- `key`: Key to get the value from
- `data`: Buffer to copy the value to
- `len`: Buffer size. If len is set to 0 then the function will
return the value as a number

##### Return

If len is not 0 the function will return the number of characters written.
If len is 0 the function will return the numerical value associated with the key.

#### remove_vaultdata

- Include: `vault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vault/function/remove_vaultdata
- Line: 51

##### Syntax

```pawn
native remove_vaultdata(const key[]);
```

##### Description

Removes a key and its data from the vault.

##### Parameters

- `key`: Key to remove

##### Return

This function has no return value.

#### set_vaultdata

- Include: `vault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vault/function/set_vaultdata
- Line: 42

##### Syntax

```pawn
native set_vaultdata(const key[], const data[] = "");
```

##### Description

Sets data for a given key.

##### Parameters

- `key`: Key to set the value for
- `data`: Data to set for the given key

##### Return

This function has no return value.

#### vaultdata_exists

- Include: `vault.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vault/function/vaultdata_exists
- Line: 60

##### Syntax

```pawn
native vaultdata_exists(const key[]);
```

##### Description

Checks if a key exists in the vault.

##### Parameters

- `key`: Key to check

##### Return

1 if an entry was found, 0 otherwise.

## vector.inc

- HTML: https://amxx-api.csrevo.com/vector
- Group: Base includes
- Functions: 9
- Documented constants: 1

### Constants

#### ANGLEVECTOR_FORWARD

Used for angle_vector()

```pawn
#define ANGLEVECTOR_FORWARD      1
#define ANGLEVECTOR_RIGHT        2
#define ANGLEVECTOR_UP           3
```

### Functions

#### angle_vector

- Include: `vector.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vector/function/angle_vector
- Line: 78

##### Syntax

```pawn
native angle_vector(const Float:vector[3], FRU, Float:ret[3]);
```

##### Description

Changes an angle vector into a vector.

##### Parameters

- `vector`: Input angle vector
- `FRU`: One of the ANGLEVECTOR_* constants
- `ret`: Output vector

##### Return

This function has no return value.

#### get_distance

- Include: `vector.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vector/function/get_distance
- Line: 34

##### Syntax

```pawn
native get_distance(const origin1[3], const origin2[3]);
```

##### Description

Calculates the distance between two input vectors.

##### Parameters

- `origin1`: The first vector
- `origin2`: The second vector

##### Return

The distance between two input vectors

#### get_distance_f

- Include: `vector.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vector/function/get_distance_f
- Line: 44

##### Syntax

```pawn
native Float:get_distance_f(const Float:Origin1[3], const Float:Origin2[3]);
```

##### Description

Calculates the distance between two input float vectors.

##### Parameters

- `origin1`: The first vector
- `origin2`: The second vector

##### Return

The distance between two input vectors

#### vector_distance

- Include: `vector.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vector/function/vector_distance
- Line: 97

##### Syntax

```pawn
native Float:vector_distance(const Float:vVector[3], const Float:vVector2[3]);
```

##### Description

Calculates the distance between two vectors.

##### Parameters

- `vVector`: The first vector
- `vVector2`: The second vector

##### Return

Distance between two input vectors

#### vector_length

- Include: `vector.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vector/function/vector_length
- Line: 87

##### Syntax

```pawn
native Float:vector_length(const Float:vVector[3]);
```

##### Description

Calculates the length of a vector.

##### Parameters

- `vVector`: Input vector

##### Return

Length of the input vector

#### vector_to_angle

- Include: `vector.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vector/function/vector_to_angle
- Line: 67

##### Syntax

```pawn
native vector_to_angle(const Float:fVector[3], Float:vReturn[3]);
```

##### Description

Changes a vector into an angle vector.

##### Parameters

- `fVector`: Input vector
- `vReturn`: Output angle vector

##### Return

This function has no return value.

#### velocity_by_aim

- Include: `vector.inc`
- Group: `Base includes`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/vector/function/velocity_by_aim
- Line: 57

##### Syntax

```pawn
native velocity_by_aim(iIndex, iVelocity, Float:vRetValue[3]);
```

##### Description

Calculates velocity in the direction player is looking.

##### Parameters

- `iIndex`: Client index
- `iVelocity`: Multiply vRetValue length by this much
- `vRetValue`: Store the calculated velocity in this vector.

##### Return

This function has no return value.

##### Error

If client is not connected or client index is not
within the range of 1 to MaxClients.

#### FVecIVec

- Include: `vector.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/vector/function/FVecIVec
- Line: 124

##### Syntax

```pawn
stock FVecIVec(const Float:FVec[3], IVec[3])
```

##### Description

Converts a floating point vector into an integer vector.

##### Parameters

- `FVec`: Input float vector
- `IVec`: Output integer vector

##### Return

This function has no return value.

#### IVecFVec

- Include: `vector.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/vector/function/IVecFVec
- Line: 107

##### Syntax

```pawn
stock IVecFVec(const IVec[3], Float:FVec[3])
```

##### Description

Converts an integer vector to a floating point vector.

##### Parameters

- `IVec`: Input integer vector
- `FVec`: Output float vector

##### Return

This function has no return value.

## xs.inc

- HTML: https://amxx-api.csrevo.com/xs
- Group: Base includes
- Functions: 83
- Documented constants: 31

### Constants

#### _xs_included

XS Library
 Version 0.1

MACROS THAT YOU CAN DEFINE BEFORE INCLUDING XS.INC:
XS_FLEQ_TOLERANCE:
 Tolerance that is used for XS_FLEQ float nearly-equal comparisions
 DEFAULT: 0.000005
XS_DEBUG
 Turn debug logging on
 DEFAULT: 0
XS_LOGBUFFER_SIZE
 Buffer size for logging
 DEFAULT: 512
XS_TASK_MAXPARAMS
 Maximal parameter count for managed tasks
 DEFAULT: 8
XS_TASK_MAXPARAMSIZE
 Maximal size of string parameter for tasks
 Has to be power of 2 and has to be >= 8
 DEFAULT: 512
XS_TASK_MANAGEDIDS
 Number of managed IDs for tasks.
 DEFAULT: 2048
XS_REPLACEBUF_SIZE
 DEFAULT: 3072

NOTES:
 On AMX, VexdUM is required for some math functions
 xs__ / XS__ (2 underscores) stuff is meant to be intern
 untested: never tested
 half-tested: succesfully used in other applications; not extensively tested in xs though
 tested: fully tested
 If you have any useful functions / ideas for functions, please tell me.

```pawn
#if defined _xs_included
  #endinput
#endif
#define _xs_included

// **** CONFIG CHECK

#if !defined XS_FLEQ_TOLERANCE
	#define XS_FLEQ_TOLERANCE 0.000005
#endif

#if !defined XS_DEBUG
	#define XS_DEBUG 0
#endif

#if !defined XS_LOGBUFFER_SIZE
	#define XS_LOGBUFFER_SIZE 512
#endif

#if !defined XS_TASK_MAXPARAMS
	#define XS_TASK_MAXPARAMS 8
#endif

#if !defined XS_TASK_MAXPARAMSIZE
	#define XS_TASK_MAXPARAMSIZE 512
#endif

#if !defined XS_TASK_MANAGEDIDS
	#define XS_TASK_MANAGEDIDS 2048
#endif

#if !defined XS_REPLACEBUF_SIZE
	#define XS_REPLACEBUF_SIZE 3072
#endif
```

#### xs_logtypes

xs_logtypes

```pawn
enum xs_logtypes
{
	xs_debug,
	xs_message,
	xs_warning,
	xs_error,
	xs_fatalerror,
	xs__assertionfailed,

	// must come last
	xs_logtypes_count
}
```

#### xs_assert

xs_assert

```pawn
#define xs_assert(%1,%2) if (!xs_assertfunc(%1,%2)) xs__global_null /= xs__global_null
```

#### xs_assert_dbg

xs_assert_dbg

```pawn
	#define xs_assert_dbg(%1,%2) if (!xs_assertfunc(%1,%2)) xs__global_null /= xs__global_null
```

#### XS_FLEQ

Checks if two floating point values are nearly equal.

```pawn
#define XS_FLEQ(%1,%2) (((%1) <= ((%2) + XS_FLEQ_TOLERANCE)) && ((%1) >= ((%2) - XS_FLEQ_TOLERANCE)))
```

##### Return

1 if they are nearly equal, 0 otherwise.

#### xs_fabs

xs_fabs

```pawn
#define xs_fabs(%1) floatabs(%1)
```

#### xs_asin

xs_asin

```pawn
#define xs_asin(%1,%2) floatasin(%1, %2)
```

#### xs_sin

xs_sin

```pawn
#define xs_sin(%1,%2) floatsin(%1, %2)
```

#### xs_acos

xs_acos

```pawn
#define xs_acos(%1,%2) floatacos(%1, %2)
```

#### xs_cos

xs_cos

```pawn
#define xs_cos(%1,%2) floatcos(%1, %2)
```

#### xs_atan

xs_atan

```pawn
#define xs_atan(%1,%2) floatatan(%1, %2)
```

#### xs_atan2

xs_atan2

```pawn
#define xs_atan2(%1,%2) floatatan2(%1, %2)
```

#### xs_tan

xs_tan

```pawn
#define xs_tan(%1,%2) floattan(%1, %2)
```

#### XS__IL_RMULT

XS__IL_RMULT

```pawn
#define XS__IL_RMULT 1103515245
```

#### XS_PLANE_A

XS_PLANE_A

```pawn
#define XS_PLANE_A 0
```

#### XS_PLANE_B

XS_PLANE_B

```pawn
#define XS_PLANE_B 1
```

#### XS_PLANE_C

XS_PLANE_C

```pawn
#define XS_PLANE_C 2
```

#### XS_PLANE_D

XS_PLANE_D

```pawn
#define XS_PLANE_D 3
```

#### XS_PITCH

XS_PITCH

```pawn
#define	XS_PITCH				0		// up / down
```

#### XS_YAW

XS_YAW

```pawn
#define	XS_YAW					1		// left / right
```

#### XS_ROLL

XS_ROLL

```pawn
#define	XS_ROLL					2		// fall over
```

#### XS__MAX_ENGINE_MESSAGES

XS__MAX_ENGINE_MESSAGES

```pawn
#define XS__MAX_ENGINE_MESSAGES 63
```

#### XS__MAX_POSSIBLE_MESSAGES

XS__MAX_POSSIBLE_MESSAGES

```pawn
#define XS__MAX_POSSIBLE_MESSAGES 255
```

#### xs_paramtypes

**** managed tasks

```pawn
enum xs_paramtypes
{
	xs_invalid = 0,
	xs_int,
	xs_float,
	xs_string
}
```

#### xs__TaskParamCount

xs__TaskParamCount

```pawn
#define xs__TaskParamCount xs__TaskParam[0]
```

#### xs__TaskParamType

xs__TaskParamType

```pawn
#define xs__TaskParamType[%1] xs__TaskParam[1 + %1]
```

#### xs__TaskParamValue

xs__TaskParamValue

```pawn
#define xs__TaskParamValue[%1] xs__TaskParam[1 + XS_TASK_MAXPARAMS + (%1 * (XS_TASK_MAXPARAMSIZE char))]
```

#### xs__ITaskParamCount

xs__ITaskParamCount

```pawn
#define xs__ITaskParamCount xs__ITaskParam[0]
```

#### xs__ITaskParamType

xs__ITaskParamType

```pawn
#define xs__ITaskParamType[%1] xs__ITaskParam[1 + %1]
```

#### xs__ITaskParamValue

xs__ITaskParamValue

```pawn
#define xs__ITaskParamValue[%1] xs__ITaskParam[1 + XS_TASK_MAXPARAMS + (%1 * (XS_TASK_MAXPARAMSIZE char))]
```

#### XS_MAKE_TASKFUNC

XS_MAKE_TASKFUNC

```pawn
#define XS_MAKE_TASKFUNC(%1) public %1(const _xs__taskparam[], _xs__taskid) if(xs__task_setup(_xs__taskparam, _xs__taskid))
```

### Functions

#### xs__task_setup

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs__task_setup
- Line: 1506

##### Syntax

```pawn
stock xs__task_setup(const param[], taskid)
```

##### Description

This function has no description.

#### xs_abs

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_abs
- Line: 187

##### Syntax

```pawn
stock xs_abs(num)
```

##### Description

Gets the absolute value of a number.

##### Parameters

- `num`: Number to get the absolute value from.

##### Return

Absolute value of the input number.

#### xs_acos

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_acos
- Line: 309

##### Syntax

```pawn
stock Float:xs_acos(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_anglevectors

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_anglevectors
- Line: 1019

##### Syntax

```pawn
stock xs_anglevectors(const Float:angles[3], Float:fwd[3], Float:right[3], Float:up[3])
```

##### Description

Computes forward, right and up vectors from given angles.

##### Parameters

- `angles`: Angles to compute vectors from.
- `fwd`: The vector to store the forward vector into.
- `right`: The vector to store the right vector into.
- `up`: The vector to store the up vector into.

##### Return

This function has no return value.

#### xs_asin

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_asin
- Line: 296

##### Syntax

```pawn
stock Float:xs_asin(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_assertfunc

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_assertfunc
- Line: 122

##### Syntax

```pawn
stock xs_assertfunc(any:exp, const desc[])
```

##### Description

This function has no description.

#### xs_atan

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_atan
- Line: 323

##### Syntax

```pawn
stock Float:xs_atan(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_atan2

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_atan2
- Line: 330

##### Syntax

```pawn
stock Float:xs_atan2(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_concmd_name

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_concmd_name
- Line: 1289

##### Syntax

```pawn
stock xs_concmd_name(cid, namestr[], namelen)
```

##### Description

Retrieves the name of a command identified by its ID.

##### Parameters

- `cid`: The command ID.
- `namestr`: The buffer where to store command's name.
- `namelen`: The maximum size of the output buffer.

##### Return

This function has no return value.

#### xs_cos

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_cos
- Line: 316

##### Syntax

```pawn
stock Float:xs_cos(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_deg2rad

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_deg2rad
- Line: 211

##### Syntax

```pawn
stock Float:xs_deg2rad(Float:x)
```

##### Description

Converts degrees to radians.

##### Parameters

- `x`: Input degrees.

##### Return

Degrees converted to radians.

#### xs_explode

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_explode
- Line: 1144

##### Syntax

```pawn
stock xs_explode(const input[], output[][], delimiter, maxelems, elemsize)
```

##### Description

"Explodes" a string, breaking it at the @delimeter character and putting
each exploded part into the @output array.

##### Parameters

- `input`: The input string to be exploded.
- `output`: The output array of string where exploded string will be stored.
- `delimeter`: The character to break the string at.
- `maxelems`: Maximum amount of elements in @output.
- `elemsize`: Maximum size of each string in the @output array.

##### Return

The number of strings successfully exploded.

#### xs_fabs

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_fabs
- Line: 289

##### Syntax

```pawn
stock Float:xs_fabs(Float:pa)
```

##### Description

This function has no description.

#### xs_find_freetaskid

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_find_freetaskid
- Line: 1379

##### Syntax

```pawn
stock xs_find_freetaskid()
```

##### Description

This function has no description.

#### xs_frand

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_frand
- Line: 401

##### Syntax

```pawn
stock Float:xs_frand()
```

##### Description

Retrieves a random float.

##### Return

A random float.

#### xs_freevisibleslots

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_freevisibleslots
- Line: 1303

##### Syntax

```pawn
stock bool:xs_freevisibleslots(num)
```

##### Description

Checks whether there are at least @num free visible slots.

##### Parameters

- `num`: The number of slots to check.

##### Return

true if there are at least that many free, false otherwise.

#### xs_fsign

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_fsign
- Line: 175

##### Syntax

```pawn
stock xs_fsign(Float:num)
```

##### Description

Gets the sign of a float value.

##### Parameters

- `num`: Number to get the sign from.

##### Return

-1 if the number is negative,
0 if the number is equal to 0,
1 if the number is positive.

#### xs_get_maxmessages

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_get_maxmessages
- Line: 1353

##### Syntax

```pawn
stock xs_get_maxmessages()
```

##### Description

This function has no description.

#### xs_get_maxnum

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_get_maxnum
- Line: 1319

##### Syntax

```pawn
stock xs_get_maxnum()
```

##### Description

Returns the biggest possible positive number.

##### Return

The biggest possible positive number.

#### xs_get_minnum

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_get_minnum
- Line: 1339

##### Syntax

```pawn
stock xs_get_minnum()
```

##### Description

Returns the smallest possible negative number.

##### Return

The smallest possible negative number.

#### xs_gra2rad

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_gra2rad
- Line: 235

##### Syntax

```pawn
stock Float:xs_gra2rad(Float:x)
```

##### Description

Converts gradians to radians.

##### Parameters

- `x`: Input gradians.

##### Return

Gradians converted to radians.

#### xs_implode

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_implode
- Line: 1183

##### Syntax

```pawn
stock xs_implode(output[], outsize, delimiter, const input[][], elemsnum)
```

##### Description

The opposite of xs_explode(). Takes an array of strings and puts them together
in a single string, delimeted by the @delimeter character.

##### Parameters

- `output`: The string to store the impoded string into.
- `outsize`: The size of the output buffer.
- `delimeter`: The character to put between imploded strings.
- `input`: The array of strings to implode.
- `elemsnum`: The number of strings in the input array.

##### Return

The number of characters in the final output buffer.

#### xs_irand

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_irand
- Line: 380

##### Syntax

```pawn
stock xs_irand()
```

##### Description

Retrieves a random integer.

##### Return

A random integer.

#### xs_irand_range

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_irand_range
- Line: 416

##### Syntax

```pawn
stock xs_irand_range(pmin, pmax)
```

##### Description

Retrieves a random integer between the specified values.

##### Parameters

- `pmin`: The minimum value.
- `pmax`: The maximum value.

##### Note

@pmax has to be greater than @pmin!

##### Return

A random integer.

#### xs_is_2power

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_is_2power
- Line: 199

##### Syntax

```pawn
stock xs_is_2power(x)
```

##### Description

Checks if the number is a power of 2.

##### Parameters

- `x`: Number to check.

##### Return

1 if it is a power of 2, 0 otherwise.

#### xs_is_msg_valid

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_is_msg_valid
- Line: 1365

##### Syntax

```pawn
stock bool:xs_is_msg_valid(msgid)
```

##### Description

This function has no description.

#### xs_log

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_log
- Line: 100

##### Syntax

```pawn
stock xs_log(xs_logtypes:logtype, any:...)
```

##### Description

This function has no description.

#### xs_plane_3p

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_plane_3p
- Line: 834

##### Syntax

```pawn
stock xs_plane_3p(Float:plane[], const Float:p1[], const Float:p2[], const Float:p3[])
```

##### Description

Constructs a plane out of 4 points in space.

##### Parameters

- `plane`: The output plane to store the newly created plane.
- `p1`: The first point of a plane.
- `p2`: The second point of a plane.
- `p3`: The third point of a plane.

##### Return

This function has no return value.

#### xs_plane_copy

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_plane_copy
- Line: 994

##### Syntax

```pawn
stock xs_plane_copy(const Float:planeIn[], Float:planeOut[])
```

##### Description

Copies a plane.

##### Parameters

- `planeIn`: The plane to copy.
- `planeOut`: The plane to store the copy into.

##### Return

This function has no return value.

#### xs_plane_dst2point

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_plane_dst2point
- Line: 911

##### Syntax

```pawn
stock Float:xs_plane_dst2point(const Float:plane[], const Float:point[])
```

##### Description

Computes the distance between a plane and a point.

##### Parameters

- `plane`: The plane to check the distance from.
- `point`: The point to check the distance to.

##### Return

The distance between the input plane and point.

#### xs_plane_equal

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_plane_equal
- Line: 872

##### Syntax

```pawn
stock bool:xs_plane_equal(const Float:plane1[], const Float:plane2[])
```

##### Description

Checks if two planes are equal.

##### Parameters

- `plane1`: The first plane to check.
- `plane2`: The second plane to check.

##### Note

If you have to check if two planes are just nearly equal,
take a look at xs_plane_nearlyequal().

##### Return

1 if planes are equal, 0 otherwise.

#### xs_plane_nearlyequal

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_plane_nearlyequal
- Line: 893

##### Syntax

```pawn
stock bool:xs_plane_nearlyequal(const Float:plane1[], const Float:plane2[])
```

##### Description

Checks if two planes are nearly equal.

##### Parameters

- `plane1`: The first plane to check.
- `plane2`: The second plane to check.

##### Note

If you have to check if two planes are exactly equal,
take a look at xs_plane_equal().

##### Return

1 if planes are nearly equal, 0 otherwise.

#### xs_plane_rayintersect

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_plane_rayintersect
- Line: 929

##### Syntax

```pawn
stock bool:xs_plane_rayintersect(const Float:plane[], const Float:rayStart[], const Float:rayDir[], Float:out[])
```

##### Description

Checks whether a plane intersects with the ray starting at @rayStart and
going to @rayDir direction.
If it does intersect, outputs the intersection point in @out.

##### Parameters

- `plane`: The plane to check intersection with.
- `rayStart`: The starting point of the ray.
- `rayDir`: Direction in which the ray is going.
- `out`: The vector to copy the intersection point to, if it exists.

##### Return

true if they intersect, false otherwise.

#### xs_plane_set

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_plane_set
- Line: 816

##### Syntax

```pawn
stock xs_plane_set(Float:plane[], Float:a, Float:b, Float:c, Float:d)
```

##### Description

Sets a plane to the specified values.

##### Parameters

- `plane`: The plane to set the values to. It's a 4D vector.
- `a`: The first component of a plane to be set.
- `b`: The second component of a plane to be set.
- `c`: The third component of a plane to be set.
- `d`: The fouth component of a plane to be set.

##### Return

This function has no return value.

#### xs_point_onplane

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_point_onplane
- Line: 963

##### Syntax

```pawn
stock bool:xs_point_onplane(const Float:plane[], const Float:point[])
```

##### Description

Checks if a point is on a specified plane.

##### Parameters

- `plane`: The plane to check.
- `point`: The point to check.

##### Return

true if the point is on the plane, false otherwise.

#### xs_projpoint_onplane

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_projpoint_onplane
- Line: 977

##### Syntax

```pawn
stock xs_projpoint_onplane(const Float:plane[], const Float:point[], Float:out[])
```

##### Description

Projects a point on the plane. Stores the projected point in @out.

##### Parameters

- `plane`: The plane to project the point onto.
- `point`: The point to project onto the plane.
- `out`: The vector to copy the projected point into.

##### Return

This function has no return value.

#### xs_rad2deg

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_rad2deg
- Line: 223

##### Syntax

```pawn
stock Float:xs_rad2deg(Float:x)
```

##### Description

Converts radians to degrees.

##### Parameters

- `x`: Input radians.

##### Return

Radians converted to degrees.

#### xs_rad2gra

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_rad2gra
- Line: 247

##### Syntax

```pawn
stock Float:xs_rad2gra(Float:x)
```

##### Description

Converts radians to gradians.

##### Parameters

- `x`: Input radians.

##### Return

Radians converted to gradians.

#### xs_replace

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_replace
- Line: 1218

##### Syntax

```pawn
stock xs_replace(text[], len, const what[], const with[])
```

##### Description

Replaces all occurencies of @what in @text with @with.

##### Parameters

- `text`: The text to search in.
- `len`: The maximum size of the @text buffer.
- `what`: What to search for.
- `with`: What to replace occurencies with.

##### Return

Returns the number of replaced items.

#### xs_replace_char

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_replace_char
- Line: 1266

##### Syntax

```pawn
stock xs_replace_char(text[], len, what, with)
```

##### Description

Replaces all occurencies of @what character in @text with @with character.

##### Parameters

- `text`: The text to search in.
- `len`: The maximum size of the @text buffer.
- `what`: What character to search for.
- `with`: What charactear to replace occurencies with.

##### Return

The number of replaced characters.

#### xs_rsqrt

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_rsqrt
- Line: 269

##### Syntax

```pawn
stock Float:xs_rsqrt(Float:x)
```

##### Description

Calculates the reciprocal of the square root of the input value.

##### Parameters

- `x`: The input value.

##### Return

The reciprocal of the square root of the input value.

#### xs_seed

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_seed
- Line: 370

##### Syntax

```pawn
stock xs_seed(seed)
```

##### Description

Sets the seed for the random number generation.

##### Parameters

- `x`: The seed to set.

##### Return

This function has no return value.

#### xs_sign

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_sign
- Line: 161

##### Syntax

```pawn
stock xs_sign(num)
```

##### Description

Gets the sign of a value.

##### Parameters

- `num`: Number to get the sign from.

##### Return

-1 if the number is negative,
0 if the number is equal to 0,
1 if the number is positive.

#### xs_sin

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_sin
- Line: 303

##### Syntax

```pawn
stock Float:xs_sin(Float:pa,Float:pb)
```

##### Description

This function has no description.

#### xs_sqrt

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_sqrt
- Line: 283

##### Syntax

```pawn
stock Float:xs_sqrt(Float:x)
```

##### Description

Calculates the square root of the input value.

##### Parameters

- `x`: The input value.

##### Note

This is an alias for floatsqroot().

##### Return

The square root of the input value.

#### xs_strchr

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_strchr
- Line: 1053

##### Syntax

```pawn
stock xs_strchr(const str[], chr)
```

##### Description

Finds a character in a string and returns its position in the string.

##### Parameters

- `str`: The string to search in.
- `chr`: The character to search for in the string.

##### Return

The character position if found, -1 otherwise.

#### xs_strmid

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_strmid
- Line: 1113

##### Syntax

```pawn
stock xs_strmid(const oldmsg[], newmsg[], start, end, outlen=-1)
```

##### Description

Copies characters from @oldmsg to @newmsg, starting at @start and ending
at @end (includes the end character).

##### Parameters

- `oldmsg`: The string to copy from.
- `newmsg`: The string to copy to.
- `start`: Starting position of the @oldmsg string to copy from.
- `end`: Ending position of the @oldmsg string to copy from.
- `outlen`: If positive, specifies the maximum number of characters
to be copied. Otherwise, the function assumes that
newmsg is at least @end - @start + 1 characters long.

##### Return

This function has no return value.

#### xs_strtrim

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_strtrim
- Line: 1074

##### Syntax

```pawn
stock xs_strtrim(stringtotrim[], charstotrim, bool:fromleft = true)
```

##### Description

Remove @charstotrim number of characters from @stringtotrim,
either from the beginning or the end of the string.

##### Parameters

- `stringtotrim`: The string to be trimmed.
- `charstostrim`: The number of characters to trim.
- `fromleft`: If set to true, the string will be trimmer from the left.
If false, it will be trimmed from the right.

##### Return

This function has no return value.

#### xs_tan

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_tan
- Line: 337

##### Syntax

```pawn
stock Float:xs_tan(Float:pa, Float:pb)
```

##### Description

This function has no description.

#### xs_task_begin

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_begin
- Line: 1427

##### Syntax

```pawn
stock xs_task_begin(Float:interval, const func[], id = 0, const flags[] = "", repeat = 0)
```

##### Description

This function has no description.

#### xs_task_end

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_end
- Line: 1477

##### Syntax

```pawn
stock xs_task_end()
```

##### Description

This function has no description.

#### xs_task_paramcount

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_paramcount
- Line: 1522

##### Syntax

```pawn
stock xs_task_paramcount()
```

##### Description

This function has no description.

#### xs_task_paramfl

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_paramfl
- Line: 1548

##### Syntax

```pawn
stock Float:xs_task_paramfl(paramid)
```

##### Description

This function has no description.

#### xs_task_paramint

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_paramint
- Line: 1537

##### Syntax

```pawn
stock xs_task_paramint(paramid)
```

##### Description

This function has no description.

#### xs_task_paramstr

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_paramstr
- Line: 1559

##### Syntax

```pawn
stock xs_task_paramstr(paramid, out[], maxlen)
```

##### Description

This function has no description.

#### xs_task_paramtype

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_paramtype
- Line: 1528

##### Syntax

```pawn
stock xs_paramtypes:xs_task_paramtype(paramid)
```

##### Description

This function has no description.

#### xs_task_pushfl

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_pushfl
- Line: 1458

##### Syntax

```pawn
stock xs_task_pushfl(Float:value)
```

##### Description

This function has no description.

#### xs_task_pushint

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_pushint
- Line: 1444

##### Syntax

```pawn
stock xs_task_pushint(value, bool:__isfl=false /*internal use only*/)
```

##### Description

This function has no description.

#### xs_task_pushstr

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_pushstr
- Line: 1464

##### Syntax

```pawn
stock xs_task_pushstr(const value[])
```

##### Description

This function has no description.

#### xs_task_readid

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_task_readid
- Line: 1516

##### Syntax

```pawn
stock xs_task_readid()
```

##### Description

This function has no description.

#### xs_vec_add

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_add
- Line: 455

##### Syntax

```pawn
stock xs_vec_add(const Float:in1[], const Float:in2[], Float:out[])
```

##### Description

Adds two vectors.

##### Parameters

- `in1`: The first vector to add.
- `in2`: The second vector to add.
- `out`: The output vector. Can be one of the input vectors.

##### Return

This function has no return value.

#### xs_vec_add_scaled

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_add_scaled
- Line: 488

##### Syntax

```pawn
stock xs_vec_add_scaled(const Float:in1[], const Float:in2[], Float:scalar, Float:out[])
```

##### Description

Adds the second vector scaled by a scalar to the first.

##### Parameters

- `in1`: Vector to add to.
- `in2`: Vector to scale and add.
- `scalar`: Scalar to scale the second vector with.
- `out`: The output vector. Can be one of the input vectors.

##### Return

This function has no return value.

#### xs_vec_angle

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_angle
- Line: 745

##### Syntax

```pawn
stock Float:xs_vec_angle(const Float:vec1[], const Float:vec2[])
```

##### Description

Computes the angle between two vectors.

##### Parameters

- `vec1`: The first vector.
- `vec2`: The second vector.

##### Return

The angle between two input vectors in degrees.

#### xs_vec_copy

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_copy
- Line: 730

##### Syntax

```pawn
stock xs_vec_copy(const Float:vecIn[], Float:vecOut[])
```

##### Description

Copies a vector into another one.

##### Parameters

- `vecIn`: The vector to copy.
- `vecOut`: The output vector where to copy the input vector.

##### Return

This function has no return value.

#### xs_vec_cross

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_cross
- Line: 687

##### Syntax

```pawn
stock xs_vec_cross(const Float:vec1[], const Float:vec2[], Float:out[])
```

##### Description

Computes the cross product of two vectors.

##### Parameters

- `vec1`: The first vector operand of the cross operation.
- `vec2`: The second vector operand of the cross operation.
- `out`: The output vector. *Can't* be one of the input vectors.

##### Return

This function has no return value.

#### xs_vec_distance

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_distance
- Line: 609

##### Syntax

```pawn
stock Float:xs_vec_distance(const Float:vec1[], const Float:vec2[])
```

##### Description

Computes the distance between two vectors (points).

##### Parameters

- `vec1`: First vector.
- `vec2`: Second vector.

##### Return

The distance between two vectors.

#### xs_vec_distance_2d

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_distance_2d
- Line: 624

##### Syntax

```pawn
stock Float:xs_vec_distance_2d(const Float:vec1[], const Float:vec2[])
```

##### Description

Computes the distance between two 2D vectors (points).

##### Parameters

- `vec1`: First vector.
- `vec2`: Second vector.

##### Return

The distance between two vectors.

#### xs_vec_div_scalar

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_div_scalar
- Line: 569

##### Syntax

```pawn
stock xs_vec_div_scalar(const Float:vec[], Float:scalar, Float:out[])
```

##### Description

Divide a vector by a scalar value.

##### Parameters

- `vec`: The vector to be divided.
- `scalar`: The scalar value to divide the vector with.
- `out`: The output vector. Can be the same as the input vector.

##### Return

This function has no return value.

#### xs_vec_dot

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_dot
- Line: 702

##### Syntax

```pawn
stock Float:xs_vec_dot(const Float:vec1[], const Float:vec2[])
```

##### Description

Computes the dot product of two vectors.

##### Parameters

- `vec1`: The first vector operand of the dot operation.
- `vec2`: The second vector operand of the dot operation.

##### Return

The dot product of two input vectors.

#### xs_vec_equal

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_equal
- Line: 523

##### Syntax

```pawn
stock bool:xs_vec_equal(const Float:vec1[], const Float:vec2[])
```

##### Description

Checks if two vectors are equal.

##### Parameters

- `vec1`: The first input vector to check.
- `vec2`: The second input vector to check.

##### Note

If you need to check if two vectors are nearly equal,
take a look at xs_vec_nearlyequal().

##### Return

1 if vectors are equal, 0 otherwise.

#### xs_vec_len

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_len
- Line: 584

##### Syntax

```pawn
stock Float:xs_vec_len(const Float:vec[])
```

##### Description

Computes the length of a vector.

##### Parameters

- `vec`: The vector to compute the length of.

##### Return

The length of the input vector.

#### xs_vec_len_2d

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_len_2d
- Line: 596

##### Syntax

```pawn
stock Float:xs_vec_len_2d(const Float:vec[])
```

##### Description

Computes the length of a 2D vector.

##### Parameters

- `vec`: The vector to compute the length of.

##### Return

The length of the input vector.

#### xs_vec_make2d

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_make2d
- Line: 789

##### Syntax

```pawn
stock xs_vec_make2d(const Float:vec[3], Float:out[2])
```

##### Description

Turns a 3D vector into a 2D vector.

##### Parameters

- `vec`: A 3D vector to turn into a 2D vector.
- `out`: The output 2D vector.

##### Note

This function just ignores the Z (3rd) component of a 3D vector.

##### Return

This function has no return value.

#### xs_vec_mul_scalar

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_mul_scalar
- Line: 553

##### Syntax

```pawn
stock xs_vec_mul_scalar(const Float:vec[], Float:scalar, Float:out[])
```

##### Description

Multiply a vector by a scalar value.

##### Parameters

- `vec`: The vector to be multiplied.
- `scalar`: The scalar value to multiply the vector with.
- `out`: The output vector. Can be the same as the input vector.

##### Return

This function has no return value.

#### xs_vec_nearlyequal

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_nearlyequal
- Line: 539

##### Syntax

```pawn
stock bool:xs_vec_nearlyequal(const Float:vec1[], const Float:vec2[])
```

##### Description

Checks if two vectors are nearly equal.

##### Parameters

- `vec1`: The first input vector to check.
- `vec2`: The second input vector to check.

##### Note

If you need to check if two vectors are exactly equal,
take a look at xs_vec_equal().

##### Return

1 if vectors are equal, 0 otherwise.

#### xs_vec_neg

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_neg
- Line: 715

##### Syntax

```pawn
stock xs_vec_neg(const Float:vec[], Float:out[])
```

##### Description

Negates a vector.

##### Parameters

- `vec`: The vector to negate.
- `out`: The output vector. Can be the same as the input vector.

##### Return

This function has no return value.

#### xs_vec_normalize

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_normalize
- Line: 670

##### Syntax

```pawn
stock xs_vec_normalize(const Float:vec[], Float:out[])
```

##### Description

Normalizes a vector. Normalized vector is a vector with the length of 1 unit,
but with the same direction as the original vector.

##### Parameters

- `vec`: The vector to be normalized.
- `out`: The output vector. Can be the same as the input vector.

##### Return

This function has no return value.

#### xs_vec_reflect

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_reflect
- Line: 759

##### Syntax

```pawn
stock xs_vec_reflect(const Float:vec[], const Float:normal[], Float:out[])
```

##### Description

Reflects a vector about a normal.

##### Parameters

- `vec`: The vector to be reflected.
- `normal`: The normal vector about which to reflect.
- `out`: The output reflected vector.

##### Return

This function has no return value.

#### xs_vec_set

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_set
- Line: 439

##### Syntax

```pawn
stock xs_vec_set(Float:vec[], Float:x, Float:y, Float:z)
```

##### Description

Sets vector's components to specified values.

##### Parameters

- `vec`: The vector to set values to.
- `x`: The X component to be set.
- `y`: The Y component to be set.
- `z`: The Z component to be set.

##### Return

This function has no return value.

#### xs_vec_sqdistance

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_sqdistance
- Line: 639

##### Syntax

```pawn
stock Float:xs_vec_sqdistance(const Float:vec1[], const Float:vec2[])
```

##### Description

Computes the square of the distance between two vectors (points).
This is faster than the distance.

##### Parameters

- `vec1`: First vector.
- `vec2`: Second vector.

##### Return

The square of the distance between two vectors.

#### xs_vec_sqdistance_2d

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_sqdistance_2d
- Line: 655

##### Syntax

```pawn
stock Float:xs_vec_sqdistance_2d(const Float:vec1[], const Float:vec2[])
```

##### Description

Computes the square of the distance between two 2D vectors (points).
This is faster than the distance.

##### Parameters

- `vec1`: First vector.
- `vec2`: Second vector.

##### Return

The square of the distance between two vectors.

#### xs_vec_sub

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_sub
- Line: 471

##### Syntax

```pawn
stock xs_vec_sub(const Float:in1[], const Float:in2[], Float:out[])
```

##### Description

Subtracts one vector from another one.

##### Parameters

- `in1`: Vector to subtract from.
- `in2`: Vector to subtract from the first one.
- `out`: The output vector. Can be one of the input vectors.

##### Return

This function has no return value.

#### xs_vec_sub_scaled

- Include: `xs.inc`
- Group: `Base includes`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/xs/function/xs_vec_sub_scaled
- Line: 505

##### Syntax

```pawn
stock xs_vec_sub_scaled(const Float:in1[], const Float:in2[], Float:scalar, Float:out[])
```

##### Description

Subtracts the second vector scaled by a scalar from the first one.

##### Parameters

- `in1`: Vector to subtract from.
- `in2`: Vector to scale and subtract.
- `scalar`: Scalar to scale the second vector with.
- `out`: The output vector. Can be one of the input vectors.

##### Return

This function has no return value.

## zombie plague 4.3 / zombieplague.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague
- Group: zombie plague 4.3
- Functions: 49
- Documented constants: 8

### Constants

#### ZP_TEAM_ZOMBIE

ZP_TEAM_ZOMBIE

```pawn
#define ZP_TEAM_ZOMBIE (1<<0)
```

#### ZP_TEAM_HUMAN

ZP_TEAM_HUMAN

```pawn
#define ZP_TEAM_HUMAN (1<<1)
```

#### ZP_TEAM_NEMESIS

ZP_TEAM_NEMESIS

```pawn
#define ZP_TEAM_NEMESIS (1<<2)
```

#### ZP_TEAM_SURVIVOR

ZP_TEAM_SURVIVOR

```pawn
#define ZP_TEAM_SURVIVOR (1<<3)
```

#### Game modes for zp_round_started()

Game modes for zp_round_started()

```pawn
enum
{
	MODE_INFECTION = 1,
	MODE_NEMESIS,
	MODE_SURVIVOR,
	MODE_SWARM,
	MODE_MULTI,
	MODE_PLAGUE
}
```

#### Winner teams for zp_round_ended()

Winner teams for zp_round_ended()

```pawn
enum
{
	WIN_NO_ONE = 0,
	WIN_ZOMBIES,
	WIN_HUMANS
}
```

#### ZP_PLUGIN_HANDLED

ZP_PLUGIN_HANDLED

```pawn
#define ZP_PLUGIN_HANDLED 97
```

#### ZP_TEAM_ANY

ZP_TEAM_ANY

```pawn
#define ZP_TEAM_ANY 0
```

##### Deprecated

- Do not use!
For backwards compatibility only.

### Functions

#### zp_extra_item_selected

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_extra_item_selected
- Line: 475

##### Syntax

```pawn
forward zp_extra_item_selected(id, itemid)
```

##### Description

Called when a player buys an extra item from the ZP menu.

Note: You can now return ZP_PLUGIN_HANDLED in your plugin to block
the purchase and the player will be automatically refunded.

##### Parameters

- `id`: Player index of purchaser.
- `itemid`: Internal extra item ID.

#### zp_round_ended

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_round_ended
- Line: 435

##### Syntax

```pawn
forward zp_round_ended(winteam)
```

##### Description

Called when the round ends.

##### Parameters

- `winteam`: Team which has won the round.

#### zp_round_started

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_round_started
- Line: 428

##### Syntax

```pawn
forward zp_round_started(gamemode, id)
```

##### Description

Called when the ZP round starts, i.e. first zombie
is chosen or a game mode begins.

##### Parameters

- `gamemode`: Mode which has started.
- `id`: Affected player's index (if applicable).

#### zp_user_humanize_attempt

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_user_humanize_attempt
- Line: 464

##### Syntax

```pawn
forward zp_user_humanize_attempt(id, survivor)
```

##### Description

This function has no description.

#### zp_user_humanized_post

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_user_humanized_post
- Line: 454

##### Syntax

```pawn
forward zp_user_humanized_post(id, survivor)
```

##### Description

This function has no description.

#### zp_user_humanized_pre

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_user_humanized_pre
- Line: 453

##### Syntax

```pawn
forward zp_user_humanized_pre(id, survivor)
```

##### Description

Called when a player turns back to human.

##### Parameters

- `id`: Player index who was cured.
- `survivor`: Whether the player was turned into a survivor.

#### zp_user_infect_attempt

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_user_infect_attempt
- Line: 463

##### Syntax

```pawn
forward zp_user_infect_attempt(id, infector, nemesis)
```

##### Description

Called on a player infect/cure attempt. You can use this to block
an infection/humanization by returning ZP_PLUGIN_HANDLED in your plugin.

Note: Right now this is only available after the ZP round starts, since some
situations (like blocking a first zombie's infection) are not yet handled.

#### zp_user_infected_post

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_user_infected_post
- Line: 445

##### Syntax

```pawn
forward zp_user_infected_post(id, infector, nemesis)
```

##### Description

This function has no description.

#### zp_user_infected_pre

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_user_infected_pre
- Line: 444

##### Syntax

```pawn
forward zp_user_infected_pre(id, infector, nemesis)
```

##### Description

Called when a player gets infected.

##### Parameters

- `id`: Player index who was infected.
- `infector`: Player index who infected him (if applicable).
- `nemesis`: Whether the player was turned into a nemesis.

#### zp_user_last_human

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_user_last_human
- Line: 498

##### Syntax

```pawn
forward zp_user_last_human(id)
```

##### Description

Called when a player becomes the last human.

##### Parameters

- `id`: Player index.

#### zp_user_last_zombie

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_user_last_zombie
- Line: 491

##### Syntax

```pawn
forward zp_user_last_zombie(id)
```

##### Description

Called when a player becomes the last zombie.

Note: This is called for the first zombie too.

##### Parameters

- `id`: Player index.

#### zp_user_unfrozen

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_user_unfrozen
- Line: 482

##### Syntax

```pawn
forward zp_user_unfrozen(id)
```

##### Description

Called when a player gets unfrozen (frostnades).

##### Parameters

- `id`: Player index.

#### zp_disinfect_user

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_disinfect_user
- Line: 241

##### Syntax

```pawn
native zp_disinfect_user(id, silent = 0)
```

##### Description

Forces a player to become a human.

Note: Unavailable for last zombie/nemesis.

##### Parameters

- `id`: Player index to be cured.
- `silent`: If set, there will be no HUD messages or antidote sounds.

##### Return

True on success, false otherwise.

#### zp_force_buy_extra_item

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_force_buy_extra_item
- Line: 280

##### Syntax

```pawn
native zp_force_buy_extra_item(id, itemid, ignorecost = 0)
```

##### Description

Forces a player to buy an extra item.

##### Parameters

- `id`: Player index.
- `itemid`: A valid extra item ID.
- `ignorecost`: If set, item's cost won't be deduced from player.

##### Return

True on success, false otherwise.

#### zp_get_extra_item_id

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_extra_item_id
- Line: 401

##### Syntax

```pawn
native zp_get_extra_item_id(const name[])
```

##### Description

Returns an extra item's ID.

##### Parameters

- `name`: Item name to look for.

##### Return

Internal extra item ID, or -1 if not found.

#### zp_get_human_count

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_human_count
- Line: 345

##### Syntax

```pawn
native zp_get_human_count()
```

##### Description

Returns number of alive humans.

##### Return

Human count.

#### zp_get_nemesis_count

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_nemesis_count
- Line: 352

##### Syntax

```pawn
native zp_get_nemesis_count()
```

##### Description

Returns number of alive nemesis.

##### Return

Nemesis count.

#### zp_get_survivor_count

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_survivor_count
- Line: 359

##### Syntax

```pawn
native zp_get_survivor_count()
```

##### Description

Returns number of alive survivors.

##### Return

Survivor count.

#### zp_get_user_ammo_packs

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_ammo_packs
- Line: 167

##### Syntax

```pawn
native zp_get_user_ammo_packs(id)
```

##### Description

Returns a player's ammo pack count.

##### Parameters

- `id`: Player index.

##### Return

Number of ammo packs owned.

#### zp_get_user_batteries

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_batteries
- Line: 193

##### Syntax

```pawn
native zp_get_user_batteries(id)
```

##### Description

Returns a player's custom flashlight batteries charge.

##### Parameters

- `id`: Player index.

##### Return

Charge percent (0 to 100).

#### zp_get_user_first_zombie

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_first_zombie
- Line: 118

##### Syntax

```pawn
native zp_get_user_first_zombie(id)
```

##### Description

Returns whether a player is the first zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_last_human

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_last_human
- Line: 134

##### Syntax

```pawn
native zp_get_user_last_human(id)
```

##### Description

Returns whether a player is the last human.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_last_zombie

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_last_zombie
- Line: 126

##### Syntax

```pawn
native zp_get_user_last_zombie(id)
```

##### Description

Returns whether a player is the last zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_nemesis

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_nemesis
- Line: 102

##### Syntax

```pawn
native zp_get_user_nemesis(id)
```

##### Description

Returns whether a player is a nemesis.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_next_class

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_next_class
- Line: 150

##### Syntax

```pawn
native zp_get_user_next_class(id)
```

##### Description

Returns a player's next zombie class ID (for the next infection).

##### Parameters

- `id`: Player index.

##### Return

Internal zombie class ID, or -1 if not yet chosen.

#### zp_get_user_nightvision

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_nightvision
- Line: 209

##### Syntax

```pawn
native zp_get_user_nightvision(id)
```

##### Description

Returns whether a player has night vision.

##### Parameters

- `id`: Player index.

##### Return

True if it has, false otherwise.

#### zp_get_user_survivor

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_survivor
- Line: 110

##### Syntax

```pawn
native zp_get_user_survivor(id)
```

##### Description

Returns whether a player is a survivor.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_zombie

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_zombie
- Line: 94

##### Syntax

```pawn
native zp_get_user_zombie(id)
```

##### Description

Returns whether a player is a zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_zombie_class

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_user_zombie_class
- Line: 142

##### Syntax

```pawn
native zp_get_user_zombie_class(id)
```

##### Description

Returns a player's current zombie class ID.

##### Parameters

- `id`: Player index.

##### Return

Internal zombie class ID, or -1 if not yet chosen.

#### zp_get_zombie_class_id

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_zombie_class_id
- Line: 409

##### Syntax

```pawn
native zp_get_zombie_class_id(const name[])
```

##### Description

Returns a zombie class' ID.

##### Parameters

- `name`: Class name to look for.

##### Return

Internal zombie class ID, or -1 if not found.

#### zp_get_zombie_class_info

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_zombie_class_info
- Line: 419

##### Syntax

```pawn
native zp_get_zombie_class_info(classid, info[], len)
```

##### Description

Returns a zombie class' description (passed by reference).

##### Parameters

- `classid`: Internal zombie class ID.
- `info`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_get_zombie_count

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_zombie_count
- Line: 338

##### Syntax

```pawn
native zp_get_zombie_count()
```

##### Description

Returns number of alive zombies.

##### Return

Zombie count.

#### zp_get_zombie_maxhealth

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_get_zombie_maxhealth
- Line: 185

##### Syntax

```pawn
native zp_get_zombie_maxhealth(id)
```

##### Description

Returns the default maximum health of a zombie.

Note: Takes into account first zombie's HP multiplier.

##### Parameters

- `id`: Player index.

##### Return

Maximum amount of health points, or -1 if not a normal zombie.

#### zp_has_round_started

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_has_round_started
- Line: 303

##### Syntax

```pawn
native zp_has_round_started()
```

##### Description

Returns whether the ZP round has started, i.e. first zombie
has been chosen or a game mode has begun.

##### Return

0 - Round not started
1 - Round started
2 - Round starting

#### zp_infect_user

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_infect_user
- Line: 230

##### Syntax

```pawn
native zp_infect_user(id, infector = 0, silent = 0, rewards = 0)
```

##### Description

Forces a player to become a zombie.

Note: Unavailable for last human/survivor.

##### Parameters

- `id`: Player index to be infected.
- `infector`: Player index who infected him (optional).
- `silent`: If set, there will be no HUD messages or infection sounds.
- `rewards`: Whether to show DeathMsg and reward frags, hp, and ammo packs to infector.

##### Return

True on success, false otherwise.

#### zp_is_nemesis_round

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_is_nemesis_round
- Line: 310

##### Syntax

```pawn
native zp_is_nemesis_round()
```

##### Description

Returns whether the current round is a nemesis round.

##### Return

True if it is, false otherwise.

#### zp_is_plague_round

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_is_plague_round
- Line: 331

##### Syntax

```pawn
native zp_is_plague_round()
```

##### Description

Returns whether the current round is a plague round.

##### Return

True if it is, false otherwise.

#### zp_is_survivor_round

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_is_survivor_round
- Line: 317

##### Syntax

```pawn
native zp_is_survivor_round()
```

##### Description

Returns whether the current round is a survivor round.

##### Return

True if it is, false otherwise.

#### zp_is_swarm_round

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_is_swarm_round
- Line: 324

##### Syntax

```pawn
native zp_is_swarm_round()
```

##### Description

Returns whether the current round is a swarm round.

##### Return

True if it is, false otherwise.

#### zp_make_user_nemesis

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_make_user_nemesis
- Line: 251

##### Syntax

```pawn
native zp_make_user_nemesis(id)
```

##### Description

Forces a player to become a nemesis.

Note: Unavailable for last human/survivor.

##### Parameters

- `id`: Player index to turn into nemesis.

##### Return

True on success, false otherwise.

#### zp_make_user_survivor

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_make_user_survivor
- Line: 261

##### Syntax

```pawn
native zp_make_user_survivor(id)
```

##### Description

Forces a player to become a survivor.

Note: Unavailable for last zombie/nemesis.

##### Parameters

- `id`: Player index to turn into survivor.

##### Return

True on success, false otherwise.

#### zp_override_user_model

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_override_user_model
- Line: 293

##### Syntax

```pawn
native zp_override_user_model(id, const newmodel[], modelindex = 0)
```

##### Description

Overrides ZP player model with a different custom model.

Note: This will last until player's next infection/humanization/respawn.

Note: Don't call more often than absolutely needed.

##### Parameters

- `id`: Player index.
- `newmodel`: Model name.
- `modelindex`: Modelindex (optional).

#### zp_register_extra_item

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_register_extra_item
- Line: 375

##### Syntax

```pawn
native zp_register_extra_item(const name[], cost, teams)
```

##### Description

Registers a custom item which will be added to the extra items menu of ZP.

Note: The returned extra item ID can be later used to catch item
purchase events for the zp_extra_item_selected() forward.

Note: ZP_TEAM_NEMESIS and ZP_TEAM_SURVIVOR can be used to make
an item available to Nemesis and Survivors respectively.

##### Parameters

- `name`: Caption to display on the menu.
- `cost`: Ammo packs to be deducted on purchase.
- `teams`: Bitsum of teams it should be available for.

##### Return

An internal extra item ID, or -1 on failure.

#### zp_register_zombie_class

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_register_zombie_class
- Line: 393

##### Syntax

```pawn
native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback)
```

##### Description

Registers a custom class which will be added to the zombie classes menu of ZP.

Note: The returned zombie class ID can be later used to identify
the class when calling the zp_get_user_zombie_class() natives.

##### Parameters

- `name`: Caption to display on the menu.
- `info`: Brief description of the class.
- `model`: Player model to be used.
- `clawmodel`: Claws model to be used.
- `hp`: Initial health points.
- `speed`: Maximum speed.
- `gravity`: Gravity multiplier.
- `knockback`: Knockback multiplier.

##### Return

An internal zombie class ID, or -1 on failure.

#### zp_respawn_user

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_respawn_user
- Line: 270

##### Syntax

```pawn
native zp_respawn_user(id, team)
```

##### Description

Respawns a player into a specific team.

##### Parameters

- `id`: Player index to be respawned.
- `team`: Team to respawn the player into (ZP_TEAM_ZOMBIE or ZP_TEAM_HUMAN).

##### Return

True on success, false otherwise.

#### zp_set_user_ammo_packs

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_set_user_ammo_packs
- Line: 175

##### Syntax

```pawn
native zp_set_user_ammo_packs(id, amount)
```

##### Description

Sets a player's ammo pack count.

##### Parameters

- `id`: Player index.
- `amount`: New quantity of ammo packs owned.

#### zp_set_user_batteries

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_set_user_batteries
- Line: 201

##### Syntax

```pawn
native zp_set_user_batteries(id, charge)
```

##### Description

Sets a player's custom flashlight batteries charge.

##### Parameters

- `id`: Player index.
- `value`: New charge percent (0 to 100).

#### zp_set_user_nightvision

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_set_user_nightvision
- Line: 217

##### Syntax

```pawn
native zp_set_user_nightvision(id, set)
```

##### Description

Sets whether a player has night vision.

##### Parameters

- `id`: Player index.
- `set`: True to give, false for removing it.

#### zp_set_user_zombie_class

- Include: `zombieplague.inc`
- Group: `zombie plague 4.3`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-4-3/zombieplague/function/zp_set_user_zombie_class
- Line: 159

##### Syntax

```pawn
native zp_set_user_zombie_class(id, classid)
```

##### Description

Sets a player's next zombie class ID (for the next infection).

##### Parameters

- `id`: Player index.
- `classid`: A valid zombie class ID.

##### Return

True on success, false otherwise.

## zombie plague 5.0 / amx_settings_api.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api
- Group: zombie plague 5.0
- Functions: 12
- Documented constants: 0

### Functions

#### amx_load_setting_float

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_load_setting_float
- Line: 16

##### Syntax

```pawn
native amx_load_setting_float(const filename[], const section[], const key[], &Float:value)
```

##### Description

This function has no description.

#### amx_load_setting_float_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_load_setting_float_arr
- Line: 22

##### Syntax

```pawn
native amx_load_setting_float_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_load_setting_int

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_load_setting_int
- Line: 15

##### Syntax

```pawn
native amx_load_setting_int(const filename[], const section[], const key[], &value)
```

##### Description

This function has no description.

#### amx_load_setting_int_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_load_setting_int_arr
- Line: 21

##### Syntax

```pawn
native amx_load_setting_int_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_load_setting_string

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_load_setting_string
- Line: 17

##### Syntax

```pawn
native amx_load_setting_string(const filename[], const section[], const key[], string[], len)
```

##### Description

This function has no description.

#### amx_load_setting_string_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_load_setting_string_arr
- Line: 23

##### Syntax

```pawn
native amx_load_setting_string_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_save_setting_float

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_save_setting_float
- Line: 19

##### Syntax

```pawn
native amx_save_setting_float(const filename[], const section[], const key[], Float:value)
```

##### Description

This function has no description.

#### amx_save_setting_float_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_save_setting_float_arr
- Line: 25

##### Syntax

```pawn
native amx_save_setting_float_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_save_setting_int

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_save_setting_int
- Line: 18

##### Syntax

```pawn
native amx_save_setting_int(const filename[], const section[], const key[], value)
```

##### Description

This function has no description.

#### amx_save_setting_int_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_save_setting_int_arr
- Line: 24

##### Syntax

```pawn
native amx_save_setting_int_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_save_setting_string

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_save_setting_string
- Line: 20

##### Syntax

```pawn
native amx_save_setting_string(const filename[], const section[], const key[], const string[])
```

##### Description

This function has no description.

#### amx_save_setting_string_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/amx_settings_api/function/amx_save_setting_string_arr
- Line: 26

##### Syntax

```pawn
native amx_save_setting_string_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

## zombie plague 5.0 / cs_ham_bots_api.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_ham_bots_api
- Group: zombie plague 5.0
- Functions: 3
- Documented constants: 0

### Functions

#### DisableHamForwardBots

- Include: `cs_ham_bots_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_ham_bots_api/function/DisableHamForwardBots
- Line: 33

##### Syntax

```pawn
native DisableHamForwardBots(fwd);
```

##### Description

Stops a ham forward from triggering for CZ Bots.
Use the return value from RegisterHamBots as the parameter here!

##### Parameters

- `fwd`: The forward to stop.

#### EnableHamForwardBots

- Include: `cs_ham_bots_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_ham_bots_api/function/EnableHamForwardBots
- Line: 41

##### Syntax

```pawn
native EnableHamForwardBots(fwd);
```

##### Description

Starts a ham forward back up for CZ Bots.
Use the return value from RegisterHamBots as the parameter here!

##### Parameters

- `fwd`: The forward to re-enable.

#### RegisterHamBots

- Include: `cs_ham_bots_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_ham_bots_api/function/RegisterHamBots
- Line: 25

##### Syntax

```pawn
native RegisterHamBots(Ham:function, const Callback[], Post=0);
```

##### Description

Hooks the virtual table for CZ Bots entity class.
An example would be: RegisterHamBots(Ham_TakeDamage, "player_hurt");
Look at the Ham enum for parameter lists.

##### Parameters

- `function`: The function to hook.
- `callback`: The forward to call.
- `post`: Whether or not to forward this in post.

##### Return

Returns a handle to the forward.  Use EnableHamForwardBots/DisableHamForwardBots to toggle the forward on or off.

## zombie plague 5.0 / cs_maxspeed_api.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_maxspeed_api
- Group: zombie plague 5.0
- Functions: 2
- Documented constants: 0

### Functions

#### cs_reset_player_maxspeed

- Include: `cs_maxspeed_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_maxspeed_api/function/cs_reset_player_maxspeed
- Line: 31

##### Syntax

```pawn
native cs_reset_player_maxspeed(id)
```

##### Description

Resets a player's maxspeed to default CS maxspeed.

##### Parameters

- `id`: Player index.

#### cs_set_player_maxspeed

- Include: `cs_maxspeed_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_maxspeed_api/function/cs_set_player_maxspeed
- Line: 24

##### Syntax

```pawn
native cs_set_player_maxspeed(id, Float:maxspeed, multiplier = false)
```

##### Description

Sets a player's maxspeed.

##### Parameters

- `id`: Player index.
- `maxspeed`: Custom maxspeed.
- `multiplier`: Treat maxspeed as multiplier instead of absolute value.

## zombie plague 5.0 / cs_maxspeed_api_const.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_maxspeed_api_const
- Group: zombie plague 5.0
- Functions: 0
- Documented constants: 3

### Constants

#### MAXSPEED_BARRIER_MIN

MAXSPEED_BARRIER_MIN

```pawn
#define MAXSPEED_BARRIER_MIN 0.0
```

#### MAXSPEED_BARRIER_MAX

MAXSPEED_BARRIER_MAX

```pawn
#define MAXSPEED_BARRIER_MAX 10.0
```

#### CS_KNIFE_MAXSPEED

CS_KNIFE_MAXSPEED

```pawn
#define CS_KNIFE_MAXSPEED 250.0
```

## zombie plague 5.0 / cs_maxspeed_api_stocks.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_maxspeed_api_stocks
- Group: zombie plague 5.0
- Functions: 2
- Documented constants: 0

### Functions

#### cs_maxspeed_display_value

- Include: `cs_maxspeed_api_stocks.inc`
- Group: `zombie plague 5.0`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_maxspeed_api_stocks/function/cs_maxspeed_display_value
- Line: 16

##### Syntax

```pawn
stock cs_maxspeed_display_value(Float:maxspeed)
```

##### Description

This function has no description.

#### cs_set_player_maxspeed_auto

- Include: `cs_maxspeed_api_stocks.inc`
- Group: `zombie plague 5.0`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_maxspeed_api_stocks/function/cs_set_player_maxspeed_auto
- Line: 8

##### Syntax

```pawn
stock cs_set_player_maxspeed_auto(id, Float:maxspeed)
```

##### Description

This function has no description.

## zombie plague 5.0 / cs_player_models_api.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_player_models_api
- Group: zombie plague 5.0
- Functions: 2
- Documented constants: 0

### Functions

#### cs_reset_player_model

- Include: `cs_player_models_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_player_models_api/function/cs_reset_player_model
- Line: 28

##### Syntax

```pawn
native cs_reset_player_model(id)
```

##### Description

Restores CS default model for player.

##### Parameters

- `id`: Player index.

#### cs_set_player_model

- Include: `cs_player_models_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_player_models_api/function/cs_set_player_model
- Line: 21

##### Syntax

```pawn
native cs_set_player_model(id, const model[])
```

##### Description

Sets a custom player model.

##### Parameters

- `id`: Player index.
- `model`: Custom model's short name.

## zombie plague 5.0 / cs_teams_api.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_teams_api
- Group: zombie plague 5.0
- Functions: 1
- Documented constants: 0

### Functions

#### cs_set_player_team

- Include: `cs_teams_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_teams_api/function/cs_set_player_team
- Line: 24

##### Syntax

```pawn
native cs_set_player_team(id, CsTeams:team, update = true)
```

##### Description

Sets a player's team.

##### Parameters

- `id`: Player index.
- `team`: CS_TEAM_ constant.
- `update`: Whether to update team on scoreboard.

## zombie plague 5.0 / cs_weap_models_api.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_weap_models_api
- Group: zombie plague 5.0
- Functions: 4
- Documented constants: 0

### Functions

#### cs_reset_player_view_model

- Include: `cs_weap_models_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_weap_models_api/function/cs_reset_player_view_model
- Line: 32

##### Syntax

```pawn
native cs_reset_player_view_model(id, weaponid)
```

##### Description

Restores a custom view model for a specific weapon for a player.

##### Parameters

- `id`: Player index.
- `weaponid`: Weapon to restore model for. (in CSW_ format)

#### cs_reset_player_weap_model

- Include: `cs_weap_models_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_weap_models_api/function/cs_reset_player_weap_model
- Line: 51

##### Syntax

```pawn
native cs_reset_player_weap_model(id, weaponid)
```

##### Description

Restores a custom weapon model for a specific weapon for a player.

##### Parameters

- `id`: Player index.
- `weaponid`: Weapon to restore model for. (in CSW_ format)

#### cs_set_player_view_model

- Include: `cs_weap_models_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_weap_models_api/function/cs_set_player_view_model
- Line: 24

##### Syntax

```pawn
native cs_set_player_view_model(id, weaponid, const view_model[])
```

##### Description

Sets a custom view model for a specific weapon for a player.

Note: if you pass an empty string, model will be hidden.

##### Parameters

- `id`: Player index.
- `weaponid`: Weapon to replace model for. (in CSW_ format)
- `view_model`: Full path to model. (e.g. "models/v_knife_custom.mdl")

#### cs_set_player_weap_model

- Include: `cs_weap_models_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_weap_models_api/function/cs_set_player_weap_model
- Line: 43

##### Syntax

```pawn
native cs_set_player_weap_model(id, weaponid, const weapon_model[])
```

##### Description

Sets a custom weapon model for a specific weapon for a player.

Note: if you pass an empty string, model will be hidden.

##### Parameters

- `id`: Player index.
- `weaponid`: Weapon to replace model for. (in CSW_ format)
- `view_model`: Full path to model. (e.g. "models/p_knife_custom.mdl")

## zombie plague 5.0 / cs_weap_restrict_api.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_weap_restrict_api
- Group: zombie plague 5.0
- Functions: 2
- Documented constants: 0

### Functions

#### cs_get_player_weap_restrict

- Include: `cs_weap_restrict_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_weap_restrict_api/function/cs_get_player_weap_restrict
- Line: 36

##### Syntax

```pawn
native cs_get_player_weap_restrict(id, &allowed_bitsum=0, &allowed_default=0)
```

##### Description

Returns whether a player has weapon restrictions enabled. In the case
that he does, also returns allowed_bistum and allowed_default (by referenced).

##### Parameters

- `id`: Player index.
- `allowed_bitsum`: Bitsum containing allowed weapons.
- `allowed_default`: Default allowed weapon to switch back to. (in CSW_ format)

##### Return

True if restrictions are enabled, false otherwise.

#### cs_set_player_weap_restrict

- Include: `cs_weap_restrict_api.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/cs_weap_restrict_api/function/cs_set_player_weap_restrict
- Line: 25

##### Syntax

```pawn
native cs_set_player_weap_restrict(id, set, allowed_bitsum = 0, allowed_default = 0)
```

##### Description

Enables/disables weapon restrictions for a specific player.

Note: if you pass an empty bitsum, all weapons will be restricted.

##### Parameters

- `id`: Player index.
- `set`: True to enable, false to remove restrictions.
- `allowed_bitsum`: Bitsum containing allowed weapons.
- `allowed_default`: Default allowed weapon to switch back to. (in CSW_ format)

## zombie plague 5.0 / zombieplague.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague
- Group: zombie plague 5.0
- Functions: 49
- Documented constants: 8

### Constants

#### ZP_TEAM_ZOMBIE

ZP_TEAM_ZOMBIE

```pawn
#define ZP_TEAM_ZOMBIE (1<<0)
```

#### ZP_TEAM_HUMAN

ZP_TEAM_HUMAN

```pawn
#define ZP_TEAM_HUMAN (1<<1)
```

#### ZP_TEAM_NEMESIS

ZP_TEAM_NEMESIS

```pawn
#define ZP_TEAM_NEMESIS (1<<2)
```

#### ZP_TEAM_SURVIVOR

ZP_TEAM_SURVIVOR

```pawn
#define ZP_TEAM_SURVIVOR (1<<3)
```

#### Game modes for zp_round_started()

Game modes for zp_round_started()

```pawn
enum
{
	MODE_INFECTION = 1,
	MODE_NEMESIS,
	MODE_SURVIVOR,
	MODE_SWARM,
	MODE_MULTI,
	MODE_PLAGUE
}
```

#### Winner teams for zp_round_ended()

Winner teams for zp_round_ended()

```pawn
enum
{
	WIN_NO_ONE = 0,
	WIN_ZOMBIES,
	WIN_HUMANS
}
```

#### ZP_PLUGIN_HANDLED

ZP_PLUGIN_HANDLED

```pawn
#define ZP_PLUGIN_HANDLED 97
```

#### ZP_TEAM_ANY

ZP_TEAM_ANY

```pawn
#define ZP_TEAM_ANY 0
#define ZP_TEAM_NO_ONE 0
```

##### Deprecated

- Do not use!
For backwards compatibility only.

### Functions

#### zp_extra_item_selected

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_extra_item_selected
- Line: 475

##### Syntax

```pawn
forward zp_extra_item_selected(id, itemid)
```

##### Description

Called when a player buys an extra item from the ZP menu.

Note: You can now return ZP_PLUGIN_HANDLED in your plugin to block
the purchase and the player will be automatically refunded.

##### Parameters

- `id`: Player index of purchaser.
- `itemid`: Internal extra item ID.

#### zp_round_ended

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_round_ended
- Line: 435

##### Syntax

```pawn
forward zp_round_ended(winteam)
```

##### Description

Called when the round ends.

##### Parameters

- `winteam`: Team which has won the round.

#### zp_round_started

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_round_started
- Line: 428

##### Syntax

```pawn
forward zp_round_started(gamemode, id)
```

##### Description

Called when the ZP round starts, i.e. first zombie
is chosen or a game mode begins.

##### Parameters

- `gamemode`: Mode which has started.
- `id`: Affected player's index (if applicable).

#### zp_user_humanize_attempt

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_user_humanize_attempt
- Line: 464

##### Syntax

```pawn
forward zp_user_humanize_attempt(id, survivor)
```

##### Description

This function has no description.

#### zp_user_humanized_post

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_user_humanized_post
- Line: 454

##### Syntax

```pawn
forward zp_user_humanized_post(id, survivor)
```

##### Description

This function has no description.

#### zp_user_humanized_pre

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_user_humanized_pre
- Line: 453

##### Syntax

```pawn
forward zp_user_humanized_pre(id, survivor)
```

##### Description

Called when a player turns back to human.

##### Parameters

- `id`: Player index who was cured.
- `survivor`: Whether the player was turned into a survivor.

#### zp_user_infect_attempt

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_user_infect_attempt
- Line: 463

##### Syntax

```pawn
forward zp_user_infect_attempt(id, infector, nemesis)
```

##### Description

Called on a player infect/cure attempt. You can use this to block
an infection/humanization by returning ZP_PLUGIN_HANDLED in your plugin.

Note: Right now this is only available after the ZP round starts, since some
situations (like blocking a first zombie's infection) are not yet handled.

#### zp_user_infected_post

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_user_infected_post
- Line: 445

##### Syntax

```pawn
forward zp_user_infected_post(id, infector, nemesis)
```

##### Description

This function has no description.

#### zp_user_infected_pre

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_user_infected_pre
- Line: 444

##### Syntax

```pawn
forward zp_user_infected_pre(id, infector, nemesis)
```

##### Description

Called when a player gets infected.

##### Parameters

- `id`: Player index who was infected.
- `infector`: Player index who infected him (if applicable).
- `nemesis`: Whether the player was turned into a nemesis.

#### zp_user_last_human

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_user_last_human
- Line: 498

##### Syntax

```pawn
forward zp_user_last_human(id)
```

##### Description

Called when a player becomes the last human.

##### Parameters

- `id`: Player index.

#### zp_user_last_zombie

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_user_last_zombie
- Line: 491

##### Syntax

```pawn
forward zp_user_last_zombie(id)
```

##### Description

Called when a player becomes the last zombie.

Note: This is called for the first zombie too.

##### Parameters

- `id`: Player index.

#### zp_user_unfrozen

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_user_unfrozen
- Line: 482

##### Syntax

```pawn
forward zp_user_unfrozen(id)
```

##### Description

Called when a player gets unfrozen (frostnades).

##### Parameters

- `id`: Player index.

#### zp_disinfect_user

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_disinfect_user
- Line: 241

##### Syntax

```pawn
native zp_disinfect_user(id, silent = 0)
```

##### Description

Forces a player to become a human.

Note: Unavailable for last zombie/nemesis.

##### Parameters

- `id`: Player index to be cured.
- `silent`: If set, there will be no HUD messages or antidote sounds.

##### Return

True on success, false otherwise.

#### zp_force_buy_extra_item

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_force_buy_extra_item
- Line: 280

##### Syntax

```pawn
native zp_force_buy_extra_item(id, itemid, ignorecost = 0)
```

##### Description

Forces a player to buy an extra item.

##### Parameters

- `id`: Player index.
- `itemid`: A valid extra item ID.
- `ignorecost`: If set, item's cost won't be deduced from player.

##### Return

True on success, false otherwise.

#### zp_get_extra_item_id

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_extra_item_id
- Line: 401

##### Syntax

```pawn
native zp_get_extra_item_id(const name[])
```

##### Description

Returns an extra item's ID.

##### Parameters

- `name`: Item name to look for.

##### Return

Internal extra item ID, or -1 if not found.

#### zp_get_human_count

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_human_count
- Line: 345

##### Syntax

```pawn
native zp_get_human_count()
```

##### Description

Returns number of alive humans.

##### Return

Human count.

#### zp_get_nemesis_count

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_nemesis_count
- Line: 352

##### Syntax

```pawn
native zp_get_nemesis_count()
```

##### Description

Returns number of alive nemesis.

##### Return

Nemesis count.

#### zp_get_survivor_count

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_survivor_count
- Line: 359

##### Syntax

```pawn
native zp_get_survivor_count()
```

##### Description

Returns number of alive survivors.

##### Return

Survivor count.

#### zp_get_user_ammo_packs

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_ammo_packs
- Line: 167

##### Syntax

```pawn
native zp_get_user_ammo_packs(id)
```

##### Description

Returns a player's ammo pack count.

##### Parameters

- `id`: Player index.

##### Return

Number of ammo packs owned.

#### zp_get_user_batteries

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_batteries
- Line: 193

##### Syntax

```pawn
native zp_get_user_batteries(id)
```

##### Description

Returns a player's custom flashlight batteries charge.

##### Parameters

- `id`: Player index.

##### Return

Charge percent (0 to 100).

#### zp_get_user_first_zombie

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_first_zombie
- Line: 118

##### Syntax

```pawn
native zp_get_user_first_zombie(id)
```

##### Description

Returns whether a player is the first zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_last_human

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_last_human
- Line: 134

##### Syntax

```pawn
native zp_get_user_last_human(id)
```

##### Description

Returns whether a player is the last human.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_last_zombie

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_last_zombie
- Line: 126

##### Syntax

```pawn
native zp_get_user_last_zombie(id)
```

##### Description

Returns whether a player is the last zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_nemesis

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_nemesis
- Line: 102

##### Syntax

```pawn
native zp_get_user_nemesis(id)
```

##### Description

Returns whether a player is a nemesis.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_next_class

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_next_class
- Line: 150

##### Syntax

```pawn
native zp_get_user_next_class(id)
```

##### Description

Returns a player's next zombie class ID (for the next infection).

##### Parameters

- `id`: Player index.

##### Return

Internal zombie class ID, or -1 if not yet chosen.

#### zp_get_user_nightvision

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_nightvision
- Line: 209

##### Syntax

```pawn
native zp_get_user_nightvision(id)
```

##### Description

Returns whether a player has night vision.

##### Parameters

- `id`: Player index.

##### Return

True if it has, false otherwise.

#### zp_get_user_survivor

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_survivor
- Line: 110

##### Syntax

```pawn
native zp_get_user_survivor(id)
```

##### Description

Returns whether a player is a survivor.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_zombie

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_zombie
- Line: 94

##### Syntax

```pawn
native zp_get_user_zombie(id)
```

##### Description

Returns whether a player is a zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_zombie_class

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_user_zombie_class
- Line: 142

##### Syntax

```pawn
native zp_get_user_zombie_class(id)
```

##### Description

Returns a player's current zombie class ID.

##### Parameters

- `id`: Player index.

##### Return

Internal zombie class ID, or -1 if not yet chosen.

#### zp_get_zombie_class_id

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_zombie_class_id
- Line: 409

##### Syntax

```pawn
native zp_get_zombie_class_id(const name[])
```

##### Description

Returns a zombie class' ID.

##### Parameters

- `name`: Class name to look for.

##### Return

Internal zombie class ID, or -1 if not found.

#### zp_get_zombie_class_info

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_zombie_class_info
- Line: 419

##### Syntax

```pawn
native zp_get_zombie_class_info(classid, info[], len)
```

##### Description

Returns a zombie class' description (passed by reference).

##### Parameters

- `classid`: Internal zombie class ID.
- `info`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_get_zombie_count

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_zombie_count
- Line: 338

##### Syntax

```pawn
native zp_get_zombie_count()
```

##### Description

Returns number of alive zombies.

##### Return

Zombie count.

#### zp_get_zombie_maxhealth

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_get_zombie_maxhealth
- Line: 185

##### Syntax

```pawn
native zp_get_zombie_maxhealth(id)
```

##### Description

Returns the default maximum health of a zombie.

Note: Takes into account first zombie's HP multiplier.

##### Parameters

- `id`: Player index.

##### Return

Maximum amount of health points, or -1 if not a normal zombie.

#### zp_has_round_started

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_has_round_started
- Line: 303

##### Syntax

```pawn
native zp_has_round_started()
```

##### Description

Returns whether the ZP round has started, i.e. first zombie
has been chosen or a game mode has begun.

##### Return

0 - Round not started
1 - Round started
2 - Round starting

#### zp_infect_user

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_infect_user
- Line: 230

##### Syntax

```pawn
native zp_infect_user(id, infector = 0, silent = 0, rewards = 0)
```

##### Description

Forces a player to become a zombie.

Note: Unavailable for last human/survivor.

##### Parameters

- `id`: Player index to be infected.
- `infector`: Player index who infected him (optional).
- `silent`: If set, there will be no HUD messages or infection sounds.
- `rewards`: Whether to show DeathMsg and reward frags, hp, and ammo packs to infector.

##### Return

True on success, false otherwise.

#### zp_is_nemesis_round

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_is_nemesis_round
- Line: 310

##### Syntax

```pawn
native zp_is_nemesis_round()
```

##### Description

Returns whether the current round is a nemesis round.

##### Return

True if it is, false otherwise.

#### zp_is_plague_round

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_is_plague_round
- Line: 331

##### Syntax

```pawn
native zp_is_plague_round()
```

##### Description

Returns whether the current round is a plague round.

##### Return

True if it is, false otherwise.

#### zp_is_survivor_round

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_is_survivor_round
- Line: 317

##### Syntax

```pawn
native zp_is_survivor_round()
```

##### Description

Returns whether the current round is a survivor round.

##### Return

True if it is, false otherwise.

#### zp_is_swarm_round

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_is_swarm_round
- Line: 324

##### Syntax

```pawn
native zp_is_swarm_round()
```

##### Description

Returns whether the current round is a swarm round.

##### Return

True if it is, false otherwise.

#### zp_make_user_nemesis

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_make_user_nemesis
- Line: 251

##### Syntax

```pawn
native zp_make_user_nemesis(id)
```

##### Description

Forces a player to become a nemesis.

Note: Unavailable for last human/survivor.

##### Parameters

- `id`: Player index to turn into nemesis.

##### Return

True on success, false otherwise.

#### zp_make_user_survivor

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_make_user_survivor
- Line: 261

##### Syntax

```pawn
native zp_make_user_survivor(id)
```

##### Description

Forces a player to become a survivor.

Note: Unavailable for last zombie/nemesis.

##### Parameters

- `id`: Player index to turn into survivor.

##### Return

True on success, false otherwise.

#### zp_override_user_model

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_override_user_model
- Line: 293

##### Syntax

```pawn
native zp_override_user_model(id, const newmodel[], modelindex = 0)
```

##### Description

Overrides ZP player model with a different custom model.

Note: This will last until player's next infection/humanization/respawn.

Note: Don't call more often than absolutely needed.

##### Parameters

- `id`: Player index.
- `newmodel`: Model name.
- `modelindex`: Modelindex (optional).

#### zp_register_extra_item

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_register_extra_item
- Line: 375

##### Syntax

```pawn
native zp_register_extra_item(const name[], cost, teams)
```

##### Description

Registers a custom item which will be added to the extra items menu of ZP.

Note: The returned extra item ID can be later used to catch item
purchase events for the zp_extra_item_selected() forward.

Note: ZP_TEAM_NEMESIS and ZP_TEAM_SURVIVOR can be used to make
an item available to Nemesis and Survivors respectively.

##### Parameters

- `name`: Caption to display on the menu.
- `cost`: Ammo packs to be deducted on purchase.
- `teams`: Bitsum of teams it should be available for.

##### Return

An internal extra item ID, or -1 on failure.

#### zp_register_zombie_class

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_register_zombie_class
- Line: 393

##### Syntax

```pawn
native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback)
```

##### Description

Registers a custom class which will be added to the zombie classes menu of ZP.

Note: The returned zombie class ID can be later used to identify
the class when calling the zp_get_user_zombie_class() natives.

##### Parameters

- `name`: Caption to display on the menu.
- `info`: Brief description of the class.
- `model`: Player model to be used.
- `clawmodel`: Claws model to be used.
- `hp`: Initial health points.
- `speed`: Maximum speed.
- `gravity`: Gravity multiplier.
- `knockback`: Knockback multiplier.

##### Return

An internal zombie class ID, or -1 on failure.

#### zp_respawn_user

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_respawn_user
- Line: 270

##### Syntax

```pawn
native zp_respawn_user(id, team)
```

##### Description

Respawns a player into a specific team.

##### Parameters

- `id`: Player index to be respawned.
- `team`: Team to respawn the player into (ZP_TEAM_ZOMBIE or ZP_TEAM_HUMAN).

##### Return

True on success, false otherwise.

#### zp_set_user_ammo_packs

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_set_user_ammo_packs
- Line: 175

##### Syntax

```pawn
native zp_set_user_ammo_packs(id, amount)
```

##### Description

Sets a player's ammo pack count.

##### Parameters

- `id`: Player index.
- `amount`: New quantity of ammo packs owned.

#### zp_set_user_batteries

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_set_user_batteries
- Line: 201

##### Syntax

```pawn
native zp_set_user_batteries(id, charge)
```

##### Description

Sets a player's custom flashlight batteries charge.

##### Parameters

- `id`: Player index.
- `value`: New charge percent (0 to 100).

#### zp_set_user_nightvision

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_set_user_nightvision
- Line: 217

##### Syntax

```pawn
native zp_set_user_nightvision(id, set)
```

##### Description

Sets whether a player has night vision.

##### Parameters

- `id`: Player index.
- `set`: True to give, false for removing it.

#### zp_set_user_zombie_class

- Include: `zombieplague.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zombieplague/function/zp_set_user_zombie_class
- Line: 159

##### Syntax

```pawn
native zp_set_user_zombie_class(id, classid)
```

##### Description

Sets a player's next zombie class ID (for the next infection).

##### Parameters

- `id`: Player index.
- `classid`: A valid zombie class ID.

##### Return

True on success, false otherwise.

## zombie plague 5.0 / zp50_admin_commands.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_admin_commands
- Group: zombie plague 5.0
- Functions: 6
- Documented constants: 0

### Functions

#### zp_admin_commands_human

- Include: `zp50_admin_commands.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_admin_commands/function/zp_admin_commands_human
- Line: 34

##### Syntax

```pawn
native zp_admin_commands_human(id, player)
```

##### Description

Manually executes admin command: zp_human.

##### Parameters

- `id`: Admin player index.
- `player`: Target player index.

##### Return

True on success, false otherwise.

#### zp_admin_commands_nemesis

- Include: `zp50_admin_commands.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_admin_commands/function/zp_admin_commands_nemesis
- Line: 43

##### Syntax

```pawn
native zp_admin_commands_nemesis(id, player)
```

##### Description

Manually executes admin command: zp_nemesis.

##### Parameters

- `id`: Admin player index.
- `player`: Target player index.

##### Return

True on success, false otherwise.

#### zp_admin_commands_respawn

- Include: `zp50_admin_commands.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_admin_commands/function/zp_admin_commands_respawn
- Line: 61

##### Syntax

```pawn
native zp_admin_commands_respawn(id, player)
```

##### Description

Manually executes admin command: zp_respawn.

##### Parameters

- `id`: Admin player index.
- `player`: Target player index.

##### Return

True on success, false otherwise.

#### zp_admin_commands_start_mode

- Include: `zp50_admin_commands.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_admin_commands/function/zp_admin_commands_start_mode
- Line: 70

##### Syntax

```pawn
native zp_admin_commands_start_mode(id, game_mode_id)
```

##### Description

Manually executes admin command: zp_start_game_mode.

##### Parameters

- `id`: Admin player index.
- `game_mode_id`: A valid game mode ID.

##### Return

True on success, false otherwise.

#### zp_admin_commands_survivor

- Include: `zp50_admin_commands.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_admin_commands/function/zp_admin_commands_survivor
- Line: 52

##### Syntax

```pawn
native zp_admin_commands_survivor(id, player)
```

##### Description

Manually executes admin command: zp_survivor.

##### Parameters

- `id`: Admin player index.
- `player`: Target player index.

##### Return

True on success, false otherwise.

#### zp_admin_commands_zombie

- Include: `zp50_admin_commands.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_admin_commands/function/zp_admin_commands_zombie
- Line: 25

##### Syntax

```pawn
native zp_admin_commands_zombie(id, player)
```

##### Description

Manually executes admin command: zp_zombie.

##### Parameters

- `id`: Admin player index.
- `player`: Target player index.

##### Return

True on success, false otherwise.

## zombie plague 5.0 / zp50_admin_menu.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_admin_menu
- Group: zombie plague 5.0
- Functions: 1
- Documented constants: 0

### Functions

#### zp_admin_menu_show

- Include: `zp50_admin_menu.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_admin_menu/function/zp_admin_menu_show
- Line: 24

##### Syntax

```pawn
native zp_admin_menu_show(id)
```

##### Description

Shows admin menu to a specific player. Commands will only
be available if player has the required admin flags.

##### Parameters

- `id`: Player index.

## zombie plague 5.0 / zp50_ammopacks.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_ammopacks
- Group: zombie plague 5.0
- Functions: 2
- Documented constants: 0

### Functions

#### zp_ammopacks_get

- Include: `zp50_ammopacks.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_ammopacks/function/zp_ammopacks_get
- Line: 24

##### Syntax

```pawn
native zp_ammopacks_get(id)
```

##### Description

Returns a player's ammo pack count.

##### Parameters

- `id`: Player index.

##### Return

Number of ammo packs owned.

#### zp_ammopacks_set

- Include: `zp50_ammopacks.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_ammopacks/function/zp_ammopacks_set
- Line: 32

##### Syntax

```pawn
native zp_ammopacks_set(id, amount)
```

##### Description

Sets a player's ammo pack count.

##### Parameters

- `id`: Player index.
- `amount`: New quantity of ammo packs owned.

## zombie plague 5.0 / zp50_buy_menus.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_buy_menus
- Group: zombie plague 5.0
- Functions: 1
- Documented constants: 0

### Functions

#### zp_buy_menus_show

- Include: `zp50_buy_menus.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_buy_menus/function/zp_buy_menus_show
- Line: 24

##### Syntax

```pawn
native zp_buy_menus_show(id)
```

##### Description

Shows available buy menus for player and enables them
back again if automatic weapon selection was enabled.

##### Parameters

- `id`: Player index.

## zombie plague 5.0 / zp50_class_human.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human
- Group: zombie plague 5.0
- Functions: 15
- Documented constants: 0

### Functions

#### zp_fw_class_human_select_post

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_fw_class_human_select_post
- Line: 158

##### Syntax

```pawn
forward zp_fw_class_human_select_post(id, classid)
```

##### Description

Called right after a player selects a class from the menu.

##### Parameters

- `id`: Player index.
- `classid`: Internal human class ID.

#### zp_fw_class_human_select_pre

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_fw_class_human_select_pre
- Line: 150

##### Syntax

```pawn
forward zp_fw_class_human_select_pre(id, classid)
```

##### Description

Called when determining whether a class should be available to a player.

Possible return values are:
- ZP_CLASS_AVAILABLE (show in menu, allow selection)
- ZP_CLASS_NOT_AVAILABLE (show in menu, don't allow selection)
- ZP_CLASS_DONT_SHOW (don't show in menu, don't allow selection)

##### Parameters

- `id`: Player index.
- `classid`: Internal human class ID.

#### zp_class_human_get_count

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_get_count
- Line: 122

##### Syntax

```pawn
native zp_class_human_get_count()
```

##### Description

Returns number of registered human classes.

##### Return

Human class count.

#### zp_class_human_get_current

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_get_current
- Line: 25

##### Syntax

```pawn
native zp_class_human_get_current(id)
```

##### Description

Returns a player's current human class ID.

##### Parameters

- `id`: Player index.

##### Return

Internal human class ID, or ZP_INVALID_HUMAN_CLASS if not yet chosen.

#### zp_class_human_get_desc

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_get_desc
- Line: 115

##### Syntax

```pawn
native zp_class_human_get_desc(classid, description[], len)
```

##### Description

Returns a human class' description.

##### Parameters

- `classid`: A valid human class ID.
- `description`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_class_human_get_id

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_get_id
- Line: 85

##### Syntax

```pawn
native zp_class_human_get_id(const real_name[])
```

##### Description

Returns a human class' ID.

##### Parameters

- `name`: Class name to look for.

##### Return

Internal human class ID, or ZP_INVALID_HUMAN_CLASS if not found.

#### zp_class_human_get_max_health

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_get_max_health
- Line: 53

##### Syntax

```pawn
native zp_class_human_get_max_health(id, classid)
```

##### Description

Returns the default maximum health for a specific human class.

Note: does not take into account any kind of HP bonuses.

##### Parameters

- `id`: Player index.
- `classid`: A valid human class ID.

##### Return

Maximum amount of health points, -1 on error.

#### zp_class_human_get_name

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_get_name
- Line: 95

##### Syntax

```pawn
native zp_class_human_get_name(classid, name[], len)
```

##### Description

Returns a human class' name.

##### Parameters

- `classid`: A valid human class ID.
- `name`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_class_human_get_next

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_get_next
- Line: 33

##### Syntax

```pawn
native zp_class_human_get_next(id)
```

##### Description

Returns a player's next human class ID (for the next infection).

##### Parameters

- `id`: Player index.

##### Return

Internal human class ID, or ZP_INVALID_HUMAN_CLASS if not yet chosen.

#### zp_class_human_get_real_name

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_get_real_name
- Line: 105

##### Syntax

```pawn
native zp_class_human_get_real_name(classid, real_name[], len)
```

##### Description

Returns a human class' real name (used when registering the class).

##### Parameters

- `classid`: A valid human class ID.
- `name`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_class_human_menu_text_add

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_menu_text_add
- Line: 137

##### Syntax

```pawn
native zp_class_human_menu_text_add(const text[])
```

##### Description

Appends text to a class being displayed on the human classes menu.
Use this on the class select pre forward.

##### Parameters

- `text`: Additional text to display.

#### zp_class_human_register

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_register
- Line: 68

##### Syntax

```pawn
native zp_class_human_register(const name[], const description[], health, Float:speed, Float:gravity)
```

##### Description

Registers a custom class which will be added to the human classes menu of ZP.

Note: The returned human class ID can be later used to identify
the class when calling the zp_get_user_human_class() natives.

##### Parameters

- `name`: Caption to display on the menu.
- `description`: Brief description of the class.
- `health`: Class health.
- `speed`: Class maxspeed (can be a multiplier).
- `gravity`: Class gravity multiplier.

##### Return

An internal human class ID, or ZP_INVALID_HUMAN_CLASS on failure.

#### zp_class_human_register_model

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_register_model
- Line: 77

##### Syntax

```pawn
native zp_class_human_register_model(classid, const model[])
```

##### Description

Registers a custom player model for a given human class.

##### Parameters

- `classid`: A valid human class ID.
- `model`: Player model's short name.

##### Return

True on success, false otherwise.

#### zp_class_human_set_next

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_set_next
- Line: 42

##### Syntax

```pawn
native zp_class_human_set_next(id, classid)
```

##### Description

Sets a player's next human class ID (for the next infection).

##### Parameters

- `id`: Player index.
- `classid`: A valid human class ID.

##### Return

True on success, false otherwise.

#### zp_class_human_show_menu

- Include: `zp50_class_human.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human/function/zp_class_human_show_menu
- Line: 129

##### Syntax

```pawn
native zp_class_human_show_menu(id)
```

##### Description

Shows menu with available human classes to a player.

##### Parameters

- `id`: Player index.

## zombie plague 5.0 / zp50_class_human_const.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_human_const
- Group: zombie plague 5.0
- Functions: 0
- Documented constants: 5

### Constants

#### _zp50_class_human_const_inc

_zp50_class_human_const_inc

```pawn
#define _zp50_class_human_const_inc
```

#### ZP_INVALID_HUMAN_CLASS

ZP_INVALID_HUMAN_CLASS

```pawn
#define ZP_INVALID_HUMAN_CLASS -1
```

#### ZP_CLASS_AVAILABLE

ZP_CLASS_AVAILABLE

```pawn
#define ZP_CLASS_AVAILABLE 0
```

#### ZP_CLASS_NOT_AVAILABLE

ZP_CLASS_NOT_AVAILABLE

```pawn
#define ZP_CLASS_NOT_AVAILABLE 1
```

#### ZP_CLASS_DONT_SHOW

ZP_CLASS_DONT_SHOW

```pawn
#define ZP_CLASS_DONT_SHOW 2
```

## zombie plague 5.0 / zp50_class_nemesis.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_nemesis
- Group: zombie plague 5.0
- Functions: 3
- Documented constants: 0

### Functions

#### zp_class_nemesis_get

- Include: `zp50_class_nemesis.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_nemesis/function/zp_class_nemesis_get
- Line: 24

##### Syntax

```pawn
native zp_class_nemesis_get(id)
```

##### Description

Returns whether a player is a Nemesis.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_class_nemesis_get_count

- Include: `zp50_class_nemesis.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_nemesis/function/zp_class_nemesis_get_count
- Line: 39

##### Syntax

```pawn
native zp_class_nemesis_get_count()
```

##### Description

Returns number of alive nemesis.

##### Return

Nemesis count.

#### zp_class_nemesis_set

- Include: `zp50_class_nemesis.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_nemesis/function/zp_class_nemesis_set
- Line: 32

##### Syntax

```pawn
native zp_class_nemesis_set(id)
```

##### Description

Forces a player to become a Nemesis.

##### Parameters

- `id`: Player index.

##### Return

True on success, false otherwise.

## zombie plague 5.0 / zp50_class_survivor.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_survivor
- Group: zombie plague 5.0
- Functions: 3
- Documented constants: 0

### Functions

#### zp_class_survivor_get

- Include: `zp50_class_survivor.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_survivor/function/zp_class_survivor_get
- Line: 24

##### Syntax

```pawn
native zp_class_survivor_get(id)
```

##### Description

Returns whether a player is a Survivor.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_class_survivor_get_count

- Include: `zp50_class_survivor.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_survivor/function/zp_class_survivor_get_count
- Line: 39

##### Syntax

```pawn
native zp_class_survivor_get_count()
```

##### Description

Returns number of alive survivors.

##### Return

Survivor count.

#### zp_class_survivor_set

- Include: `zp50_class_survivor.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_survivor/function/zp_class_survivor_set
- Line: 32

##### Syntax

```pawn
native zp_class_survivor_set(id)
```

##### Description

Forces a player to become a Survivor.

##### Parameters

- `id`: Player index.

##### Return

True on success, false otherwise.

## zombie plague 5.0 / zp50_class_zombie.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie
- Group: zombie plague 5.0
- Functions: 18
- Documented constants: 0

### Functions

#### zp_fw_class_zombie_select_post

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_fw_class_zombie_select_post
- Line: 183

##### Syntax

```pawn
forward zp_fw_class_zombie_select_post(id, classid)
```

##### Description

Called right after a player selects a class from the menu.

##### Parameters

- `id`: Player index.
- `classid`: Internal zombie class ID.

#### zp_fw_class_zombie_select_pre

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_fw_class_zombie_select_pre
- Line: 175

##### Syntax

```pawn
forward zp_fw_class_zombie_select_pre(id, classid)
```

##### Description

Called when determining whether a class should be available to a player.

Possible return values are:
- ZP_CLASS_AVAILABLE (show in menu, allow selection)
- ZP_CLASS_NOT_AVAILABLE (show in menu, don't allow selection)
- ZP_CLASS_DONT_SHOW (don't show in menu, don't allow selection)

##### Parameters

- `id`: Player index.
- `classid`: Internal zombie class ID.

#### zp_class_zombie_get_count

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_get_count
- Line: 147

##### Syntax

```pawn
native zp_class_zombie_get_count()
```

##### Description

Returns number of registered zombie classes.

##### Return

Zombie class count.

#### zp_class_zombie_get_current

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_get_current
- Line: 24

##### Syntax

```pawn
native zp_class_zombie_get_current(id)
```

##### Description

Returns a player's current zombie class ID.

##### Parameters

- `id`: Player index.

##### Return

Internal zombie class ID, or ZP_INVALID_ZOMBIE_CLASS if not yet chosen.

#### zp_class_zombie_get_desc

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_get_desc
- Line: 132

##### Syntax

```pawn
native zp_class_zombie_get_desc(classid, description[], len)
```

##### Description

Returns a zombie class' description.

##### Parameters

- `classid`: A valid zombie class ID.
- `description`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_class_zombie_get_id

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_get_id
- Line: 102

##### Syntax

```pawn
native zp_class_zombie_get_id(const real_name[])
```

##### Description

Returns a zombie class' ID.

##### Parameters

- `name`: Class name to look for.

##### Return

Internal zombie class ID, or ZP_INVALID_ZOMBIE_CLASS if not found.

#### zp_class_zombie_get_kb

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_get_kb
- Line: 140

##### Syntax

```pawn
native Float:zp_class_zombie_get_kb(classid)
```

##### Description

Returns a zombie class' knockback multiplier.

##### Parameters

- `classid`: A valid zombie class ID.

##### Return

Knockback multiplier (float value).

#### zp_class_zombie_get_max_health

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_get_max_health
- Line: 52

##### Syntax

```pawn
native zp_class_zombie_get_max_health(id, classid)
```

##### Description

Returns the default maximum health for a specific zombie class.

Note: does not take into account any kind of HP multipliers.

##### Parameters

- `id`: Player index.
- `classid`: A valid zombie class ID.

##### Return

Maximum amount of health points, -1 on error.

#### zp_class_zombie_get_name

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_get_name
- Line: 112

##### Syntax

```pawn
native zp_class_zombie_get_name(classid, name[], len)
```

##### Description

Returns a zombie class' name.

##### Parameters

- `classid`: A valid zombie class ID.
- `name`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_class_zombie_get_next

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_get_next
- Line: 32

##### Syntax

```pawn
native zp_class_zombie_get_next(id)
```

##### Description

Returns a player's next zombie class ID (for the next infection).

##### Parameters

- `id`: Player index.

##### Return

Internal zombie class ID, or ZP_INVALID_ZOMBIE_CLASS if not yet chosen.

#### zp_class_zombie_get_real_name

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_get_real_name
- Line: 122

##### Syntax

```pawn
native zp_class_zombie_get_real_name(classid, real_name[], len)
```

##### Description

Returns a zombie class' real name (used when registering the class).

##### Parameters

- `classid`: A valid zombie class ID.
- `name`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_class_zombie_menu_text_add

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_menu_text_add
- Line: 162

##### Syntax

```pawn
native zp_class_zombie_menu_text_add(const text[])
```

##### Description

Appends text to a class being displayed on the zombie classes menu.
Use this on the class select pre forward.

##### Parameters

- `text`: Additional text to display.

#### zp_class_zombie_register

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_register
- Line: 67

##### Syntax

```pawn
native zp_class_zombie_register(const name[], const description[], health, Float:speed, Float:gravity)
```

##### Description

Registers a custom class which will be added to the zombie classes menu of ZP.

Note: The returned zombie class ID can be later used to identify
the class when calling the zp_get_user_zombie_class() natives.

##### Parameters

- `name`: Caption to display on the menu.
- `description`: Brief description of the class.
- `health`: Class health.
- `speed`: Class maxspeed (can be a multiplier).
- `gravity`: Class gravity multiplier.

##### Return

An internal zombie class ID, or ZP_INVALID_ZOMBIE_CLASS on failure.

#### zp_class_zombie_register_claw

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_register_claw
- Line: 85

##### Syntax

```pawn
native zp_class_zombie_register_claw(classid, const clawmodel[])
```

##### Description

Registers a custom claw model for a given zombie class.

##### Parameters

- `classid`: A valid zombie class ID.
- `clawmodel`: Claw model filename.

##### Return

True on success, false otherwise.

#### zp_class_zombie_register_kb

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_register_kb
- Line: 94

##### Syntax

```pawn
native zp_class_zombie_register_kb(classid, Float:knockback)
```

##### Description

Registers a zombie class' knockback multiplier.

##### Parameters

- `classid`: A valid zombie class ID.
- `knockback`: Knockback multiplier.

##### Return

True on success, false otherwise.

#### zp_class_zombie_register_model

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_register_model
- Line: 76

##### Syntax

```pawn
native zp_class_zombie_register_model(classid, const model[])
```

##### Description

Registers a custom player model for a given zombie class.

##### Parameters

- `classid`: A valid zombie class ID.
- `model`: Player model's short name.

##### Return

True on success, false otherwise.

#### zp_class_zombie_set_next

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_set_next
- Line: 41

##### Syntax

```pawn
native zp_class_zombie_set_next(id, classid)
```

##### Description

Sets a player's next zombie class ID (for the next infection).

##### Parameters

- `id`: Player index.
- `classid`: A valid zombie class ID.

##### Return

True on success, false otherwise.

#### zp_class_zombie_show_menu

- Include: `zp50_class_zombie.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie/function/zp_class_zombie_show_menu
- Line: 154

##### Syntax

```pawn
native zp_class_zombie_show_menu(id)
```

##### Description

Shows menu with available zombie classes to a player.

##### Parameters

- `id`: Player index.

## zombie plague 5.0 / zp50_class_zombie_const.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_class_zombie_const
- Group: zombie plague 5.0
- Functions: 0
- Documented constants: 5

### Constants

#### _zp50_class_zombie_const_inc

_zp50_class_zombie_const_inc

```pawn
#define _zp50_class_zombie_const_inc
```

#### ZP_INVALID_ZOMBIE_CLASS

ZP_INVALID_ZOMBIE_CLASS

```pawn
#define ZP_INVALID_ZOMBIE_CLASS -1
```

#### ZP_CLASS_AVAILABLE

ZP_CLASS_AVAILABLE

```pawn
#define ZP_CLASS_AVAILABLE 0
```

#### ZP_CLASS_NOT_AVAILABLE

ZP_CLASS_NOT_AVAILABLE

```pawn
#define ZP_CLASS_NOT_AVAILABLE 1
```

#### ZP_CLASS_DONT_SHOW

ZP_CLASS_DONT_SHOW

```pawn
#define ZP_CLASS_DONT_SHOW 2
```

## zombie plague 5.0 / zp50_colorchat.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_colorchat
- Group: zombie plague 5.0
- Functions: 1
- Documented constants: 0

### Functions

#### zp_colored_print

- Include: `zp50_colorchat.inc`
- Group: `zombie plague 5.0`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_colorchat/function/zp_colored_print
- Line: 18

##### Syntax

```pawn
stock zp_colored_print(target, const message[], any:...)
```

##### Description

This function has no description.

## zombie plague 5.0 / zp50_colorchat_const.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_colorchat_const
- Group: zombie plague 5.0
- Functions: 0
- Documented constants: 1

### Constants

#### ZP_PREFIX

ZP_PREFIX

```pawn
#define ZP_PREFIX "^x01[^x04ZP^x01] "
```

## zombie plague 5.0 / zp50_core.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core
- Group: zombie plague 5.0
- Functions: 20
- Documented constants: 0

### Functions

#### zp_fw_core_cure

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_fw_core_cure
- Line: 117

##### Syntax

```pawn
forward zp_fw_core_cure(id, attacker)
```

##### Description

Called when a player turns back to human.

##### Parameters

- `id`: Player index who was cured.
- `attacker`: Player who triggered the cure.
(0 if not available, id = attacker if he cured himself)

#### zp_fw_core_cure_post

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_fw_core_cure_post
- Line: 118

##### Syntax

```pawn
forward zp_fw_core_cure_post(id, attacker)
```

##### Description

This function has no description.

#### zp_fw_core_cure_pre

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_fw_core_cure_pre
- Line: 129

##### Syntax

```pawn
forward zp_fw_core_cure_pre(id, attacker)
```

##### Description

This function has no description.

#### zp_fw_core_infect

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_fw_core_infect
- Line: 107

##### Syntax

```pawn
forward zp_fw_core_infect(id, attacker)
```

##### Description

Called when a player gets infected.

##### Parameters

- `id`: Player index who was infected.
- `attacker`: Player who triggered the infection.
(0 if not available, id = attacker if he infected himself)

#### zp_fw_core_infect_post

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_fw_core_infect_post
- Line: 108

##### Syntax

```pawn
forward zp_fw_core_infect_post(id, attacker)
```

##### Description

This function has no description.

#### zp_fw_core_infect_pre

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_fw_core_infect_pre
- Line: 128

##### Syntax

```pawn
forward zp_fw_core_infect_pre(id, attacker)
```

##### Description

Called on a player infect/cure attempt. You can block it by
returning PLUGIN_HANDLED in your plugin.

##### Parameters

- `id`: Player index who is being infected/cured.
- `attacker`: Player who is triggering the infection/cure.
(0 if not available, id = attacker if he is infecting/curing himself)

#### zp_fw_core_last_human

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_fw_core_last_human
- Line: 139

##### Syntax

```pawn
forward zp_fw_core_last_human(id)
```

##### Description

This function has no description.

#### zp_fw_core_last_zombie

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_fw_core_last_zombie
- Line: 138

##### Syntax

```pawn
forward zp_fw_core_last_zombie(id)
```

##### Description

Called when a player becomes the last zombie/human.

Note: This is called for the first zombie too.

##### Parameters

- `id`: Player index.

#### zp_fw_core_spawn_post

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_fw_core_spawn_post
- Line: 146

##### Syntax

```pawn
forward zp_fw_core_spawn_post(id)
```

##### Description

Called when a player spawns, before applying human/zombie attributes to him.

##### Parameters

- `id`: Player index.

#### zp_core_cure

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_cure
- Line: 79

##### Syntax

```pawn
native zp_core_cure(id, attacker = 0)
```

##### Description

Turns a player into a human.

##### Parameters

- `id`: Player index to be cured.
- `attacker`: Player who triggered the cure. (optional)

##### Return

True on success, false otherwise.

#### zp_core_force_cure

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_force_cure
- Line: 90

##### Syntax

```pawn
native zp_core_force_cure(id)
```

##### Description

This function has no description.

#### zp_core_force_infect

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_force_infect
- Line: 89

##### Syntax

```pawn
native zp_core_force_infect(id)
```

##### Description

Forces a player to become a zombie/human.

Note: use this only when previous checks need to be skipped.

##### Parameters

- `id`: Player index to be infected/cured.

##### Return

True on success, false otherwise.

#### zp_core_get_human_count

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_get_human_count
- Line: 61

##### Syntax

```pawn
native zp_core_get_human_count()
```

##### Description

Returns number of alive humans.

##### Return

Human count.

#### zp_core_get_zombie_count

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_get_zombie_count
- Line: 54

##### Syntax

```pawn
native zp_core_get_zombie_count()
```

##### Description

Returns number of alive zombies.

##### Return

Zombie count.

#### zp_core_infect

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_infect
- Line: 70

##### Syntax

```pawn
native zp_core_infect(id, attacker = 0)
```

##### Description

Turns a player into a zombie.

##### Parameters

- `id`: Player index to be infected.
- `attacker`: Player who triggered the infection. (optional)

##### Return

True on success, false otherwise.

#### zp_core_is_first_zombie

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_is_first_zombie
- Line: 31

##### Syntax

```pawn
native zp_core_is_first_zombie(id)
```

##### Description

Returns whether a player is the first zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_core_is_last_human

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_is_last_human
- Line: 47

##### Syntax

```pawn
native zp_core_is_last_human(id)
```

##### Description

Returns whether a player is the last human.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_core_is_last_zombie

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_is_last_zombie
- Line: 39

##### Syntax

```pawn
native zp_core_is_last_zombie(id)
```

##### Description

Returns whether a player is the last zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_core_is_zombie

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_is_zombie
- Line: 23

##### Syntax

```pawn
native zp_core_is_zombie(id)
```

##### Description

Returns whether a player is a zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_core_respawn_as_zombie

- Include: `zp50_core.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core/function/zp_core_respawn_as_zombie
- Line: 98

##### Syntax

```pawn
native zp_core_respawn_as_zombie(id, zombie = true)
```

##### Description

Sets whether the player will be respawned as zombie or human.

##### Parameters

- `id`: Player index.
- `zombie`: True to respawn as zombie, false otherwise.

## zombie plague 5.0 / zp50_core_const.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_core_const
- Group: zombie plague 5.0
- Functions: 0
- Documented constants: 3

### Constants

#### ZP_VERSION_STR_LONG

ZP_VERSION_STR_LONG

```pawn
#define ZP_VERSION_STR_LONG "5.0.8"
```

#### ZP_VERSION_STRING

ZP_VERSION_STRING

```pawn
#define ZP_VERSION_STRING "5.0.8"
```

#### ZP_VERSION_NUM

ZP_VERSION_NUM

```pawn
#define ZP_VERSION_NUM 508
```

## zombie plague 5.0 / zp50_deathmatch.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_deathmatch
- Group: zombie plague 5.0
- Functions: 1
- Documented constants: 0

### Functions

#### zp_fw_deathmatch_respawn_pre

- Include: `zp50_deathmatch.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_deathmatch/function/zp_fw_deathmatch_respawn_pre
- Line: 15

##### Syntax

```pawn
forward zp_fw_deathmatch_respawn_pre(id)
```

##### Description

Called before the deathmatch module respawns a player.
Returning PLUGIN_HANDLED will block respawn.

##### Parameters

- `id`: Player index.

## zombie plague 5.0 / zp50_flashlight.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_flashlight
- Group: zombie plague 5.0
- Functions: 2
- Documented constants: 0

### Functions

#### zp_flashlight_get_charge

- Include: `zp50_flashlight.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_flashlight/function/zp_flashlight_get_charge
- Line: 24

##### Syntax

```pawn
native zp_flashlight_get_charge(id)
```

##### Description

Returns a player's custom flashlight batteries charge.

##### Parameters

- `id`: Player index.

##### Return

Charge percent (0 to 100), or -1 if custom flashlight is disabled.

#### zp_flashlight_set_charge

- Include: `zp50_flashlight.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_flashlight/function/zp_flashlight_set_charge
- Line: 32

##### Syntax

```pawn
native zp_flashlight_set_charge(id, charge)
```

##### Description

Sets a player's custom flashlight batteries charge.

##### Parameters

- `id`: Player index.
- `value`: New charge percent (0 to 100).

## zombie plague 5.0 / zp50_gamemodes.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes
- Group: zombie plague 5.0
- Functions: 15
- Documented constants: 0

### Functions

#### zp_fw_gamemodes_choose_post

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_fw_gamemodes_choose_post
- Line: 121

##### Syntax

```pawn
forward zp_fw_gamemodes_choose_post(game_mode_id, target_player)
```

##### Description

Called when a game mode is chosen for the current round.

##### Parameters

- `game_mode_id`: Internal ID for the game mode that was chosen.
- `target_player`: Player ID passed to game mode (can be RANDOM_TARGET_PLAYER).

#### zp_fw_gamemodes_choose_pre

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_fw_gamemodes_choose_pre
- Line: 113

##### Syntax

```pawn
forward zp_fw_gamemodes_choose_pre(game_mode_id, skipchecks)
```

##### Description

Called when ZP tries to choose a game mode for the current
round. Returning PLUGIN_HANDLED here will tell the game modes
manager that your mode can't be chosen (useful to set custom
conditions, like a min amount of players, etc.)

##### Parameters

- `game_mode_id`: Internal game mode ID.
- `skipchecks`: True when mode is being started by an admin.

#### zp_fw_gamemodes_end

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_fw_gamemodes_end
- Line: 137

##### Syntax

```pawn
forward zp_fw_gamemodes_end(game_mode_id)
```

##### Description

Called when a game mode ends.

Note: this can pass ZP_NO_GAME_MODE (if no game mode was in progress).

##### Parameters

- `game_mode_id`: Internal ID for the game mode that ended.

#### zp_fw_gamemodes_start

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_fw_gamemodes_start
- Line: 128

##### Syntax

```pawn
forward zp_fw_gamemodes_start(game_mode_id)
```

##### Description

Called when a game mode starts.

##### Parameters

- `game_mode_id`: Internal ID for the game mode that was started.

#### zp_gamemodes_get_allow_infect

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_get_allow_infect
- Line: 102

##### Syntax

```pawn
native zp_gamemodes_get_allow_infect()
```

##### Description

Returns whether zombies are allowed to infect humans for the current game mode.

##### Return

True if allowed, false otherwise.

#### zp_gamemodes_get_chosen

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_get_chosen
- Line: 47

##### Syntax

```pawn
native zp_gamemodes_get_chosen()
```

##### Description

Returns game mode that was chosen for the current round.

##### Return

An internal game mode ID, or ZP_NO_GAME_MODE.

#### zp_gamemodes_get_count

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_get_count
- Line: 88

##### Syntax

```pawn
native zp_gamemodes_get_count()
```

##### Description

Returns number of registered game modes.

##### Return

Game mode count.

#### zp_gamemodes_get_current

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_get_current
- Line: 54

##### Syntax

```pawn
native zp_gamemodes_get_current()
```

##### Description

Returns game mode that is currently in progress.

##### Return

An internal game mode ID, or ZP_NO_GAME_MODE.

#### zp_gamemodes_get_default

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_get_default
- Line: 40

##### Syntax

```pawn
native zp_gamemodes_get_default()
```

##### Description

Returns default game mode.

##### Return

A valid game mode ID.

#### zp_gamemodes_get_id

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_get_id
- Line: 62

##### Syntax

```pawn
native zp_gamemodes_get_id(const name[])
```

##### Description

Returns a game mode's ID.

##### Parameters

- `name`: Game mode name to look for.

##### Return

Internal game mode ID, or ZP_INVALID_GAME_MODE if not found.

#### zp_gamemodes_get_name

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_get_name
- Line: 72

##### Syntax

```pawn
native zp_gamemodes_get_name(game_mode_id, name[], len)
```

##### Description

Returns a game mode's name.

##### Parameters

- `game_mode_id`: A valid game mode ID.
- `name`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_gamemodes_register

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_register
- Line: 25

##### Syntax

```pawn
native zp_gamemodes_register(const name[])
```

##### Description

Registers a new game mode.

##### Parameters

- `name`: Game mode name.

##### Return

An internal game mode ID, or ZP_INVALID_GAME_MODE on failure.

#### zp_gamemodes_set_allow_infect

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_set_allow_infect
- Line: 95

##### Syntax

```pawn
native zp_gamemodes_set_allow_infect(allow = true)
```

##### Description

Sets whether zombies can infect humans for the current game mode.

##### Parameters

- `allow`: True to allow, false otherwise.

#### zp_gamemodes_set_default

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_set_default
- Line: 33

##### Syntax

```pawn
native zp_gamemodes_set_default(game_mode_id)
```

##### Description

Sets a default game mode (to start if no other game mode can been started).

##### Parameters

- `game_mode_id`: A valid game mode ID.

##### Return

True on success, false otherwise.

#### zp_gamemodes_start

- Include: `zp50_gamemodes.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes/function/zp_gamemodes_start
- Line: 81

##### Syntax

```pawn
native zp_gamemodes_start(game_mode_id, target_player = RANDOM_TARGET_PLAYER)
```

##### Description

Forces a game mode to start.

##### Parameters

- `game_mode_id`: A valid game mode ID.
- `target_player`: Player ID to be passed to game mode (optional).

##### Return

True on success, false if game mode can't start.

## zombie plague 5.0 / zp50_gamemodes_const.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_gamemodes_const
- Group: zombie plague 5.0
- Functions: 0
- Documented constants: 3

### Constants

#### ZP_INVALID_GAME_MODE

ZP_INVALID_GAME_MODE

```pawn
#define ZP_INVALID_GAME_MODE -1
```

#### ZP_NO_GAME_MODE

ZP_NO_GAME_MODE

```pawn
#define ZP_NO_GAME_MODE -2
```

#### RANDOM_TARGET_PLAYER

RANDOM_TARGET_PLAYER

```pawn
#define RANDOM_TARGET_PLAYER 0
```

## zombie plague 5.0 / zp50_grenade_fire.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_grenade_fire
- Group: zombie plague 5.0
- Functions: 3
- Documented constants: 0

### Functions

#### zp_fw_grenade_fire_pre

- Include: `zp50_grenade_fire.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_grenade_fire/function/zp_fw_grenade_fire_pre
- Line: 40

##### Syntax

```pawn
forward zp_fw_grenade_fire_pre(id)
```

##### Description

Called when a player is about to start burning.
Returning PLUGIN_HANDLED will block it.

##### Parameters

- `id`: Player index.

#### zp_grenade_fire_get

- Include: `zp50_grenade_fire.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_grenade_fire/function/zp_grenade_fire_get
- Line: 23

##### Syntax

```pawn
native zp_grenade_fire_get(id)
```

##### Description

Returns whether a player is burning.

##### Parameters

- `id`: Player index.

#### zp_grenade_fire_set

- Include: `zp50_grenade_fire.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_grenade_fire/function/zp_grenade_fire_set
- Line: 32

##### Syntax

```pawn
native zp_grenade_fire_set(id, set = true)
```

##### Description

Sets a player on fire / stops burning.

##### Parameters

- `id`: Player index.
- `set`: True to set on fire, false to stop burning.

##### Return

True on success, false otherwise.

## zombie plague 5.0 / zp50_grenade_frost.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_grenade_frost
- Group: zombie plague 5.0
- Functions: 4
- Documented constants: 0

### Functions

#### zp_fw_grenade_frost_pre

- Include: `zp50_grenade_frost.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_grenade_frost/function/zp_fw_grenade_frost_pre
- Line: 40

##### Syntax

```pawn
forward zp_fw_grenade_frost_pre(id)
```

##### Description

Called when a player is about to be frozen.
Returning PLUGIN_HANDLED will block it.

##### Parameters

- `id`: Player index.

#### zp_fw_grenade_frost_unfreeze

- Include: `zp50_grenade_frost.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_grenade_frost/function/zp_fw_grenade_frost_unfreeze
- Line: 47

##### Syntax

```pawn
forward zp_fw_grenade_frost_unfreeze(id)
```

##### Description

Called after a player recovers from a frost nade.

##### Parameters

- `id`: Player index.

#### zp_grenade_frost_get

- Include: `zp50_grenade_frost.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_grenade_frost/function/zp_grenade_frost_get
- Line: 23

##### Syntax

```pawn
native zp_grenade_frost_get(id)
```

##### Description

Returns whether a player is frozen.

##### Parameters

- `id`: Player index.

#### zp_grenade_frost_set

- Include: `zp50_grenade_frost.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_grenade_frost/function/zp_grenade_frost_set
- Line: 32

##### Syntax

```pawn
native zp_grenade_frost_set(id, set = true)
```

##### Description

Freezes / unfreezes a player.

##### Parameters

- `id`: Player index.
- `set`: True to freeze, false to unfreeze.

##### Return

True on success, false otherwise.

## zombie plague 5.0 / zp50_items.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items
- Group: zombie plague 5.0
- Functions: 10
- Documented constants: 0

### Functions

#### zp_fw_items_select_post

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_fw_items_select_post
- Line: 113

##### Syntax

```pawn
forward zp_fw_items_select_post(id, itemid, ignorecost)
```

##### Description

Called after a player selected an item from the extra items menu.

##### Parameters

- `id`: Player index.
- `itemid`: Internal item ID.
- `ignorecost`: Whether item cost should be ignored.

#### zp_fw_items_select_pre

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_fw_items_select_pre
- Line: 104

##### Syntax

```pawn
forward zp_fw_items_select_pre(id, itemid, ignorecost)
```

##### Description

Called when determining whether an item should be available to a player.

Possible return values are:
- ZP_ITEM_AVAILABLE (show in menu, allow selection)
- ZP_ITEM_NOT_AVAILABLE (show in menu, don't allow selection)
- ZP_ITEM_DONT_SHOW (don't show in menu, don't allow selection)

##### Parameters

- `id`: Player index.
- `itemid`: Internal item ID.
- `ignorecost`: Whether item cost should be ignored.

#### zp_items_force_buy

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_items_force_buy
- Line: 82

##### Syntax

```pawn
native zp_items_force_buy(id, itemid, ignorecost = false)
```

##### Description

Forces a player to buy an extra item.

##### Parameters

- `id`: Player index.
- `itemid`: A valid extra item ID.
- `ignorecost`: If set, item's cost won't be deduced from player.

##### Return

True on success, false otherwise.

#### zp_items_get_cost

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_items_get_cost
- Line: 65

##### Syntax

```pawn
native zp_items_get_cost(itemid)
```

##### Description

Returns an item's cost.

##### Parameters

- `itemid`: A valid item ID.

##### Return

Item's cost.

#### zp_items_get_id

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_items_get_id
- Line: 37

##### Syntax

```pawn
native zp_items_get_id(const real_name[])
```

##### Description

Returns an item's ID.

##### Parameters

- `name`: Item name to look for.

##### Return

Internal item ID, or ZP_INVALID_ITEM if not found.

#### zp_items_get_name

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_items_get_name
- Line: 47

##### Syntax

```pawn
native zp_items_get_name(itemid, name[], len)
```

##### Description

Returns an item's name.

##### Parameters

- `itemid`: A valid item ID.
- `name`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_items_get_real_name

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_items_get_real_name
- Line: 57

##### Syntax

```pawn
native zp_items_get_real_name(itemid, real_name[], len)
```

##### Description

Returns an item's real name (used when registering the item).

##### Parameters

- `classid`: A valid item ID.
- `name`: The buffer to store the string in.
- `len`: Character size of the output buffer.

##### Return

True on success, false otherwise.

#### zp_items_menu_text_add

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_items_menu_text_add
- Line: 90

##### Syntax

```pawn
native zp_items_menu_text_add(const text[])
```

##### Description

Appends text to an item being displayed on the extra items menu.
Use this on the item select pre forward.

##### Parameters

- `text`: Additional text to display.

#### zp_items_register

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_items_register
- Line: 29

##### Syntax

```pawn
native zp_items_register(const name[], cost)
```

##### Description

Registers a custom item which will be added to the extra items menu of ZP.

Note: The returned item ID can be later used to catch item
selection events for the zp_item_select_() forwards.

##### Parameters

- `name`: Caption to display on the menu.
- `cost`: Cost to display on the menu.

##### Return

An internal item ID, or ZP_INVALID_ITEM on failure.

#### zp_items_show_menu

- Include: `zp50_items.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items/function/zp_items_show_menu
- Line: 72

##### Syntax

```pawn
native zp_items_show_menu(id)
```

##### Description

Shows menu with available extra items for player.

##### Parameters

- `id`: Player index.

## zombie plague 5.0 / zp50_items_const.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_items_const
- Group: zombie plague 5.0
- Functions: 0
- Documented constants: 4

### Constants

#### ZP_INVALID_ITEM

ZP_INVALID_ITEM

```pawn
#define ZP_INVALID_ITEM -1
```

#### ZP_ITEM_AVAILABLE

ZP_ITEM_AVAILABLE

```pawn
#define ZP_ITEM_AVAILABLE 0
```

#### ZP_ITEM_NOT_AVAILABLE

ZP_ITEM_NOT_AVAILABLE

```pawn
#define ZP_ITEM_NOT_AVAILABLE 1
```

#### ZP_ITEM_DONT_SHOW

ZP_ITEM_DONT_SHOW

```pawn
#define ZP_ITEM_DONT_SHOW 2
```

## zombie plague 5.0 / zp50_item_zombie_madness.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_item_zombie_madness
- Group: zombie plague 5.0
- Functions: 1
- Documented constants: 0

### Functions

#### zp_item_zombie_madness_get

- Include: `zp50_item_zombie_madness.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_item_zombie_madness/function/zp_item_zombie_madness_get
- Line: 23

##### Syntax

```pawn
native zp_item_zombie_madness_get(id)
```

##### Description

Returns whether a player is in zombie madness.

##### Parameters

- `id`: Player index.

## zombie plague 5.0 / zp50_log.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_log
- Group: zombie plague 5.0
- Functions: 1
- Documented constants: 1

### Constants

#### AMXX-Studio Notes - DO NOT MODIFY BELOW HERE {\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }

AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }

### Functions

#### zp_log

- Include: `zp50_log.inc`
- Group: `zombie plague 5.0`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_log/function/zp_log
- Line: 10

##### Syntax

```pawn
stock zp_log(const message_fmt[], any:...)
```

##### Description

This is used to log ZP-specific information/errors into a
location where it is separate from other messages.

## zombie plague 5.0 / zp50_random_spawn.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_random_spawn
- Group: zombie plague 5.0
- Functions: 1
- Documented constants: 0

### Functions

#### zp_random_spawn_do

- Include: `zp50_random_spawn.inc`
- Group: `zombie plague 5.0`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-5-0/zp50_random_spawn/function/zp_random_spawn_do
- Line: 24

##### Syntax

```pawn
native zp_random_spawn_do(id, csdmspawns = true)
```

##### Description

Moves a player to a random spawn point.

##### Parameters

- `id`: Player index.
- `csdmspawns`: Ue CSDM spawn points instead of map defaults.

## zombie plague next / api_json_settings.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings
- Group: zombie plague next
- Functions: 16
- Documented constants: 0

### Functions

#### json_setting_get_bool

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_get_bool
- Line: 70

##### Syntax

```pawn
native bool:json_setting_get_bool(const file_name_path[], const section[], const key[], &bool:bool_value, const bool:check_type = true);
```

##### Description

Returns the boolean value of the key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `bool_value`: bool return variable
- `check_type`: false to not check if the value is bool

##### Return

true if the section and key exists, false otherwise

#### json_setting_get_float

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_get_float
- Line: 97

##### Syntax

```pawn
native bool:json_setting_get_float(const file_name_path[], const section[], const key[], &Float:float_value, const bool:check_type = true);
```

##### Description

Returns the float value of the key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `float_value`: float return variable
- `check_type`: false to not check if the value is float

##### Return

true if the section and key exists, false otherwise

#### json_setting_get_float_arr

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_get_float_arr
- Line: 206

##### Syntax

```pawn
native bool:json_setting_get_float_arr(const file_name_path[], const section[], const key[], Array:array_value = Invalid_Array, const bool:check_type = true);
```

##### Description

Returns the array float value of the key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `array_value`: array float return variable
- `check_type`: false to not check if the value is array

##### Return

true if the section and key exists, false otherwise

#### json_setting_get_int

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_get_int
- Line: 43

##### Syntax

```pawn
native bool:json_setting_get_int(const file_name_path[], const section[], const key[], &int_value, const bool:check_type = true);
```

##### Description

Returns the integer value of the key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `int_value`: integer return variable
- `check_type`: false to not check if the value is int

##### Return

true if the section and key exists, false otherwise

#### json_setting_get_int_arr

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_get_int_arr
- Line: 152

##### Syntax

```pawn
native bool:json_setting_get_int_arr(const file_name_path[], const section[], const key[], Array:array_value = Invalid_Array, const bool:check_type = true);
```

##### Description

Returns the array int value of the key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `array_value`: array int return variable
- `check_type`: false to not check if the value is array

##### Return

true if the section and key exists, false otherwise

#### json_setting_get_string

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_get_string
- Line: 125

##### Syntax

```pawn
native bool:json_setting_get_string(const file_name_path[], const section[], const key[], buffer[], len, const bool:check_type = true);
```

##### Description

Returns the string value of the key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `buffer`: buffer to copy value to
- `len`: maximum size of the buffer
- `check_type`: false to not check if the value is string

##### Return

true if the section and key exists, false otherwise

#### json_setting_get_string_arr

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_get_string_arr
- Line: 179

##### Syntax

```pawn
native bool:json_setting_get_string_arr(const file_name_path[], const section[], const key[], Array:array_value = Invalid_Array, const bool:check_type = true);
```

##### Description

Returns the array string value of the key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `array_value`: array string return variable
- `check_type`: false to not check if the value is array

##### Return

true if the section and key exists, false otherwise

#### json_setting_remove_key

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_remove_key
- Line: 30

##### Syntax

```pawn
native bool:json_setting_remove_key(const file_name_path[], const section[], const key[]);
```

##### Description

Remove the key from section

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key to remove

##### Return

true if the section and key was found and removed, false otherwise

#### json_setting_remove_section

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_remove_section
- Line: 19

##### Syntax

```pawn
native bool:json_setting_remove_section(const file_name_path[], const section[]);
```

##### Description

Removes the section and all its keys

##### Parameters

- `file_name_path`: .json file path
- `section`: section name

##### Return

true if the section was found and removed, false otherwise

#### json_setting_set_bool

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_set_bool
- Line: 84

##### Syntax

```pawn
native bool:json_setting_set_bool(const file_name_path[], const section[], const key[], bool:bool_value, const bool:replace = false, const bool:check_type = true);
```

##### Description

Defines an boolean value for key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `bool_value`: bool value for key
- `replace`: true to always replace the key value
- `check_type`: false to not check if the value is bool

##### Return

true if the key was added or replaced successfully, false otherwise

#### json_setting_set_float

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_set_float
- Line: 111

##### Syntax

```pawn
native bool:json_setting_set_float(const file_name_path[], const section[], const key[], Float:float_value, const bool:replace = false, const bool:check_type = true);
```

##### Description

Defines an float value for key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `float_value`: float value for key
- `replace`: true to always replace the key value
- `check_type`: false to not check if the value is float

##### Return

true if the key was added or replaced successfully, false otherwise

#### json_setting_set_float_arr

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_set_float_arr
- Line: 220

##### Syntax

```pawn
native bool:json_setting_set_float_arr(const file_name_path[], const section[], const key[], Array:array_value = Invalid_Array, const bool:replace = false, const bool:check_type = true);
```

##### Description

Defines an array float value for key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `array_value`: array float values for key
- `replace`: true to always replace the key value
- `check_type`: false to not check if the value is array

##### Return

true if the key was added or replaced successfully, false otherwise

#### json_setting_set_int

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_set_int
- Line: 57

##### Syntax

```pawn
native bool:json_setting_set_int(const file_name_path[], const section[], const key[], int_value, const bool:replace = false, const bool:check_type = true);
```

##### Description

Defines an integer value for key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `int_value`: integer value for key
- `replace`: true to always replace the key value
- `check_type`: false to not check if the value is int

##### Return

true if the key was added or replaced successfully, false otherwise

#### json_setting_set_int_arr

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_set_int_arr
- Line: 166

##### Syntax

```pawn
native bool:json_setting_set_int_arr(const file_name_path[], const section[], const key[], Array:array_value = Invalid_Array, const bool:replace = false, const bool:check_type = true);
```

##### Description

Defines an array int value for key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `array_value`: array int values for key
- `replace`: true to always replace the key value
- `check_type`: false to not check if the value is array

##### Return

true if the key was added or replaced successfully, false otherwise

#### json_setting_set_string

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_set_string
- Line: 139

##### Syntax

```pawn
native bool:json_setting_set_string(const file_name_path[], const section[], const key[], buffer[], const bool:replace = false, const bool:check_type = true);
```

##### Description

Defines an string value for key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `buffer`: string value for key
- `replace`: true to always replace the key value
- `check_type`: false to not check if the value is string

##### Return

true if the key was added or replaced successfully, false otherwise

#### json_setting_set_string_arr

- Include: `api_json_settings.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/api_json_settings/function/json_setting_set_string_arr
- Line: 193

##### Syntax

```pawn
native bool:json_setting_set_string_arr(const file_name_path[], const section[], const key[], Array:array_value = Invalid_Array, const bool:replace = false, const bool:check_type = true);
```

##### Description

Defines an array string value for key

##### Parameters

- `file_name_path`: .json file path
- `section`: section name
- `key`: key name
- `array_value`: array string values for key
- `replace`: true to always replace the key value
- `check_type`: false to not check if the value is array

##### Return

true if the key was added or replaced successfully, false otherwise

## zombie plague next / zombie_plague_next.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next
- Group: zombie plague next
- Functions: 42
- Documented constants: 0

### Functions

#### zpn_item_selected_post

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_item_selected_post
- Line: 91

##### Syntax

```pawn
forward zpn_item_selected_post(const this, const item_id);
```

##### Description

Called after a client selects an extra item from the buy menu.

##### Parameters

- `this`: Client index
- `item_id`: Extra item index

##### Return

This function has no return value.

#### zpn_round_started_post

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_round_started_post
- Line: 126

##### Syntax

```pawn
forward zpn_round_started_post(const gamemode_id);
```

##### Description

Called after a round has started and the game mode was selected.

##### Parameters

- `gamemode_id`: Current game mode index

##### Return

This function has no return value.

#### zpn_user_frozen_post

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_user_frozen_post
- Line: 37

##### Syntax

```pawn
forward zpn_user_frozen_post(const this);
```

##### Description

Called after a client has been frozen.

##### Parameters

- `this`: Client index

##### Return

This function has no return value.

#### zpn_user_frozen_pre

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_user_frozen_pre
- Line: 28

##### Syntax

```pawn
forward zpn_user_frozen_pre(const this);
```

##### Description

Called before a client is frozen.

##### Parameters

- `this`: Client index

##### Return

ZPN_RETURN_CONTINUE to allow the freeze
ZPN_RETURN_HANDLED or higher to block it

#### zpn_user_humanized_post

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_user_humanized_post
- Line: 117

##### Syntax

```pawn
forward zpn_user_humanized_post(const this, const class_id);
```

##### Description

Called after a client has been humanized and the human class was applied.

##### Parameters

- `this`: Humanized client index
- `class_id`: Applied human class index

##### Return

This function has no return value.

#### zpn_user_humanized_pre

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_user_humanized_pre
- Line: 107

##### Syntax

```pawn
forward zpn_user_humanized_pre(const this, const class_id);
```

##### Description

Called before a client is humanized and receives the human class.

##### Parameters

- `this`: Client index being humanized
- `class_id`: Human class index that will be applied

##### Note

The forwarded integer parameters can be changed with
zpn_set_fw_param_int().

##### Note

Parameter ids used by zpn_set_fw_param_int() in this forward:
1 - humanized client index
2 - human class index

##### Return

This function has no return value.

#### zpn_user_infect_attempt

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_user_infect_attempt
- Line: 81

##### Syntax

```pawn
forward zpn_user_infect_attempt(const this, const infector, const class_id);
```

##### Description

Called before the infection pre-forward.

##### Parameters

- `this`: Client index being infected
- `infector`: Infector client index, or 0 if there is no direct infector
- `class_id`: Zombie class index selected for the infection

##### Note

Return ZPN_RETURN_HANDLED or higher to block the infection before any
class data is applied.

##### Return

ZPN_RETURN_CONTINUE to allow the infection
ZPN_RETURN_HANDLED or higher to block it

#### zpn_user_infected_post

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_user_infected_post
- Line: 66

##### Syntax

```pawn
forward zpn_user_infected_post(const this, const infector, const class_id);
```

##### Description

Called after a client has been infected and the zombie class was applied.

##### Parameters

- `this`: Infected client index
- `infector`: Infector client index, or 0 if there was no direct infector
- `class_id`: Applied zombie class index

##### Return

This function has no return value.

#### zpn_user_infected_pre

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_user_infected_pre
- Line: 55

##### Syntax

```pawn
forward zpn_user_infected_pre(const this, const infector, const class_id);
```

##### Description

Called before a client is infected and receives the zombie class.

##### Parameters

- `this`: Client index being infected
- `infector`: Infector client index, or 0 if there is no direct infector
- `class_id`: Zombie class index that will be applied

##### Note

The forwarded integer parameters can be changed with
zpn_set_fw_param_int().

##### Note

Parameter ids used by zpn_set_fw_param_int() in this forward:
1 - infected client index
2 - infector client index
3 - zombie class index

##### Return

This function has no return value.

#### zpn_class_array_size

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_class_array_size
- Line: 263

##### Syntax

```pawn
native zpn_class_array_size();
```

##### Description

Returns the number of registered classes.

##### Return

Number of classes registered in the class storage

#### zpn_class_find

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_class_find
- Line: 256

##### Syntax

```pawn
native zpn_class_find(const class_find_name[]);
```

##### Description

Finds a class by its configured find name.

##### Parameters

- `class_find_name`: Find name to search for

##### Note

The name is matched against PROP_CLASS_REGISTER_FIND_NAME.

##### Return

Class index if found, -1 otherwise

#### zpn_class_get_prop

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_class_get_prop
- Line: 180

##### Syntax

```pawn
native any:zpn_class_get_prop(const class_id, ePropClassRegisters:prop, any:...);
```

##### Description

Retrieves a class property.

##### Parameters

- `class_id`: Class index
- `prop`: Property to retrieve, from ePropClassRegisters
- `...`: Output buffer and length for string or array properties

##### Note

For string properties, pass an output buffer and its maximum length
after the property id.

##### Note

For array properties, pass an output array and its maximum length after
the property id.

##### Return

Property value for scalar properties, 1 for copied
string/array properties, or 0 if class storage is unavailable

##### Error

If class_id is not a valid class index, an error can be
thrown by the underlying array access.

#### zpn_class_init

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_class_init
- Line: 161

##### Syntax

```pawn
native zpn_class_init(const name[], eClassTypes:type);
```

##### Description

Registers a new class.

##### Parameters

- `name`: Default display name
- `type`: Class type

##### Note

This should be called from plugin_precache().

##### Return

New class index, or -1 on failure

#### zpn_class_random_class_id

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_class_random_class_id
- Line: 149

##### Syntax

```pawn
native zpn_class_random_class_id(eClassTypes:type);
```

##### Description

Returns a random registered class index for the given class type.

##### Parameters

- `type`: Class type

##### Return

Class index

#### zpn_class_set_prop

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_class_set_prop
- Line: 198

##### Syntax

```pawn
native zpn_class_set_prop(const class_id, ePropClassRegisters:prop, any:...);
```

##### Description

Sets a class property.

##### Parameters

- `class_id`: Class index
- `prop`: Property to set, from ePropClassRegisters
- `...`: New property value

##### Note

For model-related properties, call this from plugin_precache() so
models can be precached safely.

##### Note

The expected value type depends on the property. See
ePropClassRegisters in zombie_plague_next_const.inc.

##### Return

1 on success, 0 if class storage is unavailable

##### Error

If class_id is not a valid class index, an error can be
thrown by the underlying array access.

#### zpn_gamemode_array_size

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_gamemode_array_size
- Line: 354

##### Syntax

```pawn
native zpn_gamemode_array_size();
```

##### Description

Returns the number of registered game modes.

##### Return

Number of game modes registered in the game mode storage

#### zpn_gamemode_find

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_gamemode_find
- Line: 295

##### Syntax

```pawn
native zpn_gamemode_find(const gamemode_find_name[]);
```

##### Description

Finds a game mode by its configured find name.

##### Parameters

- `gamemode_find_name`: Find name to search for

##### Note

The name is matched against PROP_GAMEMODE_REGISTER_FIND_NAME.

##### Return

Game mode index if found, -1 otherwise

#### zpn_gamemode_get_prop

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_gamemode_get_prop
- Line: 324

##### Syntax

```pawn
native any:zpn_gamemode_get_prop(const gamemode_id, ePropGameModeRegisters:prop, any:...);
```

##### Description

Retrieves a game mode property.

##### Parameters

- `gamemode_id`: Game mode index
- `prop`: Property to retrieve, from ePropGameModeRegisters
- `...`: Output buffer and length for string or array properties

##### Note

For string properties, pass an output buffer and its maximum length
after the property id.

##### Note

For array properties, pass an output array and its maximum length after
the property id.

##### Return

Property value for scalar properties, 1 for copied
string/array properties, or 0 if game mode storage is
unavailable

##### Error

If gamemode_id is not a valid game mode index, an error can
be thrown by the underlying array access.

#### zpn_gamemode_init

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_gamemode_init
- Line: 304

##### Syntax

```pawn
native zpn_gamemode_init();
```

##### Description

Registers a new game mode.

##### Note

This should be called from plugin_precache().

##### Return

New game mode index

#### zpn_gamemode_set_prop

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_gamemode_set_prop
- Line: 340

##### Syntax

```pawn
native zpn_gamemode_set_prop(const gamemode_id, ePropGameModeRegisters:prop, any:...);
```

##### Description

Sets a game mode property.

##### Parameters

- `gamemode_id`: Game mode index
- `prop`: Property to set, from ePropGameModeRegisters
- `...`: New property value

##### Note

The expected value type depends on the property. See
ePropGameModeRegisters in zombie_plague_next_const.inc.

##### Return

1 on success, 0 if game mode storage is unavailable

##### Error

If gamemode_id is not a valid game mode index, an error can
be thrown by the underlying array access.

#### zpn_get_current_gamemode

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_get_current_gamemode
- Line: 347

##### Syntax

```pawn
native zpn_get_current_gamemode();
```

##### Description

Returns the current game mode.

##### Return

Current game mode index, or -1 if no game mode is available

#### zpn_get_user_current_class

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_get_user_current_class
- Line: 235

##### Syntax

```pawn
native zpn_get_user_current_class(const id);
```

##### Description

Returns the currently applied class for a client.

##### Parameters

- `id`: Client index

##### Return

Current class index, or -1 if the client is not connected

#### zpn_get_user_next_class

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_get_user_next_class
- Line: 226

##### Syntax

```pawn
native zpn_get_user_next_class(const id, eClassTypes:type);
```

##### Description

Returns the class queued by a client for the next class update.

##### Parameters

- `id`: Client index
- `type`: Class type

##### Note

Only CLASS_TEAM_TYPE_ZOMBIE and CLASS_TEAM_TYPE_HUMAN are stored as
queued selectable classes.

##### Return

Queued class index, or -1 if no class is queued, the client
is not connected, or the type is not selectable

#### zpn_get_user_selected_class

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_get_user_selected_class
- Line: 212

##### Syntax

```pawn
native zpn_get_user_selected_class(const id, eClassTypes:type);
```

##### Description

Returns the class selected by a client for the given class type.

##### Parameters

- `id`: Client index
- `type`: Class type

##### Note

Only CLASS_TEAM_TYPE_ZOMBIE and CLASS_TEAM_TYPE_HUMAN are stored as
selectable classes.

##### Return

Selected class index, or -1 if the client is not connected
or the type is not selectable

#### zpn_is_round_started

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_is_round_started
- Line: 488

##### Syntax

```pawn
native bool:zpn_is_round_started();
```

##### Description

Returns whether a ZPN round is currently active.

##### Return

true if the round has started, false otherwise

#### zpn_is_user_class

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_is_user_class
- Line: 245

##### Syntax

```pawn
native bool:zpn_is_user_class(const id, const class_id);
```

##### Description

Returns whether a client currently has the given class applied.

##### Parameters

- `id`: Client index
- `class_id`: Class index to compare against

##### Return

true if the client currently has the class, false otherwise

#### zpn_is_user_freezed

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_is_user_freezed
- Line: 532

##### Syntax

```pawn
native bool:zpn_is_user_freezed(const this);
```

##### Description

Returns whether a client is currently frozen.

##### Parameters

- `this`: Client index

##### Return

true if the client is frozen, false otherwise

#### zpn_is_user_zombie

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_is_user_zombie
- Line: 284

##### Syntax

```pawn
native bool:zpn_is_user_zombie(const id);
```

##### Description

Returns whether a client is currently a zombie.

##### Parameters

- `id`: Client index

##### Return

true if the client is connected and is a zombie, false
otherwise

#### zpn_is_user_zombie_special

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_is_user_zombie_special
- Line: 274

##### Syntax

```pawn
native bool:zpn_is_user_zombie_special(const id);
```

##### Description

Returns whether a client is using a special zombie class.

##### Parameters

- `id`: Client index

##### Return

true if the client is connected, is a zombie, and the
current class type is CLASS_TEAM_TYPE_ZOMBIE_SPECIAL;
false otherwise

#### zpn_item_array_size

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_item_array_size
- Line: 414

##### Syntax

```pawn
native zpn_item_array_size();
```

##### Description

Returns the number of registered extra items.

##### Return

Number of extra items registered in the item storage

#### zpn_item_find

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_item_find
- Line: 407

##### Syntax

```pawn
native zpn_item_find(const item_find_name[]);
```

##### Description

Finds an extra item by its configured find name.

##### Parameters

- `item_find_name`: Find name to search for

##### Note

The name is matched against PROP_ITEM_REGISTER_FIND_NAME.

##### Return

Extra item index if found, -1 otherwise

#### zpn_item_get_prop

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_item_get_prop
- Line: 380

##### Syntax

```pawn
native any:zpn_item_get_prop(const item_id, ePropItemRegisters:prop, any:...);
```

##### Description

Retrieves an extra item property.

##### Parameters

- `item_id`: Extra item index
- `prop`: Property to retrieve, from ePropItemRegisters
- `...`: Output buffer and length for string properties

##### Note

For string properties, pass an output buffer and its maximum length
after the property id.

##### Return

Property value for scalar properties, 1 for copied string
properties, or 0 if item storage is unavailable

##### Error

If item_id is not a valid extra item index, an error can be
thrown by the underlying array access.

#### zpn_item_init

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_item_init
- Line: 363

##### Syntax

```pawn
native zpn_item_init();
```

##### Description

Registers a new extra item.

##### Note

This should be called from plugin_precache().

##### Return

New extra item index

#### zpn_item_set_prop

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_item_set_prop
- Line: 396

##### Syntax

```pawn
native zpn_item_set_prop(const item_id, ePropItemRegisters:prop, any:...);
```

##### Description

Sets an extra item property.

##### Parameters

- `item_id`: Extra item index
- `prop`: Property to set, from ePropItemRegisters
- `...`: New property value

##### Note

The expected value type depends on the property. See
ePropItemRegisters in zombie_plague_next_const.inc.

##### Return

1 on success, 0 if item storage is unavailable

##### Error

If item_id is not a valid extra item index, an error can be
thrown by the underlying array access.

#### zpn_player_data_get_prop

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_player_data_get_prop
- Line: 430

##### Syntax

```pawn
native any:zpn_player_data_get_prop(const player, ePropPlayerDataRegisters:prop, any:...);
```

##### Description

Retrieves a client data property.

##### Parameters

- `player`: Client index
- `prop`: Property to retrieve, from ePropPlayerDataRegisters
- `...`: Reserved for future property-specific outputs

##### Note

This is a low-level accessor. Prefer the specific helper natives when
one exists for the value you need.

##### Return

Property value, or 1 if the property is not handled

##### Error

If player is not within the valid client range, an error can
be thrown by the underlying array access.

#### zpn_player_data_set_prop

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_player_data_set_prop
- Line: 448

##### Syntax

```pawn
native zpn_player_data_set_prop(const player, ePropPlayerDataRegisters:prop, any:...);
```

##### Description

Sets a client data property.

##### Parameters

- `player`: Client index
- `prop`: Property to set, from ePropPlayerDataRegisters
- `...`: New property value

##### Note

This is a low-level accessor. Prefer the specific helper natives when
one exists for the value you need.

##### Note

The expected value type depends on the property. See
ePropPlayerDataRegisters in zombie_plague_next_const.inc.

##### Return

1 on success

##### Error

If player is not within the valid client range, an error can
be thrown by the underlying array access.

#### zpn_print_color

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_print_color
- Line: 481

##### Syntax

```pawn
native zpn_print_color(const id, const sender, const msg[], any:...);
```

##### Description

Sends a prefixed colored chat message.

##### Parameters

- `id`: Client index, or 0 for all clients
- `sender`: Client index or print_team_* constant used for team color
- `msg`: Formatting rules
- `...`: Variable number of formatting parameters

##### Note

This wraps client_print_color() and prepends the configured chat prefix.

##### Note

Use 0 as id to send to all connected clients.

##### Return

Number of printed characters

##### Error

If a single client is specified and the index is not within
the range of 1 to MaxClients, an error can be thrown by
client_print_color().

#### zpn_remove_user_frozen

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_remove_user_frozen
- Line: 523

##### Syntax

```pawn
native bool:zpn_remove_user_frozen(const this);
```

##### Description

Removes the frozen state from a client.

##### Parameters

- `this`: Client index

##### Return

true if the unfreeze routine was executed, false otherwise

#### zpn_send_weapon_deploy

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_send_weapon_deploy
- Line: 497

##### Syntax

```pawn
native zpn_send_weapon_deploy(const this);
```

##### Description

Sends the current weapon deploy animation to a client.

##### Parameters

- `this`: Client index

##### Return

1 if the deploy request was sent, 0 otherwise

#### zpn_set_fw_param_int

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_set_fw_param_int
- Line: 140

##### Syntax

```pawn
native zpn_set_fw_param_int(const param, const value);
```

##### Description

Changes an integer parameter value for supported pre-forwards.

##### Parameters

- `param`: Forward parameter id to change
- `value`: New integer value

##### Note

This is intended for mutable ZPN forwards, such as
zpn_user_infected_pre() and zpn_user_humanized_pre().

##### Note

Parameter ids are forward-specific and start at 1.

##### Return

This function has no return value.

#### zpn_set_user_frozen

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_set_user_frozen
- Line: 514

##### Syntax

```pawn
native bool:zpn_set_user_frozen(const this, const Float:time = 3.0, const bool:reset_time = false, const bool:play_sound = true);
```

##### Description

Freezes a client for a limited time.

##### Parameters

- `this`: Client index
- `time`: Freeze duration in seconds
- `reset_time`: Whether an existing freeze task should be replaced
- `play_sound`: Whether a freeze sound should be played

##### Note

This calls zpn_user_frozen_pre() before applying the frozen state and
zpn_user_frozen_post() after the state is applied.

##### Note

The time value is clamped internally between 0.1 and 60.0 seconds.

##### Return

true if the client was frozen, false if the forward blocked
the freeze

#### zpn_set_user_zombie

- Include: `zombie_plague_next.inc`
- Group: `zombie plague next`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next/function/zpn_set_user_zombie
- Line: 463

##### Syntax

```pawn
native bool:zpn_set_user_zombie(const this, const attacker, bool:set_first = false);
```

##### Description

Infects a client and applies the selected zombie class.

##### Parameters

- `this`: Client index to infect
- `attacker`: Infector client index, or 0 if there is no direct infector
- `set_first`: Whether the client should be marked as the first zombie

##### Note

This calls zpn_user_infect_attempt(), zpn_user_infected_pre(), and
zpn_user_infected_post() when the infection is not blocked.

##### Return

true on successful infection, false if the client is not
alive or the infection was blocked

## zombie plague next / zombie_plague_next_const.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next_const
- Group: zombie plague next
- Functions: 4
- Documented constants: 12

### Constants

#### zpn_is_valid_player_alive

zpn_is_valid_player_alive

```pawn
#define zpn_is_valid_player_alive(%1) (1 <= %1 <= MaxClients && is_user_alive(%1) && is_user_connected(%1))
```

#### zpn_is_valid_player_connected

zpn_is_valid_player_connected

```pawn
#define zpn_is_valid_player_connected(%1) (1 <= %1 <= MaxClients && is_user_connected(%1))
```

#### zpn_is_invalid_array

zpn_is_invalid_array

```pawn
#define zpn_is_invalid_array(%0) (%0 == Invalid_Array || !ArraySize(%0))
```

#### zpn_is_null_string

zpn_is_null_string

```pawn
#define zpn_is_null_string(%0) bool:(%0[0] == EOS)
```

#### Enum starting with ZPN_RETURN_CONTINUE

Enum starting with ZPN_RETURN_CONTINUE

```pawn
enum
{
	ZPN_RETURN_CONTINUE = 333,
	ZPN_RETURN_HANDLED,
	ZPN_RETURN_SUPERCED
}
```

#### eItemTeams

EM VEZ DE USAR ESS ENUM, USAR O ENUM DE eClassTypes para ficar mais dinamico, TROCAR DEPOIS.

```pawn
enum eItemTeams
{
	ITEM_TEAM_ZOMBIE = 0,
	ITEM_TEAM_HUMAN,
}
```

#### eClassTypes

eClassTypes

```pawn
enum eClassTypes
{
	CLASS_TEAM_TYPE_ZOMBIE = 0,
	CLASS_TEAM_TYPE_HUMAN,
	CLASS_TEAM_TYPE_ZOMBIE_SPECIAL,
	CLASS_TEAM_TYPE_HUMAN_SPECIAL,
}
```

#### ePropItemRegisters

ePropItemRegisters

```pawn
enum ePropItemRegisters
{
	PROP_ITEM_REGISTER_NAME = 0, // string
	PROP_ITEM_REGISTER_FIND_NAME, // string
	PROP_ITEM_REGISTER_CMD_BUY, //
	PROP_ITEM_REGISTER_COST, // int
	PROP_ITEM_REGISTER_TEAM, // eItemTeams
	PROP_ITEM_REGISTER_LIMIT_PLAYER_PER_ROUND, // int
	PROP_ITEM_REGISTER_LIMIT_MAX_PER_ROUND, // int
	PROP_ITEM_REGISTER_LIMIT_PER_MAP, // int
	PROP_ITEM_REGISTER_MIN_ZOMBIES, // int
	PROP_ITEM_REGISTER_ALLOW_BUY_SPECIAL_MODS, // bool
	PROP_ITEM_REGISTER_FLAG, // int (flags ADMIN_RCON, etc...)
}
```

#### ePropClassRegisters

ePropClassRegisters

```pawn
enum ePropClassRegisters
{
	PROP_CLASS_REGISTER_TYPE = 0, // eClassesType
	PROP_CLASS_REGISTER_NAME, // string
	PROP_CLASS_REGISTER_INFO, // string
	PROP_CLASS_REGISTER_MODEL, // string
	PROP_CLASS_REGISTER_MODEL_VIEW, // string
	PROP_CLASS_REGISTER_BODY, // int
	PROP_CLASS_REGISTER_HEALTH, // float
	PROP_CLASS_REGISTER_ARMOR, // float
	PROP_CLASS_REGISTER_SPEED, // float
	PROP_CLASS_REGISTER_GRAVITY, // float
	PROP_CLASS_REGISTER_KNOCKBACK, // float
	PROP_CLASS_REGISTER_CLAW_WEAPONLIST, // string
	PROP_CLASS_REGISTER_SKIN, // int
	PROP_CLASS_REGISTER_FIND_NAME, // string,
	PROP_CLASS_REGISTER_NV_COLOR, // string, hex format: #ff0000
	PROP_CLASS_REGISTER_NV_COLOR_CONVERTED, // array [3]
	PROP_CLASS_REGISTER_HIDE_MENU, // bool
	PROP_CLASS_REGISTER_UPDATE_HITBOX, // bool
	PROP_CLASS_REGISTER_MODEL_INDEX, // int
	PROP_CLASS_REGISTER_BLOOD_COLOR, // int
	PROP_CLASS_REGISTER_SILENT_FOOTSTEPS, // bool
	PROP_CLASS_REGISTER_LIMIT, // int
	PROP_CLASS_REGISTER_LEVEL, // int
}
```

#### eGameModeDeathMatchTypes

eGameModeDeathMatchTypes

```pawn
enum eGameModeDeathMatchTypes
{
	GAMEMODE_DEATHMATCH_DISABLED = 0,
	GAMEMODE_DEATHMATCH_ONLY_TR,
	GAMEMODE_DEATHMATCH_ONLY_CT,
	GAMEMODE_DEATHMATCH_RANDOM,
	GAMEMODE_DEATHMATCH_BALANCE,
}
```

#### ePropGameModeRegisters

ePropGameModeRegisters

```pawn
enum ePropGameModeRegisters
{
	PROP_GAMEMODE_REGISTER_NAME = 0, // string
	PROP_GAMEMODE_REGISTER_NOTICE, // string
	PROP_GAMEMODE_REGISTER_HUD_COLOR, // string, hex format: #ff0000
	PROP_GAMEMODE_REGISTER_HUD_COLOR_CONVERTED, // array [3]
	PROP_GAMEMODE_REGISTER_CHANCE, // int
	PROP_GAMEMODE_REGISTER_MIN_PLAYERS, // int
	PROP_GAMEMODE_REGISTER_ROUND_TIME, // float
	PROP_GAMEMODE_REGISTER_CHANGE_CLASS, // bool
	PROP_GAMEMODE_REGISTER_DEATHMATCH, // eGameModeDeathMatchTypes
	PROP_GAMEMODE_REGISTER_RESPAWN_TIME, // float
	PROP_GAMEMODE_REGISTER_FIND_NAME, // string
}
```

#### ePropPlayerDataRegisters

ePropPlayerDataRegisters

```pawn
enum ePropPlayerDataRegisters
{
	PROP_PD_REGISTER_CURRENT_SELECTED_ZOMBIE_CLASS, // int
	PROP_PD_REGISTER_CURRENT_SELECTED_HUMAN_CLASS, // int
	PROP_PD_REGISTER_IS_ZOMBIE, // bool
	PROP_PD_REGISTER_IS_FIRST_ZOMBIE, // bool
	PROP_PD_REGISTER_PRIMARY_WEAPON, // int
	PROP_PD_REGISTER_SECONDARY_WEAPON, // int
	PROP_PD_REGISTER_CLASS_TIMEOUT, // float
	PROP_PD_REGISTER_LAST_LEAP_TIMEOUT, // float
	PROP_PD_REGISTER_IS_LAST_HUMAN,
	PROP_PD_REGISTER_NV_ON, // bool
	PROP_PD_REGISTER_NV_SPAM, // float
	PROP_PD_REGISTER_AMMO_PACKS, // int
	PROP_PD_REGISTER_DMG_DEALT, // float
	PROP_PD_REGISTER_NEXT_ZOMBIE_CLASS, // int
	PROP_PD_REGISTER_NEXT_HUMAN_CLASS, // int
	PROP_PD_REGISTER_CURRENT_TEMP_ZOMBIE_CLASS, // int
	PROP_PD_REGISTER_CURRENT_TEMP_HUMAN_CLASS, // int
	PROP_PD_REGISTER_LEVEL, // int
	PROP_PD_REGISTER_IS_FREEZED, // bool
}
```

### Functions

#### __parse_hex_color

- Include: `zombie_plague_next_const.inc`
- Group: `zombie plague next`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next_const/function/__parse_hex_color
- Line: 162

##### Syntax

```pawn
stock __parse_hex_color(const c)
```

##### Description

This function has no description.

#### create_slug

- Include: `zombie_plague_next_const.inc`
- Group: `zombie plague next`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next_const/function/create_slug
- Line: 135

##### Syntax

```pawn
stock create_slug(const input[], output[], maxlen)
```

##### Description

This function has no description.

#### parse_hex_color

- Include: `zombie_plague_next_const.inc`
- Group: `zombie plague next`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next_const/function/parse_hex_color
- Line: 151

##### Syntax

```pawn
stock bool:parse_hex_color(const hexColor[], rgb[3])
```

##### Description

This function has no description.

#### precache_player_model

- Include: `zombie_plague_next_const.inc`
- Group: `zombie plague next`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-next/zombie_plague_next_const/function/precache_player_model
- Line: 167

##### Syntax

```pawn
stock precache_player_model(const modelname[])
```

##### Description

This function has no description.

## zombie plague special 4.5 / amx_settings_api.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api
- Group: zombie plague special 4.5
- Functions: 12
- Documented constants: 0

### Functions

#### amx_load_setting_float

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_load_setting_float
- Line: 25

##### Syntax

```pawn
native amx_load_setting_float(const filename[], const section[], const key[], &Float:float_value)
```

##### Description

This function has no description.

#### amx_load_setting_float_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_load_setting_float_arr
- Line: 19

##### Syntax

```pawn
native amx_load_setting_float_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_load_setting_int

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_load_setting_int
- Line: 23

##### Syntax

```pawn
native amx_load_setting_int(const filename[], const section[], const key[], &integer_value)
```

##### Description

This function has no description.

#### amx_load_setting_int_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_load_setting_int_arr
- Line: 17

##### Syntax

```pawn
native amx_load_setting_int_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_load_setting_string

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_load_setting_string
- Line: 21

##### Syntax

```pawn
native amx_load_setting_string(const filename[], const section[], const key[], setting_string[], len)
```

##### Description

This function has no description.

#### amx_load_setting_string_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_load_setting_string_arr
- Line: 15

##### Syntax

```pawn
native amx_load_setting_string_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_save_setting_float

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_save_setting_float
- Line: 26

##### Syntax

```pawn
native amx_save_setting_float(const filename[], const section[], const key[], Float:float_value)
```

##### Description

This function has no description.

#### amx_save_setting_float_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_save_setting_float_arr
- Line: 20

##### Syntax

```pawn
native amx_save_setting_float_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_save_setting_int

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_save_setting_int
- Line: 24

##### Syntax

```pawn
native amx_save_setting_int(const filename[], const section[], const key[], integer_value)
```

##### Description

This function has no description.

#### amx_save_setting_int_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_save_setting_int_arr
- Line: 18

##### Syntax

```pawn
native amx_save_setting_int_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

#### amx_save_setting_string

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_save_setting_string
- Line: 22

##### Syntax

```pawn
native amx_save_setting_string(const filename[], const section[], const key[], const setting_string[])
```

##### Description

This function has no description.

#### amx_save_setting_string_arr

- Include: `amx_settings_api.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/amx_settings_api/function/amx_save_setting_string_arr
- Line: 16

##### Syntax

```pawn
native amx_save_setting_string_arr(const filename[], const section[], const key[], Array:array_handle)
```

##### Description

This function has no description.

## zombie plague special 4.5 / zombie_plague_special.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special
- Group: zombie plague special 4.5
- Functions: 222
- Documented constants: 4

### Constants

#### Untitled constant

Untitled constant

```pawn
#pragma deprecated Use zpsp_register_gamemode(const name[], flags, chance, allow, dm_mode, resp_limit=0, enable_in_ze=0, uselang=0, const langkey[]="ITEM_LANG_DEFAULT_KEY") instead.
```

##### Deprecated

This function are update your functions

#### Untitled constant

Untitled constant

```pawn
#pragma deprecated Use zp_set_user_extra_damage(victim, attacker, damage, weaponDescription[], dmg_dealth = 0) instead.
```

##### Deprecated

This function are update your functions

#### Untitled constant

Untitled constant

```pawn
#pragma deprecated Use zpsp_override_user_model(id, const model, body=0, skin=0, modelindex=0)
```

##### Deprecated

This function are update your functions

#### Untitled constant

Untitled constant

```pawn
#pragma deprecated Use zp_set_param_string(const string[])
```

##### Deprecated

This function are update your functions

### Functions

#### zp_extra_item_selected

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_extra_item_selected
- Line: 1797

##### Syntax

```pawn
forward zp_extra_item_selected(id, itemid);
```

##### Description

Called when a player buys an extra item from the ZP menu.

##### Parameters

- `id`: Player index of purchaser.
- `itemid`: Internal extra item ID.

##### Note

You can now return ZP_PLUGIN_HANDLED in your plugin to block
the purchase and the player will be automatically refunded.

#### zp_extra_item_selected_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_extra_item_selected_pre
- Line: 1809

##### Syntax

```pawn
forward zp_extra_item_selected_pre(id, itemid);
```

##### Description

Called while player are choosing item

##### Parameters

- `id`: Player index
- `classid`: Extra item index

##### Note

Use the ZP_PLUGIN_HANDLED for block option (Like ZP 5.0)

##### Note

Use the ZP_PLUGIN_SUPERCEDE for block showing item in menu

##### Note

Use 'zp_extra_item_textadd' for add a small text description

#### zp_fw_deploy_weapon

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_fw_deploy_weapon
- Line: 1994

##### Syntax

```pawn
forward zp_fw_deploy_weapon(id, weaponid);
```

##### Description

Called when user deploy an weapon

##### Note

Use ZP_PLUGIN_HANDLED for allow zombie to use this weapon

#### zp_fw_sound_play

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_fw_sound_play
- Line: 1977

##### Syntax

```pawn
forward zp_fw_sound_play(sound[], is_mp3);
```

##### Description

Called when plays any ambience sound

##### Parameters

- `sound`: Sound to play
- `is_mp3`: Is sound an mp3?

##### Note

Works only with zp sounds

##### Note

Use ZP_PLUGIN_HANDLED for block it

##### Note

You can use 'zp_set_param_string'

#### zp_fw_sound_stop

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_fw_sound_stop
- Line: 1986

##### Syntax

```pawn
forward zp_fw_sound_stop();
```

##### Description

Called when stop all sounds

##### Note

Works only with zp sounds

##### Note

Use ZP_PLUGIN_HANDLED for block it

#### zp_game_mode_selected

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_game_mode_selected
- Line: 1758

##### Syntax

```pawn
forward zp_game_mode_selected(gameid, id);
```

##### Description

Called when an admin selects a custom game mode from the ZP admin menu.

##### Parameters

- `gameid`: Internal custom game mode ID
- `id`: Player index who selected the game mode

##### Note

You should trigger the custom game mode here with out any checks

##### Note

Use ZP_PLUGIN_HANDLED for block it (in selected pre)

#### zp_game_mode_selected_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_game_mode_selected_pre
- Line: 1768

##### Syntax

```pawn
forward zp_game_mode_selected_pre(id, gamemode);
```

##### Description

Called when an admin selects a custom game mode from the ZP admin menu.

##### Parameters

- `id`: Player index who selected the game mode
- `gamemode`: Internal custom game mode ID

##### Note

Use ZP_PLUGIN_HANDLED for block it (in selected pre)

#### zp_human_class_choosed_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_human_class_choosed_post
- Line: 1876

##### Syntax

```pawn
forward zp_human_class_choosed_post(id, classid);
```

##### Description

This function has no description.

#### zp_human_class_choosed_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_human_class_choosed_pre
- Line: 1875

##### Syntax

```pawn
forward zp_human_class_choosed_pre(id, classid);
```

##### Description

Called when open Human Classes menu

##### Parameters

- `id`: Player index.
- `classid`: Human Class index.

##### Note

Use the ZP_PLUGIN_HANDLED for block option (Like ZP 5.0)

##### Note

Use the ZP_PLUGIN_SUPERCEDE for block showing class in menu

#### zp_human_special_choosed_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_human_special_choosed_post
- Line: 1907

##### Syntax

```pawn
forward zp_human_special_choosed_post(id, specialid);
```

##### Description

This function has no description.

#### zp_human_special_choosed_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_human_special_choosed_pre
- Line: 1906

##### Syntax

```pawn
forward zp_human_special_choosed_pre(id, specialid);
```

##### Description

Called when admin make a player to special class from admin menu

##### Parameters

- `id`: Player index.

##### Note

Use the ZP_PLUGIN_HANDLED for block it

#### zp_infected_by_bomb_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_infected_by_bomb_post
- Line: 1928

##### Syntax

```pawn
forward zp_infected_by_bomb_post(victim, attacker);
```

##### Description

This function has no description.

#### zp_infected_by_bomb_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_infected_by_bomb_pre
- Line: 1927

##### Syntax

```pawn
forward zp_infected_by_bomb_pre(victim, attacker);
```

##### Description

Called when user get infected by bomb function

##### Parameters

- `id`: Player Index

##### Note

Use ZP_PLUGIN_SUPERCEDE for block it

#### zp_player_show_hud

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_player_show_hud
- Line: 1964

##### Syntax

```pawn
forward zp_player_show_hud(id, target, SpHudType:hudtype);
```

##### Description

Called when show main/spec hud

##### Parameters

- `id`: Player Index
- `target`: Spec target index
- `hudtype`: Player hudtype index

##### Note

Use ZP_PLUGIN_HANDLED for block show hud

#### zp_player_spawn_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_player_spawn_post
- Line: 1786

##### Syntax

```pawn
forward zp_player_spawn_post(id, resp_zombie);
```

##### Description

Called when a player spawns. This is also called for CZ bots
which are spawning

##### Parameters

- `id`: Player index who has spawned
- `resp_zombie`: This is passed by the main plugin as 1 if
the player needs to be spawned as a zombie
otherwise it is passed as zero

##### Note

You should use this, instead of other spawn forwards,
when you want to change some one's class after spawning.

##### Note

If you have used this forward then you must return
ZP_PLUGIN_HANDLED to inform the main plugin that you have used
this forward

#### zp_round_ended

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_round_ended
- Line: 1717

##### Syntax

```pawn
forward zp_round_ended(winteam);
```

##### Description

Called when the round ends.

##### Parameters

- `winteam`: Team which has won the round.

#### zp_round_started

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_round_started
- Line: 1695

##### Syntax

```pawn
forward zp_round_started(gamemode, id);
```

##### Description

Called when the ZP round starts, i.e. first zombie
is chosen or a game mode begins.

##### Parameters

- `gamemode`: Mode which has started.
- `id`: Affected player's index (if applicable).

#### zp_round_started_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_round_started_pre
- Line: 1710

##### Syntax

```pawn
forward zp_round_started_pre(gameid);
```

##### Description

Called before the ZP round starts. This is only
called for custom game modes.

##### Parameters

- `gameid`: Custom mode id which is called

##### Note

The custom game mode id can be used to start
the game mode externally

##### Note

returning ZP_PLUGIN_HANDLED will cause the
game mode to be blocked and other game modes will
be given a chance.

#### zp_user_burn_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_burn_post
- Line: 1829

##### Syntax

```pawn
forward zp_user_burn_post(id);
```

##### Description

This function has no description.

#### zp_user_burn_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_burn_pre
- Line: 1828

##### Syntax

```pawn
forward zp_user_burn_pre(id);
```

##### Description

Called when player gets burning

##### Parameters

- `id`: Player index

##### Note

Use the ZP_PLUGIN_HANDLED for block user burn

#### zp_user_frozen_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_frozen_post
- Line: 1819

##### Syntax

```pawn
forward zp_user_frozen_post(id);
```

##### Description

This function has no description.

#### zp_user_frozen_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_frozen_pre
- Line: 1818

##### Syntax

```pawn
forward zp_user_frozen_pre(id);
```

##### Description

Called when player gets frozen

##### Parameters

- `id`: Player index

##### Note

Use the ZP_PLUGIN_HANDLED for block user frozen

#### zp_user_humanize_attempt

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_humanize_attempt
- Line: 1747

##### Syntax

```pawn
forward zp_user_humanize_attempt(id, classid, attacker);
```

##### Description

This function has no description.

#### zp_user_humanized_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_humanized_post
- Line: 1737

##### Syntax

```pawn
forward zp_user_humanized_post(id, classid, attacker);
```

##### Description

This function has no description.

#### zp_user_humanized_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_humanized_pre
- Line: 1736

##### Syntax

```pawn
forward zp_user_humanized_pre(id, classid, attacker);
```

##### Description

Called when a player turns back to human.

##### Parameters

- `id`: Player index who was cured.
- `classid`: Special Class index.
- `attacker`: Attacker index

#### zp_user_infect_attempt

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_infect_attempt
- Line: 1746

##### Syntax

```pawn
forward zp_user_infect_attempt(id, infector, classid);
```

##### Description

Called on a player infect/cure attempt. You can use this to block
an infection/humanization by returning ZP_PLUGIN_HANDLED in your plugin.

##### Note

Right now this is only available after the ZP round starts, since some
situations (like blocking a first zombie's infection) are not yet handled.

#### zp_user_infected_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_infected_post
- Line: 1727

##### Syntax

```pawn
forward zp_user_infected_post(id, infector, classid);
```

##### Description

This function has no description.

#### zp_user_infected_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_infected_pre
- Line: 1726

##### Syntax

```pawn
forward zp_user_infected_pre(id, infector, classid);
```

##### Description

Called when a player gets infected.

##### Parameters

- `id`: Player index who was infected.
- `infector`: Player index who infected him (if applicable).
- `classid`: Special class index

#### zp_user_last_human

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_last_human
- Line: 1852

##### Syntax

```pawn
forward zp_user_last_human(id);
```

##### Description

Called when a player becomes the last human.

##### Parameters

- `id`: Player index.

#### zp_user_last_zombie

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_last_zombie
- Line: 1845

##### Syntax

```pawn
forward zp_user_last_zombie(id);
```

##### Description

Called when a player becomes the last zombie.

##### Parameters

- `id`: Player index.

##### Note

This is called for the first zombie too.

#### zp_user_model_change_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_model_change_post
- Line: 1897

##### Syntax

```pawn
forward zp_user_model_change_post(id, model[], body, skin);
```

##### Description

This function has no description.

#### zp_user_model_change_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_model_change_pre
- Line: 1896

##### Syntax

```pawn
forward zp_user_model_change_pre(id, model[], body, skin);
```

##### Description

Execute when player change the model

##### Parameters

- `id`: Player index.

##### Note

Use the ZP_PLUGIN_SUPERCEDE for block it

##### Note

You can use 'zp_set_model_param' for change model on this forward

#### zp_user_rendering_reset_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_rendering_reset_post
- Line: 1886

##### Syntax

```pawn
forward zp_user_rendering_reset_post(id);
```

##### Description

This function has no description.

#### zp_user_rendering_reset_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_rendering_reset_pre
- Line: 1885

##### Syntax

```pawn
forward zp_user_rendering_reset_pre(id);
```

##### Description

Called when player reset render

##### Parameters

- `id`: Player index.

##### Note

Use the ZP_PLUGIN_SUPERCEDE for block it

#### zp_user_unfrozen

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_unfrozen
- Line: 1836

##### Syntax

```pawn
forward zp_user_unfrozen(id);
```

##### Description

Called when a player gets unfrozen (frostnades).

##### Parameters

- `id`: Player index.

#### zp_user_unstuck_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_unstuck_post
- Line: 1939

##### Syntax

```pawn
forward zp_user_unstuck_post(id);
```

##### Description

This function has no description.

#### zp_user_unstuck_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_user_unstuck_pre
- Line: 1938

##### Syntax

```pawn
forward zp_user_unstuck_pre(id);
```

##### Description

Called when user use Unstuck function (In menu)

##### Parameters

- `id`: Player Index

##### Note

Use ZP_PLUGIN_HANDLED for block it

#### zp_weapon_selected_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_weapon_selected_post
- Line: 1952

##### Syntax

```pawn
forward zp_weapon_selected_post(id, wpn_type, weaponid);
```

##### Description

This function has no description.

#### zp_weapon_selected_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_weapon_selected_pre
- Line: 1951

##### Syntax

```pawn
forward zp_weapon_selected_pre(id, wpn_type, weaponid);
```

##### Description

Called when user choose weapon in weapons menu

##### Parameters

- `id`: Player Index
- `wpn_type`: Type of Weapon (Primary/Secondary)
- `weaponid`: Index of Registred Weapon

##### Note

Use ZP_PLUGIN_HANDLED for blocking buy this weapon

#### zp_zombie_class_choosed_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_zombie_class_choosed_post
- Line: 1864

##### Syntax

```pawn
forward zp_zombie_class_choosed_post(id, classid);
```

##### Description

This function has no description.

#### zp_zombie_class_choosed_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_zombie_class_choosed_pre
- Line: 1863

##### Syntax

```pawn
forward zp_zombie_class_choosed_pre(id, classid);
```

##### Description

Called when open Zombie Classes menu

##### Parameters

- `id`: Player index.
- `classid`: Zombie Class index.

##### Note

Use the ZP_PLUGIN_HANDLED for block option (Like ZP 5.0)

##### Note

Use the ZP_PLUGIN_SUPERCEDE for block showing class in menu

#### zp_zombie_special_choosed_post

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_zombie_special_choosed_post
- Line: 1917

##### Syntax

```pawn
forward zp_zombie_special_choosed_post(id, specialid);
```

##### Description

This function has no description.

#### zp_zombie_special_choosed_pre

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `forward`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_zombie_special_choosed_pre
- Line: 1916

##### Syntax

```pawn
forward zp_zombie_special_choosed_pre(id, specialid);
```

##### Description

Called when admin make a player to special class from admin menu

##### Parameters

- `id`: Player index.

##### Note

Use the ZP_PLUGIN_HANDLED for block it

#### zp_add_hud_text

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_add_hud_text
- Line: 1518

##### Syntax

```pawn
native zp_add_hud_text(const text[]);
```

##### Description

Add Text On main/spec hud

##### Parameters

- `text`: Text to display on the hud.

##### Note

Use in 'zp_player_show_hud' forward

##### Return

True if sucess, false if not sucess.

#### zp_disinfect_user

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_disinfect_user
- Line: 162

##### Syntax

```pawn
native zp_disinfect_user(id, silent = 0, attacker = 0);
```

##### Description

Forces a player to become a human.

##### Parameters

- `id`: Player index to be cured.
- `silent`: If set, there will be no HUD messages or antidote sounds.
- `attacker`: Give rewards for possible attacker

##### Note

Unavailable for last default/special zombie

##### Return

True on success, false otherwise.

#### zp_do_random_spawn

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_do_random_spawn
- Line: 1066

##### Syntax

```pawn
native zp_do_random_spawn(id);
```

##### Description

Teleport user to Spawn

##### Parameters

- `id`: Player Index

##### Return

True if sucess / false otherwise

#### zp_drop_weapons

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_drop_weapons
- Line: 1364

##### Syntax

```pawn
native zp_drop_weapons(id, dropwhat = WPN_PRIMARY);
```

##### Description

Drop user weapon from X category

##### Parameters

- `id`: Player Index
- `dropwhat`: Primary (WPN_PRIMARY) / Secondary (WPN_SECONDARY)

##### Return

This function has no return value.

#### zp_extra_item_textadd

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_extra_item_textadd
- Line: 627

##### Syntax

```pawn
native zp_extra_item_textadd(const text[]);
```

##### Description

Add Text On Extra Item (Like ZP 5.0)

##### Parameters

- `text`: Text to display on the item name.

##### Note

Use in 'zp_extra_item_selected_pre' forward

##### Return

True if sucess, false if not sucess.

#### zp_force_buy_extra_item

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_force_buy_extra_item
- Line: 202

##### Syntax

```pawn
native zp_force_buy_extra_item(id, itemid, ignorecost = 0);
```

##### Description

Forces a player to buy an extra item.

##### Parameters

- `id`: Player index.
- `itemid`: A valid extra item ID.
- `ignorecost`: If set, item's cost won't be deduced from player.

##### Return

True on success, false otherwise.

##### Error

If Extra Item index are invalid

#### zp_force_user_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_force_user_class
- Line: 1304

##### Syntax

```pawn
native zp_force_user_class(id, spid, zombie, attacker = 0, sillentmode = 1);
```

##### Description

Force user Special Class without checks

##### Parameters

- `id`: Player Index
- `specialid`: Special Class Index
- `zombie`: Is Zombie or Human?
- `attacker`: Attacker Index
- `sillentmode`: Hide Hud Messages

##### Note

Special/Normal Rounds will not to be started auto, just setting class only

##### Note

Can only force in the base class or special class, cant change for other basic zombie class

##### Return

True if sucess, false otherwise.

##### Error

If Special Class index are invalid

#### zp_get_assassin_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_assassin_count
- Line: 490

##### Syntax

```pawn
native zp_get_assassin_count();
```

##### Description

Returns number of alive assassins.

##### Return

Assassin count.

#### zp_get_berserker_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_berserker_count
- Line: 518

##### Syntax

```pawn
native zp_get_berserker_count();
```

##### Description

Returns number of alive berserkers.

##### Return

Berserker count.

#### zp_get_bombardier_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_bombardier_count
- Line: 504

##### Syntax

```pawn
native zp_get_bombardier_count();
```

##### Description

Returns number of alive bombardiers.

##### Return

bombardier count.

#### zp_get_current_mode

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_current_mode
- Line: 545

##### Syntax

```pawn
native zp_get_current_mode();
```

##### Description

Returns the current game mode ID

##### Note

For default game modes you can use, for eg. MODE_SWARM,
to check if the current round is swarm mode.

##### Note

For custom game modes you must have the custom game
mode ID to detect it

##### Return

Current game mode ID

#### zp_get_current_mode_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_current_mode_name
- Line: 888

##### Syntax

```pawn
native zp_get_current_mode_name(name[], len);
```

##### Description

Get Current mode name

##### Parameters

- `name`: Buffer to copy mode name to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

#### zp_get_custom_extra_start

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_custom_extra_start
- Line: 1227

##### Syntax

```pawn
native zp_get_custom_extra_start(); // Get Custom Extra Item Start ID
```

##### Description

Get Custom Extra Item Start ID

##### Return

Start of Custom Extra item index

#### zp_get_custom_special_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_custom_special_count
- Line: 1022

##### Syntax

```pawn
native zp_get_custom_special_count(is_zombie);
```

##### Description

Get total of instaled custom special classes

##### Parameters

- `is_zombie`: Get count of Zombie Specials or Human Specials (0 - Human | 1 - Zombie)

##### Return

Total instaled special classes

#### zp_get_default_knockback

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_default_knockback
- Line: 1675

##### Syntax

```pawn
native Float:zp_get_default_knockback(id);
```

##### Description

Get user default knockback

##### Return

Default Knockback

#### zp_get_default_unlimited_ammo

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_default_unlimited_ammo
- Line: 1668

##### Syntax

```pawn
native zp_get_default_unlimited_ammo(id);
```

##### Description

Get user default clip mode

##### Return

Default Clip mode

#### zp_get_dragon_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_dragon_count
- Line: 511

##### Syntax

```pawn
native zp_get_dragon_count();
```

##### Description

Returns number of alive dragons.

##### Return

dragon count.

#### zp_get_extra_item_cost

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_extra_item_cost
- Line: 774

##### Syntax

```pawn
native zp_get_extra_item_cost(itemid);
```

##### Description

Get Extra Item Price

##### Parameters

- `itemid`: Extra item index

##### Return

Item Price

##### Error

If Extra Item index are invalid

#### zp_get_extra_item_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_extra_item_count
- Line: 1043

##### Syntax

```pawn
native zp_get_extra_item_count(); // Get Registred Extra Item Count
```

##### Description

Get total of instaled extra itens

##### Return

Total of instaled extra itens

#### zp_get_extra_item_id

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_extra_item_id
- Line: 566

##### Syntax

```pawn
native zp_get_extra_item_id(const name[]);
```

##### Description

Returns an extra item's ID.

##### Parameters

- `name`: Item name to look for.

##### Return

Internal extra item ID, or -1 if not found.

#### zp_get_extra_item_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_extra_item_name
- Line: 785

##### Syntax

```pawn
native zp_get_extra_item_name(itemid, itemname[], len);
```

##### Description

Get Extra Item Name

##### Parameters

- `itemid`: Extra item index
- `itemname`: Buffer to copy item name to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

##### Error

If Extra Item index are invalid

#### zp_get_extra_item_realname

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_extra_item_realname
- Line: 826

##### Syntax

```pawn
native zp_get_extra_item_realname(itemid, realname[], len);
```

##### Description

Get Extra Item Real Name

##### Parameters

- `itemid`: Extra item index
- `itemname`: Buffer to copy real item name to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

##### Error

If Extra Item index are invalid

#### zp_get_gamemode_id

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_gamemode_id
- Line: 1014

##### Syntax

```pawn
native zp_get_gamemode_id(name[]); // Get Game mode index by name
```

##### Description

Get Gamemode index

##### Parameters

- `name`: Real name of gamemode

##### Return

Game mode index

#### zp_get_gamemodes_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_gamemodes_count
- Line: 1029

##### Syntax

```pawn
native zp_get_gamemodes_count(); // Get Registred Custom Game modes count
```

##### Description

Get total of instaled custom gamemodes

##### Return

Total instaled special classes

#### zp_get_hclass_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_hclass_count
- Line: 1604

##### Syntax

```pawn
native zp_get_hclass_count();
```

##### Description

Get total of instaled human classes

##### Return

Total of instaled hclasses

#### zp_get_human_class_id

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_human_class_id
- Line: 1447

##### Syntax

```pawn
native zp_get_human_class_id(const name[]);
```

##### Description

Returns a human class' ID.

##### Parameters

- `name`: Class name to look for.

##### Return

Internal human class ID, or -1 if not found.

#### zp_get_human_class_info

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_human_class_info
- Line: 1466

##### Syntax

```pawn
native zp_get_human_class_info(id, info[], len);
```

##### Description

Get Human Class Description

##### Parameters

- `class`: Human Class index
- `info`: Buffer to copy hclass info to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

##### Error

If Human Class index are invalid

#### zp_get_human_class_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_human_class_name
- Line: 1477

##### Syntax

```pawn
native zp_get_human_class_name(id, name[], len);
```

##### Description

Get Human Class name

##### Parameters

- `class`: Human Class index
- `name`: Buffer to copy hclass name to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

##### Error

If Human Class index are invalid

#### zp_get_human_class_realname

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_human_class_realname
- Line: 1488

##### Syntax

```pawn
native zp_get_human_class_realname(id, realname[], len);
```

##### Description

Get Human Class realname

##### Parameters

- `class`: Human Class index
- `realname`: Buffer to copy hclass realname to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

##### Error

If Human Class index are invalid

#### zp_get_human_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_human_count
- Line: 406

##### Syntax

```pawn
native zp_get_human_count();
```

##### Description

Returns number of alive humans.

##### Return

Human count.

#### zp_get_human_special_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_human_special_class
- Line: 686

##### Syntax

```pawn
native zp_get_human_special_class(id);
```

##### Description

Get User Current Human Special Class

##### Parameters

- `id`: Player Index

##### Return

Special Class index

#### zp_get_last_mode

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_last_mode
- Line: 558

##### Syntax

```pawn
native zp_get_last_mode();
```

##### Description

Returns the last game mode ID

##### Note

For default game modes you can use, for eg. MODE_SWARM,
to check if the last round is swarm mode.

##### Note

For custom game modes you must have the custom game
mode ID to detect it

##### Return

Current game mode ID

#### zp_get_nemesis_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_nemesis_count
- Line: 413

##### Syntax

```pawn
native zp_get_nemesis_count();
```

##### Description

Returns number of alive nemesis.

##### Return

Nemesis count.

#### zp_get_next_human_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_next_human_class
- Line: 1430

##### Syntax

```pawn
native zp_get_next_human_class(id);
```

##### Description

Returns a player's next human class ID (for the next spawn).

##### Parameters

- `id`: Player index.

##### Return

Internal human class ID, or -1 if not yet chosen.

#### zp_get_predator_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_predator_count
- Line: 497

##### Syntax

```pawn
native zp_get_predator_count();
```

##### Description

Returns number of alive predators.

##### Return

predator count.

#### zp_get_random_player

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_random_player
- Line: 1169

##### Syntax

```pawn
native zp_get_random_player(const team = 0);
```

##### Description

Get Random alive player Index

##### Parameters

- `team`: Use (0 - for Both Teams | 1 - for Humans Only | 2 - for Zombies Only);

##### Return

Random player index

#### zp_get_sniper_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_sniper_count
- Line: 483

##### Syntax

```pawn
native zp_get_sniper_count();
```

##### Description

Returns number of alive snipers.

##### Return

Sniper count.

#### zp_get_special_class_id

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_special_class_id
- Line: 996

##### Syntax

```pawn
native zp_get_special_class_id(is_zombie, name[]);
```

##### Description

Get Special Class index

##### Parameters

- `is_zombie`: Is Zombie Special Class or Human Special Class (0 - Human | 1 - Zombie)
- `name`: Special Class Real Name

##### Return

Index of Special Class

#### zp_get_special_class_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_special_class_name
- Line: 1237

##### Syntax

```pawn
native zp_get_special_class_name(id, name[], len);
```

##### Description

Get user Special Class Real Name

##### Parameters

- `id`: Player Index
- `name`: Buffer to copy real class name to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

#### zp_get_special_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_special_count
- Line: 987

##### Syntax

```pawn
native zp_get_special_count(zombie, specialid);
```

##### Description

Get players an X special class

##### Parameters

- `zombie`: Is Zombie Special Class or Human Special Class (0 - Human | 1 - Zombie)
- `specialid`: Special Class Index

##### Note

Recomended to get alive custom specials classes in external plugins

##### Return

Count of all Players in current special class

##### Error

If Special Class index are invalid

#### zp_get_spy_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_spy_count
- Line: 532

##### Syntax

```pawn
native zp_get_spy_count();
```

##### Description

Returns number of alive spys.

##### Return

spy count.

#### zp_get_survivor_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_survivor_count
- Line: 420

##### Syntax

```pawn
native zp_get_survivor_count();
```

##### Description

Returns number of alive survivors.

##### Return

Survivor count.

#### zp_get_user_ammo_packs

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_ammo_packs
- Line: 87

##### Syntax

```pawn
native zp_get_user_ammo_packs(id);
```

##### Description

Returns a player's ammo pack count.

##### Parameters

- `id`: Player index.

##### Return

Number of ammo packs owned.

#### zp_get_user_assassin

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_assassin
- Line: 228

##### Syntax

```pawn
native zp_get_user_assassin(id);
```

##### Description

Returns whether a player is an assassin.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_batteries

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_batteries
- Line: 113

##### Syntax

```pawn
native zp_get_user_batteries(id);
```

##### Description

Returns a player's custom flashlight batteries charge.

##### Parameters

- `id`: Player index.

##### Return

Charge percent (0 to 100).

#### zp_get_user_berserker

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_berserker
- Line: 301

##### Syntax

```pawn
native zp_get_user_berserker(id);
```

##### Description

Returns whether a player is a sniper.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_bombardier

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_bombardier
- Line: 245

##### Syntax

```pawn
native zp_get_user_bombardier(id);
```

##### Description

Returns whether a player is an bombardier.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_burn

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_burn
- Line: 670

##### Syntax

```pawn
native zp_get_user_burn(id);
```

##### Description

Get User burning

##### Parameters

- `id`: Player Index

##### Return

True if burning, false if not.

#### zp_get_user_default_gravity

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_default_gravity
- Line: 1578

##### Syntax

```pawn
native Float:zp_get_user_default_gravity(id);
```

##### Description

Get user current default gravity

##### Parameters

- `id`: Player index

##### Return

User default gravity

#### zp_get_user_default_maxspeed

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_default_maxspeed
- Line: 1682

##### Syntax

```pawn
native Float:zp_get_user_default_maxspeed(id);
```

##### Description

Get user default max speed

##### Return

Default max speed

#### zp_get_user_dragon

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_dragon
- Line: 253

##### Syntax

```pawn
native zp_get_user_dragon(id);
```

##### Description

Returns whether a player is an dragon.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_first_zombie

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_first_zombie
- Line: 38

##### Syntax

```pawn
native zp_get_user_first_zombie(id);
```

##### Description

Returns whether a player is the first zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_frozen

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_frozen
- Line: 662

##### Syntax

```pawn
native zp_get_user_frozen(id);
```

##### Description

Get User Frozen

##### Parameters

- `id`: Player Index

##### Return

True if frozen, false if not.

#### zp_get_user_hud_type

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_hud_type
- Line: 1455

##### Syntax

```pawn
native SpHudType:zp_get_user_hud_type(id);
```

##### Description

Returns a hud type index.

##### Parameters

- `id`: Player index.

##### Return

Hud index if sucess, -1 otherwise.

#### zp_get_user_human_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_human_class
- Line: 1422

##### Syntax

```pawn
native zp_get_user_human_class(id);
```

##### Description

Returns a player's current human class ID.

##### Parameters

- `id`: Player index.

##### Return

Internal human class ID, or -1 if not yet chosen.

#### zp_get_user_infectnade

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_infectnade
- Line: 645

##### Syntax

```pawn
native zp_get_user_infectnade(id);
```

##### Description

Get User Infect bomb

##### Parameters

- `id`: Player Index

##### Return

True if have infection bomb, false if not.

#### zp_get_user_knockback

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_knockback
- Line: 1645

##### Syntax

```pawn
native Float:zp_get_user_knockback(id);
```

##### Description

Get user knockback value

##### Return

Knockback value

#### zp_get_user_last_human

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_last_human
- Line: 54

##### Syntax

```pawn
native zp_get_user_last_human(id);
```

##### Description

Returns whether a player is the last human.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_last_zombie

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_last_zombie
- Line: 46

##### Syntax

```pawn
native zp_get_user_last_zombie(id);
```

##### Description

Returns whether a player is the last zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_madness

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_madness
- Line: 678

##### Syntax

```pawn
native zp_get_user_madness(id);
```

##### Description

Get User Zombie Madness

##### Parameters

- `id`: Player Index

##### Return

True if have zombie madness, false if not.

#### zp_get_user_maxhealth

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_maxhealth
- Line: 1597

##### Syntax

```pawn
native zp_get_user_maxhealth(id);
```

##### Description

Returns the default maximum health of a current class.

##### Parameters

- `id`: Player index.

##### Note

Takes into account first zombie's HP multiplier, base health from special classes.

##### Return

Maximum amount of health points, or -1 otherwise

#### zp_get_user_maxspeed

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_maxspeed
- Line: 730

##### Syntax

```pawn
native Float:zp_get_user_maxspeed(id);
```

##### Description

Get user Maxspeed

##### Parameters

- `id`: Player Index

##### Return

Player Maxspeed

#### zp_get_user_model

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_model
- Line: 757

##### Syntax

```pawn
native zp_get_user_model(id, model[], len);
```

##### Description

Get Player's Model

##### Parameters

- `itemid`: Extra item index
- `model`: Buffer to copy model name to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

#### zp_get_user_nemesis

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_nemesis
- Line: 22

##### Syntax

```pawn
native zp_get_user_nemesis(id);
```

##### Description

Returns whether a player is a nemesis.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_next_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_next_class
- Line: 70

##### Syntax

```pawn
native zp_get_user_next_class(id);
```

##### Description

Returns a player's next zombie class ID (for the next infection).

##### Parameters

- `id`: Player index.

##### Return

Internal zombie class ID, or -1 if not yet chosen.

#### zp_get_user_nightvision

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_nightvision
- Line: 129

##### Syntax

```pawn
native zp_get_user_nightvision(id);
```

##### Description

Returns whether a player has night vision.

##### Parameters

- `id`: Player index.

##### Return

2 if it has enable, 1 if it has but are disable, 0 otherwise.

#### zp_get_user_predator

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_predator
- Line: 237

##### Syntax

```pawn
native zp_get_user_predator(id);
```

##### Description

Returns whether a player is an predator.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_sniper

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_sniper
- Line: 210

##### Syntax

```pawn
native zp_get_user_sniper(id);
```

##### Description

Returns whether a player is a sniper.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_spy

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_spy
- Line: 337

##### Syntax

```pawn
native zp_get_user_spy(id);
```

##### Description

Returns whether a player is a spy

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_survivor

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_survivor
- Line: 30

##### Syntax

```pawn
native zp_get_user_survivor(id);
```

##### Description

Returns whether a player is a survivor.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_unlimited_ammo

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_unlimited_ammo
- Line: 1619

##### Syntax

```pawn
native zp_get_user_unlimited_ammo(id);
```

##### Description

User have an unlimited ammo mode.

##### Return

Unlimited ammo mode (0 - Not have | 1 - Unlimited reloads | 2 - Unlimited clip)

#### zp_get_user_wesker

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_wesker
- Line: 319

##### Syntax

```pawn
native zp_get_user_wesker(id);
```

##### Description

Returns whether a player is a sniper.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_zombie

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_zombie
- Line: 14

##### Syntax

```pawn
native zp_get_user_zombie(id);
```

##### Description

Returns whether a player is a zombie.

##### Parameters

- `id`: Player index.

##### Return

True if it is, false otherwise.

#### zp_get_user_zombie_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_user_zombie_class
- Line: 62

##### Syntax

```pawn
native zp_get_user_zombie_class(id);
```

##### Description

Returns a player's current zombie class ID.

##### Parameters

- `id`: Player index.

##### Return

Internal zombie class ID, or -1 if not yet chosen.

#### zp_get_weapon_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_weapon_name
- Line: 1119

##### Syntax

```pawn
native zp_get_weapon_name(wpn_type, weaponid, name[], len);
```

##### Description

Get Weapon name

##### Parameters

- `wpn_type`: Type of Weapon (Primary/Secondary)
- `weaponid`: Weapon Index
- `name`: Buffer to copy wpn name to
- `len`: Maximum length of buffer

##### Return

True if sucess / false otherwise

##### Error

If Weapon index are invalid

#### zp_get_weapon_realname

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_weapon_realname
- Line: 1131

##### Syntax

```pawn
native zp_get_weapon_realname(wpn_type, weaponid, name[], len);
```

##### Description

Get Weapon real name

##### Parameters

- `wpn_type`: Type of Weapon (Primary/Secondary)
- `weaponid`: Weapon Index
- `name`: Buffer to copy wpn real name to
- `len`: Maximum length of buffer

##### Return

True if sucess / false otherwise

##### Error

If Weapon index are invalid

#### zp_get_wesker_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_wesker_count
- Line: 525

##### Syntax

```pawn
native zp_get_wesker_count();
```

##### Description

Returns number of alive weskers.

##### Return

wesker count.

#### zp_get_zclass_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_zclass_count
- Line: 1036

##### Syntax

```pawn
native zp_get_zclass_count();
```

##### Description

Get total of instaled zombie classes

##### Return

Total of instaled zclasses

#### zp_get_zombie_class_id

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_zombie_class_id
- Line: 574

##### Syntax

```pawn
native zp_get_zombie_class_id(const name[]);
```

##### Description

Returns a zombie class' ID.

##### Parameters

- `name`: Class name to look for.

##### Return

Internal zombie class ID, or -1 if not found.

#### zp_get_zombie_class_info

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_zombie_class_info
- Line: 859

##### Syntax

```pawn
native zp_get_zombie_class_info(class, info[], len);
```

##### Description

Get Zombie Class Description

##### Parameters

- `class`: Zombie Class index
- `info`: Buffer to copy zclass name to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

##### Error

If Zombie Class index are invalid

#### zp_get_zombie_class_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_zombie_class_name
- Line: 837

##### Syntax

```pawn
native zp_get_zombie_class_name(class, name[], len);
```

##### Description

Get Zombie Class Name

##### Parameters

- `class`: Zombie Class index
- `name`: Buffer to copy zclass name to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

##### Error

If Zombie Class index are invalid

#### zp_get_zombie_class_realname

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_zombie_class_realname
- Line: 848

##### Syntax

```pawn
native zp_get_zombie_class_realname(class, realname[], len);
```

##### Description

Get Zombie Class Real Name

##### Parameters

- `class`: Zombie Class index
- `name`: Buffer to copy zclass real name to
- `len`: Maximum length of buffer

##### Return

True if sucess, false otherwise

##### Error

If Zombie Class index are invalid

#### zp_get_zombie_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_zombie_count
- Line: 399

##### Syntax

```pawn
native zp_get_zombie_count();
```

##### Description

Returns number of alive zombies.

##### Return

Zombie count.

#### zp_get_zombie_maxhealth

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_zombie_maxhealth
- Line: 105

##### Syntax

```pawn
native zp_get_zombie_maxhealth(id);
```

##### Description

Returns the default maximum health of a zombie.

##### Parameters

- `id`: Player index.

##### Note

Takes into account first zombie's HP multiplier.

##### Return

Maximum amount of health points, or -1 if not a normal zombie.

#### zp_get_zombie_special_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_get_zombie_special_class
- Line: 694

##### Syntax

```pawn
native zp_get_zombie_special_class(id);
```

##### Description

Get User Current Zombie Special Class

##### Parameters

- `id`: Player Index

##### Return

Special Class index

#### zp_give_item

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_give_item
- Line: 1374

##### Syntax

```pawn
native zp_give_item(id, const item[], ammo=0);
```

##### Description

Give item

##### Parameters

- `id`: Player Index
- `item`: Item name (Not Extra Item)
- `ammo`: Give ammunation

##### Return

true if sucess / false otherwise

#### zp_has_round_ended

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_has_round_ended
- Line: 895

##### Syntax

```pawn
native zp_has_round_ended();
```

##### Description

Returns whether the ZP round has ended

##### Return

True if ended, false if not ended

#### zp_has_round_started

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_has_round_started
- Line: 357

##### Syntax

```pawn
native zp_has_round_started();
```

##### Description

Returns whether the ZP round has started, i.e. first zombie
has been chosen or a game mode has begun.

##### Return

0 - Round not started
1 - Round started
2 - Round starting

#### zp_infect_user

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_infect_user
- Line: 150

##### Syntax

```pawn
native zp_infect_user(id, infector = 0, silent = 0, rewards = 0);
```

##### Description

Forces a player to become a zombie.

##### Parameters

- `id`: Player index to be infected.
- `infector`: Player index who infected him (optional).
- `silent`: If set, there will be no HUD messages or infection sounds.
- `rewards`: Whether to show DeathMsg and reward frags, hp, and ammo packs to infector.

##### Note

Unavailable for last default/special human.

##### Return

True on success, false otherwise.

#### zp_is_assassin_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_assassin_round
- Line: 434

##### Syntax

```pawn
native zp_is_assassin_round();
```

##### Description

Returns whether the current round is a assassin round.

##### Return

True if it is, false otherwise.

#### zp_is_berserker_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_berserker_round
- Line: 462

##### Syntax

```pawn
native zp_is_berserker_round();
```

##### Description

Returns whether the current round is a berserker round.

##### Return

True if it is, false otherwise.

#### zp_is_bombardier_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_bombardier_round
- Line: 448

##### Syntax

```pawn
native zp_is_bombardier_round();
```

##### Description

Returns whether the current round is a bombardier round.

##### Return

True if it is, false otherwise.

#### zp_is_dragon_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_dragon_round
- Line: 455

##### Syntax

```pawn
native zp_is_dragon_round();
```

##### Description

Returns whether the current round is a dragon round.

##### Return

True if it is, false otherwise.

#### zp_is_escape_map

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_escape_map
- Line: 1050

##### Syntax

```pawn
native zp_is_escape_map();
```

##### Description

Get Current map is a Zombie Escape's Map

##### Return

True if yes / false if not

#### zp_is_gamemode_enable

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_gamemode_enable
- Line: 1210

##### Syntax

```pawn
native zp_is_gamemode_enable(modeid);
```

##### Description

Gamemode are enable?

##### Parameters

- `gameid`: Game mode index

##### Return

True if yes / false otherwise

##### Error

If Gamemode index are invalid

#### zp_is_lnj_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_lnj_round
- Line: 392

##### Syntax

```pawn
native zp_is_lnj_round();
```

##### Description

Returns whether the current round is a Armageddon round.

##### Return

True if it is, false otherwise.

#### zp_is_nemesis_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_nemesis_round
- Line: 364

##### Syntax

```pawn
native zp_is_nemesis_round();
```

##### Description

Returns whether the current round is a nemesis round.

##### Return

True if it is, false otherwise.

#### zp_is_plague_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_plague_round
- Line: 385

##### Syntax

```pawn
native zp_is_plague_round();
```

##### Description

Returns whether the current round is a plague round.

##### Return

True if it is, false otherwise.

#### zp_is_predator_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_predator_round
- Line: 441

##### Syntax

```pawn
native zp_is_predator_round();
```

##### Description

Returns whether the current round is a predator round.

##### Return

True if it is, false otherwise.

#### zp_is_sniper_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_sniper_round
- Line: 427

##### Syntax

```pawn
native zp_is_sniper_round();
```

##### Description

Returns whether the current round is a sniper round.

##### Return

True if it is, false otherwise.

#### zp_is_special_class_enable

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_special_class_enable
- Line: 1220

##### Syntax

```pawn
native zp_is_special_class_enable(is_zm, classid);
```

##### Description

Special class are enable?

##### Parameters

- `is_zm`: Is a Zombie Special Class Index? (1 - Yes | 0 - Not)
- `classid`: Special Class index

##### Return

True if yes / false otherwise

##### Error

If Special Class index are invalid

#### zp_is_spy_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_spy_round
- Line: 476

##### Syntax

```pawn
native zp_is_spy_round();
```

##### Description

Returns whether the current round is a spy round.

##### Return

True if it is, false otherwise.

#### zp_is_survivor_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_survivor_round
- Line: 371

##### Syntax

```pawn
native zp_is_survivor_round();
```

##### Description

Returns whether the current round is a survivor round.

##### Return

True if it is, false otherwise.

#### zp_is_swarm_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_swarm_round
- Line: 378

##### Syntax

```pawn
native zp_is_swarm_round();
```

##### Description

Returns whether the current round is a swarm round.

##### Return

True if it is, false otherwise.

#### zp_is_user_stuck

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_user_stuck
- Line: 1058

##### Syntax

```pawn
native zp_is_user_stuck(id);
```

##### Description

Get user Stucks

##### Parameters

- `id`: Player Index

##### Return

True if yes / false if not

#### zp_is_wesker_round

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_is_wesker_round
- Line: 469

##### Syntax

```pawn
native zp_is_wesker_round();
```

##### Description

Returns whether the current round is a wesker round.

##### Return

True if it is, false otherwise.

#### zp_make_user_assassin

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_assassin
- Line: 263

##### Syntax

```pawn
native zp_make_user_assassin(id);
```

##### Description

Forces a player to become a assassin.

##### Parameters

- `id`: Player index to turn into assassin.

##### Note

Unavailable for last human/survivor/sniper.

##### Return

True on success, false otherwise.

#### zp_make_user_berserker

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_berserker
- Line: 311

##### Syntax

```pawn
native zp_make_user_berserker(id);
```

##### Description

Forces a player to become a berserker.

##### Parameters

- `id`: Player index to turn into berserker.

##### Note

Unavailable for last zombie/special zombie.

##### Return

True on success, false otherwise.

#### zp_make_user_bombardier

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_bombardier
- Line: 283

##### Syntax

```pawn
native zp_make_user_bombardier(id);
```

##### Description

Forces a player to become a bombardier.

##### Parameters

- `id`: Player index to turn into bombardier.

##### Note

Unavailable for last human/survivor/sniper.

##### Return

True on success, false otherwise.

#### zp_make_user_dragon

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_dragon
- Line: 293

##### Syntax

```pawn
native zp_make_user_dragon(id);
```

##### Description

Forces a player to become a dragon.

##### Parameters

- `id`: Player index to turn into dragon.

##### Note

Unavailable for last human/survivor/sniper.

##### Return

True on success, false otherwise.

#### zp_make_user_nemesis

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_nemesis
- Line: 172

##### Syntax

```pawn
native zp_make_user_nemesis(id);
```

##### Description

Forces a player to become a nemesis.

##### Parameters

- `id`: Player index to turn into nemesis.

##### Note

Unavailable for last default/special human

##### Return

True on success, false otherwise.

#### zp_make_user_predator

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_predator
- Line: 273

##### Syntax

```pawn
native zp_make_user_predator(id);
```

##### Description

Forces a player to become a predator.

##### Parameters

- `id`: Player index to turn into predator.

##### Note

Unavailable for last human/survivor/sniper.

##### Return

True on success, false otherwise.

#### zp_make_user_sniper

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_sniper
- Line: 220

##### Syntax

```pawn
native zp_make_user_sniper(id);
```

##### Description

Forces a player to become a sniper.

##### Parameters

- `id`: Player index to turn into sniper.

##### Note

Unavailable for last zombie/special zombie.

##### Return

True on success, false otherwise.

#### zp_make_user_special

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_special
- Line: 975

##### Syntax

```pawn
native zp_make_user_special(id, spid, zombie);
```

##### Description

Make player an X special class

##### Parameters

- `id`: Player index
- `spid`: Special Class Index
- `zombie`: Is Zombie Special Class or Human Special Class (0 - Human | 1 - Zombie)

##### Note

Recomended to make custom specials classes in external plugins

##### Return

True if sucess, false otherwise

##### Error

If Special Class index are invalid

#### zp_make_user_spy

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_spy
- Line: 347

##### Syntax

```pawn
native zp_make_user_spy(id);
```

##### Description

Forces a player to become a spy.

##### Parameters

- `id`: Player index to turn into spy.

##### Note

Unavailable for last zombie/special zombie.

##### Return

True on success, false otherwise.

#### zp_make_user_survivor

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_survivor
- Line: 182

##### Syntax

```pawn
native zp_make_user_survivor(id);
```

##### Description

Forces a player to become a survivor.

##### Parameters

- `id`: Player index to turn into survivor.

##### Note

Unavailable for last zombie/nemesis.

##### Return

True on success, false otherwise.

#### zp_make_user_wesker

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_make_user_wesker
- Line: 329

##### Syntax

```pawn
native zp_make_user_wesker(id);
```

##### Description

Forces a player to become a wesker.

##### Parameters

- `id`: Player index to turn into wesker.

##### Note

Unavailable for last zombie/special zombie.

##### Return

True on success, false otherwise.

#### zp_menu_textadd

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_menu_textadd
- Line: 1612

##### Syntax

```pawn
native zp_menu_textadd(const text[]);
```

##### Description

Add Text On menu (Like ZP 5.0)

##### Parameters

- `text`: Text to display on the zombie class name.

##### Return

True if sucess, false if not sucess.

#### zp_override_user_model

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_override_user_model
- Line: 907

##### Syntax

```pawn
native zp_override_user_model(id, const newmodel[], modelindex = 0);
```

##### Description

This function has no description.

#### zp_register_extra_item

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_extra_item
- Line: 617

##### Syntax

```pawn
native zp_register_extra_item(const name[], cost, teams);
```

##### Description

Registers a custom item which will be added to the extra items menu of ZP.

##### Parameters

- `name`: Caption to display on the menu.
- `cost`: Ammo packs to be deducted on purchase.
- `teams`: Bitsum of teams it should be available for.

##### Note

The returned extra item ID can be later used to catch item
purchase events for the zp_extra_item_selected() forward.

##### Note

ZP_TEAM_NEMESIS, ZP_TEAM_SURVIVOR, ZP_TEAM_ASSASSIN, ZP_TEAM_SNIPER and ZP_TEAM_BERSERKER
can be used to make an item available to Nemesis,
Survivors, Assassins, Snipers and Berserkers.

##### Return

An internal extra item ID, or -1 on failure.

##### Error

If Extra Item name alterady exists

#### zp_register_game_mode

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_game_mode
- Line: 599

##### Syntax

```pawn
native zp_register_game_mode(const name[], flags, chance, allow, dm_mode);
```

##### Description

This function has no description.

#### zp_register_gamemode_ambience

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_gamemode_ambience
- Line: 1560

##### Syntax

```pawn
native zp_register_gamemode_ambience(gamemode, const sound[], Float:Duration, enable=1);
```

##### Description

Register Custom Gamemode ambience sound

##### Parameters

- `gamemode`: Gamemode index
- `sound`: Ambience sound
- `Duration`: Ambience duration
- `enable`: Enable by default?

##### Return

True if sucess, false otherwise

##### Error

If gamemode index are invalid

#### zp_register_hclass_model

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_hclass_model
- Line: 1414

##### Syntax

```pawn
native zp_register_hclass_model(classid, player_model[], body=0, skin=0);
```

##### Description

Register a Human class model.

##### Parameters

- `class`: Human Class index
- `player_model`: Human Class Model
- `body`: Human Class body
- `skin`: Human Class skin

##### Return

True if sucess, false otherwise

##### Error

If Human class index are invalid

#### zp_register_human_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_human_class
- Line: 1402

##### Syntax

```pawn
native zp_register_human_class(const name[], const info[], hp, armor, speed, Float:gravity, use_lang=0, const name_lang_key[]="ITEM_LANG_DEFAULT_KEY", const info_lang_key[]="ITEM_LANG_DEFAULT_KEY");
```

##### Description

Registers a custom class which will be added to the human classes menu of ZP.

##### Parameters

- `name`: Caption to display on the menu.
- `info`: Brief description of the class.
- `hp`: Initial health points. (0 - Use default human health)
- `armor`: User armor.
- `speed`: Maximum speed.
- `gravity`: Gravity multiplier.
- `uselang`: Use lang in class name/description?
- `name_lang_key`: Class name Lang key in .txt lang file
- `info_lang_key`: Class Description Lang key in .txt lang file

##### Note

The returned human class ID can be later used to identify
the class when calling the zp_get_user_human_class() natives.

##### Return

Human class index.

##### Error

If Human Class real Name Alterady Exists

#### zp_register_human_special

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_human_special
- Line: 962

##### Syntax

```pawn
native zp_register_human_special(const name[], const model[], hp, speed, Float:gravity, flags, clip_type, aura_radius, glow, r, g, b);
```

##### Description

Registers a custom human special class which will be added to the admin menu of ZP.

##### Parameters

- `name`: Caption to display on the menu/hud.
- `model`: Player model to be used.
- `hp`: Initial health points.
- `speed`: Maximum speed.
- `gravity`: Gravity multiplier.
- `flags`: Acess Flag to convert
- `clip_type`: 0 - Normal Clip | 1 - Unlimited Ammo | 2 - Unlimited Clip
- `aura_radius`: Aura Radius Size.
- `glow`: Have Glow?
- `r`: 
- `g`: Special Class Aura/Nvision/Glow RGB Color
- `b`: 

##### Note

The returned special class ID can be later used to identify
the class when calling the zp_get_human_special_class() natives.

##### Return

An internal special class ID, or -1 on failure.

##### Error

If Special Class name alterady exists

#### zp_register_start_gamemode_snd

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_start_gamemode_snd
- Line: 1570

##### Syntax

```pawn
native zp_register_start_gamemode_snd(gamemode, const sound[]);
```

##### Description

Register Custom Gamemode round start sound

##### Parameters

- `gamemode`: Gamemode index
- `sound`: Round start sound

##### Return

True if sucess, false otherwise

##### Error

If gamemode index are invalid

#### zp_register_weapon

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_weapon
- Line: 1099

##### Syntax

```pawn
native zp_register_weapon(const name[], wpn_type, uselang=0, const langkey[]="ITEM_LANG_DEFAULT_KEY");
```

##### Description

Register Custom Weapon in Weapon Choose Menu

##### Parameters

- `name`: Weapon Name
- `wpn_type`: Primary or Secondary
- `uselang`: Use lang in weapon name
- `langkey`: Weapon name Lang key in .txt lang file

##### Return

True if sucess / false otherwise

#### zp_register_zclass_deathsnd

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_zclass_deathsnd
- Line: 1538

##### Syntax

```pawn
native zp_register_zclass_deathsnd(classid, const sound[]);
```

##### Description

Register Zombie Class custom death sound

##### Parameters

- `classid`: Zombie Class index
- `sound`: Death sound

##### Return

True if sucess, false otherwise

##### Error

If Zombie Class index are invalid

#### zp_register_zclass_painsnd

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_zclass_painsnd
- Line: 1528

##### Syntax

```pawn
native zp_register_zclass_painsnd(classid, const sound[]);
```

##### Description

Register Zombie Class custom pain sound

##### Parameters

- `classid`: Zombie Class index
- `sound`: Pain sound

##### Return

True if sucess, false otherwise

##### Error

If Zombie Class index are invalid

#### zp_register_zmspecial_deathsnd

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_zmspecial_deathsnd
- Line: 1548

##### Syntax

```pawn
native zp_register_zmspecial_deathsnd(classid, const sound[]);
```

##### Description

Register Custom Special Zombie custom death sound

##### Parameters

- `classid`: Special Zombie Class index
- `sound`: Death sound

##### Return

True if sucess, false otherwise

##### Error

If Custom Special Zombie index are invalid

#### zp_register_zombie_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_zombie_class
- Line: 1288

##### Syntax

```pawn
native zp_register_zombie_class(const name[], const info[], const model[], const clawmodel[], hp, speed, Float:gravity, Float:knockback);
```

##### Description

Registers a custom class which will be added to the zombie classes menu of ZP.

##### Parameters

- `name`: Caption to display on the menu.
- `info`: Brief description of the class.
- `model`: Player model to be used.
- `clawmodel`: Claws model to be used.
- `hp`: Initial health points.
- `speed`: Maximum speed.
- `gravity`: Gravity multiplier.
- `knockback`: Knockback multiplier.

##### Note

The returned zombie class ID can be later used to identify
the class when calling the zp_get_user_zombie_class() natives.

##### Return

An internal zombie class ID, or -1 on failure.

##### Error

If Zombie Class real Name Alterady Exists

#### zp_register_zombie_special

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_register_zombie_special
- Line: 938

##### Syntax

```pawn
native zp_register_zombie_special(const name[], const model[], const knifemodel[], const pain_sound[], hp, speed, Float:gravity, flags, Float:knockback, aura_radius, glow, r, g, b);
```

##### Description

Registers a custom zombie special class which will be added to the admin menu of ZP.

##### Parameters

- `name`: Caption to display on the menu/hud.
- `model`: Player model to be used.
- `knifemodel`: Knife model to be used.
- `pain_sound`: Pain sound to be used
- `hp`: Initial health points.
- `speed`: Maximum speed.
- `gravity`: Gravity multiplier.
- `flags`: Acess Flag to convert
- `knockback`: Knockback multiplier.
- `aura_radius`: Aura Radius Size.
- `glow`: Have Glow?
- `r`: 
- `g`: Special Class Aura/Nvision/Glow RGB Color
- `b`: 

##### Note

The returned special class ID can be later used to identify
the class when calling the zp_get_zombie_special_class() natives.

##### Return

An internal special class ID, or -1 on failure.

##### Error

If Special Class name alterady exists

#### zp_reload_csdm_respawn

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_reload_csdm_respawn
- Line: 1073

##### Syntax

```pawn
native zp_reload_csdm_respawn();
```

##### Description

Reload repawn files/entitys

##### Return

True if sucess / false otherwise

#### zp_reset_lighting

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_reset_lighting
- Line: 1088

##### Syntax

```pawn
native zp_reset_lighting();
```

##### Description

Reset to default lighting

##### Return

True if sucess / false otherwise

#### zp_reset_player_model

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_reset_player_model
- Line: 765

##### Syntax

```pawn
native zp_reset_player_model(id);
```

##### Description

Reset user Model

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise

#### zp_reset_user_knockback

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_reset_user_knockback
- Line: 1661

##### Syntax

```pawn
native zp_reset_user_knockback(id);
```

##### Description

Reset user knockback value

##### Return

Knockback value

#### zp_reset_user_maxspeed

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_reset_user_maxspeed
- Line: 747

##### Syntax

```pawn
native zp_reset_user_maxspeed(id);
```

##### Description

Reset user Maxspeed

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise

#### zp_reset_user_rendering

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_reset_user_rendering
- Line: 722

##### Syntax

```pawn
native zp_reset_user_rendering(id);
```

##### Description

Reset player Render

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise

#### zp_reset_user_unlimited_ammo

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_reset_user_unlimited_ammo
- Line: 1638

##### Syntax

```pawn
native zp_reset_user_unlimited_ammo(id);
```

##### Description

Reset user clip mode

##### Return

True if sucess, false otherwise

#### zp_respawn_user

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_respawn_user
- Line: 191

##### Syntax

```pawn
native zp_respawn_user(id, team);
```

##### Description

Respawns a player into a specific team.

##### Parameters

- `id`: Player index to be respawned.
- `team`: Team to respawn the player into (ZP_TEAM_ZOMBIE or ZP_TEAM_HUMAN).

##### Return

True on success, false otherwise.

#### zp_set_custom_game_mod

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_custom_game_mod
- Line: 1006

##### Syntax

```pawn
native zp_set_custom_game_mod(gameid);
```

##### Description

Forces Start Custom Mod without checks

##### Parameters

- `gameid`: Custom game mode index

##### Note

This command are available only for custom modes in external plugins

##### Return

True if sucess, false otherwise

#### zp_set_extra_damage

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_extra_damage
- Line: 901

##### Syntax

```pawn
native zp_set_extra_damage(victim, attacker, damage, weaponDescription[]); // Set User Extra Damage (Like Superhero Mod);
```

##### Description

This function has no description.

#### zp_set_extra_item_cost

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_extra_item_cost
- Line: 795

##### Syntax

```pawn
native zp_set_extra_item_cost(itemid, cost);
```

##### Description

Change Extra Item Price

##### Parameters

- `itemid`: Extra item index
- `cost`: New Price for Extra item

##### Return

True if sucess, false otherwise

##### Error

If Extra Item index are invalid

#### zp_set_extra_item_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_extra_item_name
- Line: 805

##### Syntax

```pawn
native zp_set_extra_item_name(itemid, const newname[]);	// Change Extra Item Name
```

##### Description

Change Extra Item Name

##### Parameters

- `itemid`: Extra item index
- `newname`: New Name for Extra item

##### Return

True if sucess, false otherwise

##### Error

If Extra Item index are invalid

#### zp_set_extra_item_team

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_extra_item_team
- Line: 815

##### Syntax

```pawn
native zp_set_extra_item_team(itemid, team); // Change Extra Item Team
```

##### Description

Change Extra Item Team

##### Parameters

- `itemid`: Extra item index
- `team`: New Team for Extra item

##### Return

True if sucess, false otherwise

##### Error

If Extra Item index are invalid

#### zp_set_fw_param_int

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_fw_param_int
- Line: 1345

##### Syntax

```pawn
native zp_set_fw_param_int(int_id, value);
```

##### Description

Set Int Parameter on some forwards

##### Parameters

- `int_id`: Int Param Index
- `value`: New Value

##### Return

1

#### zp_set_human_class_info

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_human_class_info
- Line: 1498

##### Syntax

```pawn
native zp_set_human_class_info(class, newinfo[]);
```

##### Description

Set Human Class Description

##### Parameters

- `class`: Human Class index
- `newinfo`: New description

##### Return

True if sucess, false otherwise

##### Error

If Human Class index are invalid

#### zp_set_human_class_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_human_class_name
- Line: 1508

##### Syntax

```pawn
native zp_set_human_class_name(class, newname[]);
```

##### Description

Set Human Class name

##### Parameters

- `class`: Human Class index
- `newname`: New name

##### Return

True if sucess, false otherwise

##### Error

If Human Class index are invalid

#### zp_set_lighting

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_lighting
- Line: 1081

##### Syntax

```pawn
native zp_set_lighting(const light[]);
```

##### Description

Set Current map Lighting

##### Parameters

- `light`: Light Flag (Example: "a" - Full Darkness, "z" - Full lighting)

##### Return

True if sucess / false otherwise

#### zp_set_model_param

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_model_param
- Line: 913

##### Syntax

```pawn
native zp_set_model_param(const string[]);
```

##### Description

This function has no description.

#### zp_set_next_game_mode

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_next_game_mode
- Line: 1201

##### Syntax

```pawn
native zp_set_next_game_mode(gameid); // Start Game mode in a next round
```

##### Description

Set Gamemode for start on next round

##### Parameters

- `gameid`: Game mode index

##### Return

True if sucess / false otherwise

##### Error

If Gamemode index are invalid

#### zp_set_param_string

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_param_string
- Line: 1180

##### Syntax

```pawn
native zp_set_param_string(const string[]);
```

##### Description

Set string parameter.

##### Parameters

- `string`: String

##### Note

Can't change param when the some plugin use native 'zp_override_user_model' (only in 'zp_user_model_change_pre' forward).

##### Note

You can use only in 'zp_user_model_change_pre' and 'zp_fw_sound_play' forwards only.

##### Return

True

#### zp_set_user_ammo_packs

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_ammo_packs
- Line: 95

##### Syntax

```pawn
native zp_set_user_ammo_packs(id, amount);
```

##### Description

Sets a player's ammo pack count.

##### Parameters

- `id`: Player index.
- `amount`: New quantity of ammo packs owned.

#### zp_set_user_batteries

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_batteries
- Line: 121

##### Syntax

```pawn
native zp_set_user_batteries(id, charge);
```

##### Description

Sets a player's custom flashlight batteries charge.

##### Parameters

- `id`: Player index.
- `value`: New charge percent (0 to 100).

#### zp_set_user_burn

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_burn
- Line: 1324

##### Syntax

```pawn
native zp_set_user_burn(id, set, Float:Duration = -1.0);
```

##### Description

Set Player Burning

##### Parameters

- `id`: Player Index
- `set`: Use UNSET for unburn, SET for burn or SET_WITHOUT_IMMUNITY for burn players with Burning immunity
- `Duration`: Burning duration, Use -1.0 for default duration

##### Return

Return true if burn or unburn with sucess

#### zp_set_user_extra_damage

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_extra_damage
- Line: 1269

##### Syntax

```pawn
native zp_set_user_extra_damage(victim, attacker, damage, weaponDescription[], dmg_dealth = 0); // Set User Extra Damage (Like Superhero Mod);
```

##### Description

Like a zp_set_extra_damage native but with damage dealth in function

##### Parameters

- `victim`: Player Index that receive damage
- `attacker`: Player Index that attack (and receive rewards)
- `damage`: Value of Damage (Not float)
- `weaponDescription`: Damage Description (Or Weapon name)
- `dmg_dealth`: Allow Damage Dealth Reward (1 - Yes, 0 - No)

##### Note

zp_set_user_extra_damage(victim, attacker, dmg, "Bazzoka", 1)
can be used to damage victim and with damage dealth rewards

##### Return

0 - If damage not seted | 1 - If Success maked damage

#### zp_set_user_frozen

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_frozen
- Line: 1314

##### Syntax

```pawn
native zp_set_user_frozen(id, set, Float:Duration = -1.0);
```

##### Description

Set Player Frozen

##### Parameters

- `id`: Player Index
- `set`: Use UNSET for unfrost, SET for frost or SET_WITHOUT_IMMUNITY for frost players with frost immunity
- `Duration`: Frost duration, Use -1.0 for default duration

##### Return

Return true if frost or unfrost with sucess

#### zp_set_user_gravity

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_gravity
- Line: 1587

##### Syntax

```pawn
native zp_set_user_gravity(id, Float:Gravity);
```

##### Description

Change user gravity

##### Parameters

- `id`: Player index
- `Gravity`: New Gravity (-1.0 to reset a default gravity)

##### Return

True if sucess, false otherwise

#### zp_set_user_human_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_human_class
- Line: 1439

##### Syntax

```pawn
native zp_set_user_human_class(id, classid);
```

##### Description

Sets a player's next human class ID (for the next spawn).

##### Parameters

- `id`: Player index.
- `classid`: A valid human class ID.

##### Return

True on success, false otherwise.

#### zp_set_user_infectnade

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_infectnade
- Line: 654

##### Syntax

```pawn
native zp_set_user_infectnade(id, set); // Give/Remove User Infect bomb
```

##### Description

Set User Infect bomb

##### Parameters

- `id`: Player Index
- `set`: 1 - Give user a infection bomb | 0 - Remove user infection bomb

##### Return

True if sucess, false if not.

#### zp_set_user_knockback

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_knockback
- Line: 1654

##### Syntax

```pawn
native zp_set_user_knockback(id, Float:amount);
```

##### Description

Sets a player's unlimited ammo.

##### Parameters

- `id`: Affected player's index.
- `amount`: New knockback value

##### Return

True if sucess, false otherwise

#### zp_set_user_madness

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_madness
- Line: 1355

##### Syntax

```pawn
native zp_set_user_madness(id, set, Float:Duration = -1.0);
```

##### Description

Set Player Zombie Madness

##### Parameters

- `id`: Player Index
- `set`: Use UNSET for remove madness, SET for give zombie madness
- `Duration`: Madness duration, Use -1.0 for default duration

##### Return

Return true if frost or unfrost with sucess

#### zp_set_user_maxspeed

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_maxspeed
- Line: 739

##### Syntax

```pawn
native zp_set_user_maxspeed(id, Float:Speed); // Change user Current maxspeed
```

##### Description

Set user Maxspeed

##### Parameters

- `id`: Player Index
- `Speed`: New Player Maxspeed

##### Return

True if sucess, false otherwise

#### zp_set_user_nightvision

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_nightvision
- Line: 137

##### Syntax

```pawn
native zp_set_user_nightvision(id, set);
```

##### Description

Sets whether a player has night vision.

##### Parameters

- `id`: Player index.
- `set`: True to give, false for removing it.

#### zp_set_user_rendering

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_rendering
- Line: 714

##### Syntax

```pawn
native zp_set_user_rendering(index, fx = kRenderFxNone, r = 0, g = 0, b = 0, render = kRenderNormal, amount = 0);
```

##### Description

Sets rendering options of an user (Compatibility with handle models separate ent in older versions).

##### Parameters

- `index`: Player index
- `fx`: Rendering effect
- `r`: Red component of rendering color
- `g`: Green component of rendering color
- `b`: Blue component of rendering color
- `render`: Rendering mode
- `amount`: Rendering amount

##### Note

For a list of valid rendering effects see the kRenderFx* constants in
amxconst.inc

##### Note

For a list of valid rendering modes see the kRender* constants in
amxconst.inc

##### Return

True if sucess, false otherwise

#### zp_set_user_unlimited_ammo

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_unlimited_ammo
- Line: 1631

##### Syntax

```pawn
native zp_set_user_unlimited_ammo(id, set);
```

##### Description

Sets a player's unlimited ammo.

##### Parameters

- `id`: Affected player's index.
- `set`: 0 off
1 unlimited reloads
2 unlimited clip

##### Return

True if sucess, false otherwise

#### zp_set_user_zombie_class

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_user_zombie_class
- Line: 79

##### Syntax

```pawn
native zp_set_user_zombie_class(id, classid);
```

##### Description

Sets a player's next zombie class ID (for the next infection).

##### Parameters

- `id`: Player index.
- `classid`: A valid zombie class ID.

##### Return

True on success, false otherwise.

#### zp_set_weapon_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_weapon_name
- Line: 1142

##### Syntax

```pawn
native zp_set_weapon_name(wpn_type, weaponid, name[]);
```

##### Description

Change Weapon name

##### Parameters

- `wpn_type`: Type of Weapon (Primary/Secondary)
- `weaponid`: Weapon Index
- `name`: New Name

##### Return

True if sucess / false otherwise

##### Error

If Weapon index are invalid

#### zp_set_zombie_class_info

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_zombie_class_info
- Line: 869

##### Syntax

```pawn
native zp_set_zombie_class_info(class, newinfo[]);
```

##### Description

Set Zombie Class Description

##### Parameters

- `class`: Zombie Class index
- `newinfo`: New description

##### Return

True if sucess, false otherwise

##### Error

If Zombie Class index are invalid

#### zp_set_zombie_class_name

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_set_zombie_class_name
- Line: 879

##### Syntax

```pawn
native zp_set_zombie_class_name(class, newname[]);
```

##### Description

Set Zombie Class name

##### Parameters

- `class`: Zombie Class index
- `newname`: New name

##### Return

True if sucess, false otherwise

##### Error

If Zombie Class index are invalid

#### zp_start_game_mod

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_start_game_mod
- Line: 1192

##### Syntax

```pawn
native zp_start_game_mod(gameid, force_start = 0);
```

##### Description

Start a Game mode

##### Parameters

- `gameid`: Game mode index
- `force_start`: Start after Round Started (1-Yes | 0-No)

##### Note

Works with any game mode

##### Return

True if sucess / false otherwise

##### Error

If Gamemode index are invalid

#### zp_strip_user_weapons

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_strip_user_weapons
- Line: 1382

##### Syntax

```pawn
native zp_strip_user_weapons(id);
```

##### Description

Strip all user weapons

##### Parameters

- `id`: Player Index

##### Return

true if sucess / false otherwise

#### zp_weapon_count

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_weapon_count
- Line: 1161

##### Syntax

```pawn
native zp_weapon_count(wpn_type, skip_def_custom);
```

##### Description

Get Weapon Count (of type)

##### Parameters

- `wpn_type`: Type of Weapon (Primary/Secondary)
- `skip_def_custom`: Count what (0 - All Weapons (of Type); | 1 - Only Custom | 2 - Only Default)

##### Return

Num of weapons from X category

#### zp_weapon_is_custom

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_weapon_is_custom
- Line: 1152

##### Syntax

```pawn
native zp_weapon_is_custom(wpn_type, weaponid);
```

##### Description

Weapon from Weapons menu are internal (from main plugin) or external plugin

##### Parameters

- `wpn_type`: Type of Weapon (Primary/Secondary)
- `weaponid`: Weapon Index

##### Return

True if yes / false otherwise

##### Error

If Weapon index are invalid

#### zp_weapon_menu_textadd

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_weapon_menu_textadd
- Line: 1107

##### Syntax

```pawn
native zp_weapon_menu_textadd(const text[]);
```

##### Description

Add menu text in weapon menu

##### Parameters

- `text`: Text

##### Return

True if sucess / false otherwise

#### zp_zombie_class_textadd

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zp_zombie_class_textadd
- Line: 637

##### Syntax

```pawn
native zp_zombie_class_textadd(const text[]);
```

##### Description

Add Text On Zombie Class menu (Like ZP 5.0)

##### Parameters

- `text`: Text to display on the zombie class name.

##### Note

Use in 'zp_zombie_class_choosed_pre' forward

##### Return

True if sucess, false if not sucess.

#### zpsp_override_user_model

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zpsp_override_user_model
- Line: 1336

##### Syntax

```pawn
native zpsp_override_user_model(id, const model[], body=0, skin=0, modelindex=0);
```

##### Description

Set Player Model

##### Parameters

- `id`: Player Index
- `model`: Player model to be used.
- `body`: Model Body
- `skin`: Model Skin
- `modelindex`: Model Index

##### Return

True if sucess / false otherwise

#### zpsp_register_extra_item

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zpsp_register_extra_item
- Line: 1253

##### Syntax

```pawn
native zpsp_register_extra_item(const name[], cost, const teams[], lang_by_key, const szLangKey[]);
```

##### Description

Registers a custom item which will be added to the extra items menu of ZP.

##### Parameters

- `name`: Caption to display on the menu.
- `cost`: Ammo packs to be deducted on purchase.
- `teams`: Bitsum of teams it should be available for. (in string

##### Note

The returned extra item ID can be later used to catch item
purchase events for the zp_extra_item_selected() forward.

##### Note

zpsp_register_extra_item("Custom Item", 10, "SPY, WESKER, MORPHEUS", 1, "LANG_ITEM_1")
can be used to make an item available to Spy, Wesker, Morpheus.

##### Return

An internal extra item ID, or -1 on failure.

#### zpsp_register_gamemode

- Include: `zombie_plague_special.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zombie_plague_special/function/zpsp_register_gamemode
- Line: 593

##### Syntax

```pawn
native zpsp_register_gamemode(const name[], flags, chance, allow, dm_mode, resp_limit=0, enable_in_ze=0, uselang=0, const langkey[]="ITEM_LANG_DEFAULT_KEY");
```

##### Description

Registers a custom game mode which will be added to the admin menu of ZP

##### Parameters

- `name`: The game modes name which will also be used by other plugins to identify this game mode
- `flags`: Access flags required by the admins to start this game mode via the admin menu.
- `chance`: Chance level of this game mode. (1 in X) The higher the value the lesser the chance that this game mode will be called
- `allow`: Whether to permit infection or not after a zombie's attack
- `dm_mode`: Death match mode during this game. Use ZP_DM_NONE to disable respawning during this game mode
- `resp_limit`: Respawn Limit (Use 0 for unlimited respawn)
- `enable_in_ze`: Enable Game mode in zombie escape maps (0 - Disable | 1 - Enable)

##### Note

The returned game mode ID can later be used to detect the game mode
which is called in zp_round_started_pre. There you can start the game mode
externally by using this game mode ID.

##### Return

An internal game mode ID or -1 on failure

##### Error

If Game mode name alterady exists

## zombie plague special 4.5 / zpsp_const.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_const
- Group: zombie plague special 4.5
- Functions: 0
- Documented constants: 35

### Constants

#### ZP_CUSTOMIZATION_FILE

ZP_CUSTOMIZATION_FILE

```pawn
#define ZP_CUSTOMIZATION_FILE "zpsp_configs/zombie_plague_special.ini"
```

#### ZP_ZOMBIECLASSES_FILE

ZP_ZOMBIECLASSES_FILE

```pawn
#define ZP_ZOMBIECLASSES_FILE "zpsp_configs/zpsp_zombieclasses.ini"
```

#### ZP_EXTRAITEMS_FILE

ZP_EXTRAITEMS_FILE

```pawn
#define ZP_EXTRAITEMS_FILE "zpsp_configs/zpsp_extraitems.ini"
```

#### ZP_CUSTOM_GM_FILE

ZP_CUSTOM_GM_FILE

```pawn
#define ZP_CUSTOM_GM_FILE "zpsp_configs/zpsp_gamemodes.ini"
```

#### ZP_SPECIAL_CLASSES_FILE

ZP_SPECIAL_CLASSES_FILE

```pawn
#define ZP_SPECIAL_CLASSES_FILE "zpsp_configs/zpsp_special_classes.ini"
```

#### ZP_WEAPONS_FILE

ZP_WEAPONS_FILE

```pawn
#define ZP_WEAPONS_FILE "zpsp_configs/zpsp_custom_weapons.ini"
```

#### ZP_HUMANCLASSES_FILE

ZP_HUMANCLASSES_FILE

```pawn
#define ZP_HUMANCLASSES_FILE "zpsp_configs/zpsp_humanclasses.ini"
```

#### ZP_CFG_FILE

ZP_CFG_FILE

```pawn
#define ZP_CFG_FILE "zpsp_configs/zombie_plague_special.cfg"
```

#### ZPS_INC_VERSION

ZPS_INC_VERSION

```pawn
#define ZPS_INC_VERSION 45 // Include Version
```

#### ZP_TEAM_ZOMBIE

ZP_TEAM_ZOMBIE

```pawn
#define ZP_TEAM_ZOMBIE (1<<0)
```

#### ZP_TEAM_HUMAN

ZP_TEAM_HUMAN

```pawn
#define ZP_TEAM_HUMAN (1<<1)
```

#### ZP_TEAM_NEMESIS

ZP_TEAM_NEMESIS

```pawn
#define ZP_TEAM_NEMESIS (1<<2)
```

#### ZP_TEAM_SURVIVOR

ZP_TEAM_SURVIVOR

```pawn
#define ZP_TEAM_SURVIVOR (1<<3)
```

#### ZP_TEAM_SNIPER

ZP_TEAM_SNIPER

```pawn
#define ZP_TEAM_SNIPER (1<<4)
```

#### ZP_TEAM_ASSASSIN

ZP_TEAM_ASSASSIN

```pawn
#define ZP_TEAM_ASSASSIN (1<<5)
```

#### ZP_TEAM_BERSERKER

ZP_TEAM_BERSERKER

```pawn
#define ZP_TEAM_BERSERKER (1<<6)
```

#### ZP_TEAM_PREDATOR

ZP_TEAM_PREDATOR

```pawn
#define ZP_TEAM_PREDATOR (1<<7)
```

#### ZP_TEAM_ZOMBIE_SPECIAL

ZP_TEAM_ZOMBIE_SPECIAL

```pawn
#define ZP_TEAM_ZOMBIE_SPECIAL -1 // All Specials Zombies (Including Custons)
```

#### ZP_TEAM_HUMAN_SPECIAL

ZP_TEAM_HUMAN_SPECIAL

```pawn
#define ZP_TEAM_HUMAN_SPECIAL -2 // All Specials Humans (Including Custons)
```

#### ZP_TEAM_ANY_SPECIAL

ZP_TEAM_ANY_SPECIAL

```pawn
#define ZP_TEAM_ANY_SPECIAL -3 // All Specials Clsses (Including Custons)
```

#### ZP_TEAM_ALL

ZP_TEAM_ALL

```pawn
#define ZP_TEAM_ALL -4 // All Classes
```

#### ZP_MAX_PLAYERS

ZP_MAX_PLAYERS

```pawn
#define ZP_MAX_PLAYERS 32
```

#### Death Match modes for zp_register_game_mode

Death Match modes for zp_register_game_mode

```pawn
enum
{
	ZP_DM_NONE = 0,	// Disable death match during the custom mode round
	ZP_DM_HUMAN, 	// Respawn as human only
	ZP_DM_ZOMBIE, 	// Respawn as zombie only
	ZP_DM_RANDOM,	// Respawn randomly as humans or zombies
	ZP_DM_BALANCE	// Respawn as humans or zombies to keep both team balanced
}
```

#### ZP_PLUGIN_HANDLED

ZP_PLUGIN_HANDLED

```pawn
#define ZP_PLUGIN_HANDLED 97
```

#### ZP_PLUGIN_SUPERCEDE

ZP_PLUGIN_SUPERCEDE

```pawn
#define ZP_PLUGIN_SUPERCEDE 98
```

#### Default (Inside main plugin) Extra item Index

Default (Inside main plugin) Extra item Index

```pawn
enum {
	EXTRA_NVISION = 0,
	EXTRA_ANTIDOTE,
	EXTRA_MADNESS,
	EXTRA_INFBOMB,
	EXTRA_WEAPONS_STARTID
}
```

#### Special Classes Index

Special Classes Index

```pawn
enum {
	ZOMBIE = 0,
	NEMESIS,
	ASSASSIN, 		// Zombie Special
	PREDATOR,
	BOMBARDIER,
	DRAGON
}
```

#### Enum starting with HUMAN

Enum starting with HUMAN

```pawn
enum {
	HUMAN = 0,
	SURVIVOR,
	SNIPER,			// Human Special
	BERSERKER,
	WESKER,
	SPY
}
```

#### Game modes for zp_round_started()

Game modes for zp_round_started()

```pawn
enum
{
	MODE_NONE = 0,
	MODE_INFECTION,
	MODE_NEMESIS,
	MODE_ASSASSIN,
	MODE_PREDATOR,
	MODE_BOMBARDIER,
	MODE_DRAGON,
	MODE_SURVIVOR,
	MODE_SNIPER,
	MODE_BERSERKER,
	MODE_WESKER,
	MODE_SPY,
	MODE_SWARM,
	MODE_MULTI,
	MODE_PLAGUE,
	MODE_LNJ
}
```

#### SpHudType

Enums for Native: zp_get_user_hud_type / Forward: zp_player_show_hud

```pawn
enum SpHudType
{
	HUD_DEFAULT = 0,
	HUD_CLASSIC,
	HUD_CENTER,
	HUD_ANTRAX_STYLE,
	HUD_UNDER_RADAR,
	HUD_CENTER_ANTRAX
}
```

#### Winner teams for zp_round_ended()

Winner teams for zp_round_ended()

```pawn
enum {
	WIN_NO_ONE = 0,
	WIN_ZOMBIES,
	WIN_HUMANS
}
```

#### Use For zp_set_user_frozen and zp_set_user_burn natives

Use For zp_set_user_frozen and zp_set_user_burn natives

```pawn
enum {
	UNSET = 0,
	SET,
	SET_WITHOUT_IMMUNIT
}
```

#### Use For zp_get_special_count and zp_make_user_special native

Use For zp_get_special_count and zp_make_user_special native

```pawn
enum {
	GET_HUMAN = 0,
	GET_ZOMBIE
}
```

#### Use for zp_register_weapon

Use for zp_register_weapon

```pawn
enum {
	WPN_PRIMARY = 0,
	WPN_SECONDARY
}
```

#### ZP_TEAM_ANY

ZP_TEAM_ANY

```pawn
#define ZP_TEAM_ANY 0
```

##### Deprecated

- Do not use!
For backwards compatibility only.

## zombie plague special 4.5 / zpsp_external_gamemodes.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_external_gamemodes
- Group: zombie plague special 4.5
- Functions: 3
- Documented constants: 1

### Constants

#### _zpsp_external_gamemodes

_zpsp_external_gamemodes

```pawn
#define _zpsp_external_gamemodes
```

### Functions

#### zp_is_avs_round

- Include: `zpsp_external_gamemodes.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_external_gamemodes/function/zp_is_avs_round
- Line: 15

##### Syntax

```pawn
native zp_is_avs_round();
```

##### Description

Returns whether the current round is a Assassin vs Sniper round.

##### Return

True if it is, false otherwise.

#### zp_is_nightmare_round

- Include: `zpsp_external_gamemodes.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_external_gamemodes/function/zp_is_nightmare_round
- Line: 22

##### Syntax

```pawn
native zp_is_nightmare_round();
```

##### Description

Returns whether the current round is a Nightmare round.

##### Return

True if it is, false otherwise.

#### zp_is_remix_round

- Include: `zpsp_external_gamemodes.inc`
- Group: `zombie plague special 4.5`
- Type: `native`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_external_gamemodes/function/zp_is_remix_round
- Line: 29

##### Syntax

```pawn
native zp_is_remix_round();
```

##### Description

Returns whether the current round is a Remix round.

##### Return

True if it is, false otherwise.

## zombie plague special 4.5 / zpsp_stocks.inc

- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks
- Group: zombie plague special 4.5
- Functions: 19
- Documented constants: 7

### Constants

#### MODE_ARMAGEDDON

MODE_ARMAGEDDON

```pawn
#define MODE_ARMAGEDDON MODE_LNJ
```

#### zp_get_user_burning

zp_get_user_burning

```pawn
#define zp_get_user_burning(%1) zp_get_user_burn(%1) // Same thing with 'zp_get_user_burn'
```

#### zp_teleport_user

zp_teleport_user

```pawn
#define zp_teleport_user(%1) zp_do_random_spawn(%1) // Same thing with 'zp_do_random_spawn'
```

#### zp_get_user_clip_mode

zp_get_user_clip_mode

```pawn
#define zp_get_user_clip_mode(%1) zp_get_user_unlimited_ammo(%1) // Same thing with 'zp_get_user_unlimited_ammo'
```

#### zp_reset_user_clip_mode

zp_reset_user_clip_mode

```pawn
#define zp_reset_user_clip_mode(%1) zp_reset_user_unlimited_ammo(%1) // Same thing with 'zp_reset_user_unlimited_ammo'
```

#### zp_get_default_clip_mode

zp_get_default_clip_mode

```pawn
#define zp_get_default_clip_mode(%1) zp_get_default_unlimited_ammo(%1) // Same thing with 'zp_get_default_unlimited_ammo'
```

#### Prints a colored message

Prints a colored message

```pawn
#if AMXX_VERSION_NUM < 183
```

##### Return

True on success, false otherwise.

### Functions

#### zp_add_user_ammopacks

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_add_user_ammopacks
- Line: 57

##### Syntax

```pawn
stock zp_add_user_ammopacks(id, amount)
```

##### Description

Give user ammo packs

##### Parameters

- `id`: Player Index
- `amount`: Ammo pack quantity for give

##### Return

True if sucess, false otherwise.

#### zp_colored_print

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_colored_print
- Line: 210

##### Syntax

```pawn
stock zp_colored_print(target, with_tag, const message[], any:...) {
```

##### Description

This function has no description.

#### zp_colored_print

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_colored_print
- Line: 261

##### Syntax

```pawn
stock zp_colored_print(target, with_tag, const message[], any:...) {
```

##### Description

This function has no description.

#### zp_get_alive_players

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_get_alive_players
- Line: 145

##### Syntax

```pawn
stock zp_get_alive_players() {
```

##### Description

Returns Num of alive players

##### Return

Num of Alive Players

#### zp_get_main_cfg_file

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_get_main_cfg_file
- Line: 193

##### Syntax

```pawn
stock zp_get_main_cfg_file(name[], len)
```

##### Description

Retrieves the full path of zombie_plague_specia.cfg.

##### Parameters

- `name`: Buffer to copy path to
- `len`: Maximum buffer size

##### Return

Number of cells written to buffer

#### zp_give_user_infbomb

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_give_user_infbomb
- Line: 76

##### Syntax

```pawn
stock zp_give_user_infbomb(id)
```

##### Description

Give user infection bomb

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise.

#### zp_give_user_madness

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_give_user_madness
- Line: 94

##### Syntax

```pawn
stock zp_give_user_madness(id, Float:Duration = -1.0)
```

##### Description

Give user Zombie Madness

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise.

#### zp_give_user_unlimited_ammo

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_give_user_unlimited_ammo
- Line: 29

##### Syntax

```pawn
stock zp_give_user_unlimited_ammo(id)
```

##### Description

Give user unlimited ammo

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise.

#### zp_give_user_unlimited_clip

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_give_user_unlimited_clip
- Line: 20

##### Syntax

```pawn
stock zp_give_user_unlimited_clip(id)
```

##### Description

Give user unlimited clip

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise.

#### zp_is_armageddon_round

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_is_armageddon_round
- Line: 137

##### Syntax

```pawn
stock zp_is_armageddon_round()
```

##### Description

Returns whether the current round is a Armageddon (Lnj).

##### Return

True if it is, false otherwise.

#### zp_is_custom_round

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_is_custom_round
- Line: 127

##### Syntax

```pawn
stock zp_is_custom_round() {
```

##### Description

Returns whether the current round is a Custom Round.

##### Return

Gamemode index if it is custom round, 0 if not.

#### zp_is_infection_round

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_is_infection_round
- Line: 111

##### Syntax

```pawn
stock zp_is_infection_round()
```

##### Description

Returns whether the current round is a infection mode.

##### Return

True if it is, false otherwise.

#### zp_is_multi_infection_round

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_is_multi_infection_round
- Line: 119

##### Syntax

```pawn
stock zp_is_multi_infection_round()
```

##### Description

Returns whether the current round is a multi infection mode.

##### Return

True if it is, false otherwise.

#### zp_play_sound

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_play_sound
- Line: 163

##### Syntax

```pawn
stock zp_play_sound(id, const sound[]) {
```

##### Description

Plays a sound on clients

##### Parameters

- `id`: Player index to play sound (Use 0 for everyone)
- `sound`: Sound to play

##### Return

True on success, false otherwise.

#### zp_remove_user_ammopacks

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_remove_user_ammopacks
- Line: 67

##### Syntax

```pawn
stock zp_remove_user_ammopacks(id, amount)
```

##### Description

Remove user ammo packs

##### Parameters

- `id`: Player Index
- `amount`: Ammo pack quantity for remove

##### Return

True if sucess, false otherwise.

#### zp_remove_user_infbomb

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_remove_user_infbomb
- Line: 85

##### Syntax

```pawn
stock zp_remove_user_infbomb(id)
```

##### Description

Remove user infection bomb

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise.

#### zp_remove_user_madness

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_remove_user_madness
- Line: 103

##### Syntax

```pawn
stock zp_remove_user_madness(id)
```

##### Description

Remove user Zombie Madness

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise.

#### zp_remove_user_unlimited_ammo

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_remove_user_unlimited_ammo
- Line: 38

##### Syntax

```pawn
stock zp_remove_user_unlimited_ammo(id)
```

##### Description

Remove user unlimited ammo

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise.

#### zp_reset_user_gravity

- Include: `zpsp_stocks.inc`
- Group: `zombie plague special 4.5`
- Type: `stock`
- HTML: https://amxx-api.csrevo.com/zombie-plague-special-4-5/zpsp_stocks/function/zp_reset_user_gravity
- Line: 47

##### Syntax

```pawn
stock zp_reset_user_gravity(id)
```

##### Description

Reset user gravity

##### Parameters

- `id`: Player Index

##### Return

True if sucess, false otherwise.
