@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,259 @@
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
+ //
11
+ // CSX Functions
12
+ //
13
+
14
+ #if defined _csx_included
15
+ #endinput
16
+ #endif
17
+ #define _csx_included
18
+
19
+ #include <csstats>
20
+
21
+ #pragma reqclass xstats
22
+ #if !defined AMXMODX_NOAUTOLOAD
23
+ #pragma defclasslib xstats csx
24
+ #endif
25
+
26
+ /**
27
+ * Map objective flags returned by get_map_objectives().
28
+ */
29
+ enum MapObjective
30
+ {
31
+ MapObjective_Bomb = (1<<0),
32
+ MapObjective_Hostage = (1<<1),
33
+ MapObjective_Vip = (1<<2),
34
+ MapObjective_Escape = (1<<3),
35
+ };
36
+
37
+ /**
38
+ * Called after a client attacks another client.
39
+ *
40
+ * @note For a list of possible weapon ids see the CSW_* constants in
41
+ * amxconst.inc
42
+ * @note For a list of possible body hitplaces see the HIT_* constants in
43
+ * amxconst.inc
44
+ *
45
+ * @param attacker Attacker client index
46
+ * @param victim Victim client index
47
+ * @param damage Damage dealt to victim
48
+ * @param wpnindex Weapon id
49
+ * @param hitplace Body hitplace
50
+ * @param ta If nonzero the attack was a team attack
51
+ *
52
+ * @noreturn
53
+ */
54
+ forward client_damage(attacker, victim, damage, wpnindex, hitplace, TA);
55
+
56
+ /**
57
+ * Called after a client death.
58
+ *
59
+ * @note For a list of possible weapon ids see the CSW_* constants in
60
+ * amxconst.inc
61
+ * @note For a list of possible body hitplaces see the HIT_* constants in
62
+ * amxconst.inc
63
+ *
64
+ * @param attacker Attacker client index
65
+ * @param victim Victim client index
66
+ * @param wpnindex Weapon id
67
+ * @param hitplace Body hitplace
68
+ * @param tk If nonzero the death was a teamkill
69
+ *
70
+ * @noreturn
71
+ */
72
+ forward client_death(killer, victim, wpnindex, hitplace, TK);
73
+
74
+ /**
75
+ * Called after a grenade was thrown.
76
+ *
77
+ * @note Weapon id is one of CSW_HEGRENADE, CSW_SMOKEGRENADE or CSW_FLASHBANG.
78
+ *
79
+ * @param index Client index
80
+ * @param greindex Grenade entity index
81
+ * @param wId Weapon id
82
+ *
83
+ * @noreturn
84
+ */
85
+ forward grenade_throw(index, greindex, wId);
86
+
87
+ /**
88
+ * Called after a bomb plant attempt has started.
89
+ *
90
+ * @param planter Planter client index
91
+ *
92
+ * @noreturn
93
+ */
94
+ forward bomb_planting(planter);
95
+
96
+ /**
97
+ * Called after a bomb plant has finished.
98
+ *
99
+ * @param planter Planter client index
100
+ *
101
+ * @noreturn
102
+ */
103
+ forward bomb_planted(planter);
104
+
105
+ /**
106
+ * Called when the bomb exploded.
107
+ *
108
+ * @param planter Planter client index
109
+ * @param defuser Defuser client index, if applicable
110
+ *
111
+ * @noreturn
112
+ */
113
+ forward bomb_explode(planter, defuser);
114
+
115
+ /**
116
+ * Called after a bomb defuse attempt has started.
117
+ *
118
+ * @param defuser Defuser client index
119
+ *
120
+ * @noreturn
121
+ */
122
+ forward bomb_defusing(defuser);
123
+
124
+ /**
125
+ * Called after a bomb defuse has finished.
126
+ *
127
+ * @param defuser Defuser client index
128
+ *
129
+ * @noreturn
130
+ */
131
+ forward bomb_defused(defuser);
132
+
133
+ /**
134
+ * @section Shared natives
135
+ */
136
+
137
+ /**
138
+ * Adds a custom weapon to the stats system.
139
+ *
140
+ * @note The weapon name should be the full display name of the gun such as
141
+ * "Desert Eagle" while the logname should be "weapon_deagle".
142
+ *
143
+ * @param wpnname Full weapon name
144
+ * @param melee If nonzero the weapon will be considered a melee weapon
145
+ * @param logname Weapon short name
146
+ *
147
+ * @return Cusom weapon id (>0) on success, 0 if no more custom weapons
148
+ * can be added
149
+ */
150
+ native custom_weapon_add(const wpnname[], melee = 0, const logname[] = "");
151
+
152
+ /**
153
+ * Triggers a damage event on a custom weapon, adding it to the internal stats.
154
+ *
155
+ * @note This will also call the client_damage() and client_kill() forwards if
156
+ * applicable.
157
+ * @note For a list of possible body hitplaces see the HIT_* constants in
158
+ * amxconst.inc
159
+ *
160
+ * @param weapon Custom weapon id
161
+ * @param att Attacker client index
162
+ * @param vic Victim client index
163
+ * @param damage Damage dealt
164
+ * @param hitplace Optional body hitplace
165
+ *
166
+ * @noreturn
167
+ * @error If the weapon id is not a custom weapon, an invalid client
168
+ * index, damage value or hitplace is provided, an error will
169
+ * be thrown.
170
+ */
171
+ native custom_weapon_dmg(weapon, att, vic, damage, hitplace = 0);
172
+
173
+ /**
174
+ * Adds a shot event on a custom weapon to the internal stats.
175
+ *
176
+ * @param weapon Custom weapon id
177
+ * @param index Client index
178
+ *
179
+ * @noreturn
180
+ * @error If the weapon id is not a custom weapon or an invalid client
181
+ * index is provided, an error will be thrown.
182
+ */
183
+ native custom_weapon_shot(weapon, index);
184
+
185
+ /**
186
+ * Returns if the weapon is considered a melee weapon.
187
+ *
188
+ * @note For a list of default CS weapon ids see the CSW_* constants in
189
+ * amxconst.inc, this function also works on custom weapons.
190
+ * @note For the default CS weapons this obviously returns true only for
191
+ * CSW_KNIFE.
192
+ *
193
+ * @param wpnindex Weapon id
194
+ *
195
+ * @return 1 if weapon is a melee weapon, 0
196
+ * @error If an invalid weapon id is provided an error will be thrown.
197
+ */
198
+ native xmod_is_melee_wpn(wpnindex);
199
+
200
+ /**
201
+ * Retrieves the full weapon name of a weapon id.
202
+ *
203
+ * @note For a list of default CS weapon ids see the CSW_* constants in
204
+ * amxconst.inc, this function also works on custom weapons.
205
+ * @note For the default CS weapons this obviously returns true only for
206
+ * CSW_KNIFE.
207
+ *
208
+ * @param wpnindex Weapon id
209
+ * @param name Buffer to copy weapon name to
210
+ * @param len Maximmum buffer size
211
+ *
212
+ * @return Number of cells written to buffer
213
+ * @error If an invalid weapon id is provided an error will be thrown.
214
+ */
215
+ native xmod_get_wpnname(wpnindex, name[], len);
216
+
217
+ /**
218
+ * Retrieves the weapon log name of a weapon id.
219
+ *
220
+ * @note For a list of default CS weapon ids see the CSW_* constants in
221
+ * amxconst.inc, this function also works on custom weapons.
222
+ * @note For the default CS weapons this obviously returns true only for
223
+ * CSW_KNIFE.
224
+ *
225
+ * @param wpnindex Weapon id
226
+ * @param name Buffer to copy weapon log name to
227
+ * @param len Maximmum buffer size
228
+ *
229
+ * @return Number of cells written to buffer
230
+ * @error If an invalid weapon id is provided an error will be thrown.
231
+ */
232
+ native xmod_get_wpnlogname(wpnindex, name[], len);
233
+
234
+ /**
235
+ * Returns the maximum amount of weapons that the stats system supports.
236
+ *
237
+ * @return Maximum number of weapons supported
238
+ */
239
+ native xmod_get_maxweapons();
240
+
241
+ /**
242
+ * Returns the number of stats tracked by the stats system.
243
+ *
244
+ * @return Number of stats tracked
245
+ */
246
+ native xmod_get_stats_size();
247
+
248
+ /**
249
+ * @endsection Shared natives
250
+ */
251
+
252
+ /**
253
+ * Returns the current map's objectives as a bitflag value.
254
+ *
255
+ * @note For a list of possible map objective flags see the MapObjective enum.
256
+ *
257
+ * @return Bitflag value of map objectives
258
+ */
259
+ native MapObjective:get_map_objectives();