@amxts/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +162 -0
- package/README.ru.md +162 -0
- package/amxmodx/base/include/amxconst.inc +594 -0
- package/amxmodx/base/include/amxmisc.inc +902 -0
- package/amxmodx/base/include/amxmodx.inc +3447 -0
- package/amxmodx/base/include/amxmodx_version.inc +20 -0
- package/amxmodx/base/include/cellarray.inc +525 -0
- package/amxmodx/base/include/cellstack.inc +166 -0
- package/amxmodx/base/include/celltrie.inc +412 -0
- package/amxmodx/base/include/core.inc +202 -0
- package/amxmodx/base/include/csstats.inc +298 -0
- package/amxmodx/base/include/csstats_const.inc +29 -0
- package/amxmodx/base/include/cstrike.inc +1287 -0
- package/amxmodx/base/include/cstrike_const.inc +521 -0
- package/amxmodx/base/include/csx.inc +259 -0
- package/amxmodx/base/include/cvars.inc +547 -0
- package/amxmodx/base/include/datapack.inc +161 -0
- package/amxmodx/base/include/dbi.inc +154 -0
- package/amxmodx/base/include/dodconst.inc +152 -0
- package/amxmodx/base/include/dodfun.inc +152 -0
- package/amxmodx/base/include/dodstats.inc +69 -0
- package/amxmodx/base/include/dodx.inc +161 -0
- package/amxmodx/base/include/engine.inc +1343 -0
- package/amxmodx/base/include/engine_const.inc +310 -0
- package/amxmodx/base/include/engine_stocks.inc +248 -0
- package/amxmodx/base/include/esf.inc +70 -0
- package/amxmodx/base/include/esf_const.inc +74 -0
- package/amxmodx/base/include/fakemeta.inc +1127 -0
- package/amxmodx/base/include/fakemeta_const.inc +793 -0
- package/amxmodx/base/include/fakemeta_stocks.inc +395 -0
- package/amxmodx/base/include/fakemeta_util.inc +882 -0
- package/amxmodx/base/include/file.inc +666 -0
- package/amxmodx/base/include/float.inc +422 -0
- package/amxmodx/base/include/fun.inc +333 -0
- package/amxmodx/base/include/gameconfig.inc +93 -0
- package/amxmodx/base/include/geoip.inc +264 -0
- package/amxmodx/base/include/ham_const.inc +4352 -0
- package/amxmodx/base/include/hamsandwich.inc +439 -0
- package/amxmodx/base/include/hlsdk_const.inc +808 -0
- package/amxmodx/base/include/json.inc +777 -0
- package/amxmodx/base/include/lang.inc +119 -0
- package/amxmodx/base/include/message_const.inc +1130 -0
- package/amxmodx/base/include/message_stocks.inc +161 -0
- package/amxmodx/base/include/messages.inc +604 -0
- package/amxmodx/base/include/newmenus.inc +387 -0
- package/amxmodx/base/include/ns.inc +754 -0
- package/amxmodx/base/include/ns_const.inc +196 -0
- package/amxmodx/base/include/nvault.inc +154 -0
- package/amxmodx/base/include/regex.inc +348 -0
- package/amxmodx/base/include/sockets.inc +183 -0
- package/amxmodx/base/include/sorting.inc +107 -0
- package/amxmodx/base/include/sqlx.inc +582 -0
- package/amxmodx/base/include/string.inc +786 -0
- package/amxmodx/base/include/string_const.inc +156 -0
- package/amxmodx/base/include/string_stocks.inc +325 -0
- package/amxmodx/base/include/textparse_ini.inc +214 -0
- package/amxmodx/base/include/textparse_smc.inc +261 -0
- package/amxmodx/base/include/tfcconst.inc +84 -0
- package/amxmodx/base/include/tfcstats.inc +62 -0
- package/amxmodx/base/include/tfcx.inc +148 -0
- package/amxmodx/base/include/time.inc +118 -0
- package/amxmodx/base/include/tsconst.inc +154 -0
- package/amxmodx/base/include/tsfun.inc +198 -0
- package/amxmodx/base/include/tsstats.inc +65 -0
- package/amxmodx/base/include/tsx.inc +88 -0
- package/amxmodx/base/include/vault.inc +60 -0
- package/amxmodx/base/include/vector.inc +131 -0
- package/amxmodx/base/include/xs.inc +1570 -0
- package/as/amxts.d.ts +153 -0
- package/as/constants.ts +4730 -0
- package/as/effects.ts +1449 -0
- package/as/entities.ts +5482 -0
- package/as/events.ts +3054 -0
- package/as/facade.ts +4639 -0
- package/as/flags.ts +299 -0
- package/as/fs.ts +287 -0
- package/as/hooks.ts +18536 -0
- package/as/kit.ts +25 -0
- package/as/lib/check.ts +86 -0
- package/as/modules/http.ts +184 -0
- package/as/natives.ts +11845 -0
- package/as/os.ts +30 -0
- package/as/promise.ts +1392 -0
- package/as/promise.types.d.ts +82 -0
- package/as/remote.ts +288 -0
- package/as/tsconfig.json +22 -0
- package/as/vector.ts +65 -0
- package/bin/amxts.mjs +10 -0
- package/includes/menu_core.inc +355 -0
- package/includes/order.txt +54 -0
- package/includes/sources.json +27 -0
- package/includes/universal_config.inc +355 -0
- package/lint/oxlint-plugin.mjs +77 -0
- package/node_modules/assemblyscript/LICENSE +201 -0
- package/node_modules/assemblyscript/NOTICE +93 -0
- package/node_modules/assemblyscript/package.json +63 -0
- package/node_modules/assemblyscript/std/README.md +6 -0
- package/node_modules/assemblyscript/std/assembly/array.ts +526 -0
- package/node_modules/assemblyscript/std/assembly/arraybuffer.ts +77 -0
- package/node_modules/assemblyscript/std/assembly/atomics.ts +127 -0
- package/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts +16 -0
- package/node_modules/assemblyscript/std/assembly/bindings/dom.ts +291 -0
- package/node_modules/assemblyscript/std/assembly/bindings/node.ts +6 -0
- package/node_modules/assemblyscript/std/assembly/builtins.ts +2631 -0
- package/node_modules/assemblyscript/std/assembly/compat.ts +2 -0
- package/node_modules/assemblyscript/std/assembly/console.ts +42 -0
- package/node_modules/assemblyscript/std/assembly/crypto.ts +9 -0
- package/node_modules/assemblyscript/std/assembly/dataview.ts +181 -0
- package/node_modules/assemblyscript/std/assembly/date.ts +373 -0
- package/node_modules/assemblyscript/std/assembly/diagnostics.ts +11 -0
- package/node_modules/assemblyscript/std/assembly/error.ts +44 -0
- package/node_modules/assemblyscript/std/assembly/function.ts +38 -0
- package/node_modules/assemblyscript/std/assembly/index.d.ts +2822 -0
- package/node_modules/assemblyscript/std/assembly/iterator.ts +35 -0
- package/node_modules/assemblyscript/std/assembly/map.ts +260 -0
- package/node_modules/assemblyscript/std/assembly/math.ts +3289 -0
- package/node_modules/assemblyscript/std/assembly/memory.ts +123 -0
- package/node_modules/assemblyscript/std/assembly/number.ts +388 -0
- package/node_modules/assemblyscript/std/assembly/object.ts +36 -0
- package/node_modules/assemblyscript/std/assembly/performance.ts +9 -0
- package/node_modules/assemblyscript/std/assembly/polyfills.ts +27 -0
- package/node_modules/assemblyscript/std/assembly/process.ts +50 -0
- package/node_modules/assemblyscript/std/assembly/reference.ts +48 -0
- package/node_modules/assemblyscript/std/assembly/regexp.ts +12 -0
- package/node_modules/assemblyscript/std/assembly/rt/README.md +83 -0
- package/node_modules/assemblyscript/std/assembly/rt/common.ts +81 -0
- package/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts +2 -0
- package/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts +2 -0
- package/node_modules/assemblyscript/std/assembly/rt/index-stub.ts +1 -0
- package/node_modules/assemblyscript/std/assembly/rt/index.d.ts +37 -0
- package/node_modules/assemblyscript/std/assembly/rt/itcms.ts +419 -0
- package/node_modules/assemblyscript/std/assembly/rt/rtrace.ts +15 -0
- package/node_modules/assemblyscript/std/assembly/rt/stub.ts +133 -0
- package/node_modules/assemblyscript/std/assembly/rt/tcms.ts +254 -0
- package/node_modules/assemblyscript/std/assembly/rt/tlsf.ts +592 -0
- package/node_modules/assemblyscript/std/assembly/rt.ts +87 -0
- package/node_modules/assemblyscript/std/assembly/set.ts +220 -0
- package/node_modules/assemblyscript/std/assembly/shared/feature.ts +65 -0
- package/node_modules/assemblyscript/std/assembly/shared/runtime.ts +11 -0
- package/node_modules/assemblyscript/std/assembly/shared/target.ts +11 -0
- package/node_modules/assemblyscript/std/assembly/shared/tsconfig.json +11 -0
- package/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts +72 -0
- package/node_modules/assemblyscript/std/assembly/staticarray.ts +401 -0
- package/node_modules/assemblyscript/std/assembly/string.ts +847 -0
- package/node_modules/assemblyscript/std/assembly/symbol.ts +114 -0
- package/node_modules/assemblyscript/std/assembly/table.ts +16 -0
- package/node_modules/assemblyscript/std/assembly/tsconfig.json +6 -0
- package/node_modules/assemblyscript/std/assembly/typedarray.ts +1945 -0
- package/node_modules/assemblyscript/std/assembly/uri.ts +17 -0
- package/node_modules/assemblyscript/std/assembly/util/bytes.ts +107 -0
- package/node_modules/assemblyscript/std/assembly/util/casemap.ts +497 -0
- package/node_modules/assemblyscript/std/assembly/util/error.ts +54 -0
- package/node_modules/assemblyscript/std/assembly/util/hash.ts +117 -0
- package/node_modules/assemblyscript/std/assembly/util/math.ts +1922 -0
- package/node_modules/assemblyscript/std/assembly/util/memory.ts +290 -0
- package/node_modules/assemblyscript/std/assembly/util/number.ts +873 -0
- package/node_modules/assemblyscript/std/assembly/util/sort.ts +313 -0
- package/node_modules/assemblyscript/std/assembly/util/string.ts +1202 -0
- package/node_modules/assemblyscript/std/assembly/util/uri.ts +275 -0
- package/node_modules/assemblyscript/std/assembly/vector.ts +4 -0
- package/node_modules/assemblyscript/std/assembly.json +16 -0
- package/node_modules/assemblyscript/std/portable/index.d.ts +462 -0
- package/node_modules/assemblyscript/std/portable/index.js +416 -0
- package/node_modules/assemblyscript/std/portable.json +11 -0
- package/node_modules/assemblyscript/std/types/assembly/index.d.ts +1 -0
- package/node_modules/assemblyscript/std/types/assembly/package.json +3 -0
- package/node_modules/assemblyscript/std/types/portable/index.d.ts +1 -0
- package/node_modules/assemblyscript/std/types/portable/package.json +3 -0
- package/node_modules/assemblyscript/tsconfig-base.json +13 -0
- package/package.json +112 -0
- package/runtime/deps/assemblyscript/LICENSE +201 -0
- package/runtime/deps/assemblyscript/NOTICE +93 -0
- package/runtime/deps/assemblyscript/bin/asc.js +35 -0
- package/runtime/deps/assemblyscript/dist/asc.js +25035 -0
- package/runtime/deps/assemblyscript/dist/assemblyscript.js +337 -0
- package/runtime/deps/assemblyscript/node_modules/binaryen/LICENSE +201 -0
- package/runtime/deps/assemblyscript/node_modules/binaryen/index.js +28905 -0
- package/runtime/deps/assemblyscript/node_modules/binaryen/package.json +50 -0
- package/runtime/deps/assemblyscript/node_modules/long/LICENSE +202 -0
- package/runtime/deps/assemblyscript/node_modules/long/index.js +1581 -0
- package/runtime/deps/assemblyscript/node_modules/long/package.json +58 -0
- package/runtime/deps/assemblyscript/package.json +114 -0
- package/runtime/host/amxts.inc +85 -0
- package/runtime/licenses/AMXX-LICENSE.txt +34 -0
- package/runtime/licenses/AssemblyScript-LICENSE +201 -0
- package/runtime/licenses/AssemblyScript-NOTICE +93 -0
- package/runtime/licenses/Binaryen-LICENSE +201 -0
- package/runtime/licenses/Bun-LICENSE.md +84 -0
- package/runtime/licenses/GPL-3.0.txt +674 -0
- package/runtime/licenses/LLVM-LICENSE.TXT +279 -0
- package/runtime/licenses/README.md +25 -0
- package/runtime/licenses/WAMR-LICENSE +219 -0
- package/runtime/natives.txt +1095 -0
- package/runtime/patches/README.md +59 -0
- package/runtime/patches/assemblyscript-0.28.20-amxts.patch +14174 -0
- package/runtime/patches/wamr-2.4.5-amxts.patch +364 -0
- package/scripts/apply-docs.ts +508 -0
- package/scripts/asc.ts +27 -0
- package/scripts/auto-imports.ts +258 -0
- package/scripts/build-wasm.ts +595 -0
- package/scripts/check.ts +93 -0
- package/scripts/compile-cache.ts +179 -0
- package/scripts/compile.ts +401 -0
- package/scripts/docker-server.ts +73 -0
- package/scripts/docs/as/amxts.ts +210 -0
- package/scripts/docs/as/effects.ts +1684 -0
- package/scripts/docs/as/facade.ts +3302 -0
- package/scripts/docs/as/fs.ts +173 -0
- package/scripts/docs/as/lib/check.ts +68 -0
- package/scripts/docs/as/modules/http.ts +66 -0
- package/scripts/docs/as/os.ts +16 -0
- package/scripts/docs/as/promise.ts +132 -0
- package/scripts/docs/as/promise.types.ts +63 -0
- package/scripts/docs/as/vector.ts +48 -0
- package/scripts/docs/entities.ts +2338 -0
- package/scripts/docs/events.ts +245 -0
- package/scripts/docs/game.ts +497 -0
- package/scripts/docs/messages.ts +148 -0
- package/scripts/file-contents.ts +74 -0
- package/scripts/includes.ts +134 -0
- package/scripts/player-fields.ts +866 -0
- package/scripts/plugin-cache.ts +92 -0
- package/scripts/plugin-natives.ts +1157 -0
- package/scripts/prebuilt.ts +268 -0
- package/scripts/prepare.ts +134 -0
- package/scripts/project.ts +973 -0
- package/scripts/run.ts +28 -0
- package/scripts/shared-modules.ts +906 -0
- package/scripts/system.ts +33 -0
- package/scripts/tracked-fs.ts +115 -0
- package/scripts/typed-configs.ts +788 -0
- package/scripts/ui.ts +77 -0
- package/src/cli-api.mjs +175 -0
- package/src/parser/include-parser.ts +506 -0
- package/src/system.mjs +155 -0
- package/src/testing/compile-cache.ts +31 -0
- package/src/testing/compile.ts +222 -0
- package/src/testing/coroutines.ts +191 -0
- package/src/testing/index.ts +39 -0
- package/src/testing/kits.ts +55 -0
- package/src/testing/memory.ts +125 -0
- package/src/testing/natives.ts +925 -0
- package/src/testing/server.ts +1874 -0
- package/src/testing/setup.ts +63 -0
- package/src/testing/tables.ts +139 -0
- package/src/types.ts +51 -0
package/as/events.ts
ADDED
|
@@ -0,0 +1,3054 @@
|
|
|
1
|
+
// GENERATED by scripts/generate-host.ts — do not edit
|
|
2
|
+
// Source: includes/*.inc, through the forwards the host plugin relays
|
|
3
|
+
//
|
|
4
|
+
// The events a server raises, one per forward the host plugin relays:
|
|
5
|
+
//
|
|
6
|
+
// server.addEventListener("putinserver", (event) => print(event.player, "Welcome!"));
|
|
7
|
+
//
|
|
8
|
+
// ServerEventMap is what an editor reads - the event's name to its type, as
|
|
9
|
+
// the DOM's HTMLElementEventMap - and the compiler reads the same map through
|
|
10
|
+
// a patch (runtime/patches: `K extends keyof M` and `M[K]`), so an untyped
|
|
11
|
+
// `(event) => ...` gets the event's type. Underneath, each event keeps its
|
|
12
|
+
// listeners in an array and relays its forward from the first one on.
|
|
13
|
+
import { Client, ClientMessage, Player, PlayerChangeEvent, StatusIconState, Team, VariantName, __forwardNumbers, __nativeCell, __nativeString, __nativeVector } from "./facade";
|
|
14
|
+
import { Vector } from "./vector";
|
|
15
|
+
import { WeaponKind, weaponKindOf } from "./entities";
|
|
16
|
+
import { DAMAGE, Damage, HIDE_HUD, HideHud } from "./flags";
|
|
17
|
+
|
|
18
|
+
// @ts-ignore: decorator
|
|
19
|
+
@external("env", "on")
|
|
20
|
+
declare function _on(event: string, fn: i32, shape: i32): void;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The plugin has loaded: register commands, events and hooks here.
|
|
24
|
+
*
|
|
25
|
+
* Note: Top-level code in the plugin file runs at the same moment, so most plugins never need this event.
|
|
26
|
+
*
|
|
27
|
+
* Pawn: `plugin_init()`
|
|
28
|
+
*/
|
|
29
|
+
export class PluginInitEvent {
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* An admin paused this plugin.
|
|
34
|
+
*
|
|
35
|
+
* Pawn: `plugin_pause()`
|
|
36
|
+
*/
|
|
37
|
+
export class PluginPauseEvent {
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* An admin resumed this plugin.
|
|
42
|
+
*
|
|
43
|
+
* Pawn: `plugin_unpause()`
|
|
44
|
+
*/
|
|
45
|
+
export class PluginUnpauseEvent {
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* The server is about to change the map.
|
|
50
|
+
*
|
|
51
|
+
* 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.
|
|
52
|
+
* 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.
|
|
53
|
+
*
|
|
54
|
+
* Pawn: `server_changelevel(map[])`
|
|
55
|
+
*/
|
|
56
|
+
export class ServerChangelevelEvent {
|
|
57
|
+
/**
|
|
58
|
+
* The map the server changes to, e.g. `"de_dust2"`.
|
|
59
|
+
*
|
|
60
|
+
* Pawn: `map[]`
|
|
61
|
+
*/
|
|
62
|
+
map: string;
|
|
63
|
+
|
|
64
|
+
constructor(map: string) {
|
|
65
|
+
this.map = map;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Every config has been read and every plugin is loaded: the moment to read cvars and to create forwards other plugins listen to.
|
|
71
|
+
*
|
|
72
|
+
* Note: When this forward is called, most plugins should have registered their cvars and commands already.
|
|
73
|
+
*
|
|
74
|
+
* Pawn: `plugin_cfg()`
|
|
75
|
+
*/
|
|
76
|
+
export class PluginCfgEvent {
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* The map is ending or the server is shutting down: save what has to survive.
|
|
81
|
+
*
|
|
82
|
+
* 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.
|
|
83
|
+
*
|
|
84
|
+
* Pawn: `plugin_end()`
|
|
85
|
+
*/
|
|
86
|
+
export class PluginEndEvent {
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Called when a message is about to be logged.
|
|
91
|
+
*
|
|
92
|
+
* Note: Message data and information can be retrieved using the read_log* set of functions.
|
|
93
|
+
*
|
|
94
|
+
* Pawn: `plugin_log()`
|
|
95
|
+
*/
|
|
96
|
+
export class PluginLogEvent {
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* The map is loading: the only moment models, sounds and sprites can be precached.
|
|
101
|
+
*
|
|
102
|
+
* Note: A hot reload of the plugin does not run it again: precaching needs a map change.
|
|
103
|
+
*
|
|
104
|
+
* Pawn: `plugin_precache()`
|
|
105
|
+
*/
|
|
106
|
+
export class PluginPrecacheEvent {
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* A player changed his info, usually the name.
|
|
111
|
+
*
|
|
112
|
+
* Pawn: `client_infochanged(id)`
|
|
113
|
+
*/
|
|
114
|
+
export class ClientInfochangedEvent {
|
|
115
|
+
/**
|
|
116
|
+
* The player the event is about.
|
|
117
|
+
*
|
|
118
|
+
* Pawn: `id`
|
|
119
|
+
*/
|
|
120
|
+
player: Player;
|
|
121
|
+
|
|
122
|
+
constructor(player: Player) {
|
|
123
|
+
this.player = player;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* A player started connecting. The player is not in the game yet: show him anything after `"putinserver"`.
|
|
129
|
+
*
|
|
130
|
+
* Note: This forward is called too early to do anything that directly affects the client.
|
|
131
|
+
*
|
|
132
|
+
* Pawn: `client_connect(id)`
|
|
133
|
+
*/
|
|
134
|
+
export class ClientConnectEvent {
|
|
135
|
+
/**
|
|
136
|
+
* The player the event is about.
|
|
137
|
+
*
|
|
138
|
+
* Pawn: `id`
|
|
139
|
+
*/
|
|
140
|
+
player: Client;
|
|
141
|
+
|
|
142
|
+
constructor(player: Client) {
|
|
143
|
+
this.player = player;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* A player started connecting, with a name and an address: the place to turn him away.
|
|
149
|
+
*
|
|
150
|
+
* Note: This forward is called too early to do anything that directly affects the client.
|
|
151
|
+
*
|
|
152
|
+
* Pawn: `client_connectex(id, name[], ip[], reason[128])`
|
|
153
|
+
*/
|
|
154
|
+
export class ClientConnectexEvent {
|
|
155
|
+
/**
|
|
156
|
+
* The player the event is about.
|
|
157
|
+
*
|
|
158
|
+
* Pawn: `id`
|
|
159
|
+
*/
|
|
160
|
+
player: Client;
|
|
161
|
+
/**
|
|
162
|
+
* The name the player connects with.
|
|
163
|
+
*
|
|
164
|
+
* Pawn: `name[]`
|
|
165
|
+
*/
|
|
166
|
+
name: string;
|
|
167
|
+
/**
|
|
168
|
+
* The player's address with the port, e.g. `"192.168.0.5:27005"`.
|
|
169
|
+
*
|
|
170
|
+
* Pawn: `ip[]`
|
|
171
|
+
*/
|
|
172
|
+
ip: string;
|
|
173
|
+
/**
|
|
174
|
+
* The message the player sees if he is turned away.
|
|
175
|
+
*
|
|
176
|
+
* Pawn: `reason[128]`
|
|
177
|
+
*/
|
|
178
|
+
reason: string;
|
|
179
|
+
|
|
180
|
+
constructor(player: Client, name: string, ip: string, reason: string) {
|
|
181
|
+
this.player = player;
|
|
182
|
+
this.name = name;
|
|
183
|
+
this.ip = ip;
|
|
184
|
+
this.reason = reason;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* A player's SteamID is known. May come before or after `"putinserver"`.
|
|
190
|
+
*
|
|
191
|
+
* Note: A bot's SteamID is `"BOT"`.
|
|
192
|
+
*
|
|
193
|
+
* Pawn: `client_authorized(id, authid[])`
|
|
194
|
+
*/
|
|
195
|
+
export class ClientAuthorizedEvent {
|
|
196
|
+
/**
|
|
197
|
+
* The player the event is about.
|
|
198
|
+
*
|
|
199
|
+
* Pawn: `id`
|
|
200
|
+
*/
|
|
201
|
+
player: Client;
|
|
202
|
+
/**
|
|
203
|
+
* The player's SteamID, e.g. `"STEAM_0:1:12345"`. A bot has `"BOT"`, HLTV has `"HLTV"`; on a LAN server it is `"STEAM_ID_LAN"`.
|
|
204
|
+
*
|
|
205
|
+
* Pawn: `authid[]`
|
|
206
|
+
*/
|
|
207
|
+
authid: string;
|
|
208
|
+
|
|
209
|
+
constructor(player: Client, authid: string) {
|
|
210
|
+
this.player = player;
|
|
211
|
+
this.authid = authid;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Old form of `"disconnected"` that misses some cases: use `"disconnected"`.
|
|
217
|
+
*
|
|
218
|
+
* Pawn: `client_disconnect(id)`
|
|
219
|
+
*/
|
|
220
|
+
export class ClientDisconnectEvent {
|
|
221
|
+
/**
|
|
222
|
+
* The player the event is about.
|
|
223
|
+
*
|
|
224
|
+
* Pawn: `id`
|
|
225
|
+
*/
|
|
226
|
+
player: Player;
|
|
227
|
+
|
|
228
|
+
constructor(player: Player) {
|
|
229
|
+
this.player = player;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* A player left the server: quit, timed out or was kicked.
|
|
235
|
+
*
|
|
236
|
+
* Note: The player can still be read here (name, team), but nothing reaches his screen any more.
|
|
237
|
+
*
|
|
238
|
+
* Pawn: `client_disconnected(id, bool:drop, message[], maxlen)`
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* server.addEventListener("disconnected", (event) => {
|
|
242
|
+
* console.log(`${event.player.name} left: ${event.reason}`);
|
|
243
|
+
* });
|
|
244
|
+
*/
|
|
245
|
+
export class ClientDisconnectedEvent {
|
|
246
|
+
/**
|
|
247
|
+
* The player the event is about.
|
|
248
|
+
*
|
|
249
|
+
* Pawn: `id`
|
|
250
|
+
*/
|
|
251
|
+
player: Player;
|
|
252
|
+
/**
|
|
253
|
+
* `true` when the server dropped the player (kick, timeout) rather than he left.
|
|
254
|
+
*
|
|
255
|
+
* Pawn: `bool:drop`
|
|
256
|
+
*/
|
|
257
|
+
dropped: boolean;
|
|
258
|
+
/**
|
|
259
|
+
* The reason the server gives for the leave; empty when the player just quit.
|
|
260
|
+
*
|
|
261
|
+
* Pawn: `message[]`
|
|
262
|
+
*/
|
|
263
|
+
reason: string;
|
|
264
|
+
|
|
265
|
+
constructor(player: Player, dropped: boolean, reason: string) {
|
|
266
|
+
this.player = player;
|
|
267
|
+
this.dropped = dropped;
|
|
268
|
+
this.reason = reason;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* A player's slot is being freed, after `"disconnected"`.
|
|
274
|
+
*
|
|
275
|
+
* Note: This fires after the client_disconnected() forward, when the player entity has been removed (e.g. is_user_connected(id) will return false).
|
|
276
|
+
*
|
|
277
|
+
* Pawn: `client_remove(id, bool:drop, message[])`
|
|
278
|
+
*/
|
|
279
|
+
export class ClientRemoveEvent {
|
|
280
|
+
/**
|
|
281
|
+
* The player the event is about.
|
|
282
|
+
*
|
|
283
|
+
* Pawn: `id`
|
|
284
|
+
*/
|
|
285
|
+
player: Player;
|
|
286
|
+
/**
|
|
287
|
+
* `true` when the server dropped the player.
|
|
288
|
+
*
|
|
289
|
+
* Pawn: `bool:drop`
|
|
290
|
+
*/
|
|
291
|
+
dropped: boolean;
|
|
292
|
+
/**
|
|
293
|
+
* The reason the player left.
|
|
294
|
+
*
|
|
295
|
+
* Pawn: `message[]`
|
|
296
|
+
*/
|
|
297
|
+
reason: string;
|
|
298
|
+
|
|
299
|
+
constructor(player: Player, dropped: boolean, reason: string) {
|
|
300
|
+
this.player = player;
|
|
301
|
+
this.dropped = dropped;
|
|
302
|
+
this.reason = reason;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* A player sent a console command. For one command, `server.addCommand("name", handler)` is simpler.
|
|
308
|
+
*
|
|
309
|
+
* Note: The command and its arguments can be read using the read_arg* set of functions.
|
|
310
|
+
*
|
|
311
|
+
* Pawn: `client_command(id)`
|
|
312
|
+
*/
|
|
313
|
+
export class ClientCommandEvent {
|
|
314
|
+
/**
|
|
315
|
+
* The player the event is about.
|
|
316
|
+
*
|
|
317
|
+
* Pawn: `id`
|
|
318
|
+
*/
|
|
319
|
+
player: Player;
|
|
320
|
+
|
|
321
|
+
constructor(player: Player) {
|
|
322
|
+
this.player = player;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* A player has joined and is in the game: the moment to greet him.
|
|
328
|
+
*
|
|
329
|
+
* 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.
|
|
330
|
+
*
|
|
331
|
+
* Pawn: `client_putinserver(id)`
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* server.addEventListener("putinserver", (event) => {
|
|
335
|
+
* print(event.player, "Welcome!");
|
|
336
|
+
* });
|
|
337
|
+
*/
|
|
338
|
+
export class ClientPutinserverEvent {
|
|
339
|
+
/**
|
|
340
|
+
* The player the event is about.
|
|
341
|
+
*
|
|
342
|
+
* Pawn: `id`
|
|
343
|
+
*/
|
|
344
|
+
player: Client;
|
|
345
|
+
|
|
346
|
+
constructor(player: Client) {
|
|
347
|
+
this.player = player;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* Called when an inconsistent file is encountered by the engine.
|
|
353
|
+
*
|
|
354
|
+
* Pawn: `inconsistent_file(id, filename[], reason[64])`
|
|
355
|
+
*/
|
|
356
|
+
export class InconsistentFileEvent {
|
|
357
|
+
/**
|
|
358
|
+
* The player the event is about.
|
|
359
|
+
*
|
|
360
|
+
* Pawn: `id`
|
|
361
|
+
*/
|
|
362
|
+
player: Player;
|
|
363
|
+
/**
|
|
364
|
+
* Detected file
|
|
365
|
+
*
|
|
366
|
+
* Pawn: `filename[]`
|
|
367
|
+
*/
|
|
368
|
+
filename: string;
|
|
369
|
+
/**
|
|
370
|
+
* Buffer storing the disconnect reason (can be overwritten)
|
|
371
|
+
*
|
|
372
|
+
* Pawn: `reason[64]`
|
|
373
|
+
*/
|
|
374
|
+
reason: string;
|
|
375
|
+
|
|
376
|
+
constructor(player: Player, filename: string, reason: string) {
|
|
377
|
+
this.player = player;
|
|
378
|
+
this.filename = filename;
|
|
379
|
+
this.reason = reason;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Allows plugins to declare module dependencies using require_module()
|
|
385
|
+
*
|
|
386
|
+
* Pawn: `plugin_modules()`
|
|
387
|
+
*/
|
|
388
|
+
export class PluginModulesEvent {
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* 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.
|
|
393
|
+
*
|
|
394
|
+
* Note: This is best place to initialize plugin functions which are based on cvar data.
|
|
395
|
+
* Note: This will always be called once and only once per map. It will be called few seconds after plugin_cfg().
|
|
396
|
+
*
|
|
397
|
+
* Pawn: `OnConfigsExecuted()`
|
|
398
|
+
*/
|
|
399
|
+
export class OnConfigsExecutedEvent {
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* 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.
|
|
404
|
+
*
|
|
405
|
+
* Note: This will always be called once and only once per map.
|
|
406
|
+
*
|
|
407
|
+
* Pawn: `OnAutoConfigsBuffered()`
|
|
408
|
+
*/
|
|
409
|
+
export class OnAutoConfigsBufferedEvent {
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Called when CS internally fires a command to a player.
|
|
414
|
+
*
|
|
415
|
+
* Note: This is most notably used by the rebuy/autobuy functionality, Condition Zero also uses this to pass commands to bots internally.
|
|
416
|
+
*
|
|
417
|
+
* Pawn: `CS_InternalCommand(id, cmd[])`
|
|
418
|
+
*/
|
|
419
|
+
export class CS_InternalCommandEvent {
|
|
420
|
+
/**
|
|
421
|
+
* The player the event is about.
|
|
422
|
+
*
|
|
423
|
+
* Pawn: `id`
|
|
424
|
+
*/
|
|
425
|
+
player: Player;
|
|
426
|
+
/**
|
|
427
|
+
* Command string
|
|
428
|
+
*
|
|
429
|
+
* Pawn: `cmd[]`
|
|
430
|
+
*/
|
|
431
|
+
cmd: string;
|
|
432
|
+
|
|
433
|
+
constructor(player: Player, cmd: string) {
|
|
434
|
+
this.player = player;
|
|
435
|
+
this.cmd = cmd;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
/**
|
|
440
|
+
* Called when a client attempts to purchase an item.
|
|
441
|
+
*
|
|
442
|
+
* 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.
|
|
443
|
+
* Note: For a list of possible item ids see the CSI_* constants.
|
|
444
|
+
*
|
|
445
|
+
* Pawn: `CS_OnBuyAttempt(index, item)`
|
|
446
|
+
*/
|
|
447
|
+
export class CS_OnBuyAttemptEvent {
|
|
448
|
+
/**
|
|
449
|
+
* The player the event is about.
|
|
450
|
+
*
|
|
451
|
+
* Pawn: `index`
|
|
452
|
+
*/
|
|
453
|
+
player: Player;
|
|
454
|
+
/**
|
|
455
|
+
* Item id
|
|
456
|
+
*
|
|
457
|
+
* Pawn: `item`
|
|
458
|
+
*/
|
|
459
|
+
item: number;
|
|
460
|
+
|
|
461
|
+
constructor(player: Player, item: number) {
|
|
462
|
+
this.player = player;
|
|
463
|
+
this.item = item;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* Called when a client purchases an item.
|
|
469
|
+
*
|
|
470
|
+
* Note: This is called right before the user receives the item and before the money is deducted from their cash reserves.
|
|
471
|
+
* Note: For a list of possible item ids see the CSI_* constants.
|
|
472
|
+
*
|
|
473
|
+
* Pawn: `CS_OnBuy(index, item)`
|
|
474
|
+
*/
|
|
475
|
+
export class CS_OnBuyEvent {
|
|
476
|
+
/**
|
|
477
|
+
* The player the event is about.
|
|
478
|
+
*
|
|
479
|
+
* Pawn: `index`
|
|
480
|
+
*/
|
|
481
|
+
player: Player;
|
|
482
|
+
/**
|
|
483
|
+
* Item id
|
|
484
|
+
*
|
|
485
|
+
* Pawn: `item`
|
|
486
|
+
*/
|
|
487
|
+
item: number;
|
|
488
|
+
|
|
489
|
+
constructor(player: Player, item: number) {
|
|
490
|
+
this.player = player;
|
|
491
|
+
this.item = item;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* Two entities touched.
|
|
497
|
+
*
|
|
498
|
+
* Pawn: `pfn_touch(ptr, ptd)`
|
|
499
|
+
*/
|
|
500
|
+
export class PfnTouchEvent {
|
|
501
|
+
/**
|
|
502
|
+
* The entity that moved into the other.
|
|
503
|
+
*
|
|
504
|
+
* Pawn: `ptr`
|
|
505
|
+
*/
|
|
506
|
+
toucher: number;
|
|
507
|
+
/**
|
|
508
|
+
* The entity that was touched.
|
|
509
|
+
*
|
|
510
|
+
* Pawn: `ptd`
|
|
511
|
+
*/
|
|
512
|
+
touched: number;
|
|
513
|
+
|
|
514
|
+
constructor(toucher: number, touched: number) {
|
|
515
|
+
this.toucher = toucher;
|
|
516
|
+
this.touched = touched;
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* A server frame, hundreds of times a second. Keep the listener tiny, or use `setInterval`.
|
|
522
|
+
*
|
|
523
|
+
* Note: Using his forward can easily become performance-critical. More specific hooks and forwards should be used whenever possible.
|
|
524
|
+
*
|
|
525
|
+
* Pawn: `server_frame()`
|
|
526
|
+
*/
|
|
527
|
+
export class ServerFrameEvent {
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
/**
|
|
531
|
+
* A player typed `"kill"` in the console to kill himself.
|
|
532
|
+
*
|
|
533
|
+
* Pawn: `client_kill(id)`
|
|
534
|
+
*/
|
|
535
|
+
export class ClientKillEvent {
|
|
536
|
+
/**
|
|
537
|
+
* The player the event is about.
|
|
538
|
+
*
|
|
539
|
+
* Pawn: `id`
|
|
540
|
+
*/
|
|
541
|
+
player: Player;
|
|
542
|
+
|
|
543
|
+
constructor(player: Player) {
|
|
544
|
+
this.player = player;
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Called at the start of each client think.
|
|
550
|
+
*
|
|
551
|
+
* Note: Using his forward can easily become performance-critical. More specific hooks and forwards should be used whenever possible.
|
|
552
|
+
*
|
|
553
|
+
* Pawn: `client_PreThink(id)`
|
|
554
|
+
*/
|
|
555
|
+
export class Client_PreThinkEvent {
|
|
556
|
+
/**
|
|
557
|
+
* The player the event is about.
|
|
558
|
+
*
|
|
559
|
+
* Pawn: `id`
|
|
560
|
+
*/
|
|
561
|
+
player: Player;
|
|
562
|
+
|
|
563
|
+
constructor(player: Player) {
|
|
564
|
+
this.player = player;
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Called after each client think.
|
|
570
|
+
*
|
|
571
|
+
* Note: Using his forward can easily become performance-critical. More specific hooks and forwards should be used whenever possible.
|
|
572
|
+
*
|
|
573
|
+
* Pawn: `client_PostThink(id)`
|
|
574
|
+
*/
|
|
575
|
+
export class Client_PostThinkEvent {
|
|
576
|
+
/**
|
|
577
|
+
* The player the event is about.
|
|
578
|
+
*
|
|
579
|
+
* Pawn: `id`
|
|
580
|
+
*/
|
|
581
|
+
player: Player;
|
|
582
|
+
|
|
583
|
+
constructor(player: Player) {
|
|
584
|
+
this.player = player;
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* A player sent an impulse: `100` is the flashlight, `201` the spray.
|
|
590
|
+
*
|
|
591
|
+
* Pawn: `client_impulse(id, impulse)`
|
|
592
|
+
*/
|
|
593
|
+
export class ClientImpulseEvent {
|
|
594
|
+
/**
|
|
595
|
+
* The player the event is about.
|
|
596
|
+
*
|
|
597
|
+
* Pawn: `id`
|
|
598
|
+
*/
|
|
599
|
+
player: Player;
|
|
600
|
+
/**
|
|
601
|
+
* The impulse number: `100`, `201`.
|
|
602
|
+
*
|
|
603
|
+
* Pawn: `impulse`
|
|
604
|
+
*/
|
|
605
|
+
impulse: number;
|
|
606
|
+
|
|
607
|
+
constructor(player: Player, impulse: number) {
|
|
608
|
+
this.player = player;
|
|
609
|
+
this.impulse = impulse;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
/**
|
|
614
|
+
* Called for CmdStart() on a client.
|
|
615
|
+
*
|
|
616
|
+
* Note: Use [get|set]_usercmd() to read and modify information in the usercmd struct.
|
|
617
|
+
*
|
|
618
|
+
* Pawn: `client_cmdStart(id)`
|
|
619
|
+
*/
|
|
620
|
+
export class ClientCmdStartEvent {
|
|
621
|
+
/**
|
|
622
|
+
* The player the event is about.
|
|
623
|
+
*
|
|
624
|
+
* Pawn: `id`
|
|
625
|
+
*/
|
|
626
|
+
player: Player;
|
|
627
|
+
|
|
628
|
+
constructor(player: Player) {
|
|
629
|
+
this.player = player;
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
/**
|
|
634
|
+
* An entity thinks: its scheduled update has come.
|
|
635
|
+
*
|
|
636
|
+
* Pawn: `pfn_think(entid)`
|
|
637
|
+
*/
|
|
638
|
+
export class PfnThinkEvent {
|
|
639
|
+
/**
|
|
640
|
+
* The entity that thinks.
|
|
641
|
+
*
|
|
642
|
+
* Pawn: `entid`
|
|
643
|
+
*/
|
|
644
|
+
entity: number;
|
|
645
|
+
|
|
646
|
+
constructor(entity: number) {
|
|
647
|
+
this.entity = entity;
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
/**
|
|
652
|
+
* The engine plays an event to the clients: a shot, a weapon's sound and effects.
|
|
653
|
+
*
|
|
654
|
+
* Pawn: `pfn_playbackevent(flags, entid, eventid, Float:delay, Float:Origin[3], Float:Angles[3], Float:fparam1, Float:fparam2, iparam1, iparam2, bparam1, bparam2)`
|
|
655
|
+
*/
|
|
656
|
+
export class PfnPlaybackeventEvent {
|
|
657
|
+
/**
|
|
658
|
+
* The event's flags, how the engine sends it.
|
|
659
|
+
*
|
|
660
|
+
* Pawn: `flags`
|
|
661
|
+
*/
|
|
662
|
+
flags: number;
|
|
663
|
+
/**
|
|
664
|
+
* The entity the event plays on, usually the player who fired.
|
|
665
|
+
*
|
|
666
|
+
* Pawn: `entid`
|
|
667
|
+
*/
|
|
668
|
+
entity: number;
|
|
669
|
+
/**
|
|
670
|
+
* The event's index in the precached events.
|
|
671
|
+
*
|
|
672
|
+
* Pawn: `eventid`
|
|
673
|
+
*/
|
|
674
|
+
eventid: number;
|
|
675
|
+
/**
|
|
676
|
+
* The seconds before the event plays.
|
|
677
|
+
*
|
|
678
|
+
* Pawn: `Float:delay`
|
|
679
|
+
*/
|
|
680
|
+
delay: number;
|
|
681
|
+
/**
|
|
682
|
+
* The point the event plays from.
|
|
683
|
+
*
|
|
684
|
+
* Pawn: `Float:Origin[3]`
|
|
685
|
+
*/
|
|
686
|
+
origin: Vector;
|
|
687
|
+
/**
|
|
688
|
+
* The angles the event plays with.
|
|
689
|
+
*
|
|
690
|
+
* Pawn: `Float:Angles[3]`
|
|
691
|
+
*/
|
|
692
|
+
angles: Vector;
|
|
693
|
+
/**
|
|
694
|
+
* The event's first fractional parameter.
|
|
695
|
+
*
|
|
696
|
+
* Pawn: `Float:fparam1`
|
|
697
|
+
*/
|
|
698
|
+
fparam1: number;
|
|
699
|
+
/**
|
|
700
|
+
* The event's second fractional parameter.
|
|
701
|
+
*
|
|
702
|
+
* Pawn: `Float:fparam2`
|
|
703
|
+
*/
|
|
704
|
+
fparam2: number;
|
|
705
|
+
/**
|
|
706
|
+
* The event's first whole-number parameter.
|
|
707
|
+
*
|
|
708
|
+
* Pawn: `iparam1`
|
|
709
|
+
*/
|
|
710
|
+
iparam1: number;
|
|
711
|
+
/**
|
|
712
|
+
* The event's second whole-number parameter.
|
|
713
|
+
*
|
|
714
|
+
* Pawn: `iparam2`
|
|
715
|
+
*/
|
|
716
|
+
iparam2: number;
|
|
717
|
+
/**
|
|
718
|
+
* The event's first flag parameter, `1` or `0`.
|
|
719
|
+
*
|
|
720
|
+
* Pawn: `bparam1`
|
|
721
|
+
*/
|
|
722
|
+
bparam1: number;
|
|
723
|
+
/**
|
|
724
|
+
* The event's second flag parameter, `1` or `0`.
|
|
725
|
+
*
|
|
726
|
+
* Pawn: `bparam2`
|
|
727
|
+
*/
|
|
728
|
+
bparam2: number;
|
|
729
|
+
|
|
730
|
+
constructor(flags: number, entity: number, eventid: number, delay: number, origin: Vector, angles: Vector, fparam1: number, fparam2: number, iparam1: number, iparam2: number, bparam1: number, bparam2: number) {
|
|
731
|
+
this.flags = flags;
|
|
732
|
+
this.entity = entity;
|
|
733
|
+
this.eventid = eventid;
|
|
734
|
+
this.delay = delay;
|
|
735
|
+
this.origin = origin;
|
|
736
|
+
this.angles = angles;
|
|
737
|
+
this.fparam1 = fparam1;
|
|
738
|
+
this.fparam2 = fparam2;
|
|
739
|
+
this.iparam1 = iparam1;
|
|
740
|
+
this.iparam2 = iparam2;
|
|
741
|
+
this.bparam1 = bparam1;
|
|
742
|
+
this.bparam2 = bparam2;
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
/**
|
|
747
|
+
* Called when a keyvalue pair is sent to an entity.
|
|
748
|
+
*
|
|
749
|
+
* Note: Use copy_keyvalue() to retrieve the keyvalue information, and DispatchKeyVaue() to modify it.
|
|
750
|
+
*
|
|
751
|
+
* Pawn: `pfn_keyvalue(entid)`
|
|
752
|
+
*/
|
|
753
|
+
export class PfnKeyvalueEvent {
|
|
754
|
+
/**
|
|
755
|
+
* Entity index
|
|
756
|
+
*
|
|
757
|
+
* Pawn: `entid`
|
|
758
|
+
*/
|
|
759
|
+
entity: number;
|
|
760
|
+
|
|
761
|
+
constructor(entity: number) {
|
|
762
|
+
this.entity = entity;
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
/**
|
|
767
|
+
* An entity is being spawned on the map.
|
|
768
|
+
*
|
|
769
|
+
* Pawn: `pfn_spawn(entid)`
|
|
770
|
+
*/
|
|
771
|
+
export class PfnSpawnEvent {
|
|
772
|
+
/**
|
|
773
|
+
* The entity being spawned.
|
|
774
|
+
*
|
|
775
|
+
* Pawn: `entid`
|
|
776
|
+
*/
|
|
777
|
+
entity: number;
|
|
778
|
+
|
|
779
|
+
constructor(entity: number) {
|
|
780
|
+
this.entity = entity;
|
|
781
|
+
}
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
// The values a message's number fields stand for, in their numbers' order.
|
|
785
|
+
const MESSAGE_TEAMS: Team[] = ["UNASSIGNED", "TERRORIST", "CT", "SPECTATOR"];
|
|
786
|
+
const STATUS_ICON_STATES: StatusIconState[] = ["hide", "show", "flash"];
|
|
787
|
+
const MESSAGE_DESTINATIONS: VariantName[] = ["notify", "notify", "console", "chat", "center"];
|
|
788
|
+
|
|
789
|
+
/** A WeaponKind's id, as a message carries it; 0 for one it does not know. */
|
|
790
|
+
function weaponIdOf(kind: WeaponKind): i32 {
|
|
791
|
+
for (let id = 1; id < 32; id++) {
|
|
792
|
+
if (weaponKindOf(id) == kind) return id;
|
|
793
|
+
}
|
|
794
|
+
return 0;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
/**
|
|
798
|
+
* A player picks up ammo: the notice at the side of his screen.
|
|
799
|
+
*
|
|
800
|
+
* Pawn: `register_message(get_user_msgid("AmmoPickup"), ...)`
|
|
801
|
+
*/
|
|
802
|
+
export class AmmoPickupMessage extends ClientMessage {
|
|
803
|
+
private readonly kind: string = "AmmoPickup";
|
|
804
|
+
/**
|
|
805
|
+
* The ammo's index in the game's list of kinds.
|
|
806
|
+
*
|
|
807
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
808
|
+
*/
|
|
809
|
+
get ammo(): number { return this.__number(1); }
|
|
810
|
+
set ammo(value: number) { this.__setNumber(1, value); }
|
|
811
|
+
/**
|
|
812
|
+
* The amount picked up.
|
|
813
|
+
*
|
|
814
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
815
|
+
*/
|
|
816
|
+
get amount(): number { return this.__number(2); }
|
|
817
|
+
set amount(value: number) { this.__setNumber(2, value); }
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
/**
|
|
821
|
+
* The progress bar in the middle of a player's screen is shown or hidden.
|
|
822
|
+
*
|
|
823
|
+
* Pawn: `register_message(get_user_msgid("BarTime"), ...)`
|
|
824
|
+
*/
|
|
825
|
+
export class BarTimeMessage extends ClientMessage {
|
|
826
|
+
private readonly kind: string = "BarTime";
|
|
827
|
+
/**
|
|
828
|
+
* The seconds the bar or the clock shows. Assign to change them.
|
|
829
|
+
*
|
|
830
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
831
|
+
*/
|
|
832
|
+
get seconds(): number { return this.__number(1); }
|
|
833
|
+
set seconds(value: number) { this.__setNumber(1, value); }
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
/**
|
|
837
|
+
* A player's armour on his HUD changes.
|
|
838
|
+
*
|
|
839
|
+
* Pawn: `register_message(get_user_msgid("Battery"), ...)`
|
|
840
|
+
*/
|
|
841
|
+
export class BatteryMessage extends ClientMessage {
|
|
842
|
+
private readonly kind: string = "Battery";
|
|
843
|
+
/**
|
|
844
|
+
* The armour shown.
|
|
845
|
+
*
|
|
846
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
847
|
+
*/
|
|
848
|
+
get armor(): number { return this.__number(1); }
|
|
849
|
+
set armor(value: number) { this.__setNumber(1, value); }
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
/**
|
|
853
|
+
* A dead player's body is left on the ground for the clients to draw.
|
|
854
|
+
*
|
|
855
|
+
* Pawn: `register_message(get_user_msgid("ClCorpse"), ...)`
|
|
856
|
+
*/
|
|
857
|
+
export class ClCorpseMessage extends ClientMessage {
|
|
858
|
+
private readonly kind: string = "ClCorpse";
|
|
859
|
+
/**
|
|
860
|
+
* The body's model, e.g. `"sas"`.
|
|
861
|
+
*
|
|
862
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
863
|
+
*/
|
|
864
|
+
get model(): string { return this.__text(1); }
|
|
865
|
+
set model(value: string) { this.__setText(1, value); }
|
|
866
|
+
/**
|
|
867
|
+
* The player whose body it is.
|
|
868
|
+
*
|
|
869
|
+
* Pawn: `get_msg_arg_*(12)`
|
|
870
|
+
*/
|
|
871
|
+
get target(): Player | null { return this.__player(12); }
|
|
872
|
+
set target(value: Player | null) { this.__setNumber(12, value != null ? value.id : 0); }
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
/**
|
|
876
|
+
* The weapon in a player's hands and its clip on his HUD.
|
|
877
|
+
*
|
|
878
|
+
* Pawn: `register_message(get_user_msgid("CurWeapon"), ...)`
|
|
879
|
+
*/
|
|
880
|
+
export class CurWeaponMessage extends ClientMessage {
|
|
881
|
+
private readonly kind: string = "CurWeapon";
|
|
882
|
+
/**
|
|
883
|
+
* `true` for the weapon in his hands.
|
|
884
|
+
*
|
|
885
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
886
|
+
*/
|
|
887
|
+
get active(): boolean { return this.__number(1) != 0; }
|
|
888
|
+
set active(value: boolean) { this.__setNumber(1, value ? 1 : 0); }
|
|
889
|
+
/**
|
|
890
|
+
* The weapon, by its kind, e.g. `"ak47"`.
|
|
891
|
+
*
|
|
892
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
893
|
+
*/
|
|
894
|
+
get weapon(): WeaponKind { return weaponKindOf(this.__number(2)); }
|
|
895
|
+
set weapon(value: WeaponKind) { this.__setNumber(2, weaponIdOf(value)); }
|
|
896
|
+
/**
|
|
897
|
+
* The rounds in the clip.
|
|
898
|
+
*
|
|
899
|
+
* Pawn: `get_msg_arg_*(3)`
|
|
900
|
+
*/
|
|
901
|
+
get clip(): number { return this.__number(3); }
|
|
902
|
+
set clip(value: number) { this.__setNumber(3, value); }
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
/**
|
|
906
|
+
* A player is shown the damage he took: the red marks at the side of his screen.
|
|
907
|
+
*
|
|
908
|
+
* Pawn: `register_message(get_user_msgid("Damage"), ...)`
|
|
909
|
+
*/
|
|
910
|
+
export class DamageMessage extends ClientMessage {
|
|
911
|
+
private readonly kind: string = "Damage";
|
|
912
|
+
/**
|
|
913
|
+
* The armour he lost.
|
|
914
|
+
*
|
|
915
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
916
|
+
*/
|
|
917
|
+
get armor(): number { return this.__number(1); }
|
|
918
|
+
set armor(value: number) { this.__setNumber(1, value); }
|
|
919
|
+
/**
|
|
920
|
+
* The health he lost.
|
|
921
|
+
*
|
|
922
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
923
|
+
*/
|
|
924
|
+
get damage(): number { return this.__number(2); }
|
|
925
|
+
set damage(value: number) { this.__setNumber(2, value); }
|
|
926
|
+
/**
|
|
927
|
+
* The kinds of damage, e.g. `"Fall"`, `"Bullet"`.
|
|
928
|
+
*
|
|
929
|
+
* Pawn: `get_msg_arg_*(3)`
|
|
930
|
+
*/
|
|
931
|
+
get damageType(): Damage[] { return <Damage[]>DAMAGE.namesOf(<i32>this.__number(3)); }
|
|
932
|
+
set damageType(value: Damage[]) { this.__setNumber(3, DAMAGE.maskOf(value)); }
|
|
933
|
+
}
|
|
934
|
+
|
|
935
|
+
/**
|
|
936
|
+
* A kill in the top right corner of every screen.
|
|
937
|
+
*
|
|
938
|
+
* Pawn: `register_message(get_user_msgid("DeathMsg"), ...)`
|
|
939
|
+
*/
|
|
940
|
+
export class DeathMsgMessage extends ClientMessage {
|
|
941
|
+
private readonly kind: string = "DeathMsg";
|
|
942
|
+
/**
|
|
943
|
+
* The player who killed; `null` for the world.
|
|
944
|
+
*
|
|
945
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
946
|
+
*/
|
|
947
|
+
get killer(): Player | null { return this.__player(1); }
|
|
948
|
+
set killer(value: Player | null) { this.__setNumber(1, value != null ? value.id : 0); }
|
|
949
|
+
/**
|
|
950
|
+
* The player who died.
|
|
951
|
+
*
|
|
952
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
953
|
+
*/
|
|
954
|
+
get victim(): Player | null { return this.__player(2); }
|
|
955
|
+
set victim(value: Player | null) { this.__setNumber(2, value != null ? value.id : 0); }
|
|
956
|
+
/**
|
|
957
|
+
* `true` for a headshot.
|
|
958
|
+
*
|
|
959
|
+
* Pawn: `get_msg_arg_*(3)`
|
|
960
|
+
*/
|
|
961
|
+
get headshot(): boolean { return this.__number(3) != 0; }
|
|
962
|
+
set headshot(value: boolean) { this.__setNumber(3, value ? 1 : 0); }
|
|
963
|
+
/**
|
|
964
|
+
* The weapon's name as the icon shows it, e.g. `"ak47"`, `"grenade"`.
|
|
965
|
+
*
|
|
966
|
+
* Pawn: `get_msg_arg_*(4)`
|
|
967
|
+
*/
|
|
968
|
+
get weapon(): string { return this.__text(4); }
|
|
969
|
+
set weapon(value: string) { this.__setText(4, value); }
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
/**
|
|
973
|
+
* A player's health on his HUD changes.
|
|
974
|
+
*
|
|
975
|
+
* Pawn: `register_message(get_user_msgid("Health"), ...)`
|
|
976
|
+
*/
|
|
977
|
+
export class HealthMessage extends ClientMessage {
|
|
978
|
+
private readonly kind: string = "Health";
|
|
979
|
+
/**
|
|
980
|
+
* The health shown.
|
|
981
|
+
*
|
|
982
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
983
|
+
*/
|
|
984
|
+
get health(): number { return this.__number(1); }
|
|
985
|
+
set health(value: number) { this.__setNumber(1, value); }
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
/**
|
|
989
|
+
* The parts of a player's HUD that are hidden change.
|
|
990
|
+
*
|
|
991
|
+
* Pawn: `register_message(get_user_msgid("HideWeapon"), ...)`
|
|
992
|
+
*/
|
|
993
|
+
export class HideWeaponMessage extends ClientMessage {
|
|
994
|
+
private readonly kind: string = "HideWeapon";
|
|
995
|
+
/**
|
|
996
|
+
* The hidden parts, e.g. `"Money"`, `"Timer"`. Assign to change them.
|
|
997
|
+
*
|
|
998
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
999
|
+
*/
|
|
1000
|
+
get flags(): HideHud[] { return <HideHud[]>HIDE_HUD.namesOf(<i32>this.__number(1)); }
|
|
1001
|
+
set flags(value: HideHud[]) { this.__setNumber(1, HIDE_HUD.maskOf(value)); }
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
/**
|
|
1005
|
+
* A hint in the middle of a player's screen, from the game's own texts.
|
|
1006
|
+
*
|
|
1007
|
+
* Pawn: `register_message(get_user_msgid("HudTextArgs"), ...)`
|
|
1008
|
+
*/
|
|
1009
|
+
export class HudTextArgsMessage extends ClientMessage {
|
|
1010
|
+
private readonly kind: string = "HudTextArgs";
|
|
1011
|
+
/**
|
|
1012
|
+
* The game's text, e.g. `"#Hint_press_buy_to_purchase"`.
|
|
1013
|
+
*
|
|
1014
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1015
|
+
*/
|
|
1016
|
+
get text(): string { return this.__text(1); }
|
|
1017
|
+
set text(value: string) { this.__setText(1, value); }
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
/**
|
|
1021
|
+
* A player picks up an item: the notice at the side of his screen.
|
|
1022
|
+
*
|
|
1023
|
+
* Pawn: `register_message(get_user_msgid("ItemPickup"), ...)`
|
|
1024
|
+
*/
|
|
1025
|
+
export class ItemPickupMessage extends ClientMessage {
|
|
1026
|
+
private readonly kind: string = "ItemPickup";
|
|
1027
|
+
/**
|
|
1028
|
+
* The item's class name, e.g. `"item_kevlar"`.
|
|
1029
|
+
*
|
|
1030
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1031
|
+
*/
|
|
1032
|
+
get item(): string { return this.__text(1); }
|
|
1033
|
+
set item(value: string) { this.__setText(1, value); }
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
/**
|
|
1037
|
+
* A player's money on his HUD changes.
|
|
1038
|
+
*
|
|
1039
|
+
* Pawn: `register_message(get_user_msgid("Money"), ...)`
|
|
1040
|
+
*/
|
|
1041
|
+
export class MoneyMessage extends ClientMessage {
|
|
1042
|
+
private readonly kind: string = "Money";
|
|
1043
|
+
/**
|
|
1044
|
+
* The money shown.
|
|
1045
|
+
*
|
|
1046
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1047
|
+
*/
|
|
1048
|
+
get amount(): number { return this.__number(1); }
|
|
1049
|
+
set amount(value: number) { this.__setNumber(1, value); }
|
|
1050
|
+
/**
|
|
1051
|
+
* `true` to flash the change.
|
|
1052
|
+
*
|
|
1053
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
1054
|
+
*/
|
|
1055
|
+
get flash(): boolean { return this.__number(2) != 0; }
|
|
1056
|
+
set flash(value: boolean) { this.__setNumber(2, value ? 1 : 0); }
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
/**
|
|
1060
|
+
* A player's HUD is reset, at his spawn.
|
|
1061
|
+
*
|
|
1062
|
+
* Pawn: `register_message(get_user_msgid("ResetHUD"), ...)`
|
|
1063
|
+
*/
|
|
1064
|
+
export class ResetHUDMessage extends ClientMessage {
|
|
1065
|
+
private readonly kind: string = "ResetHUD";
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
/**
|
|
1069
|
+
* The round clock at the top of a player's HUD is set.
|
|
1070
|
+
*
|
|
1071
|
+
* Pawn: `register_message(get_user_msgid("RoundTime"), ...)`
|
|
1072
|
+
*/
|
|
1073
|
+
export class RoundTimeMessage extends ClientMessage {
|
|
1074
|
+
private readonly kind: string = "RoundTime";
|
|
1075
|
+
/**
|
|
1076
|
+
* The seconds the bar or the clock shows. Assign to change them.
|
|
1077
|
+
*
|
|
1078
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1079
|
+
*/
|
|
1080
|
+
get seconds(): number { return this.__number(1); }
|
|
1081
|
+
set seconds(value: number) { this.__setNumber(1, value); }
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
/**
|
|
1085
|
+
* A chat line.
|
|
1086
|
+
*
|
|
1087
|
+
* Pawn: `register_message(get_user_msgid("SayText"), ...)`
|
|
1088
|
+
*/
|
|
1089
|
+
export class SayTextMessage extends ClientMessage {
|
|
1090
|
+
private readonly kind: string = "SayText";
|
|
1091
|
+
/**
|
|
1092
|
+
* The player who wrote it; `null` for the server.
|
|
1093
|
+
*
|
|
1094
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1095
|
+
*/
|
|
1096
|
+
get sender(): Player | null { return this.__player(1); }
|
|
1097
|
+
set sender(value: Player | null) { this.__setNumber(1, value != null ? value.id : 0); }
|
|
1098
|
+
/**
|
|
1099
|
+
* The line, or the game's format for it, e.g. `"#Cstrike_Chat_All"`.
|
|
1100
|
+
*
|
|
1101
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
1102
|
+
*/
|
|
1103
|
+
get text(): string { return this.__text(2); }
|
|
1104
|
+
set text(value: string) { this.__setText(2, value); }
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
/**
|
|
1108
|
+
* A player's row on the scoreboard.
|
|
1109
|
+
*
|
|
1110
|
+
* Pawn: `register_message(get_user_msgid("ScoreInfo"), ...)`
|
|
1111
|
+
*/
|
|
1112
|
+
export class ScoreInfoMessage extends ClientMessage {
|
|
1113
|
+
private readonly kind: string = "ScoreInfo";
|
|
1114
|
+
/**
|
|
1115
|
+
* The player whose row it is.
|
|
1116
|
+
*
|
|
1117
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1118
|
+
*/
|
|
1119
|
+
get target(): Player | null { return this.__player(1); }
|
|
1120
|
+
set target(value: Player | null) { this.__setNumber(1, value != null ? value.id : 0); }
|
|
1121
|
+
/**
|
|
1122
|
+
* The frags shown.
|
|
1123
|
+
*
|
|
1124
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
1125
|
+
*/
|
|
1126
|
+
get frags(): number { return this.__number(2); }
|
|
1127
|
+
set frags(value: number) { this.__setNumber(2, value); }
|
|
1128
|
+
/**
|
|
1129
|
+
* The deaths shown.
|
|
1130
|
+
*
|
|
1131
|
+
* Pawn: `get_msg_arg_*(3)`
|
|
1132
|
+
*/
|
|
1133
|
+
get deaths(): number { return this.__number(3); }
|
|
1134
|
+
set deaths(value: number) { this.__setNumber(3, value); }
|
|
1135
|
+
/**
|
|
1136
|
+
* The team the row is under.
|
|
1137
|
+
*
|
|
1138
|
+
* Pawn: `get_msg_arg_*(5)`
|
|
1139
|
+
*/
|
|
1140
|
+
get team(): Team { return MESSAGE_TEAMS[<i32>min(max(this.__number(5), 0), 3)]; }
|
|
1141
|
+
set team(value: Team) { this.__setNumber(5, max(MESSAGE_TEAMS.indexOf(value), 0)); }
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
/**
|
|
1145
|
+
* A sound played to a player, such as a radio line.
|
|
1146
|
+
*
|
|
1147
|
+
* Pawn: `register_message(get_user_msgid("SendAudio"), ...)`
|
|
1148
|
+
*/
|
|
1149
|
+
export class SendAudioMessage extends ClientMessage {
|
|
1150
|
+
private readonly kind: string = "SendAudio";
|
|
1151
|
+
/**
|
|
1152
|
+
* The player the sound is from; `null` for none.
|
|
1153
|
+
*
|
|
1154
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1155
|
+
*/
|
|
1156
|
+
get sender(): Player | null { return this.__player(1); }
|
|
1157
|
+
set sender(value: Player | null) { this.__setNumber(1, value != null ? value.id : 0); }
|
|
1158
|
+
/**
|
|
1159
|
+
* The sound, e.g. `"%!MRAD_GO"` for a radio line.
|
|
1160
|
+
*
|
|
1161
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
1162
|
+
*/
|
|
1163
|
+
get sound(): string { return this.__text(2); }
|
|
1164
|
+
set sound(value: string) { this.__setText(2, value); }
|
|
1165
|
+
/**
|
|
1166
|
+
* The pitch in percent, `100` as recorded.
|
|
1167
|
+
*
|
|
1168
|
+
* Pawn: `get_msg_arg_*(3)`
|
|
1169
|
+
*/
|
|
1170
|
+
get pitch(): number { return this.__number(3); }
|
|
1171
|
+
set pitch(value: number) { this.__setNumber(3, value); }
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
/**
|
|
1175
|
+
* A player's field of view is set.
|
|
1176
|
+
*
|
|
1177
|
+
* Pawn: `register_message(get_user_msgid("SetFOV"), ...)`
|
|
1178
|
+
*/
|
|
1179
|
+
export class SetFOVMessage extends ClientMessage {
|
|
1180
|
+
private readonly kind: string = "SetFOV";
|
|
1181
|
+
/**
|
|
1182
|
+
* The field of view, in degrees.
|
|
1183
|
+
*
|
|
1184
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1185
|
+
*/
|
|
1186
|
+
get fov(): number { return this.__number(1); }
|
|
1187
|
+
set fov(value: number) { this.__setNumber(1, value); }
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
/**
|
|
1191
|
+
* A status icon on a player's HUD - the buy zone, the bomb - is shown, flashed or hidden.
|
|
1192
|
+
*
|
|
1193
|
+
* Pawn: `register_message(get_user_msgid("StatusIcon"), ...)`
|
|
1194
|
+
*/
|
|
1195
|
+
export class StatusIconMessage extends ClientMessage {
|
|
1196
|
+
private readonly kind: string = "StatusIcon";
|
|
1197
|
+
/**
|
|
1198
|
+
* One of `"hide"`, `"show"` or `"flash"`.
|
|
1199
|
+
*
|
|
1200
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1201
|
+
*/
|
|
1202
|
+
get state(): StatusIconState { return STATUS_ICON_STATES[<i32>min(max(this.__number(1), 0), 2)]; }
|
|
1203
|
+
set state(value: StatusIconState) { this.__setNumber(1, max(STATUS_ICON_STATES.indexOf(value), 0)); }
|
|
1204
|
+
/**
|
|
1205
|
+
* The icon's sprite name, e.g. `"buyzone"`.
|
|
1206
|
+
*
|
|
1207
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
1208
|
+
*/
|
|
1209
|
+
get sprite(): string { return this.__text(2); }
|
|
1210
|
+
set sprite(value: string) { this.__setText(2, value); }
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1213
|
+
/**
|
|
1214
|
+
* A player's team on the scoreboard.
|
|
1215
|
+
*
|
|
1216
|
+
* Pawn: `register_message(get_user_msgid("TeamInfo"), ...)`
|
|
1217
|
+
*/
|
|
1218
|
+
export class TeamInfoMessage extends ClientMessage {
|
|
1219
|
+
private readonly kind: string = "TeamInfo";
|
|
1220
|
+
/**
|
|
1221
|
+
* The player whose team it is.
|
|
1222
|
+
*
|
|
1223
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1224
|
+
*/
|
|
1225
|
+
get target(): Player | null { return this.__player(1); }
|
|
1226
|
+
set target(value: Player | null) { this.__setNumber(1, value != null ? value.id : 0); }
|
|
1227
|
+
/**
|
|
1228
|
+
* The team's name, e.g. `"TERRORIST"`, `"CT"`.
|
|
1229
|
+
*
|
|
1230
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
1231
|
+
*/
|
|
1232
|
+
get team(): string { return this.__text(2); }
|
|
1233
|
+
set team(value: string) { this.__setText(2, value); }
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
/**
|
|
1237
|
+
* A text from the game - an announcement, a hint - in chat, the console or the middle of the screen.
|
|
1238
|
+
*
|
|
1239
|
+
* Pawn: `register_message(get_user_msgid("TextMsg"), ...)`
|
|
1240
|
+
*/
|
|
1241
|
+
export class TextMsgMessage extends ClientMessage {
|
|
1242
|
+
private readonly kind: string = "TextMsg";
|
|
1243
|
+
/**
|
|
1244
|
+
* The place it shows, one of `"chat"`, `"center"`, `"console"` or `"notify"`.
|
|
1245
|
+
*
|
|
1246
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1247
|
+
*/
|
|
1248
|
+
get destination(): VariantName { return MESSAGE_DESTINATIONS[<i32>min(max(this.__number(1), 0), 4)]; }
|
|
1249
|
+
set destination(value: VariantName) { this.__setNumber(1, max(MESSAGE_DESTINATIONS.indexOf(value), 1)); }
|
|
1250
|
+
/**
|
|
1251
|
+
* The text, or the game's own for it, e.g. `"#Round_Draw"`.
|
|
1252
|
+
*
|
|
1253
|
+
* Pawn: `get_msg_arg_*(2)`
|
|
1254
|
+
*/
|
|
1255
|
+
get text(): string { return this.__text(2); }
|
|
1256
|
+
set text(value: string) { this.__setText(2, value); }
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1259
|
+
/**
|
|
1260
|
+
* A player picks up a weapon: the notice at the side of his screen.
|
|
1261
|
+
*
|
|
1262
|
+
* Pawn: `register_message(get_user_msgid("WeapPickup"), ...)`
|
|
1263
|
+
*/
|
|
1264
|
+
export class WeapPickupMessage extends ClientMessage {
|
|
1265
|
+
private readonly kind: string = "WeapPickup";
|
|
1266
|
+
/**
|
|
1267
|
+
* The weapon, by its kind, e.g. `"knife"`.
|
|
1268
|
+
*
|
|
1269
|
+
* Pawn: `get_msg_arg_*(1)`
|
|
1270
|
+
*/
|
|
1271
|
+
get weapon(): WeaponKind { return weaponKindOf(this.__number(1)); }
|
|
1272
|
+
set weapon(value: WeaponKind) { this.__setNumber(1, weaponIdOf(value)); }
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
/** Every event a server raises, by name: the short one and the Pawn one, and every message it sends. */
|
|
1276
|
+
export interface ServerEventMap {
|
|
1277
|
+
/**
|
|
1278
|
+
* The plugin has loaded: register commands, events and hooks here.
|
|
1279
|
+
*
|
|
1280
|
+
* Pawn: `plugin_init`
|
|
1281
|
+
*/
|
|
1282
|
+
init: PluginInitEvent;
|
|
1283
|
+
/**
|
|
1284
|
+
* The plugin has loaded: register commands, events and hooks here.
|
|
1285
|
+
*
|
|
1286
|
+
* Pawn: `plugin_init`
|
|
1287
|
+
*/
|
|
1288
|
+
plugin_init: PluginInitEvent;
|
|
1289
|
+
/**
|
|
1290
|
+
* An admin paused this plugin.
|
|
1291
|
+
*
|
|
1292
|
+
* Pawn: `plugin_pause`
|
|
1293
|
+
*/
|
|
1294
|
+
pause: PluginPauseEvent;
|
|
1295
|
+
/**
|
|
1296
|
+
* An admin paused this plugin.
|
|
1297
|
+
*
|
|
1298
|
+
* Pawn: `plugin_pause`
|
|
1299
|
+
*/
|
|
1300
|
+
plugin_pause: PluginPauseEvent;
|
|
1301
|
+
/**
|
|
1302
|
+
* An admin resumed this plugin.
|
|
1303
|
+
*
|
|
1304
|
+
* Pawn: `plugin_unpause`
|
|
1305
|
+
*/
|
|
1306
|
+
unpause: PluginUnpauseEvent;
|
|
1307
|
+
/**
|
|
1308
|
+
* An admin resumed this plugin.
|
|
1309
|
+
*
|
|
1310
|
+
* Pawn: `plugin_unpause`
|
|
1311
|
+
*/
|
|
1312
|
+
plugin_unpause: PluginUnpauseEvent;
|
|
1313
|
+
/**
|
|
1314
|
+
* The server is about to change the map.
|
|
1315
|
+
*
|
|
1316
|
+
* Pawn: `server_changelevel`
|
|
1317
|
+
*/
|
|
1318
|
+
changelevel: ServerChangelevelEvent;
|
|
1319
|
+
/**
|
|
1320
|
+
* The server is about to change the map.
|
|
1321
|
+
*
|
|
1322
|
+
* Pawn: `server_changelevel`
|
|
1323
|
+
*/
|
|
1324
|
+
server_changelevel: ServerChangelevelEvent;
|
|
1325
|
+
/**
|
|
1326
|
+
* Every config has been read and every plugin is loaded: the moment to read cvars and to create forwards other plugins listen to.
|
|
1327
|
+
*
|
|
1328
|
+
* Pawn: `plugin_cfg`
|
|
1329
|
+
*/
|
|
1330
|
+
cfg: PluginCfgEvent;
|
|
1331
|
+
/**
|
|
1332
|
+
* Every config has been read and every plugin is loaded: the moment to read cvars and to create forwards other plugins listen to.
|
|
1333
|
+
*
|
|
1334
|
+
* Pawn: `plugin_cfg`
|
|
1335
|
+
*/
|
|
1336
|
+
plugin_cfg: PluginCfgEvent;
|
|
1337
|
+
/**
|
|
1338
|
+
* The map is ending or the server is shutting down: save what has to survive.
|
|
1339
|
+
*
|
|
1340
|
+
* Pawn: `plugin_end`
|
|
1341
|
+
*/
|
|
1342
|
+
end: PluginEndEvent;
|
|
1343
|
+
/**
|
|
1344
|
+
* The map is ending or the server is shutting down: save what has to survive.
|
|
1345
|
+
*
|
|
1346
|
+
* Pawn: `plugin_end`
|
|
1347
|
+
*/
|
|
1348
|
+
plugin_end: PluginEndEvent;
|
|
1349
|
+
/**
|
|
1350
|
+
* Called when a message is about to be logged.
|
|
1351
|
+
*
|
|
1352
|
+
* Pawn: `plugin_log`
|
|
1353
|
+
*/
|
|
1354
|
+
log: PluginLogEvent;
|
|
1355
|
+
/**
|
|
1356
|
+
* Called when a message is about to be logged.
|
|
1357
|
+
*
|
|
1358
|
+
* Pawn: `plugin_log`
|
|
1359
|
+
*/
|
|
1360
|
+
plugin_log: PluginLogEvent;
|
|
1361
|
+
/**
|
|
1362
|
+
* The map is loading: the only moment models, sounds and sprites can be precached.
|
|
1363
|
+
*
|
|
1364
|
+
* Pawn: `plugin_precache`
|
|
1365
|
+
*/
|
|
1366
|
+
precache: PluginPrecacheEvent;
|
|
1367
|
+
/**
|
|
1368
|
+
* The map is loading: the only moment models, sounds and sprites can be precached.
|
|
1369
|
+
*
|
|
1370
|
+
* Pawn: `plugin_precache`
|
|
1371
|
+
*/
|
|
1372
|
+
plugin_precache: PluginPrecacheEvent;
|
|
1373
|
+
/**
|
|
1374
|
+
* A player changed his info, usually the name.
|
|
1375
|
+
*
|
|
1376
|
+
* Pawn: `client_infochanged`
|
|
1377
|
+
*/
|
|
1378
|
+
infochanged: ClientInfochangedEvent;
|
|
1379
|
+
/**
|
|
1380
|
+
* A player changed his info, usually the name.
|
|
1381
|
+
*
|
|
1382
|
+
* Pawn: `client_infochanged`
|
|
1383
|
+
*/
|
|
1384
|
+
client_infochanged: ClientInfochangedEvent;
|
|
1385
|
+
/**
|
|
1386
|
+
* A player started connecting. The player is not in the game yet: show him anything after `"putinserver"`.
|
|
1387
|
+
*
|
|
1388
|
+
* Pawn: `client_connect`
|
|
1389
|
+
*/
|
|
1390
|
+
connect: ClientConnectEvent;
|
|
1391
|
+
/**
|
|
1392
|
+
* A player started connecting. The player is not in the game yet: show him anything after `"putinserver"`.
|
|
1393
|
+
*
|
|
1394
|
+
* Pawn: `client_connect`
|
|
1395
|
+
*/
|
|
1396
|
+
client_connect: ClientConnectEvent;
|
|
1397
|
+
/**
|
|
1398
|
+
* A player started connecting, with a name and an address: the place to turn him away.
|
|
1399
|
+
*
|
|
1400
|
+
* Pawn: `client_connectex`
|
|
1401
|
+
*/
|
|
1402
|
+
connectex: ClientConnectexEvent;
|
|
1403
|
+
/**
|
|
1404
|
+
* A player started connecting, with a name and an address: the place to turn him away.
|
|
1405
|
+
*
|
|
1406
|
+
* Pawn: `client_connectex`
|
|
1407
|
+
*/
|
|
1408
|
+
client_connectex: ClientConnectexEvent;
|
|
1409
|
+
/**
|
|
1410
|
+
* A player's SteamID is known. May come before or after `"putinserver"`.
|
|
1411
|
+
*
|
|
1412
|
+
* Pawn: `client_authorized`
|
|
1413
|
+
*/
|
|
1414
|
+
authorized: ClientAuthorizedEvent;
|
|
1415
|
+
/**
|
|
1416
|
+
* A player's SteamID is known. May come before or after `"putinserver"`.
|
|
1417
|
+
*
|
|
1418
|
+
* Pawn: `client_authorized`
|
|
1419
|
+
*/
|
|
1420
|
+
client_authorized: ClientAuthorizedEvent;
|
|
1421
|
+
/**
|
|
1422
|
+
* Old form of `"disconnected"` that misses some cases: use `"disconnected"`.
|
|
1423
|
+
*
|
|
1424
|
+
* Pawn: `client_disconnect`
|
|
1425
|
+
*/
|
|
1426
|
+
disconnect: ClientDisconnectEvent;
|
|
1427
|
+
/**
|
|
1428
|
+
* Old form of `"disconnected"` that misses some cases: use `"disconnected"`.
|
|
1429
|
+
*
|
|
1430
|
+
* Pawn: `client_disconnect`
|
|
1431
|
+
*/
|
|
1432
|
+
client_disconnect: ClientDisconnectEvent;
|
|
1433
|
+
/**
|
|
1434
|
+
* A player left the server: quit, timed out or was kicked.
|
|
1435
|
+
*
|
|
1436
|
+
* Pawn: `client_disconnected`
|
|
1437
|
+
*/
|
|
1438
|
+
disconnected: ClientDisconnectedEvent;
|
|
1439
|
+
/**
|
|
1440
|
+
* A player left the server: quit, timed out or was kicked.
|
|
1441
|
+
*
|
|
1442
|
+
* Pawn: `client_disconnected`
|
|
1443
|
+
*/
|
|
1444
|
+
client_disconnected: ClientDisconnectedEvent;
|
|
1445
|
+
/**
|
|
1446
|
+
* A player's slot is being freed, after `"disconnected"`.
|
|
1447
|
+
*
|
|
1448
|
+
* Pawn: `client_remove`
|
|
1449
|
+
*/
|
|
1450
|
+
remove: ClientRemoveEvent;
|
|
1451
|
+
/**
|
|
1452
|
+
* A player's slot is being freed, after `"disconnected"`.
|
|
1453
|
+
*
|
|
1454
|
+
* Pawn: `client_remove`
|
|
1455
|
+
*/
|
|
1456
|
+
client_remove: ClientRemoveEvent;
|
|
1457
|
+
/**
|
|
1458
|
+
* A player sent a console command. For one command, `server.addCommand("name", handler)` is simpler.
|
|
1459
|
+
*
|
|
1460
|
+
* Pawn: `client_command`
|
|
1461
|
+
*/
|
|
1462
|
+
command: ClientCommandEvent;
|
|
1463
|
+
/**
|
|
1464
|
+
* A player sent a console command. For one command, `server.addCommand("name", handler)` is simpler.
|
|
1465
|
+
*
|
|
1466
|
+
* Pawn: `client_command`
|
|
1467
|
+
*/
|
|
1468
|
+
client_command: ClientCommandEvent;
|
|
1469
|
+
/**
|
|
1470
|
+
* A player has joined and is in the game: the moment to greet him.
|
|
1471
|
+
*
|
|
1472
|
+
* Pawn: `client_putinserver`
|
|
1473
|
+
*/
|
|
1474
|
+
putinserver: ClientPutinserverEvent;
|
|
1475
|
+
/**
|
|
1476
|
+
* A player has joined and is in the game: the moment to greet him.
|
|
1477
|
+
*
|
|
1478
|
+
* Pawn: `client_putinserver`
|
|
1479
|
+
*/
|
|
1480
|
+
client_putinserver: ClientPutinserverEvent;
|
|
1481
|
+
/**
|
|
1482
|
+
* Called when an inconsistent file is encountered by the engine.
|
|
1483
|
+
*
|
|
1484
|
+
* Pawn: `inconsistent_file`
|
|
1485
|
+
*/
|
|
1486
|
+
inconsistentFile: InconsistentFileEvent;
|
|
1487
|
+
/**
|
|
1488
|
+
* Called when an inconsistent file is encountered by the engine.
|
|
1489
|
+
*
|
|
1490
|
+
* Pawn: `inconsistent_file`
|
|
1491
|
+
*/
|
|
1492
|
+
inconsistent_file: InconsistentFileEvent;
|
|
1493
|
+
/**
|
|
1494
|
+
* Allows plugins to declare module dependencies using require_module()
|
|
1495
|
+
*
|
|
1496
|
+
* Pawn: `plugin_modules`
|
|
1497
|
+
*/
|
|
1498
|
+
modules: PluginModulesEvent;
|
|
1499
|
+
/**
|
|
1500
|
+
* Allows plugins to declare module dependencies using require_module()
|
|
1501
|
+
*
|
|
1502
|
+
* Pawn: `plugin_modules`
|
|
1503
|
+
*/
|
|
1504
|
+
plugin_modules: PluginModulesEvent;
|
|
1505
|
+
/**
|
|
1506
|
+
* 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.
|
|
1507
|
+
*
|
|
1508
|
+
* Pawn: `OnConfigsExecuted`
|
|
1509
|
+
*/
|
|
1510
|
+
OnConfigsExecuted: OnConfigsExecutedEvent;
|
|
1511
|
+
/**
|
|
1512
|
+
* 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.
|
|
1513
|
+
*
|
|
1514
|
+
* Pawn: `OnAutoConfigsBuffered`
|
|
1515
|
+
*/
|
|
1516
|
+
OnAutoConfigsBuffered: OnAutoConfigsBufferedEvent;
|
|
1517
|
+
/**
|
|
1518
|
+
* Called when CS internally fires a command to a player.
|
|
1519
|
+
*
|
|
1520
|
+
* Pawn: `CS_InternalCommand`
|
|
1521
|
+
*/
|
|
1522
|
+
CS_InternalCommand: CS_InternalCommandEvent;
|
|
1523
|
+
/**
|
|
1524
|
+
* Called when a client attempts to purchase an item.
|
|
1525
|
+
*
|
|
1526
|
+
* Pawn: `CS_OnBuyAttempt`
|
|
1527
|
+
*/
|
|
1528
|
+
CS_OnBuyAttempt: CS_OnBuyAttemptEvent;
|
|
1529
|
+
/**
|
|
1530
|
+
* Called when a client purchases an item.
|
|
1531
|
+
*
|
|
1532
|
+
* Pawn: `CS_OnBuy`
|
|
1533
|
+
*/
|
|
1534
|
+
CS_OnBuy: CS_OnBuyEvent;
|
|
1535
|
+
/**
|
|
1536
|
+
* Two entities touched.
|
|
1537
|
+
*
|
|
1538
|
+
* Pawn: `pfn_touch`
|
|
1539
|
+
*/
|
|
1540
|
+
pfnTouch: PfnTouchEvent;
|
|
1541
|
+
/**
|
|
1542
|
+
* Two entities touched.
|
|
1543
|
+
*
|
|
1544
|
+
* Pawn: `pfn_touch`
|
|
1545
|
+
*/
|
|
1546
|
+
pfn_touch: PfnTouchEvent;
|
|
1547
|
+
/**
|
|
1548
|
+
* A server frame, hundreds of times a second. Keep the listener tiny, or use `setInterval`.
|
|
1549
|
+
*
|
|
1550
|
+
* Pawn: `server_frame`
|
|
1551
|
+
*/
|
|
1552
|
+
frame: ServerFrameEvent;
|
|
1553
|
+
/**
|
|
1554
|
+
* A server frame, hundreds of times a second. Keep the listener tiny, or use `setInterval`.
|
|
1555
|
+
*
|
|
1556
|
+
* Pawn: `server_frame`
|
|
1557
|
+
*/
|
|
1558
|
+
server_frame: ServerFrameEvent;
|
|
1559
|
+
/**
|
|
1560
|
+
* A player typed `"kill"` in the console to kill himself.
|
|
1561
|
+
*
|
|
1562
|
+
* Pawn: `client_kill`
|
|
1563
|
+
*/
|
|
1564
|
+
kill: ClientKillEvent;
|
|
1565
|
+
/**
|
|
1566
|
+
* A player typed `"kill"` in the console to kill himself.
|
|
1567
|
+
*
|
|
1568
|
+
* Pawn: `client_kill`
|
|
1569
|
+
*/
|
|
1570
|
+
client_kill: ClientKillEvent;
|
|
1571
|
+
/**
|
|
1572
|
+
* Called at the start of each client think.
|
|
1573
|
+
*
|
|
1574
|
+
* Pawn: `client_PreThink`
|
|
1575
|
+
*/
|
|
1576
|
+
PreThink: Client_PreThinkEvent;
|
|
1577
|
+
/**
|
|
1578
|
+
* Called at the start of each client think.
|
|
1579
|
+
*
|
|
1580
|
+
* Pawn: `client_PreThink`
|
|
1581
|
+
*/
|
|
1582
|
+
client_PreThink: Client_PreThinkEvent;
|
|
1583
|
+
/**
|
|
1584
|
+
* Called after each client think.
|
|
1585
|
+
*
|
|
1586
|
+
* Pawn: `client_PostThink`
|
|
1587
|
+
*/
|
|
1588
|
+
PostThink: Client_PostThinkEvent;
|
|
1589
|
+
/**
|
|
1590
|
+
* Called after each client think.
|
|
1591
|
+
*
|
|
1592
|
+
* Pawn: `client_PostThink`
|
|
1593
|
+
*/
|
|
1594
|
+
client_PostThink: Client_PostThinkEvent;
|
|
1595
|
+
/**
|
|
1596
|
+
* A player sent an impulse: `100` is the flashlight, `201` the spray.
|
|
1597
|
+
*
|
|
1598
|
+
* Pawn: `client_impulse`
|
|
1599
|
+
*/
|
|
1600
|
+
impulse: ClientImpulseEvent;
|
|
1601
|
+
/**
|
|
1602
|
+
* A player sent an impulse: `100` is the flashlight, `201` the spray.
|
|
1603
|
+
*
|
|
1604
|
+
* Pawn: `client_impulse`
|
|
1605
|
+
*/
|
|
1606
|
+
client_impulse: ClientImpulseEvent;
|
|
1607
|
+
/**
|
|
1608
|
+
* Called for CmdStart() on a client.
|
|
1609
|
+
*
|
|
1610
|
+
* Pawn: `client_cmdStart`
|
|
1611
|
+
*/
|
|
1612
|
+
cmdStart: ClientCmdStartEvent;
|
|
1613
|
+
/**
|
|
1614
|
+
* Called for CmdStart() on a client.
|
|
1615
|
+
*
|
|
1616
|
+
* Pawn: `client_cmdStart`
|
|
1617
|
+
*/
|
|
1618
|
+
client_cmdStart: ClientCmdStartEvent;
|
|
1619
|
+
/**
|
|
1620
|
+
* An entity thinks: its scheduled update has come.
|
|
1621
|
+
*
|
|
1622
|
+
* Pawn: `pfn_think`
|
|
1623
|
+
*/
|
|
1624
|
+
pfnThink: PfnThinkEvent;
|
|
1625
|
+
/**
|
|
1626
|
+
* An entity thinks: its scheduled update has come.
|
|
1627
|
+
*
|
|
1628
|
+
* Pawn: `pfn_think`
|
|
1629
|
+
*/
|
|
1630
|
+
pfn_think: PfnThinkEvent;
|
|
1631
|
+
/**
|
|
1632
|
+
* The engine plays an event to the clients: a shot, a weapon's sound and effects.
|
|
1633
|
+
*
|
|
1634
|
+
* Pawn: `pfn_playbackevent`
|
|
1635
|
+
*/
|
|
1636
|
+
pfnPlaybackevent: PfnPlaybackeventEvent;
|
|
1637
|
+
/**
|
|
1638
|
+
* The engine plays an event to the clients: a shot, a weapon's sound and effects.
|
|
1639
|
+
*
|
|
1640
|
+
* Pawn: `pfn_playbackevent`
|
|
1641
|
+
*/
|
|
1642
|
+
pfn_playbackevent: PfnPlaybackeventEvent;
|
|
1643
|
+
/**
|
|
1644
|
+
* Called when a keyvalue pair is sent to an entity.
|
|
1645
|
+
*
|
|
1646
|
+
* Pawn: `pfn_keyvalue`
|
|
1647
|
+
*/
|
|
1648
|
+
pfnKeyvalue: PfnKeyvalueEvent;
|
|
1649
|
+
/**
|
|
1650
|
+
* Called when a keyvalue pair is sent to an entity.
|
|
1651
|
+
*
|
|
1652
|
+
* Pawn: `pfn_keyvalue`
|
|
1653
|
+
*/
|
|
1654
|
+
pfn_keyvalue: PfnKeyvalueEvent;
|
|
1655
|
+
/**
|
|
1656
|
+
* An entity is being spawned on the map.
|
|
1657
|
+
*
|
|
1658
|
+
* Pawn: `pfn_spawn`
|
|
1659
|
+
*/
|
|
1660
|
+
pfnSpawn: PfnSpawnEvent;
|
|
1661
|
+
/**
|
|
1662
|
+
* An entity is being spawned on the map.
|
|
1663
|
+
*
|
|
1664
|
+
* Pawn: `pfn_spawn`
|
|
1665
|
+
*/
|
|
1666
|
+
pfn_spawn: PfnSpawnEvent;
|
|
1667
|
+
/** A field plugins added to `Player` changed on a player; `{ field: "spawnProtected" }` hears one field. */
|
|
1668
|
+
playerchange: PlayerChangeEvent;
|
|
1669
|
+
/**
|
|
1670
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1671
|
+
*
|
|
1672
|
+
* Pawn: `register_message(get_user_msgid("ADStop"), ...)`
|
|
1673
|
+
*/
|
|
1674
|
+
"message:ADStop": ClientMessage;
|
|
1675
|
+
/**
|
|
1676
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1677
|
+
*
|
|
1678
|
+
* Pawn: `register_message(get_user_msgid("AllowSpec"), ...)`
|
|
1679
|
+
*/
|
|
1680
|
+
"message:AllowSpec": ClientMessage;
|
|
1681
|
+
/**
|
|
1682
|
+
* A player picks up ammo: the notice at the side of his screen.
|
|
1683
|
+
*
|
|
1684
|
+
* Pawn: `register_message(get_user_msgid("AmmoPickup"), ...)`
|
|
1685
|
+
*/
|
|
1686
|
+
"message:AmmoPickup": AmmoPickupMessage;
|
|
1687
|
+
/**
|
|
1688
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1689
|
+
*
|
|
1690
|
+
* Pawn: `register_message(get_user_msgid("AmmoX"), ...)`
|
|
1691
|
+
*/
|
|
1692
|
+
"message:AmmoX": ClientMessage;
|
|
1693
|
+
/**
|
|
1694
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1695
|
+
*
|
|
1696
|
+
* Pawn: `register_message(get_user_msgid("ArmorType"), ...)`
|
|
1697
|
+
*/
|
|
1698
|
+
"message:ArmorType": ClientMessage;
|
|
1699
|
+
/**
|
|
1700
|
+
* The progress bar in the middle of a player's screen is shown or hidden.
|
|
1701
|
+
*
|
|
1702
|
+
* Pawn: `register_message(get_user_msgid("BarTime"), ...)`
|
|
1703
|
+
*/
|
|
1704
|
+
"message:BarTime": BarTimeMessage;
|
|
1705
|
+
/**
|
|
1706
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1707
|
+
*
|
|
1708
|
+
* Pawn: `register_message(get_user_msgid("BarTime2"), ...)`
|
|
1709
|
+
*/
|
|
1710
|
+
"message:BarTime2": ClientMessage;
|
|
1711
|
+
/**
|
|
1712
|
+
* A player's armour on his HUD changes.
|
|
1713
|
+
*
|
|
1714
|
+
* Pawn: `register_message(get_user_msgid("Battery"), ...)`
|
|
1715
|
+
*/
|
|
1716
|
+
"message:Battery": BatteryMessage;
|
|
1717
|
+
/**
|
|
1718
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1719
|
+
*
|
|
1720
|
+
* Pawn: `register_message(get_user_msgid("BlinkAcct"), ...)`
|
|
1721
|
+
*/
|
|
1722
|
+
"message:BlinkAcct": ClientMessage;
|
|
1723
|
+
/**
|
|
1724
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1725
|
+
*
|
|
1726
|
+
* Pawn: `register_message(get_user_msgid("BombDrop"), ...)`
|
|
1727
|
+
*/
|
|
1728
|
+
"message:BombDrop": ClientMessage;
|
|
1729
|
+
/**
|
|
1730
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1731
|
+
*
|
|
1732
|
+
* Pawn: `register_message(get_user_msgid("BombPickup"), ...)`
|
|
1733
|
+
*/
|
|
1734
|
+
"message:BombPickup": ClientMessage;
|
|
1735
|
+
/**
|
|
1736
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1737
|
+
*
|
|
1738
|
+
* Pawn: `register_message(get_user_msgid("BotProgress"), ...)`
|
|
1739
|
+
*/
|
|
1740
|
+
"message:BotProgress": ClientMessage;
|
|
1741
|
+
/**
|
|
1742
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1743
|
+
*
|
|
1744
|
+
* Pawn: `register_message(get_user_msgid("BotVoice"), ...)`
|
|
1745
|
+
*/
|
|
1746
|
+
"message:BotVoice": ClientMessage;
|
|
1747
|
+
/**
|
|
1748
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1749
|
+
*
|
|
1750
|
+
* Pawn: `register_message(get_user_msgid("Brass"), ...)`
|
|
1751
|
+
*/
|
|
1752
|
+
"message:Brass": ClientMessage;
|
|
1753
|
+
/**
|
|
1754
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1755
|
+
*
|
|
1756
|
+
* Pawn: `register_message(get_user_msgid("BuyClose"), ...)`
|
|
1757
|
+
*/
|
|
1758
|
+
"message:BuyClose": ClientMessage;
|
|
1759
|
+
/**
|
|
1760
|
+
* A dead player's body is left on the ground for the clients to draw.
|
|
1761
|
+
*
|
|
1762
|
+
* Pawn: `register_message(get_user_msgid("ClCorpse"), ...)`
|
|
1763
|
+
*/
|
|
1764
|
+
"message:ClCorpse": ClCorpseMessage;
|
|
1765
|
+
/**
|
|
1766
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1767
|
+
*
|
|
1768
|
+
* Pawn: `register_message(get_user_msgid("Crosshair"), ...)`
|
|
1769
|
+
*/
|
|
1770
|
+
"message:Crosshair": ClientMessage;
|
|
1771
|
+
/**
|
|
1772
|
+
* The weapon in a player's hands and its clip on his HUD.
|
|
1773
|
+
*
|
|
1774
|
+
* Pawn: `register_message(get_user_msgid("CurWeapon"), ...)`
|
|
1775
|
+
*/
|
|
1776
|
+
"message:CurWeapon": CurWeaponMessage;
|
|
1777
|
+
/**
|
|
1778
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1779
|
+
*
|
|
1780
|
+
* Pawn: `register_message(get_user_msgid("CZCareer"), ...)`
|
|
1781
|
+
*/
|
|
1782
|
+
"message:CZCareer": ClientMessage;
|
|
1783
|
+
/**
|
|
1784
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1785
|
+
*
|
|
1786
|
+
* Pawn: `register_message(get_user_msgid("CZCareerHUD"), ...)`
|
|
1787
|
+
*/
|
|
1788
|
+
"message:CZCareerHUD": ClientMessage;
|
|
1789
|
+
/**
|
|
1790
|
+
* A player is shown the damage he took: the red marks at the side of his screen.
|
|
1791
|
+
*
|
|
1792
|
+
* Pawn: `register_message(get_user_msgid("Damage"), ...)`
|
|
1793
|
+
*/
|
|
1794
|
+
"message:Damage": DamageMessage;
|
|
1795
|
+
/**
|
|
1796
|
+
* A kill in the top right corner of every screen.
|
|
1797
|
+
*
|
|
1798
|
+
* Pawn: `register_message(get_user_msgid("DeathMsg"), ...)`
|
|
1799
|
+
*/
|
|
1800
|
+
"message:DeathMsg": DeathMsgMessage;
|
|
1801
|
+
/**
|
|
1802
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1803
|
+
*
|
|
1804
|
+
* Pawn: `register_message(get_user_msgid("Flashlight"), ...)`
|
|
1805
|
+
*/
|
|
1806
|
+
"message:Flashlight": ClientMessage;
|
|
1807
|
+
/**
|
|
1808
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1809
|
+
*
|
|
1810
|
+
* Pawn: `register_message(get_user_msgid("FlashBat"), ...)`
|
|
1811
|
+
*/
|
|
1812
|
+
"message:FlashBat": ClientMessage;
|
|
1813
|
+
/**
|
|
1814
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1815
|
+
*
|
|
1816
|
+
* Pawn: `register_message(get_user_msgid("Fog"), ...)`
|
|
1817
|
+
*/
|
|
1818
|
+
"message:Fog": ClientMessage;
|
|
1819
|
+
/**
|
|
1820
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1821
|
+
*
|
|
1822
|
+
* Pawn: `register_message(get_user_msgid("ForceCam"), ...)`
|
|
1823
|
+
*/
|
|
1824
|
+
"message:ForceCam": ClientMessage;
|
|
1825
|
+
/**
|
|
1826
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1827
|
+
*
|
|
1828
|
+
* Pawn: `register_message(get_user_msgid("GameMode"), ...)`
|
|
1829
|
+
*/
|
|
1830
|
+
"message:GameMode": ClientMessage;
|
|
1831
|
+
/**
|
|
1832
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1833
|
+
*
|
|
1834
|
+
* Pawn: `register_message(get_user_msgid("GameTitle"), ...)`
|
|
1835
|
+
*/
|
|
1836
|
+
"message:GameTitle": ClientMessage;
|
|
1837
|
+
/**
|
|
1838
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1839
|
+
*
|
|
1840
|
+
* Pawn: `register_message(get_user_msgid("Geiger"), ...)`
|
|
1841
|
+
*/
|
|
1842
|
+
"message:Geiger": ClientMessage;
|
|
1843
|
+
/**
|
|
1844
|
+
* A player's health on his HUD changes.
|
|
1845
|
+
*
|
|
1846
|
+
* Pawn: `register_message(get_user_msgid("Health"), ...)`
|
|
1847
|
+
*/
|
|
1848
|
+
"message:Health": HealthMessage;
|
|
1849
|
+
/**
|
|
1850
|
+
* The parts of a player's HUD that are hidden change.
|
|
1851
|
+
*
|
|
1852
|
+
* Pawn: `register_message(get_user_msgid("HideWeapon"), ...)`
|
|
1853
|
+
*/
|
|
1854
|
+
"message:HideWeapon": HideWeaponMessage;
|
|
1855
|
+
/**
|
|
1856
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1857
|
+
*
|
|
1858
|
+
* Pawn: `register_message(get_user_msgid("HLTV"), ...)`
|
|
1859
|
+
*/
|
|
1860
|
+
"message:HLTV": ClientMessage;
|
|
1861
|
+
/**
|
|
1862
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1863
|
+
*
|
|
1864
|
+
* Pawn: `register_message(get_user_msgid("HostageK"), ...)`
|
|
1865
|
+
*/
|
|
1866
|
+
"message:HostageK": ClientMessage;
|
|
1867
|
+
/**
|
|
1868
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1869
|
+
*
|
|
1870
|
+
* Pawn: `register_message(get_user_msgid("HostagePos"), ...)`
|
|
1871
|
+
*/
|
|
1872
|
+
"message:HostagePos": ClientMessage;
|
|
1873
|
+
/**
|
|
1874
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1875
|
+
*
|
|
1876
|
+
* Pawn: `register_message(get_user_msgid("HudText"), ...)`
|
|
1877
|
+
*/
|
|
1878
|
+
"message:HudText": ClientMessage;
|
|
1879
|
+
/**
|
|
1880
|
+
* A hint in the middle of a player's screen, from the game's own texts.
|
|
1881
|
+
*
|
|
1882
|
+
* Pawn: `register_message(get_user_msgid("HudTextArgs"), ...)`
|
|
1883
|
+
*/
|
|
1884
|
+
"message:HudTextArgs": HudTextArgsMessage;
|
|
1885
|
+
/**
|
|
1886
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1887
|
+
*
|
|
1888
|
+
* Pawn: `register_message(get_user_msgid("HudTextPro"), ...)`
|
|
1889
|
+
*/
|
|
1890
|
+
"message:HudTextPro": ClientMessage;
|
|
1891
|
+
/**
|
|
1892
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1893
|
+
*
|
|
1894
|
+
* Pawn: `register_message(get_user_msgid("InitHUD"), ...)`
|
|
1895
|
+
*/
|
|
1896
|
+
"message:InitHUD": ClientMessage;
|
|
1897
|
+
/**
|
|
1898
|
+
* A player picks up an item: the notice at the side of his screen.
|
|
1899
|
+
*
|
|
1900
|
+
* Pawn: `register_message(get_user_msgid("ItemPickup"), ...)`
|
|
1901
|
+
*/
|
|
1902
|
+
"message:ItemPickup": ItemPickupMessage;
|
|
1903
|
+
/**
|
|
1904
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1905
|
+
*
|
|
1906
|
+
* Pawn: `register_message(get_user_msgid("ItemStatus"), ...)`
|
|
1907
|
+
*/
|
|
1908
|
+
"message:ItemStatus": ClientMessage;
|
|
1909
|
+
/**
|
|
1910
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1911
|
+
*
|
|
1912
|
+
* Pawn: `register_message(get_user_msgid("Location"), ...)`
|
|
1913
|
+
*/
|
|
1914
|
+
"message:Location": ClientMessage;
|
|
1915
|
+
/**
|
|
1916
|
+
* A player's money on his HUD changes.
|
|
1917
|
+
*
|
|
1918
|
+
* Pawn: `register_message(get_user_msgid("Money"), ...)`
|
|
1919
|
+
*/
|
|
1920
|
+
"message:Money": MoneyMessage;
|
|
1921
|
+
/**
|
|
1922
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1923
|
+
*
|
|
1924
|
+
* Pawn: `register_message(get_user_msgid("MOTD"), ...)`
|
|
1925
|
+
*/
|
|
1926
|
+
"message:MOTD": ClientMessage;
|
|
1927
|
+
/**
|
|
1928
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1929
|
+
*
|
|
1930
|
+
* Pawn: `register_message(get_user_msgid("NVGToggle"), ...)`
|
|
1931
|
+
*/
|
|
1932
|
+
"message:NVGToggle": ClientMessage;
|
|
1933
|
+
/**
|
|
1934
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1935
|
+
*
|
|
1936
|
+
* Pawn: `register_message(get_user_msgid("Radar"), ...)`
|
|
1937
|
+
*/
|
|
1938
|
+
"message:Radar": ClientMessage;
|
|
1939
|
+
/**
|
|
1940
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1941
|
+
*
|
|
1942
|
+
* Pawn: `register_message(get_user_msgid("ReceiveW"), ...)`
|
|
1943
|
+
*/
|
|
1944
|
+
"message:ReceiveW": ClientMessage;
|
|
1945
|
+
/**
|
|
1946
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1947
|
+
*
|
|
1948
|
+
* Pawn: `register_message(get_user_msgid("ReloadSound"), ...)`
|
|
1949
|
+
*/
|
|
1950
|
+
"message:ReloadSound": ClientMessage;
|
|
1951
|
+
/**
|
|
1952
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1953
|
+
*
|
|
1954
|
+
* Pawn: `register_message(get_user_msgid("ReqState"), ...)`
|
|
1955
|
+
*/
|
|
1956
|
+
"message:ReqState": ClientMessage;
|
|
1957
|
+
/**
|
|
1958
|
+
* A player's HUD is reset, at his spawn.
|
|
1959
|
+
*
|
|
1960
|
+
* Pawn: `register_message(get_user_msgid("ResetHUD"), ...)`
|
|
1961
|
+
*/
|
|
1962
|
+
"message:ResetHUD": ResetHUDMessage;
|
|
1963
|
+
/**
|
|
1964
|
+
* The round clock at the top of a player's HUD is set.
|
|
1965
|
+
*
|
|
1966
|
+
* Pawn: `register_message(get_user_msgid("RoundTime"), ...)`
|
|
1967
|
+
*/
|
|
1968
|
+
"message:RoundTime": RoundTimeMessage;
|
|
1969
|
+
/**
|
|
1970
|
+
* A chat line.
|
|
1971
|
+
*
|
|
1972
|
+
* Pawn: `register_message(get_user_msgid("SayText"), ...)`
|
|
1973
|
+
*/
|
|
1974
|
+
"message:SayText": SayTextMessage;
|
|
1975
|
+
/**
|
|
1976
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1977
|
+
*
|
|
1978
|
+
* Pawn: `register_message(get_user_msgid("Scenario"), ...)`
|
|
1979
|
+
*/
|
|
1980
|
+
"message:Scenario": ClientMessage;
|
|
1981
|
+
/**
|
|
1982
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1983
|
+
*
|
|
1984
|
+
* Pawn: `register_message(get_user_msgid("ScoreAttrib"), ...)`
|
|
1985
|
+
*/
|
|
1986
|
+
"message:ScoreAttrib": ClientMessage;
|
|
1987
|
+
/**
|
|
1988
|
+
* A player's row on the scoreboard.
|
|
1989
|
+
*
|
|
1990
|
+
* Pawn: `register_message(get_user_msgid("ScoreInfo"), ...)`
|
|
1991
|
+
*/
|
|
1992
|
+
"message:ScoreInfo": ScoreInfoMessage;
|
|
1993
|
+
/**
|
|
1994
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
1995
|
+
*
|
|
1996
|
+
* Pawn: `register_message(get_user_msgid("ScreenFade"), ...)`
|
|
1997
|
+
*/
|
|
1998
|
+
"message:ScreenFade": ClientMessage;
|
|
1999
|
+
/**
|
|
2000
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2001
|
+
*
|
|
2002
|
+
* Pawn: `register_message(get_user_msgid("ScreenShake"), ...)`
|
|
2003
|
+
*/
|
|
2004
|
+
"message:ScreenShake": ClientMessage;
|
|
2005
|
+
/**
|
|
2006
|
+
* A sound played to a player, such as a radio line.
|
|
2007
|
+
*
|
|
2008
|
+
* Pawn: `register_message(get_user_msgid("SendAudio"), ...)`
|
|
2009
|
+
*/
|
|
2010
|
+
"message:SendAudio": SendAudioMessage;
|
|
2011
|
+
/**
|
|
2012
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2013
|
+
*
|
|
2014
|
+
* Pawn: `register_message(get_user_msgid("ServerName"), ...)`
|
|
2015
|
+
*/
|
|
2016
|
+
"message:ServerName": ClientMessage;
|
|
2017
|
+
/**
|
|
2018
|
+
* A player's field of view is set.
|
|
2019
|
+
*
|
|
2020
|
+
* Pawn: `register_message(get_user_msgid("SetFOV"), ...)`
|
|
2021
|
+
*/
|
|
2022
|
+
"message:SetFOV": SetFOVMessage;
|
|
2023
|
+
/**
|
|
2024
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2025
|
+
*
|
|
2026
|
+
* Pawn: `register_message(get_user_msgid("ShadowIdx"), ...)`
|
|
2027
|
+
*/
|
|
2028
|
+
"message:ShadowIdx": ClientMessage;
|
|
2029
|
+
/**
|
|
2030
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2031
|
+
*
|
|
2032
|
+
* Pawn: `register_message(get_user_msgid("ShowMenu"), ...)`
|
|
2033
|
+
*/
|
|
2034
|
+
"message:ShowMenu": ClientMessage;
|
|
2035
|
+
/**
|
|
2036
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2037
|
+
*
|
|
2038
|
+
* Pawn: `register_message(get_user_msgid("ShowTimer"), ...)`
|
|
2039
|
+
*/
|
|
2040
|
+
"message:ShowTimer": ClientMessage;
|
|
2041
|
+
/**
|
|
2042
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2043
|
+
*
|
|
2044
|
+
* Pawn: `register_message(get_user_msgid("SpecHealth"), ...)`
|
|
2045
|
+
*/
|
|
2046
|
+
"message:SpecHealth": ClientMessage;
|
|
2047
|
+
/**
|
|
2048
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2049
|
+
*
|
|
2050
|
+
* Pawn: `register_message(get_user_msgid("SpecHealth2"), ...)`
|
|
2051
|
+
*/
|
|
2052
|
+
"message:SpecHealth2": ClientMessage;
|
|
2053
|
+
/**
|
|
2054
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2055
|
+
*
|
|
2056
|
+
* Pawn: `register_message(get_user_msgid("Spectator"), ...)`
|
|
2057
|
+
*/
|
|
2058
|
+
"message:Spectator": ClientMessage;
|
|
2059
|
+
/**
|
|
2060
|
+
* A status icon on a player's HUD - the buy zone, the bomb - is shown, flashed or hidden.
|
|
2061
|
+
*
|
|
2062
|
+
* Pawn: `register_message(get_user_msgid("StatusIcon"), ...)`
|
|
2063
|
+
*/
|
|
2064
|
+
"message:StatusIcon": StatusIconMessage;
|
|
2065
|
+
/**
|
|
2066
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2067
|
+
*
|
|
2068
|
+
* Pawn: `register_message(get_user_msgid("StatusText"), ...)`
|
|
2069
|
+
*/
|
|
2070
|
+
"message:StatusText": ClientMessage;
|
|
2071
|
+
/**
|
|
2072
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2073
|
+
*
|
|
2074
|
+
* Pawn: `register_message(get_user_msgid("StatusValue"), ...)`
|
|
2075
|
+
*/
|
|
2076
|
+
"message:StatusValue": ClientMessage;
|
|
2077
|
+
/**
|
|
2078
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2079
|
+
*
|
|
2080
|
+
* Pawn: `register_message(get_user_msgid("TaskTime"), ...)`
|
|
2081
|
+
*/
|
|
2082
|
+
"message:TaskTime": ClientMessage;
|
|
2083
|
+
/**
|
|
2084
|
+
* A player's team on the scoreboard.
|
|
2085
|
+
*
|
|
2086
|
+
* Pawn: `register_message(get_user_msgid("TeamInfo"), ...)`
|
|
2087
|
+
*/
|
|
2088
|
+
"message:TeamInfo": TeamInfoMessage;
|
|
2089
|
+
/**
|
|
2090
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2091
|
+
*
|
|
2092
|
+
* Pawn: `register_message(get_user_msgid("TeamScore"), ...)`
|
|
2093
|
+
*/
|
|
2094
|
+
"message:TeamScore": ClientMessage;
|
|
2095
|
+
/**
|
|
2096
|
+
* A text from the game - an announcement, a hint - in chat, the console or the middle of the screen.
|
|
2097
|
+
*
|
|
2098
|
+
* Pawn: `register_message(get_user_msgid("TextMsg"), ...)`
|
|
2099
|
+
*/
|
|
2100
|
+
"message:TextMsg": TextMsgMessage;
|
|
2101
|
+
/**
|
|
2102
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2103
|
+
*
|
|
2104
|
+
* Pawn: `register_message(get_user_msgid("Train"), ...)`
|
|
2105
|
+
*/
|
|
2106
|
+
"message:Train": ClientMessage;
|
|
2107
|
+
/**
|
|
2108
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2109
|
+
*
|
|
2110
|
+
* Pawn: `register_message(get_user_msgid("TutorClose"), ...)`
|
|
2111
|
+
*/
|
|
2112
|
+
"message:TutorClose": ClientMessage;
|
|
2113
|
+
/**
|
|
2114
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2115
|
+
*
|
|
2116
|
+
* Pawn: `register_message(get_user_msgid("TutorLine"), ...)`
|
|
2117
|
+
*/
|
|
2118
|
+
"message:TutorLine": ClientMessage;
|
|
2119
|
+
/**
|
|
2120
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2121
|
+
*
|
|
2122
|
+
* Pawn: `register_message(get_user_msgid("TutorState"), ...)`
|
|
2123
|
+
*/
|
|
2124
|
+
"message:TutorState": ClientMessage;
|
|
2125
|
+
/**
|
|
2126
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2127
|
+
*
|
|
2128
|
+
* Pawn: `register_message(get_user_msgid("TutorText"), ...)`
|
|
2129
|
+
*/
|
|
2130
|
+
"message:TutorText": ClientMessage;
|
|
2131
|
+
/**
|
|
2132
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2133
|
+
*
|
|
2134
|
+
* Pawn: `register_message(get_user_msgid("VGUIMenu"), ...)`
|
|
2135
|
+
*/
|
|
2136
|
+
"message:VGUIMenu": ClientMessage;
|
|
2137
|
+
/**
|
|
2138
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2139
|
+
*
|
|
2140
|
+
* Pawn: `register_message(get_user_msgid("ViewMode"), ...)`
|
|
2141
|
+
*/
|
|
2142
|
+
"message:ViewMode": ClientMessage;
|
|
2143
|
+
/**
|
|
2144
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2145
|
+
*
|
|
2146
|
+
* Pawn: `register_message(get_user_msgid("VoiceMask"), ...)`
|
|
2147
|
+
*/
|
|
2148
|
+
"message:VoiceMask": ClientMessage;
|
|
2149
|
+
/**
|
|
2150
|
+
* A message the server sends its clients; its arguments are `event.args`.
|
|
2151
|
+
*
|
|
2152
|
+
* Pawn: `register_message(get_user_msgid("WeaponList"), ...)`
|
|
2153
|
+
*/
|
|
2154
|
+
"message:WeaponList": ClientMessage;
|
|
2155
|
+
/**
|
|
2156
|
+
* A player picks up a weapon: the notice at the side of his screen.
|
|
2157
|
+
*
|
|
2158
|
+
* Pawn: `register_message(get_user_msgid("WeapPickup"), ...)`
|
|
2159
|
+
*/
|
|
2160
|
+
"message:WeapPickup": WeapPickupMessage;
|
|
2161
|
+
}
|
|
2162
|
+
|
|
2163
|
+
const initListeners: ((event: PluginInitEvent) => void)[] = [];
|
|
2164
|
+
let initRelayed = false;
|
|
2165
|
+
|
|
2166
|
+
function initTrampoline(a0: i32): void {
|
|
2167
|
+
if (initListeners.length == 0) return;
|
|
2168
|
+
const event = new PluginInitEvent();
|
|
2169
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2170
|
+
const listeners = initListeners.slice(0);
|
|
2171
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2172
|
+
}
|
|
2173
|
+
|
|
2174
|
+
const pauseListeners: ((event: PluginPauseEvent) => void)[] = [];
|
|
2175
|
+
let pauseRelayed = false;
|
|
2176
|
+
|
|
2177
|
+
function pauseTrampoline(a0: i32): void {
|
|
2178
|
+
if (pauseListeners.length == 0) return;
|
|
2179
|
+
const event = new PluginPauseEvent();
|
|
2180
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2181
|
+
const listeners = pauseListeners.slice(0);
|
|
2182
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2183
|
+
}
|
|
2184
|
+
|
|
2185
|
+
const unpauseListeners: ((event: PluginUnpauseEvent) => void)[] = [];
|
|
2186
|
+
let unpauseRelayed = false;
|
|
2187
|
+
|
|
2188
|
+
function unpauseTrampoline(a0: i32): void {
|
|
2189
|
+
if (unpauseListeners.length == 0) return;
|
|
2190
|
+
const event = new PluginUnpauseEvent();
|
|
2191
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2192
|
+
const listeners = unpauseListeners.slice(0);
|
|
2193
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2194
|
+
}
|
|
2195
|
+
|
|
2196
|
+
const changelevelListeners: ((event: ServerChangelevelEvent) => void)[] = [];
|
|
2197
|
+
let changelevelRelayed = false;
|
|
2198
|
+
|
|
2199
|
+
function changelevelTrampoline(a0: i32): void {
|
|
2200
|
+
if (changelevelListeners.length == 0) return;
|
|
2201
|
+
const event = new ServerChangelevelEvent(__nativeString(0));
|
|
2202
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2203
|
+
const listeners = changelevelListeners.slice(0);
|
|
2204
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2205
|
+
}
|
|
2206
|
+
|
|
2207
|
+
const cfgListeners: ((event: PluginCfgEvent) => void)[] = [];
|
|
2208
|
+
let cfgRelayed = false;
|
|
2209
|
+
|
|
2210
|
+
function cfgTrampoline(a0: i32): void {
|
|
2211
|
+
if (cfgListeners.length == 0) return;
|
|
2212
|
+
const event = new PluginCfgEvent();
|
|
2213
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2214
|
+
const listeners = cfgListeners.slice(0);
|
|
2215
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2216
|
+
}
|
|
2217
|
+
|
|
2218
|
+
const endListeners: ((event: PluginEndEvent) => void)[] = [];
|
|
2219
|
+
let endRelayed = false;
|
|
2220
|
+
|
|
2221
|
+
function endTrampoline(a0: i32): void {
|
|
2222
|
+
if (endListeners.length == 0) return;
|
|
2223
|
+
const event = new PluginEndEvent();
|
|
2224
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2225
|
+
const listeners = endListeners.slice(0);
|
|
2226
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2227
|
+
}
|
|
2228
|
+
|
|
2229
|
+
const logListeners: ((event: PluginLogEvent) => void)[] = [];
|
|
2230
|
+
let logRelayed = false;
|
|
2231
|
+
|
|
2232
|
+
function logTrampoline(a0: i32): void {
|
|
2233
|
+
if (logListeners.length == 0) return;
|
|
2234
|
+
const event = new PluginLogEvent();
|
|
2235
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2236
|
+
const listeners = logListeners.slice(0);
|
|
2237
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2238
|
+
}
|
|
2239
|
+
|
|
2240
|
+
const precacheListeners: ((event: PluginPrecacheEvent) => void)[] = [];
|
|
2241
|
+
let precacheRelayed = false;
|
|
2242
|
+
|
|
2243
|
+
function precacheTrampoline(a0: i32): void {
|
|
2244
|
+
if (precacheListeners.length == 0) return;
|
|
2245
|
+
const event = new PluginPrecacheEvent();
|
|
2246
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2247
|
+
const listeners = precacheListeners.slice(0);
|
|
2248
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2249
|
+
}
|
|
2250
|
+
|
|
2251
|
+
const infochangedListeners: ((event: ClientInfochangedEvent) => void)[] = [];
|
|
2252
|
+
let infochangedRelayed = false;
|
|
2253
|
+
|
|
2254
|
+
function infochangedTrampoline(a0: i32): void {
|
|
2255
|
+
if (infochangedListeners.length == 0) return;
|
|
2256
|
+
const event = new ClientInfochangedEvent(new Player(__nativeCell(0)));
|
|
2257
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2258
|
+
const listeners = infochangedListeners.slice(0);
|
|
2259
|
+
const ambient = __co_ambient_player;
|
|
2260
|
+
__co_ambient_player = a0;
|
|
2261
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2262
|
+
__co_ambient_player = ambient;
|
|
2263
|
+
}
|
|
2264
|
+
|
|
2265
|
+
const connectListeners: ((event: ClientConnectEvent) => void)[] = [];
|
|
2266
|
+
let connectRelayed = false;
|
|
2267
|
+
|
|
2268
|
+
function connectTrampoline(a0: i32): void {
|
|
2269
|
+
if (connectListeners.length == 0) return;
|
|
2270
|
+
const event = new ClientConnectEvent(new Player(__nativeCell(0)));
|
|
2271
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2272
|
+
const listeners = connectListeners.slice(0);
|
|
2273
|
+
const ambient = __co_ambient_player;
|
|
2274
|
+
__co_ambient_player = a0;
|
|
2275
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2276
|
+
__co_ambient_player = ambient;
|
|
2277
|
+
}
|
|
2278
|
+
|
|
2279
|
+
const connectexListeners: ((event: ClientConnectexEvent) => void)[] = [];
|
|
2280
|
+
let connectexRelayed = false;
|
|
2281
|
+
|
|
2282
|
+
function connectexTrampoline(a0: i32): void {
|
|
2283
|
+
if (connectexListeners.length == 0) return;
|
|
2284
|
+
const event = new ClientConnectexEvent(new Player(__nativeCell(0)), __nativeString(1), __nativeString(2), __nativeString(3));
|
|
2285
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2286
|
+
const listeners = connectexListeners.slice(0);
|
|
2287
|
+
const ambient = __co_ambient_player;
|
|
2288
|
+
__co_ambient_player = a0;
|
|
2289
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2290
|
+
__co_ambient_player = ambient;
|
|
2291
|
+
}
|
|
2292
|
+
|
|
2293
|
+
const authorizedListeners: ((event: ClientAuthorizedEvent) => void)[] = [];
|
|
2294
|
+
let authorizedRelayed = false;
|
|
2295
|
+
|
|
2296
|
+
function authorizedTrampoline(a0: i32): void {
|
|
2297
|
+
if (authorizedListeners.length == 0) return;
|
|
2298
|
+
const event = new ClientAuthorizedEvent(new Player(__nativeCell(0)), __nativeString(1));
|
|
2299
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2300
|
+
const listeners = authorizedListeners.slice(0);
|
|
2301
|
+
const ambient = __co_ambient_player;
|
|
2302
|
+
__co_ambient_player = a0;
|
|
2303
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2304
|
+
__co_ambient_player = ambient;
|
|
2305
|
+
}
|
|
2306
|
+
|
|
2307
|
+
const disconnectListeners: ((event: ClientDisconnectEvent) => void)[] = [];
|
|
2308
|
+
let disconnectRelayed = false;
|
|
2309
|
+
|
|
2310
|
+
function disconnectTrampoline(a0: i32): void {
|
|
2311
|
+
if (disconnectListeners.length == 0) return;
|
|
2312
|
+
const event = new ClientDisconnectEvent(new Player(__nativeCell(0)));
|
|
2313
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2314
|
+
const listeners = disconnectListeners.slice(0);
|
|
2315
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2316
|
+
}
|
|
2317
|
+
|
|
2318
|
+
const disconnectedListeners: ((event: ClientDisconnectedEvent) => void)[] = [];
|
|
2319
|
+
let disconnectedRelayed = false;
|
|
2320
|
+
|
|
2321
|
+
function disconnectedTrampoline(a0: i32): void {
|
|
2322
|
+
if (disconnectedListeners.length == 0) return;
|
|
2323
|
+
const event = new ClientDisconnectedEvent(new Player(__nativeCell(0)), __nativeCell(1) != 0, __nativeString(2));
|
|
2324
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2325
|
+
const listeners = disconnectedListeners.slice(0);
|
|
2326
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2327
|
+
}
|
|
2328
|
+
|
|
2329
|
+
const removeListeners: ((event: ClientRemoveEvent) => void)[] = [];
|
|
2330
|
+
let removeRelayed = false;
|
|
2331
|
+
|
|
2332
|
+
function removeTrampoline(a0: i32): void {
|
|
2333
|
+
if (removeListeners.length == 0) return;
|
|
2334
|
+
const event = new ClientRemoveEvent(new Player(__nativeCell(0)), __nativeCell(1) != 0, __nativeString(2));
|
|
2335
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2336
|
+
const listeners = removeListeners.slice(0);
|
|
2337
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2338
|
+
}
|
|
2339
|
+
|
|
2340
|
+
const commandListeners: ((event: ClientCommandEvent) => void)[] = [];
|
|
2341
|
+
let commandRelayed = false;
|
|
2342
|
+
|
|
2343
|
+
function commandTrampoline(a0: i32): void {
|
|
2344
|
+
if (commandListeners.length == 0) return;
|
|
2345
|
+
const event = new ClientCommandEvent(new Player(__nativeCell(0)));
|
|
2346
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2347
|
+
const listeners = commandListeners.slice(0);
|
|
2348
|
+
const ambient = __co_ambient_player;
|
|
2349
|
+
__co_ambient_player = a0;
|
|
2350
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2351
|
+
__co_ambient_player = ambient;
|
|
2352
|
+
}
|
|
2353
|
+
|
|
2354
|
+
const putinserverListeners: ((event: ClientPutinserverEvent) => void)[] = [];
|
|
2355
|
+
let putinserverRelayed = false;
|
|
2356
|
+
|
|
2357
|
+
function putinserverTrampoline(a0: i32): void {
|
|
2358
|
+
if (putinserverListeners.length == 0) return;
|
|
2359
|
+
const event = new ClientPutinserverEvent(new Player(__nativeCell(0)));
|
|
2360
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2361
|
+
const listeners = putinserverListeners.slice(0);
|
|
2362
|
+
const ambient = __co_ambient_player;
|
|
2363
|
+
__co_ambient_player = a0;
|
|
2364
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2365
|
+
__co_ambient_player = ambient;
|
|
2366
|
+
}
|
|
2367
|
+
|
|
2368
|
+
const inconsistentFileListeners: ((event: InconsistentFileEvent) => void)[] = [];
|
|
2369
|
+
let inconsistentFileRelayed = false;
|
|
2370
|
+
|
|
2371
|
+
function inconsistentFileTrampoline(a0: i32): void {
|
|
2372
|
+
if (inconsistentFileListeners.length == 0) return;
|
|
2373
|
+
const event = new InconsistentFileEvent(new Player(__nativeCell(0)), __nativeString(1), __nativeString(2));
|
|
2374
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2375
|
+
const listeners = inconsistentFileListeners.slice(0);
|
|
2376
|
+
const ambient = __co_ambient_player;
|
|
2377
|
+
__co_ambient_player = a0;
|
|
2378
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2379
|
+
__co_ambient_player = ambient;
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
const modulesListeners: ((event: PluginModulesEvent) => void)[] = [];
|
|
2383
|
+
let modulesRelayed = false;
|
|
2384
|
+
|
|
2385
|
+
function modulesTrampoline(a0: i32): void {
|
|
2386
|
+
if (modulesListeners.length == 0) return;
|
|
2387
|
+
const event = new PluginModulesEvent();
|
|
2388
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2389
|
+
const listeners = modulesListeners.slice(0);
|
|
2390
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2391
|
+
}
|
|
2392
|
+
|
|
2393
|
+
const OnConfigsExecutedListeners: ((event: OnConfigsExecutedEvent) => void)[] = [];
|
|
2394
|
+
let OnConfigsExecutedRelayed = false;
|
|
2395
|
+
|
|
2396
|
+
function OnConfigsExecutedTrampoline(a0: i32): void {
|
|
2397
|
+
if (OnConfigsExecutedListeners.length == 0) return;
|
|
2398
|
+
const event = new OnConfigsExecutedEvent();
|
|
2399
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2400
|
+
const listeners = OnConfigsExecutedListeners.slice(0);
|
|
2401
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2402
|
+
}
|
|
2403
|
+
|
|
2404
|
+
const OnAutoConfigsBufferedListeners: ((event: OnAutoConfigsBufferedEvent) => void)[] = [];
|
|
2405
|
+
let OnAutoConfigsBufferedRelayed = false;
|
|
2406
|
+
|
|
2407
|
+
function OnAutoConfigsBufferedTrampoline(a0: i32): void {
|
|
2408
|
+
if (OnAutoConfigsBufferedListeners.length == 0) return;
|
|
2409
|
+
const event = new OnAutoConfigsBufferedEvent();
|
|
2410
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2411
|
+
const listeners = OnAutoConfigsBufferedListeners.slice(0);
|
|
2412
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2413
|
+
}
|
|
2414
|
+
|
|
2415
|
+
const CS_InternalCommandListeners: ((event: CS_InternalCommandEvent) => void)[] = [];
|
|
2416
|
+
let CS_InternalCommandRelayed = false;
|
|
2417
|
+
|
|
2418
|
+
function CS_InternalCommandTrampoline(a0: i32): void {
|
|
2419
|
+
if (CS_InternalCommandListeners.length == 0) return;
|
|
2420
|
+
const event = new CS_InternalCommandEvent(new Player(__nativeCell(0)), __nativeString(1));
|
|
2421
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2422
|
+
const listeners = CS_InternalCommandListeners.slice(0);
|
|
2423
|
+
const ambient = __co_ambient_player;
|
|
2424
|
+
__co_ambient_player = a0;
|
|
2425
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2426
|
+
__co_ambient_player = ambient;
|
|
2427
|
+
}
|
|
2428
|
+
|
|
2429
|
+
const CS_OnBuyAttemptListeners: ((event: CS_OnBuyAttemptEvent) => void)[] = [];
|
|
2430
|
+
let CS_OnBuyAttemptRelayed = false;
|
|
2431
|
+
|
|
2432
|
+
function CS_OnBuyAttemptTrampoline(a0: i32): void {
|
|
2433
|
+
if (CS_OnBuyAttemptListeners.length == 0) return;
|
|
2434
|
+
const event = new CS_OnBuyAttemptEvent(new Player(__nativeCell(0)), <f64>__nativeCell(1));
|
|
2435
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2436
|
+
const listeners = CS_OnBuyAttemptListeners.slice(0);
|
|
2437
|
+
const ambient = __co_ambient_player;
|
|
2438
|
+
__co_ambient_player = a0;
|
|
2439
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2440
|
+
__co_ambient_player = ambient;
|
|
2441
|
+
}
|
|
2442
|
+
|
|
2443
|
+
const CS_OnBuyListeners: ((event: CS_OnBuyEvent) => void)[] = [];
|
|
2444
|
+
let CS_OnBuyRelayed = false;
|
|
2445
|
+
|
|
2446
|
+
function CS_OnBuyTrampoline(a0: i32): void {
|
|
2447
|
+
if (CS_OnBuyListeners.length == 0) return;
|
|
2448
|
+
const event = new CS_OnBuyEvent(new Player(__nativeCell(0)), <f64>__nativeCell(1));
|
|
2449
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2450
|
+
const listeners = CS_OnBuyListeners.slice(0);
|
|
2451
|
+
const ambient = __co_ambient_player;
|
|
2452
|
+
__co_ambient_player = a0;
|
|
2453
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2454
|
+
__co_ambient_player = ambient;
|
|
2455
|
+
}
|
|
2456
|
+
|
|
2457
|
+
const pfnTouchListeners: ((event: PfnTouchEvent) => void)[] = [];
|
|
2458
|
+
let pfnTouchRelayed = false;
|
|
2459
|
+
|
|
2460
|
+
function pfnTouchTrampoline(a0: i32): void {
|
|
2461
|
+
if (pfnTouchListeners.length == 0) return;
|
|
2462
|
+
const event = new PfnTouchEvent(<f64>__nativeCell(0), <f64>__nativeCell(1));
|
|
2463
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2464
|
+
const listeners = pfnTouchListeners.slice(0);
|
|
2465
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2466
|
+
}
|
|
2467
|
+
|
|
2468
|
+
const frameListeners: ((event: ServerFrameEvent) => void)[] = [];
|
|
2469
|
+
let frameRelayed = false;
|
|
2470
|
+
|
|
2471
|
+
function frameTrampoline(a0: i32): void {
|
|
2472
|
+
if (frameListeners.length == 0) return;
|
|
2473
|
+
const event = new ServerFrameEvent();
|
|
2474
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2475
|
+
const listeners = frameListeners.slice(0);
|
|
2476
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2477
|
+
}
|
|
2478
|
+
|
|
2479
|
+
const killListeners: ((event: ClientKillEvent) => void)[] = [];
|
|
2480
|
+
let killRelayed = false;
|
|
2481
|
+
|
|
2482
|
+
function killTrampoline(a0: i32): void {
|
|
2483
|
+
if (killListeners.length == 0) return;
|
|
2484
|
+
const event = new ClientKillEvent(new Player(__nativeCell(0)));
|
|
2485
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2486
|
+
const listeners = killListeners.slice(0);
|
|
2487
|
+
const ambient = __co_ambient_player;
|
|
2488
|
+
__co_ambient_player = a0;
|
|
2489
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2490
|
+
__co_ambient_player = ambient;
|
|
2491
|
+
}
|
|
2492
|
+
|
|
2493
|
+
const PreThinkListeners: ((event: Client_PreThinkEvent) => void)[] = [];
|
|
2494
|
+
let PreThinkRelayed = false;
|
|
2495
|
+
|
|
2496
|
+
function PreThinkTrampoline(a0: i32): void {
|
|
2497
|
+
if (PreThinkListeners.length == 0) return;
|
|
2498
|
+
const event = new Client_PreThinkEvent(new Player(__nativeCell(0)));
|
|
2499
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2500
|
+
const listeners = PreThinkListeners.slice(0);
|
|
2501
|
+
const ambient = __co_ambient_player;
|
|
2502
|
+
__co_ambient_player = a0;
|
|
2503
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2504
|
+
__co_ambient_player = ambient;
|
|
2505
|
+
}
|
|
2506
|
+
|
|
2507
|
+
const PostThinkListeners: ((event: Client_PostThinkEvent) => void)[] = [];
|
|
2508
|
+
let PostThinkRelayed = false;
|
|
2509
|
+
|
|
2510
|
+
function PostThinkTrampoline(a0: i32): void {
|
|
2511
|
+
if (PostThinkListeners.length == 0) return;
|
|
2512
|
+
const event = new Client_PostThinkEvent(new Player(__nativeCell(0)));
|
|
2513
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2514
|
+
const listeners = PostThinkListeners.slice(0);
|
|
2515
|
+
const ambient = __co_ambient_player;
|
|
2516
|
+
__co_ambient_player = a0;
|
|
2517
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2518
|
+
__co_ambient_player = ambient;
|
|
2519
|
+
}
|
|
2520
|
+
|
|
2521
|
+
const impulseListeners: ((event: ClientImpulseEvent) => void)[] = [];
|
|
2522
|
+
let impulseRelayed = false;
|
|
2523
|
+
|
|
2524
|
+
function impulseTrampoline(a0: i32): void {
|
|
2525
|
+
if (impulseListeners.length == 0) return;
|
|
2526
|
+
const event = new ClientImpulseEvent(new Player(__nativeCell(0)), <f64>__nativeCell(1));
|
|
2527
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2528
|
+
const listeners = impulseListeners.slice(0);
|
|
2529
|
+
const ambient = __co_ambient_player;
|
|
2530
|
+
__co_ambient_player = a0;
|
|
2531
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2532
|
+
__co_ambient_player = ambient;
|
|
2533
|
+
}
|
|
2534
|
+
|
|
2535
|
+
const cmdStartListeners: ((event: ClientCmdStartEvent) => void)[] = [];
|
|
2536
|
+
let cmdStartRelayed = false;
|
|
2537
|
+
|
|
2538
|
+
function cmdStartTrampoline(a0: i32): void {
|
|
2539
|
+
if (cmdStartListeners.length == 0) return;
|
|
2540
|
+
const event = new ClientCmdStartEvent(new Player(__nativeCell(0)));
|
|
2541
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2542
|
+
const listeners = cmdStartListeners.slice(0);
|
|
2543
|
+
const ambient = __co_ambient_player;
|
|
2544
|
+
__co_ambient_player = a0;
|
|
2545
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2546
|
+
__co_ambient_player = ambient;
|
|
2547
|
+
}
|
|
2548
|
+
|
|
2549
|
+
const pfnThinkListeners: ((event: PfnThinkEvent) => void)[] = [];
|
|
2550
|
+
let pfnThinkRelayed = false;
|
|
2551
|
+
|
|
2552
|
+
function pfnThinkTrampoline(a0: i32): void {
|
|
2553
|
+
if (pfnThinkListeners.length == 0) return;
|
|
2554
|
+
const event = new PfnThinkEvent(<f64>__nativeCell(0));
|
|
2555
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2556
|
+
const listeners = pfnThinkListeners.slice(0);
|
|
2557
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
const pfnPlaybackeventListeners: ((event: PfnPlaybackeventEvent) => void)[] = [];
|
|
2561
|
+
let pfnPlaybackeventRelayed = false;
|
|
2562
|
+
|
|
2563
|
+
function pfnPlaybackeventTrampoline(a0: i32): void {
|
|
2564
|
+
if (pfnPlaybackeventListeners.length == 0) return;
|
|
2565
|
+
const event = new PfnPlaybackeventEvent(<f64>__nativeCell(0), <f64>__nativeCell(1), <f64>__nativeCell(2), <f64>reinterpret<f32>(__nativeCell(3)), __nativeVector(4), __nativeVector(5), <f64>reinterpret<f32>(__nativeCell(6)), <f64>reinterpret<f32>(__nativeCell(7)), <f64>__nativeCell(8), <f64>__nativeCell(9), <f64>__nativeCell(10), <f64>__nativeCell(11));
|
|
2566
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2567
|
+
const listeners = pfnPlaybackeventListeners.slice(0);
|
|
2568
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2569
|
+
}
|
|
2570
|
+
|
|
2571
|
+
const pfnKeyvalueListeners: ((event: PfnKeyvalueEvent) => void)[] = [];
|
|
2572
|
+
let pfnKeyvalueRelayed = false;
|
|
2573
|
+
|
|
2574
|
+
function pfnKeyvalueTrampoline(a0: i32): void {
|
|
2575
|
+
if (pfnKeyvalueListeners.length == 0) return;
|
|
2576
|
+
const event = new PfnKeyvalueEvent(<f64>__nativeCell(0));
|
|
2577
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2578
|
+
const listeners = pfnKeyvalueListeners.slice(0);
|
|
2579
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2580
|
+
}
|
|
2581
|
+
|
|
2582
|
+
const pfnSpawnListeners: ((event: PfnSpawnEvent) => void)[] = [];
|
|
2583
|
+
let pfnSpawnRelayed = false;
|
|
2584
|
+
|
|
2585
|
+
function pfnSpawnTrampoline(a0: i32): void {
|
|
2586
|
+
if (pfnSpawnListeners.length == 0) return;
|
|
2587
|
+
const event = new PfnSpawnEvent(<f64>__nativeCell(0));
|
|
2588
|
+
// A copy: a listener that removes itself must not make the next one skip.
|
|
2589
|
+
const listeners = pfnSpawnListeners.slice(0);
|
|
2590
|
+
for (let i = 0; i < listeners.length; i++) listeners[i](event);
|
|
2591
|
+
}
|
|
2592
|
+
|
|
2593
|
+
/** Adds a listener for the event E - server.addEventListener's hood. */
|
|
2594
|
+
export function addServerListener<E>(listener: (event: E) => void): void {
|
|
2595
|
+
if (idof<E>() == idof<PluginInitEvent>()) {
|
|
2596
|
+
initListeners.push(changetype<(event: PluginInitEvent) => void>(listener));
|
|
2597
|
+
if (!initRelayed) {
|
|
2598
|
+
initRelayed = true;
|
|
2599
|
+
_on("plugin_init", initTrampoline.index, 0);
|
|
2600
|
+
}
|
|
2601
|
+
return;
|
|
2602
|
+
}
|
|
2603
|
+
if (idof<E>() == idof<PluginPauseEvent>()) {
|
|
2604
|
+
pauseListeners.push(changetype<(event: PluginPauseEvent) => void>(listener));
|
|
2605
|
+
if (!pauseRelayed) {
|
|
2606
|
+
pauseRelayed = true;
|
|
2607
|
+
_on("plugin_pause", pauseTrampoline.index, 0);
|
|
2608
|
+
}
|
|
2609
|
+
return;
|
|
2610
|
+
}
|
|
2611
|
+
if (idof<E>() == idof<PluginUnpauseEvent>()) {
|
|
2612
|
+
unpauseListeners.push(changetype<(event: PluginUnpauseEvent) => void>(listener));
|
|
2613
|
+
if (!unpauseRelayed) {
|
|
2614
|
+
unpauseRelayed = true;
|
|
2615
|
+
_on("plugin_unpause", unpauseTrampoline.index, 0);
|
|
2616
|
+
}
|
|
2617
|
+
return;
|
|
2618
|
+
}
|
|
2619
|
+
if (idof<E>() == idof<ServerChangelevelEvent>()) {
|
|
2620
|
+
changelevelListeners.push(changetype<(event: ServerChangelevelEvent) => void>(listener));
|
|
2621
|
+
if (!changelevelRelayed) {
|
|
2622
|
+
changelevelRelayed = true;
|
|
2623
|
+
_on("server_changelevel", changelevelTrampoline.index, 0);
|
|
2624
|
+
}
|
|
2625
|
+
return;
|
|
2626
|
+
}
|
|
2627
|
+
if (idof<E>() == idof<PluginCfgEvent>()) {
|
|
2628
|
+
cfgListeners.push(changetype<(event: PluginCfgEvent) => void>(listener));
|
|
2629
|
+
if (!cfgRelayed) {
|
|
2630
|
+
cfgRelayed = true;
|
|
2631
|
+
_on("plugin_cfg", cfgTrampoline.index, 0);
|
|
2632
|
+
}
|
|
2633
|
+
return;
|
|
2634
|
+
}
|
|
2635
|
+
if (idof<E>() == idof<PluginEndEvent>()) {
|
|
2636
|
+
endListeners.push(changetype<(event: PluginEndEvent) => void>(listener));
|
|
2637
|
+
if (!endRelayed) {
|
|
2638
|
+
endRelayed = true;
|
|
2639
|
+
_on("plugin_end", endTrampoline.index, 0);
|
|
2640
|
+
}
|
|
2641
|
+
return;
|
|
2642
|
+
}
|
|
2643
|
+
if (idof<E>() == idof<PluginLogEvent>()) {
|
|
2644
|
+
logListeners.push(changetype<(event: PluginLogEvent) => void>(listener));
|
|
2645
|
+
if (!logRelayed) {
|
|
2646
|
+
logRelayed = true;
|
|
2647
|
+
_on("plugin_log", logTrampoline.index, 0);
|
|
2648
|
+
}
|
|
2649
|
+
return;
|
|
2650
|
+
}
|
|
2651
|
+
if (idof<E>() == idof<PluginPrecacheEvent>()) {
|
|
2652
|
+
precacheListeners.push(changetype<(event: PluginPrecacheEvent) => void>(listener));
|
|
2653
|
+
if (!precacheRelayed) {
|
|
2654
|
+
precacheRelayed = true;
|
|
2655
|
+
_on("plugin_precache", precacheTrampoline.index, 0);
|
|
2656
|
+
}
|
|
2657
|
+
return;
|
|
2658
|
+
}
|
|
2659
|
+
if (idof<E>() == idof<ClientInfochangedEvent>()) {
|
|
2660
|
+
infochangedListeners.push(changetype<(event: ClientInfochangedEvent) => void>(listener));
|
|
2661
|
+
if (!infochangedRelayed) {
|
|
2662
|
+
infochangedRelayed = true;
|
|
2663
|
+
_on("client_infochanged", infochangedTrampoline.index, 0);
|
|
2664
|
+
}
|
|
2665
|
+
return;
|
|
2666
|
+
}
|
|
2667
|
+
if (idof<E>() == idof<ClientConnectEvent>()) {
|
|
2668
|
+
connectListeners.push(changetype<(event: ClientConnectEvent) => void>(listener));
|
|
2669
|
+
if (!connectRelayed) {
|
|
2670
|
+
connectRelayed = true;
|
|
2671
|
+
_on("client_connect", connectTrampoline.index, 0);
|
|
2672
|
+
}
|
|
2673
|
+
return;
|
|
2674
|
+
}
|
|
2675
|
+
if (idof<E>() == idof<ClientConnectexEvent>()) {
|
|
2676
|
+
connectexListeners.push(changetype<(event: ClientConnectexEvent) => void>(listener));
|
|
2677
|
+
if (!connectexRelayed) {
|
|
2678
|
+
connectexRelayed = true;
|
|
2679
|
+
_on("client_connectex", connectexTrampoline.index, 0);
|
|
2680
|
+
}
|
|
2681
|
+
return;
|
|
2682
|
+
}
|
|
2683
|
+
if (idof<E>() == idof<ClientAuthorizedEvent>()) {
|
|
2684
|
+
authorizedListeners.push(changetype<(event: ClientAuthorizedEvent) => void>(listener));
|
|
2685
|
+
if (!authorizedRelayed) {
|
|
2686
|
+
authorizedRelayed = true;
|
|
2687
|
+
_on("client_authorized", authorizedTrampoline.index, 0);
|
|
2688
|
+
}
|
|
2689
|
+
return;
|
|
2690
|
+
}
|
|
2691
|
+
if (idof<E>() == idof<ClientDisconnectEvent>()) {
|
|
2692
|
+
disconnectListeners.push(changetype<(event: ClientDisconnectEvent) => void>(listener));
|
|
2693
|
+
if (!disconnectRelayed) {
|
|
2694
|
+
disconnectRelayed = true;
|
|
2695
|
+
_on("client_disconnect", disconnectTrampoline.index, 0);
|
|
2696
|
+
}
|
|
2697
|
+
return;
|
|
2698
|
+
}
|
|
2699
|
+
if (idof<E>() == idof<ClientDisconnectedEvent>()) {
|
|
2700
|
+
disconnectedListeners.push(changetype<(event: ClientDisconnectedEvent) => void>(listener));
|
|
2701
|
+
if (!disconnectedRelayed) {
|
|
2702
|
+
disconnectedRelayed = true;
|
|
2703
|
+
_on("client_disconnected", disconnectedTrampoline.index, 0);
|
|
2704
|
+
}
|
|
2705
|
+
return;
|
|
2706
|
+
}
|
|
2707
|
+
if (idof<E>() == idof<ClientRemoveEvent>()) {
|
|
2708
|
+
removeListeners.push(changetype<(event: ClientRemoveEvent) => void>(listener));
|
|
2709
|
+
if (!removeRelayed) {
|
|
2710
|
+
removeRelayed = true;
|
|
2711
|
+
_on("client_remove", removeTrampoline.index, 0);
|
|
2712
|
+
}
|
|
2713
|
+
return;
|
|
2714
|
+
}
|
|
2715
|
+
if (idof<E>() == idof<ClientCommandEvent>()) {
|
|
2716
|
+
commandListeners.push(changetype<(event: ClientCommandEvent) => void>(listener));
|
|
2717
|
+
if (!commandRelayed) {
|
|
2718
|
+
commandRelayed = true;
|
|
2719
|
+
_on("client_command", commandTrampoline.index, 0);
|
|
2720
|
+
}
|
|
2721
|
+
return;
|
|
2722
|
+
}
|
|
2723
|
+
if (idof<E>() == idof<ClientPutinserverEvent>()) {
|
|
2724
|
+
putinserverListeners.push(changetype<(event: ClientPutinserverEvent) => void>(listener));
|
|
2725
|
+
if (!putinserverRelayed) {
|
|
2726
|
+
putinserverRelayed = true;
|
|
2727
|
+
_on("client_putinserver", putinserverTrampoline.index, 0);
|
|
2728
|
+
}
|
|
2729
|
+
return;
|
|
2730
|
+
}
|
|
2731
|
+
if (idof<E>() == idof<InconsistentFileEvent>()) {
|
|
2732
|
+
inconsistentFileListeners.push(changetype<(event: InconsistentFileEvent) => void>(listener));
|
|
2733
|
+
if (!inconsistentFileRelayed) {
|
|
2734
|
+
inconsistentFileRelayed = true;
|
|
2735
|
+
_on("inconsistent_file", inconsistentFileTrampoline.index, 0);
|
|
2736
|
+
}
|
|
2737
|
+
return;
|
|
2738
|
+
}
|
|
2739
|
+
if (idof<E>() == idof<PluginModulesEvent>()) {
|
|
2740
|
+
modulesListeners.push(changetype<(event: PluginModulesEvent) => void>(listener));
|
|
2741
|
+
if (!modulesRelayed) {
|
|
2742
|
+
modulesRelayed = true;
|
|
2743
|
+
_on("plugin_modules", modulesTrampoline.index, 0);
|
|
2744
|
+
}
|
|
2745
|
+
return;
|
|
2746
|
+
}
|
|
2747
|
+
if (idof<E>() == idof<OnConfigsExecutedEvent>()) {
|
|
2748
|
+
OnConfigsExecutedListeners.push(changetype<(event: OnConfigsExecutedEvent) => void>(listener));
|
|
2749
|
+
if (!OnConfigsExecutedRelayed) {
|
|
2750
|
+
OnConfigsExecutedRelayed = true;
|
|
2751
|
+
_on("OnConfigsExecuted", OnConfigsExecutedTrampoline.index, 0);
|
|
2752
|
+
}
|
|
2753
|
+
return;
|
|
2754
|
+
}
|
|
2755
|
+
if (idof<E>() == idof<OnAutoConfigsBufferedEvent>()) {
|
|
2756
|
+
OnAutoConfigsBufferedListeners.push(changetype<(event: OnAutoConfigsBufferedEvent) => void>(listener));
|
|
2757
|
+
if (!OnAutoConfigsBufferedRelayed) {
|
|
2758
|
+
OnAutoConfigsBufferedRelayed = true;
|
|
2759
|
+
_on("OnAutoConfigsBuffered", OnAutoConfigsBufferedTrampoline.index, 0);
|
|
2760
|
+
}
|
|
2761
|
+
return;
|
|
2762
|
+
}
|
|
2763
|
+
if (idof<E>() == idof<CS_InternalCommandEvent>()) {
|
|
2764
|
+
CS_InternalCommandListeners.push(changetype<(event: CS_InternalCommandEvent) => void>(listener));
|
|
2765
|
+
if (!CS_InternalCommandRelayed) {
|
|
2766
|
+
CS_InternalCommandRelayed = true;
|
|
2767
|
+
_on("CS_InternalCommand", CS_InternalCommandTrampoline.index, 0);
|
|
2768
|
+
}
|
|
2769
|
+
return;
|
|
2770
|
+
}
|
|
2771
|
+
if (idof<E>() == idof<CS_OnBuyAttemptEvent>()) {
|
|
2772
|
+
CS_OnBuyAttemptListeners.push(changetype<(event: CS_OnBuyAttemptEvent) => void>(listener));
|
|
2773
|
+
if (!CS_OnBuyAttemptRelayed) {
|
|
2774
|
+
CS_OnBuyAttemptRelayed = true;
|
|
2775
|
+
_on("CS_OnBuyAttempt", CS_OnBuyAttemptTrampoline.index, 0);
|
|
2776
|
+
}
|
|
2777
|
+
return;
|
|
2778
|
+
}
|
|
2779
|
+
if (idof<E>() == idof<CS_OnBuyEvent>()) {
|
|
2780
|
+
CS_OnBuyListeners.push(changetype<(event: CS_OnBuyEvent) => void>(listener));
|
|
2781
|
+
if (!CS_OnBuyRelayed) {
|
|
2782
|
+
CS_OnBuyRelayed = true;
|
|
2783
|
+
_on("CS_OnBuy", CS_OnBuyTrampoline.index, 0);
|
|
2784
|
+
}
|
|
2785
|
+
return;
|
|
2786
|
+
}
|
|
2787
|
+
if (idof<E>() == idof<PfnTouchEvent>()) {
|
|
2788
|
+
pfnTouchListeners.push(changetype<(event: PfnTouchEvent) => void>(listener));
|
|
2789
|
+
if (!pfnTouchRelayed) {
|
|
2790
|
+
pfnTouchRelayed = true;
|
|
2791
|
+
_on("pfn_touch", pfnTouchTrampoline.index, 0);
|
|
2792
|
+
}
|
|
2793
|
+
return;
|
|
2794
|
+
}
|
|
2795
|
+
if (idof<E>() == idof<ServerFrameEvent>()) {
|
|
2796
|
+
frameListeners.push(changetype<(event: ServerFrameEvent) => void>(listener));
|
|
2797
|
+
if (!frameRelayed) {
|
|
2798
|
+
frameRelayed = true;
|
|
2799
|
+
_on("server_frame", frameTrampoline.index, 0);
|
|
2800
|
+
}
|
|
2801
|
+
return;
|
|
2802
|
+
}
|
|
2803
|
+
if (idof<E>() == idof<ClientKillEvent>()) {
|
|
2804
|
+
killListeners.push(changetype<(event: ClientKillEvent) => void>(listener));
|
|
2805
|
+
if (!killRelayed) {
|
|
2806
|
+
killRelayed = true;
|
|
2807
|
+
_on("client_kill", killTrampoline.index, 0);
|
|
2808
|
+
}
|
|
2809
|
+
return;
|
|
2810
|
+
}
|
|
2811
|
+
if (idof<E>() == idof<Client_PreThinkEvent>()) {
|
|
2812
|
+
PreThinkListeners.push(changetype<(event: Client_PreThinkEvent) => void>(listener));
|
|
2813
|
+
if (!PreThinkRelayed) {
|
|
2814
|
+
PreThinkRelayed = true;
|
|
2815
|
+
_on("client_PreThink", PreThinkTrampoline.index, 0);
|
|
2816
|
+
}
|
|
2817
|
+
return;
|
|
2818
|
+
}
|
|
2819
|
+
if (idof<E>() == idof<Client_PostThinkEvent>()) {
|
|
2820
|
+
PostThinkListeners.push(changetype<(event: Client_PostThinkEvent) => void>(listener));
|
|
2821
|
+
if (!PostThinkRelayed) {
|
|
2822
|
+
PostThinkRelayed = true;
|
|
2823
|
+
_on("client_PostThink", PostThinkTrampoline.index, 0);
|
|
2824
|
+
}
|
|
2825
|
+
return;
|
|
2826
|
+
}
|
|
2827
|
+
if (idof<E>() == idof<ClientImpulseEvent>()) {
|
|
2828
|
+
impulseListeners.push(changetype<(event: ClientImpulseEvent) => void>(listener));
|
|
2829
|
+
if (!impulseRelayed) {
|
|
2830
|
+
impulseRelayed = true;
|
|
2831
|
+
_on("client_impulse", impulseTrampoline.index, 0);
|
|
2832
|
+
}
|
|
2833
|
+
return;
|
|
2834
|
+
}
|
|
2835
|
+
if (idof<E>() == idof<ClientCmdStartEvent>()) {
|
|
2836
|
+
cmdStartListeners.push(changetype<(event: ClientCmdStartEvent) => void>(listener));
|
|
2837
|
+
if (!cmdStartRelayed) {
|
|
2838
|
+
cmdStartRelayed = true;
|
|
2839
|
+
_on("client_cmdStart", cmdStartTrampoline.index, 0);
|
|
2840
|
+
}
|
|
2841
|
+
return;
|
|
2842
|
+
}
|
|
2843
|
+
if (idof<E>() == idof<PfnThinkEvent>()) {
|
|
2844
|
+
pfnThinkListeners.push(changetype<(event: PfnThinkEvent) => void>(listener));
|
|
2845
|
+
if (!pfnThinkRelayed) {
|
|
2846
|
+
pfnThinkRelayed = true;
|
|
2847
|
+
_on("pfn_think", pfnThinkTrampoline.index, 0);
|
|
2848
|
+
}
|
|
2849
|
+
return;
|
|
2850
|
+
}
|
|
2851
|
+
if (idof<E>() == idof<PfnPlaybackeventEvent>()) {
|
|
2852
|
+
pfnPlaybackeventListeners.push(changetype<(event: PfnPlaybackeventEvent) => void>(listener));
|
|
2853
|
+
if (!pfnPlaybackeventRelayed) {
|
|
2854
|
+
pfnPlaybackeventRelayed = true;
|
|
2855
|
+
_on("pfn_playbackevent", pfnPlaybackeventTrampoline.index, 0);
|
|
2856
|
+
}
|
|
2857
|
+
return;
|
|
2858
|
+
}
|
|
2859
|
+
if (idof<E>() == idof<PfnKeyvalueEvent>()) {
|
|
2860
|
+
pfnKeyvalueListeners.push(changetype<(event: PfnKeyvalueEvent) => void>(listener));
|
|
2861
|
+
if (!pfnKeyvalueRelayed) {
|
|
2862
|
+
pfnKeyvalueRelayed = true;
|
|
2863
|
+
_on("pfn_keyvalue", pfnKeyvalueTrampoline.index, 0);
|
|
2864
|
+
}
|
|
2865
|
+
return;
|
|
2866
|
+
}
|
|
2867
|
+
if (idof<E>() == idof<PfnSpawnEvent>()) {
|
|
2868
|
+
pfnSpawnListeners.push(changetype<(event: PfnSpawnEvent) => void>(listener));
|
|
2869
|
+
if (!pfnSpawnRelayed) {
|
|
2870
|
+
pfnSpawnRelayed = true;
|
|
2871
|
+
_on("pfn_spawn", pfnSpawnTrampoline.index, 0);
|
|
2872
|
+
}
|
|
2873
|
+
return;
|
|
2874
|
+
}
|
|
2875
|
+
}
|
|
2876
|
+
|
|
2877
|
+
/** Takes a listener off again - server.removeEventListener's hood. */
|
|
2878
|
+
export function removeServerListener<E>(listener: (event: E) => void): void {
|
|
2879
|
+
if (idof<E>() == idof<PluginInitEvent>()) {
|
|
2880
|
+
const at = initListeners.indexOf(changetype<(event: PluginInitEvent) => void>(listener));
|
|
2881
|
+
if (at >= 0) initListeners.splice(at, 1);
|
|
2882
|
+
return;
|
|
2883
|
+
}
|
|
2884
|
+
if (idof<E>() == idof<PluginPauseEvent>()) {
|
|
2885
|
+
const at = pauseListeners.indexOf(changetype<(event: PluginPauseEvent) => void>(listener));
|
|
2886
|
+
if (at >= 0) pauseListeners.splice(at, 1);
|
|
2887
|
+
return;
|
|
2888
|
+
}
|
|
2889
|
+
if (idof<E>() == idof<PluginUnpauseEvent>()) {
|
|
2890
|
+
const at = unpauseListeners.indexOf(changetype<(event: PluginUnpauseEvent) => void>(listener));
|
|
2891
|
+
if (at >= 0) unpauseListeners.splice(at, 1);
|
|
2892
|
+
return;
|
|
2893
|
+
}
|
|
2894
|
+
if (idof<E>() == idof<ServerChangelevelEvent>()) {
|
|
2895
|
+
const at = changelevelListeners.indexOf(changetype<(event: ServerChangelevelEvent) => void>(listener));
|
|
2896
|
+
if (at >= 0) changelevelListeners.splice(at, 1);
|
|
2897
|
+
return;
|
|
2898
|
+
}
|
|
2899
|
+
if (idof<E>() == idof<PluginCfgEvent>()) {
|
|
2900
|
+
const at = cfgListeners.indexOf(changetype<(event: PluginCfgEvent) => void>(listener));
|
|
2901
|
+
if (at >= 0) cfgListeners.splice(at, 1);
|
|
2902
|
+
return;
|
|
2903
|
+
}
|
|
2904
|
+
if (idof<E>() == idof<PluginEndEvent>()) {
|
|
2905
|
+
const at = endListeners.indexOf(changetype<(event: PluginEndEvent) => void>(listener));
|
|
2906
|
+
if (at >= 0) endListeners.splice(at, 1);
|
|
2907
|
+
return;
|
|
2908
|
+
}
|
|
2909
|
+
if (idof<E>() == idof<PluginLogEvent>()) {
|
|
2910
|
+
const at = logListeners.indexOf(changetype<(event: PluginLogEvent) => void>(listener));
|
|
2911
|
+
if (at >= 0) logListeners.splice(at, 1);
|
|
2912
|
+
return;
|
|
2913
|
+
}
|
|
2914
|
+
if (idof<E>() == idof<PluginPrecacheEvent>()) {
|
|
2915
|
+
const at = precacheListeners.indexOf(changetype<(event: PluginPrecacheEvent) => void>(listener));
|
|
2916
|
+
if (at >= 0) precacheListeners.splice(at, 1);
|
|
2917
|
+
return;
|
|
2918
|
+
}
|
|
2919
|
+
if (idof<E>() == idof<ClientInfochangedEvent>()) {
|
|
2920
|
+
const at = infochangedListeners.indexOf(changetype<(event: ClientInfochangedEvent) => void>(listener));
|
|
2921
|
+
if (at >= 0) infochangedListeners.splice(at, 1);
|
|
2922
|
+
return;
|
|
2923
|
+
}
|
|
2924
|
+
if (idof<E>() == idof<ClientConnectEvent>()) {
|
|
2925
|
+
const at = connectListeners.indexOf(changetype<(event: ClientConnectEvent) => void>(listener));
|
|
2926
|
+
if (at >= 0) connectListeners.splice(at, 1);
|
|
2927
|
+
return;
|
|
2928
|
+
}
|
|
2929
|
+
if (idof<E>() == idof<ClientConnectexEvent>()) {
|
|
2930
|
+
const at = connectexListeners.indexOf(changetype<(event: ClientConnectexEvent) => void>(listener));
|
|
2931
|
+
if (at >= 0) connectexListeners.splice(at, 1);
|
|
2932
|
+
return;
|
|
2933
|
+
}
|
|
2934
|
+
if (idof<E>() == idof<ClientAuthorizedEvent>()) {
|
|
2935
|
+
const at = authorizedListeners.indexOf(changetype<(event: ClientAuthorizedEvent) => void>(listener));
|
|
2936
|
+
if (at >= 0) authorizedListeners.splice(at, 1);
|
|
2937
|
+
return;
|
|
2938
|
+
}
|
|
2939
|
+
if (idof<E>() == idof<ClientDisconnectEvent>()) {
|
|
2940
|
+
const at = disconnectListeners.indexOf(changetype<(event: ClientDisconnectEvent) => void>(listener));
|
|
2941
|
+
if (at >= 0) disconnectListeners.splice(at, 1);
|
|
2942
|
+
return;
|
|
2943
|
+
}
|
|
2944
|
+
if (idof<E>() == idof<ClientDisconnectedEvent>()) {
|
|
2945
|
+
const at = disconnectedListeners.indexOf(changetype<(event: ClientDisconnectedEvent) => void>(listener));
|
|
2946
|
+
if (at >= 0) disconnectedListeners.splice(at, 1);
|
|
2947
|
+
return;
|
|
2948
|
+
}
|
|
2949
|
+
if (idof<E>() == idof<ClientRemoveEvent>()) {
|
|
2950
|
+
const at = removeListeners.indexOf(changetype<(event: ClientRemoveEvent) => void>(listener));
|
|
2951
|
+
if (at >= 0) removeListeners.splice(at, 1);
|
|
2952
|
+
return;
|
|
2953
|
+
}
|
|
2954
|
+
if (idof<E>() == idof<ClientCommandEvent>()) {
|
|
2955
|
+
const at = commandListeners.indexOf(changetype<(event: ClientCommandEvent) => void>(listener));
|
|
2956
|
+
if (at >= 0) commandListeners.splice(at, 1);
|
|
2957
|
+
return;
|
|
2958
|
+
}
|
|
2959
|
+
if (idof<E>() == idof<ClientPutinserverEvent>()) {
|
|
2960
|
+
const at = putinserverListeners.indexOf(changetype<(event: ClientPutinserverEvent) => void>(listener));
|
|
2961
|
+
if (at >= 0) putinserverListeners.splice(at, 1);
|
|
2962
|
+
return;
|
|
2963
|
+
}
|
|
2964
|
+
if (idof<E>() == idof<InconsistentFileEvent>()) {
|
|
2965
|
+
const at = inconsistentFileListeners.indexOf(changetype<(event: InconsistentFileEvent) => void>(listener));
|
|
2966
|
+
if (at >= 0) inconsistentFileListeners.splice(at, 1);
|
|
2967
|
+
return;
|
|
2968
|
+
}
|
|
2969
|
+
if (idof<E>() == idof<PluginModulesEvent>()) {
|
|
2970
|
+
const at = modulesListeners.indexOf(changetype<(event: PluginModulesEvent) => void>(listener));
|
|
2971
|
+
if (at >= 0) modulesListeners.splice(at, 1);
|
|
2972
|
+
return;
|
|
2973
|
+
}
|
|
2974
|
+
if (idof<E>() == idof<OnConfigsExecutedEvent>()) {
|
|
2975
|
+
const at = OnConfigsExecutedListeners.indexOf(changetype<(event: OnConfigsExecutedEvent) => void>(listener));
|
|
2976
|
+
if (at >= 0) OnConfigsExecutedListeners.splice(at, 1);
|
|
2977
|
+
return;
|
|
2978
|
+
}
|
|
2979
|
+
if (idof<E>() == idof<OnAutoConfigsBufferedEvent>()) {
|
|
2980
|
+
const at = OnAutoConfigsBufferedListeners.indexOf(changetype<(event: OnAutoConfigsBufferedEvent) => void>(listener));
|
|
2981
|
+
if (at >= 0) OnAutoConfigsBufferedListeners.splice(at, 1);
|
|
2982
|
+
return;
|
|
2983
|
+
}
|
|
2984
|
+
if (idof<E>() == idof<CS_InternalCommandEvent>()) {
|
|
2985
|
+
const at = CS_InternalCommandListeners.indexOf(changetype<(event: CS_InternalCommandEvent) => void>(listener));
|
|
2986
|
+
if (at >= 0) CS_InternalCommandListeners.splice(at, 1);
|
|
2987
|
+
return;
|
|
2988
|
+
}
|
|
2989
|
+
if (idof<E>() == idof<CS_OnBuyAttemptEvent>()) {
|
|
2990
|
+
const at = CS_OnBuyAttemptListeners.indexOf(changetype<(event: CS_OnBuyAttemptEvent) => void>(listener));
|
|
2991
|
+
if (at >= 0) CS_OnBuyAttemptListeners.splice(at, 1);
|
|
2992
|
+
return;
|
|
2993
|
+
}
|
|
2994
|
+
if (idof<E>() == idof<CS_OnBuyEvent>()) {
|
|
2995
|
+
const at = CS_OnBuyListeners.indexOf(changetype<(event: CS_OnBuyEvent) => void>(listener));
|
|
2996
|
+
if (at >= 0) CS_OnBuyListeners.splice(at, 1);
|
|
2997
|
+
return;
|
|
2998
|
+
}
|
|
2999
|
+
if (idof<E>() == idof<PfnTouchEvent>()) {
|
|
3000
|
+
const at = pfnTouchListeners.indexOf(changetype<(event: PfnTouchEvent) => void>(listener));
|
|
3001
|
+
if (at >= 0) pfnTouchListeners.splice(at, 1);
|
|
3002
|
+
return;
|
|
3003
|
+
}
|
|
3004
|
+
if (idof<E>() == idof<ServerFrameEvent>()) {
|
|
3005
|
+
const at = frameListeners.indexOf(changetype<(event: ServerFrameEvent) => void>(listener));
|
|
3006
|
+
if (at >= 0) frameListeners.splice(at, 1);
|
|
3007
|
+
return;
|
|
3008
|
+
}
|
|
3009
|
+
if (idof<E>() == idof<ClientKillEvent>()) {
|
|
3010
|
+
const at = killListeners.indexOf(changetype<(event: ClientKillEvent) => void>(listener));
|
|
3011
|
+
if (at >= 0) killListeners.splice(at, 1);
|
|
3012
|
+
return;
|
|
3013
|
+
}
|
|
3014
|
+
if (idof<E>() == idof<Client_PreThinkEvent>()) {
|
|
3015
|
+
const at = PreThinkListeners.indexOf(changetype<(event: Client_PreThinkEvent) => void>(listener));
|
|
3016
|
+
if (at >= 0) PreThinkListeners.splice(at, 1);
|
|
3017
|
+
return;
|
|
3018
|
+
}
|
|
3019
|
+
if (idof<E>() == idof<Client_PostThinkEvent>()) {
|
|
3020
|
+
const at = PostThinkListeners.indexOf(changetype<(event: Client_PostThinkEvent) => void>(listener));
|
|
3021
|
+
if (at >= 0) PostThinkListeners.splice(at, 1);
|
|
3022
|
+
return;
|
|
3023
|
+
}
|
|
3024
|
+
if (idof<E>() == idof<ClientImpulseEvent>()) {
|
|
3025
|
+
const at = impulseListeners.indexOf(changetype<(event: ClientImpulseEvent) => void>(listener));
|
|
3026
|
+
if (at >= 0) impulseListeners.splice(at, 1);
|
|
3027
|
+
return;
|
|
3028
|
+
}
|
|
3029
|
+
if (idof<E>() == idof<ClientCmdStartEvent>()) {
|
|
3030
|
+
const at = cmdStartListeners.indexOf(changetype<(event: ClientCmdStartEvent) => void>(listener));
|
|
3031
|
+
if (at >= 0) cmdStartListeners.splice(at, 1);
|
|
3032
|
+
return;
|
|
3033
|
+
}
|
|
3034
|
+
if (idof<E>() == idof<PfnThinkEvent>()) {
|
|
3035
|
+
const at = pfnThinkListeners.indexOf(changetype<(event: PfnThinkEvent) => void>(listener));
|
|
3036
|
+
if (at >= 0) pfnThinkListeners.splice(at, 1);
|
|
3037
|
+
return;
|
|
3038
|
+
}
|
|
3039
|
+
if (idof<E>() == idof<PfnPlaybackeventEvent>()) {
|
|
3040
|
+
const at = pfnPlaybackeventListeners.indexOf(changetype<(event: PfnPlaybackeventEvent) => void>(listener));
|
|
3041
|
+
if (at >= 0) pfnPlaybackeventListeners.splice(at, 1);
|
|
3042
|
+
return;
|
|
3043
|
+
}
|
|
3044
|
+
if (idof<E>() == idof<PfnKeyvalueEvent>()) {
|
|
3045
|
+
const at = pfnKeyvalueListeners.indexOf(changetype<(event: PfnKeyvalueEvent) => void>(listener));
|
|
3046
|
+
if (at >= 0) pfnKeyvalueListeners.splice(at, 1);
|
|
3047
|
+
return;
|
|
3048
|
+
}
|
|
3049
|
+
if (idof<E>() == idof<PfnSpawnEvent>()) {
|
|
3050
|
+
const at = pfnSpawnListeners.indexOf(changetype<(event: PfnSpawnEvent) => void>(listener));
|
|
3051
|
+
if (at >= 0) pfnSpawnListeners.splice(at, 1);
|
|
3052
|
+
return;
|
|
3053
|
+
}
|
|
3054
|
+
}
|