@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.
Files changed (247) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +162 -0
  3. package/README.ru.md +162 -0
  4. package/amxmodx/base/include/amxconst.inc +594 -0
  5. package/amxmodx/base/include/amxmisc.inc +902 -0
  6. package/amxmodx/base/include/amxmodx.inc +3447 -0
  7. package/amxmodx/base/include/amxmodx_version.inc +20 -0
  8. package/amxmodx/base/include/cellarray.inc +525 -0
  9. package/amxmodx/base/include/cellstack.inc +166 -0
  10. package/amxmodx/base/include/celltrie.inc +412 -0
  11. package/amxmodx/base/include/core.inc +202 -0
  12. package/amxmodx/base/include/csstats.inc +298 -0
  13. package/amxmodx/base/include/csstats_const.inc +29 -0
  14. package/amxmodx/base/include/cstrike.inc +1287 -0
  15. package/amxmodx/base/include/cstrike_const.inc +521 -0
  16. package/amxmodx/base/include/csx.inc +259 -0
  17. package/amxmodx/base/include/cvars.inc +547 -0
  18. package/amxmodx/base/include/datapack.inc +161 -0
  19. package/amxmodx/base/include/dbi.inc +154 -0
  20. package/amxmodx/base/include/dodconst.inc +152 -0
  21. package/amxmodx/base/include/dodfun.inc +152 -0
  22. package/amxmodx/base/include/dodstats.inc +69 -0
  23. package/amxmodx/base/include/dodx.inc +161 -0
  24. package/amxmodx/base/include/engine.inc +1343 -0
  25. package/amxmodx/base/include/engine_const.inc +310 -0
  26. package/amxmodx/base/include/engine_stocks.inc +248 -0
  27. package/amxmodx/base/include/esf.inc +70 -0
  28. package/amxmodx/base/include/esf_const.inc +74 -0
  29. package/amxmodx/base/include/fakemeta.inc +1127 -0
  30. package/amxmodx/base/include/fakemeta_const.inc +793 -0
  31. package/amxmodx/base/include/fakemeta_stocks.inc +395 -0
  32. package/amxmodx/base/include/fakemeta_util.inc +882 -0
  33. package/amxmodx/base/include/file.inc +666 -0
  34. package/amxmodx/base/include/float.inc +422 -0
  35. package/amxmodx/base/include/fun.inc +333 -0
  36. package/amxmodx/base/include/gameconfig.inc +93 -0
  37. package/amxmodx/base/include/geoip.inc +264 -0
  38. package/amxmodx/base/include/ham_const.inc +4352 -0
  39. package/amxmodx/base/include/hamsandwich.inc +439 -0
  40. package/amxmodx/base/include/hlsdk_const.inc +808 -0
  41. package/amxmodx/base/include/json.inc +777 -0
  42. package/amxmodx/base/include/lang.inc +119 -0
  43. package/amxmodx/base/include/message_const.inc +1130 -0
  44. package/amxmodx/base/include/message_stocks.inc +161 -0
  45. package/amxmodx/base/include/messages.inc +604 -0
  46. package/amxmodx/base/include/newmenus.inc +387 -0
  47. package/amxmodx/base/include/ns.inc +754 -0
  48. package/amxmodx/base/include/ns_const.inc +196 -0
  49. package/amxmodx/base/include/nvault.inc +154 -0
  50. package/amxmodx/base/include/regex.inc +348 -0
  51. package/amxmodx/base/include/sockets.inc +183 -0
  52. package/amxmodx/base/include/sorting.inc +107 -0
  53. package/amxmodx/base/include/sqlx.inc +582 -0
  54. package/amxmodx/base/include/string.inc +786 -0
  55. package/amxmodx/base/include/string_const.inc +156 -0
  56. package/amxmodx/base/include/string_stocks.inc +325 -0
  57. package/amxmodx/base/include/textparse_ini.inc +214 -0
  58. package/amxmodx/base/include/textparse_smc.inc +261 -0
  59. package/amxmodx/base/include/tfcconst.inc +84 -0
  60. package/amxmodx/base/include/tfcstats.inc +62 -0
  61. package/amxmodx/base/include/tfcx.inc +148 -0
  62. package/amxmodx/base/include/time.inc +118 -0
  63. package/amxmodx/base/include/tsconst.inc +154 -0
  64. package/amxmodx/base/include/tsfun.inc +198 -0
  65. package/amxmodx/base/include/tsstats.inc +65 -0
  66. package/amxmodx/base/include/tsx.inc +88 -0
  67. package/amxmodx/base/include/vault.inc +60 -0
  68. package/amxmodx/base/include/vector.inc +131 -0
  69. package/amxmodx/base/include/xs.inc +1570 -0
  70. package/as/amxts.d.ts +153 -0
  71. package/as/constants.ts +4730 -0
  72. package/as/effects.ts +1449 -0
  73. package/as/entities.ts +5482 -0
  74. package/as/events.ts +3054 -0
  75. package/as/facade.ts +4639 -0
  76. package/as/flags.ts +299 -0
  77. package/as/fs.ts +287 -0
  78. package/as/hooks.ts +18536 -0
  79. package/as/kit.ts +25 -0
  80. package/as/lib/check.ts +86 -0
  81. package/as/modules/http.ts +184 -0
  82. package/as/natives.ts +11845 -0
  83. package/as/os.ts +30 -0
  84. package/as/promise.ts +1392 -0
  85. package/as/promise.types.d.ts +82 -0
  86. package/as/remote.ts +288 -0
  87. package/as/tsconfig.json +22 -0
  88. package/as/vector.ts +65 -0
  89. package/bin/amxts.mjs +10 -0
  90. package/includes/menu_core.inc +355 -0
  91. package/includes/order.txt +54 -0
  92. package/includes/sources.json +27 -0
  93. package/includes/universal_config.inc +355 -0
  94. package/lint/oxlint-plugin.mjs +77 -0
  95. package/node_modules/assemblyscript/LICENSE +201 -0
  96. package/node_modules/assemblyscript/NOTICE +93 -0
  97. package/node_modules/assemblyscript/package.json +63 -0
  98. package/node_modules/assemblyscript/std/README.md +6 -0
  99. package/node_modules/assemblyscript/std/assembly/array.ts +526 -0
  100. package/node_modules/assemblyscript/std/assembly/arraybuffer.ts +77 -0
  101. package/node_modules/assemblyscript/std/assembly/atomics.ts +127 -0
  102. package/node_modules/assemblyscript/std/assembly/bindings/asyncify.ts +16 -0
  103. package/node_modules/assemblyscript/std/assembly/bindings/dom.ts +291 -0
  104. package/node_modules/assemblyscript/std/assembly/bindings/node.ts +6 -0
  105. package/node_modules/assemblyscript/std/assembly/builtins.ts +2631 -0
  106. package/node_modules/assemblyscript/std/assembly/compat.ts +2 -0
  107. package/node_modules/assemblyscript/std/assembly/console.ts +42 -0
  108. package/node_modules/assemblyscript/std/assembly/crypto.ts +9 -0
  109. package/node_modules/assemblyscript/std/assembly/dataview.ts +181 -0
  110. package/node_modules/assemblyscript/std/assembly/date.ts +373 -0
  111. package/node_modules/assemblyscript/std/assembly/diagnostics.ts +11 -0
  112. package/node_modules/assemblyscript/std/assembly/error.ts +44 -0
  113. package/node_modules/assemblyscript/std/assembly/function.ts +38 -0
  114. package/node_modules/assemblyscript/std/assembly/index.d.ts +2822 -0
  115. package/node_modules/assemblyscript/std/assembly/iterator.ts +35 -0
  116. package/node_modules/assemblyscript/std/assembly/map.ts +260 -0
  117. package/node_modules/assemblyscript/std/assembly/math.ts +3289 -0
  118. package/node_modules/assemblyscript/std/assembly/memory.ts +123 -0
  119. package/node_modules/assemblyscript/std/assembly/number.ts +388 -0
  120. package/node_modules/assemblyscript/std/assembly/object.ts +36 -0
  121. package/node_modules/assemblyscript/std/assembly/performance.ts +9 -0
  122. package/node_modules/assemblyscript/std/assembly/polyfills.ts +27 -0
  123. package/node_modules/assemblyscript/std/assembly/process.ts +50 -0
  124. package/node_modules/assemblyscript/std/assembly/reference.ts +48 -0
  125. package/node_modules/assemblyscript/std/assembly/regexp.ts +12 -0
  126. package/node_modules/assemblyscript/std/assembly/rt/README.md +83 -0
  127. package/node_modules/assemblyscript/std/assembly/rt/common.ts +81 -0
  128. package/node_modules/assemblyscript/std/assembly/rt/index-incremental.ts +2 -0
  129. package/node_modules/assemblyscript/std/assembly/rt/index-minimal.ts +2 -0
  130. package/node_modules/assemblyscript/std/assembly/rt/index-stub.ts +1 -0
  131. package/node_modules/assemblyscript/std/assembly/rt/index.d.ts +37 -0
  132. package/node_modules/assemblyscript/std/assembly/rt/itcms.ts +419 -0
  133. package/node_modules/assemblyscript/std/assembly/rt/rtrace.ts +15 -0
  134. package/node_modules/assemblyscript/std/assembly/rt/stub.ts +133 -0
  135. package/node_modules/assemblyscript/std/assembly/rt/tcms.ts +254 -0
  136. package/node_modules/assemblyscript/std/assembly/rt/tlsf.ts +592 -0
  137. package/node_modules/assemblyscript/std/assembly/rt.ts +87 -0
  138. package/node_modules/assemblyscript/std/assembly/set.ts +220 -0
  139. package/node_modules/assemblyscript/std/assembly/shared/feature.ts +65 -0
  140. package/node_modules/assemblyscript/std/assembly/shared/runtime.ts +11 -0
  141. package/node_modules/assemblyscript/std/assembly/shared/target.ts +11 -0
  142. package/node_modules/assemblyscript/std/assembly/shared/tsconfig.json +11 -0
  143. package/node_modules/assemblyscript/std/assembly/shared/typeinfo.ts +72 -0
  144. package/node_modules/assemblyscript/std/assembly/staticarray.ts +401 -0
  145. package/node_modules/assemblyscript/std/assembly/string.ts +847 -0
  146. package/node_modules/assemblyscript/std/assembly/symbol.ts +114 -0
  147. package/node_modules/assemblyscript/std/assembly/table.ts +16 -0
  148. package/node_modules/assemblyscript/std/assembly/tsconfig.json +6 -0
  149. package/node_modules/assemblyscript/std/assembly/typedarray.ts +1945 -0
  150. package/node_modules/assemblyscript/std/assembly/uri.ts +17 -0
  151. package/node_modules/assemblyscript/std/assembly/util/bytes.ts +107 -0
  152. package/node_modules/assemblyscript/std/assembly/util/casemap.ts +497 -0
  153. package/node_modules/assemblyscript/std/assembly/util/error.ts +54 -0
  154. package/node_modules/assemblyscript/std/assembly/util/hash.ts +117 -0
  155. package/node_modules/assemblyscript/std/assembly/util/math.ts +1922 -0
  156. package/node_modules/assemblyscript/std/assembly/util/memory.ts +290 -0
  157. package/node_modules/assemblyscript/std/assembly/util/number.ts +873 -0
  158. package/node_modules/assemblyscript/std/assembly/util/sort.ts +313 -0
  159. package/node_modules/assemblyscript/std/assembly/util/string.ts +1202 -0
  160. package/node_modules/assemblyscript/std/assembly/util/uri.ts +275 -0
  161. package/node_modules/assemblyscript/std/assembly/vector.ts +4 -0
  162. package/node_modules/assemblyscript/std/assembly.json +16 -0
  163. package/node_modules/assemblyscript/std/portable/index.d.ts +462 -0
  164. package/node_modules/assemblyscript/std/portable/index.js +416 -0
  165. package/node_modules/assemblyscript/std/portable.json +11 -0
  166. package/node_modules/assemblyscript/std/types/assembly/index.d.ts +1 -0
  167. package/node_modules/assemblyscript/std/types/assembly/package.json +3 -0
  168. package/node_modules/assemblyscript/std/types/portable/index.d.ts +1 -0
  169. package/node_modules/assemblyscript/std/types/portable/package.json +3 -0
  170. package/node_modules/assemblyscript/tsconfig-base.json +13 -0
  171. package/package.json +112 -0
  172. package/runtime/deps/assemblyscript/LICENSE +201 -0
  173. package/runtime/deps/assemblyscript/NOTICE +93 -0
  174. package/runtime/deps/assemblyscript/bin/asc.js +35 -0
  175. package/runtime/deps/assemblyscript/dist/asc.js +25035 -0
  176. package/runtime/deps/assemblyscript/dist/assemblyscript.js +337 -0
  177. package/runtime/deps/assemblyscript/node_modules/binaryen/LICENSE +201 -0
  178. package/runtime/deps/assemblyscript/node_modules/binaryen/index.js +28905 -0
  179. package/runtime/deps/assemblyscript/node_modules/binaryen/package.json +50 -0
  180. package/runtime/deps/assemblyscript/node_modules/long/LICENSE +202 -0
  181. package/runtime/deps/assemblyscript/node_modules/long/index.js +1581 -0
  182. package/runtime/deps/assemblyscript/node_modules/long/package.json +58 -0
  183. package/runtime/deps/assemblyscript/package.json +114 -0
  184. package/runtime/host/amxts.inc +85 -0
  185. package/runtime/licenses/AMXX-LICENSE.txt +34 -0
  186. package/runtime/licenses/AssemblyScript-LICENSE +201 -0
  187. package/runtime/licenses/AssemblyScript-NOTICE +93 -0
  188. package/runtime/licenses/Binaryen-LICENSE +201 -0
  189. package/runtime/licenses/Bun-LICENSE.md +84 -0
  190. package/runtime/licenses/GPL-3.0.txt +674 -0
  191. package/runtime/licenses/LLVM-LICENSE.TXT +279 -0
  192. package/runtime/licenses/README.md +25 -0
  193. package/runtime/licenses/WAMR-LICENSE +219 -0
  194. package/runtime/natives.txt +1095 -0
  195. package/runtime/patches/README.md +59 -0
  196. package/runtime/patches/assemblyscript-0.28.20-amxts.patch +14174 -0
  197. package/runtime/patches/wamr-2.4.5-amxts.patch +364 -0
  198. package/scripts/apply-docs.ts +508 -0
  199. package/scripts/asc.ts +27 -0
  200. package/scripts/auto-imports.ts +258 -0
  201. package/scripts/build-wasm.ts +595 -0
  202. package/scripts/check.ts +93 -0
  203. package/scripts/compile-cache.ts +179 -0
  204. package/scripts/compile.ts +401 -0
  205. package/scripts/docker-server.ts +73 -0
  206. package/scripts/docs/as/amxts.ts +210 -0
  207. package/scripts/docs/as/effects.ts +1684 -0
  208. package/scripts/docs/as/facade.ts +3302 -0
  209. package/scripts/docs/as/fs.ts +173 -0
  210. package/scripts/docs/as/lib/check.ts +68 -0
  211. package/scripts/docs/as/modules/http.ts +66 -0
  212. package/scripts/docs/as/os.ts +16 -0
  213. package/scripts/docs/as/promise.ts +132 -0
  214. package/scripts/docs/as/promise.types.ts +63 -0
  215. package/scripts/docs/as/vector.ts +48 -0
  216. package/scripts/docs/entities.ts +2338 -0
  217. package/scripts/docs/events.ts +245 -0
  218. package/scripts/docs/game.ts +497 -0
  219. package/scripts/docs/messages.ts +148 -0
  220. package/scripts/file-contents.ts +74 -0
  221. package/scripts/includes.ts +134 -0
  222. package/scripts/player-fields.ts +866 -0
  223. package/scripts/plugin-cache.ts +92 -0
  224. package/scripts/plugin-natives.ts +1157 -0
  225. package/scripts/prebuilt.ts +268 -0
  226. package/scripts/prepare.ts +134 -0
  227. package/scripts/project.ts +973 -0
  228. package/scripts/run.ts +28 -0
  229. package/scripts/shared-modules.ts +906 -0
  230. package/scripts/system.ts +33 -0
  231. package/scripts/tracked-fs.ts +115 -0
  232. package/scripts/typed-configs.ts +788 -0
  233. package/scripts/ui.ts +77 -0
  234. package/src/cli-api.mjs +175 -0
  235. package/src/parser/include-parser.ts +506 -0
  236. package/src/system.mjs +155 -0
  237. package/src/testing/compile-cache.ts +31 -0
  238. package/src/testing/compile.ts +222 -0
  239. package/src/testing/coroutines.ts +191 -0
  240. package/src/testing/index.ts +39 -0
  241. package/src/testing/kits.ts +55 -0
  242. package/src/testing/memory.ts +125 -0
  243. package/src/testing/natives.ts +925 -0
  244. package/src/testing/server.ts +1874 -0
  245. package/src/testing/setup.ts +63 -0
  246. package/src/testing/tables.ts +139 -0
  247. package/src/types.ts +51 -0
