@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,245 @@
1
+ // Our own words for the server events, in both languages the project speaks.
2
+ //
3
+ // scripts/generate-host.ts writes these into as/events.ts as the tooltips an
4
+ // editor shows on `server.addEventListener("...")`, on the event class and on
5
+ // each of its fields. The language is AMXTS_DOCS_LANG in .env ("en" by
6
+ // default, or "ru"). An event missing here, or missing a language, falls back
7
+ // to English and then to the AMX Mod X include's own comment - so the list is
8
+ // always complete and is made better one entry at a time.
9
+ //
10
+ // Written for someone who knows TypeScript and not Pawn: what happened, when,
11
+ // and what the fields are - not how AMX Mod X implements it. Keyed by the
12
+ // forward's full name; fields by their name on the event object.
13
+
14
+ export interface Text {
15
+ en: string;
16
+ ru: string;
17
+ }
18
+
19
+ export interface EventDoc {
20
+ summary: Text;
21
+ /** Things worth knowing before relying on the event. */
22
+ notes?: Text[];
23
+ fields?: Record<string, Text>;
24
+ /** One short listener - shown as @example. */
25
+ example?: string;
26
+ }
27
+
28
+ const player: Text = {
29
+ en: `The player the event is about.`,
30
+ ru: `Игрок, о котором событие.`,
31
+ };
32
+
33
+ export const EVENTS: Record<string, EventDoc> = {
34
+ plugin_init: {
35
+ summary: {
36
+ en: `The plugin has loaded: register commands, events and hooks here.`,
37
+ ru: `Плагин загрузился: здесь регистрируют команды, события и хуки.`,
38
+ },
39
+ notes: [{
40
+ en: `Top-level code in the plugin file runs at the same moment, so most plugins never need this event.`,
41
+ ru: `Код на верхнем уровне файла плагина выполняется в тот же момент, поэтому большинству плагинов это событие не нужно.`,
42
+ }],
43
+ },
44
+ plugin_precache: {
45
+ summary: {
46
+ en: `The map is loading: the only moment models, sounds and sprites can be precached.`,
47
+ ru: `Карта загружается: единственный момент, когда можно подгрузить (precache) модели, звуки и спрайты.`,
48
+ },
49
+ notes: [{
50
+ en: `A hot reload of the plugin does not run it again: precaching needs a map change.`,
51
+ ru: `Горячая перезагрузка плагина его не повторяет: для precache нужна смена карты.`,
52
+ }],
53
+ },
54
+ plugin_cfg: {
55
+ summary: {
56
+ en: `Every config has been read and every plugin is loaded: the moment to read cvars and to create forwards other plugins listen to.`,
57
+ ru: `Все конфиги прочитаны, все плагины загружены: момент читать квары и создавать форварды для других плагинов.`,
58
+ },
59
+ },
60
+ plugin_end: {
61
+ summary: {
62
+ en: `The map is ending or the server is shutting down: save what has to survive.`,
63
+ ru: `Карта заканчивается или сервер выключается: сохраните то, что должно пережить смену карты.`,
64
+ },
65
+ },
66
+ plugin_pause: {
67
+ summary: { en: `An admin paused this plugin.`, ru: `Админ поставил плагин на паузу.` },
68
+ },
69
+ plugin_unpause: {
70
+ summary: { en: `An admin resumed this plugin.`, ru: `Админ снял плагин с паузы.` },
71
+ },
72
+ server_changelevel: {
73
+ summary: {
74
+ en: `The server is about to change the map.`,
75
+ ru: `Сервер сейчас сменит карту.`,
76
+ },
77
+ fields: {
78
+ map: { en: `The map the server changes to, e.g. \`"de_dust2"\`.`, ru: `Карта, на которую переходит сервер, например \`"de_dust2"\`.` },
79
+ },
80
+ },
81
+ client_connect: {
82
+ summary: {
83
+ en: `A player started connecting. The player is not in the game yet: show him anything after \`"putinserver"\`.`,
84
+ ru: `Игрок начал подключаться. В игре его ещё нет: показывать ему что-то можно после \`"putinserver"\`.`,
85
+ },
86
+ fields: { player },
87
+ },
88
+ client_connectex: {
89
+ summary: {
90
+ en: `A player started connecting, with a name and an address: the place to turn him away.`,
91
+ ru: `Игрок начал подключаться, уже с именем и адресом: здесь его можно не пустить.`,
92
+ },
93
+ fields: {
94
+ player,
95
+ name: { en: `The name the player connects with.`, ru: `Имя, с которым игрок заходит.` },
96
+ ip: { en: `The player's address with the port, e.g. \`"192.168.0.5:27005"\`.`, ru: `Адрес игрока с портом, например \`"192.168.0.5:27005"\`.` },
97
+ reason: {
98
+ en: `The message the player sees if he is turned away.`,
99
+ ru: `Сообщение, которое игрок увидит, если его не пустят.`,
100
+ },
101
+ },
102
+ },
103
+ client_authorized: {
104
+ summary: {
105
+ en: `A player's SteamID is known. May come before or after \`"putinserver"\`.`,
106
+ ru: `Стал известен SteamID игрока. Может прийти до или после \`"putinserver"\`.`,
107
+ },
108
+ notes: [{ en: `A bot's SteamID is \`"BOT"\`.`, ru: `SteamID бота — \`"BOT"\`.` }],
109
+ fields: {
110
+ player,
111
+ authid: { en: `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"\`.`, ru: `SteamID игрока, например \`"STEAM_0:1:12345"\`. У бота — \`"BOT"\`, у HLTV — \`"HLTV"\`; на LAN-сервере — \`"STEAM_ID_LAN"\`.` },
112
+ },
113
+ },
114
+ client_putinserver: {
115
+ summary: {
116
+ en: `A player has joined and is in the game: the moment to greet him.`,
117
+ ru: `Игрок зашёл и уже в игре: момент поприветствовать его.`,
118
+ },
119
+ fields: { player },
120
+ example: `server.addEventListener("putinserver", (event) => {\n\tprint(event.player, "Welcome!");\n});`,
121
+ },
122
+ client_disconnected: {
123
+ summary: {
124
+ en: `A player left the server: quit, timed out or was kicked.`,
125
+ ru: `Игрок покинул сервер: вышел сам, отвалился или был кикнут.`,
126
+ },
127
+ notes: [{
128
+ en: `The player can still be read here (name, team), but nothing reaches his screen any more.`,
129
+ ru: `Игрока здесь ещё можно прочитать (имя, команду), но на экран ему уже ничего не дойдёт.`,
130
+ }],
131
+ fields: {
132
+ player,
133
+ dropped: {
134
+ en: `\`true\` when the server dropped the player (kick, timeout) rather than he left.`,
135
+ ru: `\`true\`, если игрока отключил сервер (кик, таймаут), а не он вышел сам.`,
136
+ },
137
+ reason: {
138
+ en: `The reason the server gives for the leave; empty when the player just quit.`,
139
+ ru: `Причина выхода, как её сообщает сервер; пусто, если игрок просто вышел.`,
140
+ },
141
+ },
142
+ example: `server.addEventListener("disconnected", (event) => {\n\tconsole.log(\`\${event.player.name} left: \${event.reason}\`);\n});`,
143
+ },
144
+ client_disconnect: {
145
+ summary: {
146
+ en: `Old form of \`"disconnected"\` that misses some cases: use \`"disconnected"\`.`,
147
+ ru: `Старая форма \`"disconnected"\`, которая пропускает часть случаев: используйте \`"disconnected"\`.`,
148
+ },
149
+ fields: { player },
150
+ },
151
+ client_remove: {
152
+ summary: {
153
+ en: `A player's slot is being freed, after \`"disconnected"\`.`,
154
+ ru: `Слот игрока освобождается, после \`"disconnected"\`.`,
155
+ },
156
+ fields: {
157
+ player,
158
+ dropped: { en: `\`true\` when the server dropped the player.`, ru: `\`true\`, если игрока отключил сервер.` },
159
+ reason: { en: `The reason the player left.`, ru: `Причина выхода игрока.` },
160
+ },
161
+ },
162
+ client_command: {
163
+ summary: {
164
+ en: `A player sent a console command. For one command, \`server.addCommand("name", handler)\` is simpler.`,
165
+ ru: `Игрок отправил консольную команду. Для одной команды проще \`server.addCommand("name", handler)\`.`,
166
+ },
167
+ fields: { player },
168
+ },
169
+ client_infochanged: {
170
+ summary: {
171
+ en: `A player changed his info, usually the name.`,
172
+ ru: `Игрок поменял свои данные, обычно ник.`,
173
+ },
174
+ fields: { player },
175
+ },
176
+ client_kill: {
177
+ summary: {
178
+ en: `A player typed \`"kill"\` in the console to kill himself.`,
179
+ ru: `Игрок написал \`"kill"\` в консоли, чтобы убить себя.`,
180
+ },
181
+ fields: { player },
182
+ },
183
+ client_impulse: {
184
+ summary: {
185
+ en: `A player sent an impulse: \`100\` is the flashlight, \`201\` the spray.`,
186
+ ru: `Игрок отправил impulse: \`100\` — фонарик, \`201\` — спрей.`,
187
+ },
188
+ fields: {
189
+ player,
190
+ impulse: { en: `The impulse number: \`100\`, \`201\`.`, ru: `Номер impulse: \`100\`, \`201\`.` },
191
+ },
192
+ },
193
+ server_frame: {
194
+ summary: {
195
+ en: `A server frame, hundreds of times a second. Keep the listener tiny, or use \`setInterval\`.`,
196
+ ru: `Кадр сервера, сотни раз в секунду. Обработчик должен быть очень лёгким, иначе используйте \`setInterval\`.`,
197
+ },
198
+ },
199
+ pfn_touch: {
200
+ summary: {
201
+ en: `Two entities touched.`,
202
+ ru: `Две сущности коснулись друг друга.`,
203
+ },
204
+ fields: {
205
+ toucher: { en: `The entity that moved into the other.`, ru: `Сущность, которая налетела на другую.` },
206
+ touched: { en: `The entity that was touched.`, ru: `Сущность, которой коснулись.` },
207
+ },
208
+ },
209
+ pfn_think: {
210
+ summary: { en: `An entity thinks: its scheduled update has come.`, ru: `Сущность «думает»: пришло её запланированное обновление.` },
211
+ fields: { entity: { en: `The entity that thinks.`, ru: `Сущность, которая «думает».` } },
212
+ },
213
+ pfn_spawn: {
214
+ summary: { en: `An entity is being spawned on the map.`, ru: `На карте появляется сущность.` },
215
+ fields: { entity: { en: `The entity being spawned.`, ru: `Сущность, которая появляется.` } },
216
+ },
217
+ pfn_playbackevent: {
218
+ summary: {
219
+ en: `The engine plays an event to the clients: a shot, a weapon's sound and effects.`,
220
+ ru: `Движок проигрывает клиентам событие: выстрел, звук и эффекты оружия.`,
221
+ },
222
+ fields: {
223
+ flags: { en: `The event's flags, how the engine sends it.`, ru: `Флаги события — как движок его отправляет.` },
224
+ entity: { en: `The entity the event plays on, usually the player who fired.`, ru: `Сущность, на которой играет событие, — обычно игрок, который выстрелил.` },
225
+ eventid: { en: `The event's index in the precached events.`, ru: `Номер события среди загруженных заранее событий.` },
226
+ delay: { en: `The seconds before the event plays.`, ru: `Секунды до того, как событие проиграется.` },
227
+ origin: { en: `The point the event plays from.`, ru: `Точка, откуда проигрывается событие.` },
228
+ angles: { en: `The angles the event plays with.`, ru: `Углы, с которыми проигрывается событие.` },
229
+ fparam1: { en: `The event's first fractional parameter.`, ru: `Первый дробный параметр события.` },
230
+ fparam2: { en: `The event's second fractional parameter.`, ru: `Второй дробный параметр события.` },
231
+ iparam1: { en: `The event's first whole-number parameter.`, ru: `Первый целый параметр события.` },
232
+ iparam2: { en: `The event's second whole-number parameter.`, ru: `Второй целый параметр события.` },
233
+ bparam1: { en: `The event's first flag parameter, \`1\` or \`0\`.`, ru: `Первый параметр-флаг события, \`1\` или \`0\`.` },
234
+ bparam2: { en: `The event's second flag parameter, \`1\` or \`0\`.`, ru: `Второй параметр-флаг события, \`1\` или \`0\`.` },
235
+ },
236
+ },
237
+ };
238
+
239
+ /** `"playerchange"`: an event of the core's, not a forward - its class and fields are the facade's. */
240
+ export const PLAYER_CHANGE: EventDoc = {
241
+ summary: {
242
+ en: `A field plugins added to \`Player\` changed on a player; \`{ field: "spawnProtected" }\` hears one field.`,
243
+ ru: `У игрока изменилось поле, которое плагины добавили в \`Player\`; \`{ field: "spawnProtected" }\` слушает одно поле.`,
244
+ },
245
+ };