@@ -0,0 +1,594 @@
1
+ // vim: set ts=4 sw=4 tw=99 noet:
2
+ //
3
+ // AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
4
+ // Copyright (C) The AMX Mod X Development Team.
5
+ //
6
+ // This software is licensed under the GNU General Public License, version 3 or higher.
7
+ // Additional exceptions apply. For full license details, see LICENSE.txt or visit:
8
+ // https://alliedmods.net/amxmodx-license
9
+
10
+ #if defined _amxconst_included
11
+ #endinput
12
+ #endif
13
+ #define _amxconst_included
14
+
15
+ #include <amxmodx_version>
16
+
17
+ /**
18
+ * Internal AMXX buffer size for string retrieval.
19
+ *
20
+ * @note This is the buffer size AMX Mod X uses internally to retrieve strings
21
+ * from plugins. Most natives that take strings as arguments will
22
+ * implicitly truncate them to this maximum length. This has been raised
23
+ * to the current value with AMXX 1.8.3. Previously the limit was 3072.
24
+ * @note This is here mainly for documentation purposes. By default plugins
25
+ * don't have enough memory available to allocate an array of this size.
26
+ * You probably should not use this to actually declare a buffer unless
27
+ * you *absolutely* have to. Look at #pragma dynamic to increase a plugins
28
+ * available memory.
29
+ */
30
+ #define MAX_STRING_LENGTH 16384
31
+
32
+ /**
33
+ * The maximum buffer size required to store a map's name.
34
+ */
35
+ #define MAX_MAPNAME_LENGTH 64
36
+
37
+ /**
38
+ * Defines and constants related to the maximum number of clients.
39
+ *
40
+ * @note MAX_PLAYERS is not the same as MaxClients. MAX_PLAYERS is a hardcoded
41
+ * value as an upper limit, used mainly to declare arrays big enough for
42
+ * all possible server situations. MaxClients changes based on the
43
+ * server the plugin is deployed on..
44
+ */
45
+ #define MAX_PLAYERS 32 /* Maximum number of players AMX Mod X supports */
46
+
47
+ /**
48
+ * Maximum number of players the server supports
49
+ */
50
+ public stock const MaxClients;
51
+
52
+ /**
53
+ * Current map name
54
+ */
55
+ public stock const MapName[MAX_MAPNAME_LENGTH];
56
+
57
+ /**
58
+ * Pass this into certain functions to act as a C++ NULL
59
+ */
60
+ public stock const NULL_STRING[1];
61
+
62
+ /**
63
+ * Pass this into certain functions to act as a C++ NULL
64
+ */
65
+ public stock const Float:NULL_VECTOR[3];
66
+
67
+ /**
68
+ * The maximum buffer size required to store a client's name.
69
+ */
70
+ #define MAX_NAME_LENGTH 32
71
+
72
+ /**
73
+ * The maximum buffer size required to store a client's IP address without a port.
74
+ */
75
+ #define MAX_IP_LENGTH 16
76
+
77
+ /**
78
+ * The maximum buffer size required to store a client's IP address with a port.
79
+ */
80
+ #define MAX_IP_WITH_PORT_LENGTH 22
81
+
82
+ /**
83
+ * The maximum buffer size required to store a client's AuthID.
84
+ */
85
+ #define MAX_AUTHID_LENGTH 64
86
+
87
+ /**
88
+ * The maximum buffer size required to store a resource path.
89
+ */
90
+ #define MAX_RESOURCE_PATH_LENGTH 64
91
+
92
+ /**
93
+ * The maximum buffer size that can be displayed in a MOTD.
94
+ */
95
+ #define MAX_MOTD_LENGTH 1536
96
+
97
+ /**
98
+ * The maximum size accepted by the user info buffer.
99
+ */
100
+ #define MAX_USER_INFO_LENGTH 256
101
+
102
+ /**
103
+ * The maximum buffer size that can be displayed in a menu.
104
+ */
105
+ #define MAX_MENU_LENGTH 512
106
+
107
+ /**
108
+ * π
109
+ */
110
+ #define M_PI 3.1415926535
111
+
112
+ /**
113
+ * @section Admin privilege and authentication constants
114
+ */
115
+
116
+ /**
117
+ * Admin level constants
118
+ */
119
+ #define ADMIN_ALL 0 /* everyone */
120
+ #define ADMIN_IMMUNITY (1<<0) /* flag "a" */
121
+ #define ADMIN_RESERVATION (1<<1) /* flag "b" */
122
+ #define ADMIN_KICK (1<<2) /* flag "c" */
123
+ #define ADMIN_BAN (1<<3) /* flag "d" */
124
+ #define ADMIN_SLAY (1<<4) /* flag "e" */
125
+ #define ADMIN_MAP (1<<5) /* flag "f" */
126
+ #define ADMIN_CVAR (1<<6) /* flag "g" */
127
+ #define ADMIN_CFG (1<<7) /* flag "h" */
128
+ #define ADMIN_CHAT (1<<8) /* flag "i" */
129
+ #define ADMIN_VOTE (1<<9) /* flag "j" */
130
+ #define ADMIN_PASSWORD (1<<10) /* flag "k" */
131
+ #define ADMIN_RCON (1<<11) /* flag "l" */
132
+ #define ADMIN_LEVEL_A (1<<12) /* flag "m" */
133
+ #define ADMIN_LEVEL_B (1<<13) /* flag "n" */
134
+ #define ADMIN_LEVEL_C (1<<14) /* flag "o" */
135
+ #define ADMIN_LEVEL_D (1<<15) /* flag "p" */
136
+ #define ADMIN_LEVEL_E (1<<16) /* flag "q" */
137
+ #define ADMIN_LEVEL_F (1<<17) /* flag "r" */
138
+ #define ADMIN_LEVEL_G (1<<18) /* flag "s" */
139
+ #define ADMIN_LEVEL_H (1<<19) /* flag "t" */
140
+ #define ADMIN_MENU (1<<20) /* flag "u" */
141
+ #define ADMIN_BAN_TEMP (1<<21) /* flag "v" */
142
+ #define ADMIN_ADMIN (1<<24) /* flag "y" */
143
+ #define ADMIN_USER (1<<25) /* flag "z" */
144
+
145
+ /**
146
+ * Admin authentication behavior flags
147
+ */
148
+ #define FLAG_KICK (1<<0) /* flag "a" */
149
+ #define FLAG_TAG (1<<1) /* flag "b" */
150
+ #define FLAG_AUTHID (1<<2) /* flag "c" */
151
+ #define FLAG_IP (1<<3) /* flag "d" */
152
+ #define FLAG_NOPASS (1<<4) /* flag "e" */
153
+ #define FLAG_CASE_SENSITIVE (1<<10) /* flag "k" */
154
+
155
+ /**
156
+ * @endsection
157
+ */
158
+
159
+ /**
160
+ * Return codes
161
+ */
162
+ #define PLUGIN_CONTINUE 0 /* Results returned by public functions */
163
+ #define PLUGIN_HANDLED 1 /* stop other plugins */
164
+ #define PLUGIN_HANDLED_MAIN 2 /* to use in client_command(), continue all plugins but stop the command */
165
+
166
+ /**
167
+ * HI weapon constants
168
+ */
169
+ #define HIW_BERETTA 1
170
+ #define HIW_SPAS12 2
171
+ #define HIW_M4A1 3
172
+ #define HIW_MP5A4 4
173
+ #define HIW_MP5SD5 5
174
+ #define HIW_AK47 6
175
+ #define HIW_AKS74U 7
176
+ #define HIW_GLOCK 8
177
+ #define HIW_M11 9
178
+ #define HIW_M11SD 10
179
+ #define HIW_PSG1 11
180
+ #define HIW_ZASTAVA 12
181
+ #define HIW_M16A2 13
182
+ #define HIW_REMINGTON 14
183
+ #define HIW_NATOGREN 15
184
+ #define HIW_TANGOGREN 16
185
+ #define HIW_FLASHBANG 17
186
+
187
+ /**
188
+ * Parts of body for hits
189
+ */
190
+ #define HIT_GENERIC 0 /* none */
191
+ #define HIT_HEAD 1
192
+ #define HIT_CHEST 2
193
+ #define HIT_STOMACH 3
194
+ #define HIT_LEFTARM 4
195
+ #define HIT_RIGHTARM 5
196
+ #define HIT_LEFTLEG 6
197
+ #define HIT_RIGHTLEG 7
198
+ #define HIT_SHIELD 8 // CS only
199
+ #define MAX_BODYHITS 8
200
+
201
+ /**
202
+ * @section emit_sound() constants
203
+ */
204
+
205
+ /**
206
+ * Channels
207
+ */
208
+ #define CHAN_AUTO 0
209
+ #define CHAN_WEAPON 1
210
+ #define CHAN_VOICE 2
211
+ #define CHAN_ITEM 3
212
+ #define CHAN_BODY 4
213
+ #define CHAN_STREAM 5 /* allocate stream channel from the static or dynamic area */
214
+ #define CHAN_STATIC 6 /* allocate channel from the static area */
215
+ #define CHAN_NETWORKVOICE_BASE 7 /* voice data coming across the network */
216
+ #define CHAN_NETWORKVOICE_END 500 /* network voice data reserves slots (CHAN_NETWORKVOICE_BASE through CHAN_NETWORKVOICE_END). */
217
+
218
+ /**
219
+ *Attenuation values
220
+ */
221
+ #define ATTN_NONE 0.00
222
+ #define ATTN_NORM 0.80
223
+ #define ATTN_IDLE 2.00
224
+ #define ATTN_STATIC 1.25
225
+
226
+ /**
227
+ * Pitch values
228
+ */
229
+ #define PITCH_NORM 100 /* non-pitch shifted */
230
+ #define PITCH_LOW 95 /* other values are possible - 0-255, where 255 is very high */
231
+ #define PITCH_HIGH 120
232
+
233
+ /**
234
+ * Volume values
235
+ */
236
+ #define VOL_NORM 1.0
237
+
238
+ /**
239
+ * Sound behavior constants
240
+ */
241
+ #define SND_SPAWNING (1<<8) // we're spawing, used in some cases for ambients
242
+ #define SND_STOP (1<<5) // stop sound
243
+ #define SND_CHANGE_VOL (1<<6) // change sound vol
244
+ #define SND_CHANGE_PITCH (1<<7) // change sound pitch
245
+
246
+ /**
247
+ * @endsection
248
+ */
249
+
250
+ /**
251
+ * Menu keys
252
+ */
253
+ #define MENU_KEY_1 (1<<0)
254
+ #define MENU_KEY_2 (1<<1)
255
+ #define MENU_KEY_3 (1<<2)
256
+ #define MENU_KEY_4 (1<<3)
257
+ #define MENU_KEY_5 (1<<4)
258
+ #define MENU_KEY_6 (1<<5)
259
+ #define MENU_KEY_7 (1<<6)
260
+ #define MENU_KEY_8 (1<<7)
261
+ #define MENU_KEY_9 (1<<8)
262
+ #define MENU_KEY_0 (1<<9)
263
+
264
+ /**
265
+ * Language constants
266
+ */
267
+ #define LANG_SERVER 0
268
+ #define LANG_PLAYER -1
269
+
270
+ /**
271
+ * @section Client print native constants
272
+ */
273
+
274
+ /**
275
+ * Destination types for client_print()
276
+ */
277
+ enum
278
+ {
279
+ print_notify = 1,
280
+ print_console,
281
+ print_chat,
282
+ print_center,
283
+ print_radio /* Counter-Strike only */
284
+ };
285
+
286
+ /**
287
+ * Color types for client_print_color()
288
+ */
289
+ enum
290
+ {
291
+ print_team_default = 0,
292
+ print_team_grey = -1,
293
+ print_team_red = -2,
294
+ print_team_blue = -3,
295
+ };
296
+
297
+ /**
298
+ * Destination types for engclient_print()
299
+ */
300
+ enum
301
+ {
302
+ engprint_console = 0,
303
+ engprint_center,
304
+ engprint_chat,
305
+ };
306
+
307
+ /**
308
+ * @endsection
309
+ */
310
+
311
+ /**
312
+ * @section Entity rendering constants
313
+ */
314
+
315
+ /**
316
+ * Rendering modes (i.e. for set_user_rendering())
317
+ */
318
+ enum
319
+ {
320
+ kRenderNormal = 0, /* src */
321
+ kRenderTransColor, /* c*a+dest*(1-a) */
322
+ kRenderTransTexture, /* src*a+dest*(1-a) */
323
+ kRenderGlow, /* src*a+dest -- No Z buffer checks */
324
+ kRenderTransAlpha, /* src*srca+dest*(1-srca) */
325
+ kRenderTransAdd, /* src*a+dest */
326
+ };
327
+
328
+ /**
329
+ * Rendering fx (i.e. for set_user_rendering())
330
+ */
331
+ enum
332
+ {
333
+ kRenderFxNone = 0,
334
+ kRenderFxPulseSlow,
335
+ kRenderFxPulseFast,
336
+ kRenderFxPulseSlowWide,
337
+ kRenderFxPulseFastWide,
338
+ kRenderFxFadeSlow,
339
+ kRenderFxFadeFast,
340
+ kRenderFxSolidSlow,
341
+ kRenderFxSolidFast,
342
+ kRenderFxStrobeSlow,
343
+ kRenderFxStrobeFast,
344
+ kRenderFxStrobeFaster,
345
+ kRenderFxFlickerSlow,
346
+ kRenderFxFlickerFast,
347
+ kRenderFxNoDissipation,
348
+ kRenderFxDistort, /* Distort/scale/translate flicker */
349
+ kRenderFxHologram, /* kRenderFxDistort + distance fade */
350
+ kRenderFxDeadPlayer, /* kRenderAmt is the player index */
351
+ kRenderFxExplode, /* Scale up really big! */
352
+ kRenderFxGlowShell, /* Glowing Shell */
353
+ kRenderFxClampMinScale, /* Keep this sprite from getting very small (SPRITES only!) */
354
+ kRenderFxLightMultiplier, /* CTM !!!CZERO added to tell the studiorender that the value in iuser2 is a lightmultiplier */
355
+ };
356
+
357
+ /**
358
+ * @endsection
359
+ */
360
+
361
+ /**
362
+ * Type for force_unmodified()
363
+ */
364
+ enum
365
+ {
366
+ force_exactfile = 0, /* File on client must exactly match server's file */
367
+ force_model_samebounds, /* For model files only, the geometry must fit in the same bbox */
368
+ force_model_specifybounds, /* For model files only, the geometry must fit in the specified bbox */
369
+ };
370
+
371
+ /**
372
+ * Status for get_module()
373
+ */
374
+ enum
375
+ {
376
+ module_none = 0,
377
+ module_query,
378
+ module_badload,
379
+ module_loaded,
380
+ module_noinfo,
381
+ module_noquery,
382
+ module_noattach,
383
+ module_old,
384
+ };
385
+
386
+ /**
387
+ * AMX flag constants
388
+ */
389
+ #define AMX_FLAG_DEBUG 0x02 /* symbolic info. available */
390
+ #define AMX_FLAG_COMPACT 0x04 /* compact encoding */
391
+ #define AMX_FLAG_BYTEOPC 0x08 /* opcode is a byte (not a cell) */
392
+ #define AMX_FLAG_NOCHECKS 0x10 /* no array bounds checking; no STMT opcode */
393
+ #define AMX_FLAG_NTVREG 0x1000 /* all native functions are registered */
394
+ #define AMX_FLAG_JITC 0x2000 /* abstract machine is JIT compiled */
395
+ #define AMX_FLAG_BROWSE 0x4000 /* busy browsing */
396
+ #define AMX_FLAG_RELOC 0x8000 /* jump/call addresses relocated */
397
+
398
+ /**
399
+ * Invalid plugin id
400
+ */
401
+ #define INVALID_PLUGIN_ID -1
402
+
403
+ /**
404
+ * Menu and menu item status codes
405
+ */
406
+ #define MENU_TIMEOUT -4
407
+ #define MENU_EXIT -3
408
+ #define MENU_BACK -2
409
+ #define MENU_MORE -1
410
+ #define ITEM_IGNORE 0
411
+ #define ITEM_ENABLED 1
412
+ #define ITEM_DISABLED 2
413
+
414
+ /**
415
+ * AMX error codes
416
+ */
417
+ #define AMX_ERR_NATIVE 10
418
+ #define AMX_ERR_MEMACCESS 5
419
+ #define AMX_ERR_NONE 0
420
+ #define AMX_ERR_BOUNDS 4
421
+ #define AMX_ERR_STACKERR 3
422
+ #define AMX_ERR_STACKLOW 7
423
+ #define AMX_ERR_HEAPLOW 8
424
+ #define AMX_ERR_DIVIDE 11
425
+ #define AMX_ERR_NOTFOUND 19
426
+ #define AMX_ERR_PARAMS 25
427
+ #define AMX_ERR_GENERAL 27
428
+
429
+ /**
430
+ * Generic invalid handle value
431
+ */
432
+ #define INVALID_HANDLE -1
433
+
434
+ /**
435
+ * @section Plugin forward related constants
436
+ */
437
+
438
+ /**
439
+ * Stop types for plugin forwards
440
+ */
441
+ #define ET_IGNORE 0 //ignore return val
442
+ #define ET_STOP 1 //stop on PLUGIN_HANDLED
443
+ #define ET_STOP2 2 //same, except return biggest
444
+ #define ET_CONTINUE 3 //no stop, return biggest
445
+
446
+ /**
447
+ * Parameter types for plugin forwards
448
+ */
449
+ #define FP_CELL 0
450
+ #define FP_FLOAT 1
451
+ #define FP_STRING 2
452
+ #define FP_ARRAY 4
453
+ #define FP_VAL_BYREF 5 //cell & float are handled in the same way
454
+
455
+ /**
456
+ * @endsection
457
+ */
458
+
459
+ /**
460
+ * LibType constants
461
+ */
462
+ enum LibType
463
+ {
464
+ LibType_Library,
465
+ LibType_Class
466
+ };
467
+
468
+ /**
469
+ * AdminProp constants
470
+ */
471
+ enum AdminProp
472
+ {
473
+ AdminProp_Auth = 0,
474
+ AdminProp_Password,
475
+ AdminProp_Access,
476
+ AdminProp_Flags
477
+ };
478
+
479
+ /**
480
+ * HashType constants
481
+ * To be used on hash_file() and hash_string()
482
+ */
483
+ enum HashType
484
+ {
485
+ Hash_Crc32 = 0, // Provides CRC32 hashing
486
+ Hash_Md5, // Provides MD5 hashing
487
+ Hash_Sha1, // Provides SHA1 hashing
488
+ Hash_Sha256, // Provides SHA256 hashing
489
+
490
+ Hash_Sha3_224, // Provides SHA3 224 bit hashing
491
+ Hash_Sha3_256, // Provides SHA3 256 bit hashing
492
+ Hash_Sha3_384, // Provides SHA3 384 bit hashing
493
+ Hash_Sha3_512, // Provides SHA3 512 bit hashing
494
+
495
+ Hash_Keccak_224, // Provides Keccak 224 bit hashing
496
+ Hash_Keccak_256, // Provides Keccak 256 bit hashing
497
+ Hash_Keccak_384, // Provides Keccak 384 bit hashing
498
+ Hash_Keccak_512 // Provides Keccak 512 bit hashing
499
+ };
500
+
501
+ /**
502
+ * SetTaskFlags constants for set_task_ex()
503
+ */
504
+ enum SetTaskFlags (<<= 1)
505
+ {
506
+ SetTask_Once = 0, // None; execute callback after the specified amount of time (Default)
507
+ SetTask_RepeatTimes = 1, // Repeat timer a set amount of times
508
+ SetTask_Repeat, // Loop indefinitely until timer is stopped
509
+ SetTask_AfterMapStart, // Time interval is treated as absolute time after map start
510
+ SetTask_BeforeMapChange // Time interval is treated as absolute time before map change
511
+ };
512
+
513
+ /**
514
+ * RegisterEventFlags constants for register_event_ex()
515
+ */
516
+ enum RegisterEventFlags (<<= 1)
517
+ {
518
+ RegisterEvent_None = 0, // None
519
+ RegisterEvent_Global = 1, // Global event (sent to every client)
520
+ RegisterEvent_Single, // Event sent to single client
521
+ RegisterEvent_OnceForMultiple, // Call only once when repeated to multiple clients
522
+ RegisterEvent_OnlyDead, // Call only if sent to dead client
523
+ RegisterEvent_OnlyAlive, // Call only if sent to alive client
524
+ RegisterEvent_OnlyHuman, // Call only if sent to human client (RegisterEvent_Single required)
525
+ RegisterEvent_OnlyBots // Call only if sent to bot (RegisterEvent_Single required)
526
+ };
527
+
528
+ /**
529
+ * GetPlayerFlags constants for get_players_ex()
530
+ */
531
+ enum GetPlayersFlags (<<= 1)
532
+ {
533
+ GetPlayers_None = 0, // No filter (Default)
534
+ GetPlayers_ExcludeDead = 1, // Do not include dead clients
535
+ GetPlayers_ExcludeAlive, // Do not include alive clients
536
+ GetPlayers_ExcludeBots, // Do not include bots
537
+ GetPlayers_ExcludeHuman, // Do not include human clients
538
+ GetPlayers_MatchTeam, // Match with team
539
+ GetPlayers_MatchNameSubstring, // Match with part of name
540
+ GetPlayers_CaseInsensitive, // Match case insensitive
541
+ GetPlayers_ExcludeHLTV, // Do not include HLTV proxies
542
+ GetPlayers_IncludeConnecting // Include connecting clients
543
+ };
544
+
545
+ /**
546
+ * FindPlayerFlags constants for find_player_ex()
547
+ */
548
+ enum FindPlayerFlags (<<= 1)
549
+ {
550
+ FindPlayer_None = 0, // None
551
+ FindPlayer_MatchName = 1, // Match with name
552
+ FindPlayer_MatchNameSubstring, // Match with name substring
553
+ FindPlayer_MatchAuthId, // Match with authid
554
+ FindPlayer_MatchIP, // Match with ip
555
+ FindPlayer_MatchTeam, // Match with team name
556
+ FindPlayer_ExcludeDead, // Do not include dead clients
557
+ FindPlayer_ExcludeAlive, // Do not include alive clients
558
+ FindPlayer_ExcludeBots, // Do not include bots
559
+ FindPlayer_ExcludeHuman, // Do not include human clients
560
+ FindPlayer_LastMatched, // Return last matched client instead of the first
561
+ FindPlayer_MatchUserId, // Match with userid
562
+ FindPlayer_CaseInsensitive, // Match case insensitively
563
+ FindPlayer_IncludeConnecting // Include connecting clients
564
+ }
565
+
566
+ /**
567
+ * Constants for client statistics
568
+ */
569
+ enum
570
+ {
571
+ STATSX_KILLS = 0,
572
+ STATSX_DEATHS,
573
+ STATSX_HEADSHOTS,
574
+ STATSX_TEAMKILLS,
575
+ STATSX_SHOTS,
576
+ STATSX_HITS,
577
+ STATSX_DAMAGE,
578
+ STATSX_RANK,
579
+ STATSX_MAX_STATS
580
+ }
581
+
582
+ /**
583
+ * Constants for get_user_origin()
584
+ */
585
+ enum
586
+ {
587
+ Origin_Client = 0, // Client's Origin
588
+ Origin_Eyes, // Eyes (and Weapon) Origin
589
+ Origin_AimEndClient, // Aim End Origin from Client's Position
590
+ Origin_AimEndEyes, // Aim End Origin from Eyes Position
591
+ Origin_CS_LastBullet // Last Bullet's Origin (Counter-Strike)
592
+ }
593
+
594
+ #include <cstrike_const> // To keep backward compatibility