@tlua/gmod 1.0.1

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 (278) hide show
  1. package/README.md +28 -0
  2. package/__metadata.json +4 -0
  3. package/_globals.d.tlua +178 -0
  4. package/_gmod-std.d.tlua +35 -0
  5. package/achievementicon.d.tlua +12 -0
  6. package/achievements.d.tlua +162 -0
  7. package/ai.d.tlua +65 -0
  8. package/ai_schedule.d.tlua +17 -0
  9. package/ai_task.d.tlua +17 -0
  10. package/angle.d.tlua +197 -0
  11. package/avatarimage.d.tlua +10 -0
  12. package/awesomium.d.tlua +14 -0
  13. package/baseclass.d.tlua +42 -0
  14. package/bf_read.d.tlua +110 -0
  15. package/bit.d.tlua +121 -0
  16. package/button.d.tlua +13 -0
  17. package/cam.d.tlua +220 -0
  18. package/ceffectdata.d.tlua +337 -0
  19. package/chat.d.tlua +62 -0
  20. package/checkbutton.d.tlua +14 -0
  21. package/cleanup.d.tlua +88 -0
  22. package/cluaemitter.d.tlua +119 -0
  23. package/clualocomotion.d.tlua +383 -0
  24. package/cluaparticle.d.tlua +426 -0
  25. package/cmovedata.d.tlua +476 -0
  26. package/cnavarea.d.tlua +845 -0
  27. package/cnavladder.d.tlua +209 -0
  28. package/cnewparticleeffect.d.tlua +259 -0
  29. package/color.d.tlua +339 -0
  30. package/concommand.d.tlua +69 -0
  31. package/constraint.d.tlua +311 -0
  32. package/construct.d.tlua +26 -0
  33. package/contentheader.d.tlua +32 -0
  34. package/contenticon.d.tlua +86 -0
  35. package/contentsidebar.d.tlua +45 -0
  36. package/contentsidebartoolbox.d.tlua +13 -0
  37. package/contextbase.d.tlua +37 -0
  38. package/controlpanel.d.tlua +140 -0
  39. package/controlpresets.d.tlua +118 -0
  40. package/convar.d.tlua +162 -0
  41. package/cookie.d.tlua +60 -0
  42. package/coroutine.d.tlua +90 -0
  43. package/crecipientfilter.d.tlua +152 -0
  44. package/csent.d.tlua +10 -0
  45. package/csoundpatch.d.tlua +150 -0
  46. package/ctakedamageinfo.d.tlua +366 -0
  47. package/ctrllistbox.d.tlua +12 -0
  48. package/ctrlnumpad.d.tlua +73 -0
  49. package/cusercmd.d.tlua +320 -0
  50. package/custom_classes.d.tlua +65 -0
  51. package/custom_entity_fields.d.tlua +96 -0
  52. package/cvars.d.tlua +80 -0
  53. package/dadjustablemodelpanel.d.tlua +81 -0
  54. package/dalphabar.d.tlua +27 -0
  55. package/dbinder.d.tlua +37 -0
  56. package/dbubblecontainer.d.tlua +18 -0
  57. package/dbutton.d.tlua +88 -0
  58. package/dcategoryheader.d.tlua +13 -0
  59. package/dcategorylist.d.tlua +11 -0
  60. package/dcheckbox.d.tlua +46 -0
  61. package/dcheckboxlabel.d.tlua +90 -0
  62. package/dcollapsiblecategory.d.tlua +240 -0
  63. package/dcolorbutton.d.tlua +73 -0
  64. package/dcolorcombo.d.tlua +54 -0
  65. package/dcolorcube.d.tlua +137 -0
  66. package/dcolormixer.d.tlua +303 -0
  67. package/dcolorpalette.d.tlua +294 -0
  68. package/dcolumnsheet.d.tlua +49 -0
  69. package/dcombobox.d.tlua +161 -0
  70. package/ddragbase.d.tlua +151 -0
  71. package/ddrawer.d.tlua +72 -0
  72. package/debug.d.tlua +236 -0
  73. package/debugoverlay.d.tlua +193 -0
  74. package/dentityproperties.d.tlua +63 -0
  75. package/derma.d.tlua +119 -0
  76. package/dexpandbutton.d.tlua +30 -0
  77. package/dfilebrowser.d.tlua +228 -0
  78. package/dform.d.tlua +176 -0
  79. package/dframe.d.tlua +261 -0
  80. package/dgrid.d.tlua +113 -0
  81. package/dhorizontaldivider.d.tlua +196 -0
  82. package/dhorizontalscroller.d.tlua +104 -0
  83. package/dhscrollbar.d.tlua +109 -0
  84. package/dhtml.d.tlua +91 -0
  85. package/dhtmlcontrols.d.tlua +62 -0
  86. package/diconbrowser.d.tlua +113 -0
  87. package/diconlayout.d.tlua +190 -0
  88. package/dimage.d.tlua +221 -0
  89. package/dimagebutton.d.tlua +103 -0
  90. package/dkillicon.d.tlua +9 -0
  91. package/dlabel.d.tlua +385 -0
  92. package/dlabeleditable.d.tlua +51 -0
  93. package/dlabelurl.d.tlua +100 -0
  94. package/dlistbox.d.tlua +82 -0
  95. package/dlistboxitem.d.tlua +42 -0
  96. package/dlistlayout.d.tlua +14 -0
  97. package/dlistview.d.tlua +360 -0
  98. package/dlistview_column.d.tlua +135 -0
  99. package/dlistview_columnplain.d.tlua +11 -0
  100. package/dlistview_draggerbar.d.tlua +11 -0
  101. package/dlistview_line.d.tlua +140 -0
  102. package/dlistviewheaderlabel.d.tlua +11 -0
  103. package/dlistviewlabel.d.tlua +11 -0
  104. package/dlistviewline.d.tlua +11 -0
  105. package/dmenu.d.tlua +266 -0
  106. package/dmenubar.d.tlua +42 -0
  107. package/dmenuoption.d.tlua +135 -0
  108. package/dmenuoptioncvar.d.tlua +64 -0
  109. package/dmodelpanel.d.tlua +207 -0
  110. package/dmodelselect.d.tlua +20 -0
  111. package/dmodelselectmulti.d.tlua +19 -0
  112. package/dnotify.d.tlua +93 -0
  113. package/dnumberscratch.d.tlua +284 -0
  114. package/dnumberwang.d.tlua +147 -0
  115. package/dnumpad.d.tlua +11 -0
  116. package/dnumslider.d.tlua +182 -0
  117. package/dpanel.d.tlua +152 -0
  118. package/dpanellist.d.tlua +109 -0
  119. package/dpaneloverlay.d.tlua +65 -0
  120. package/dpanelselect.d.tlua +13 -0
  121. package/dpanpanel.d.tlua +64 -0
  122. package/dprogress.d.tlua +27 -0
  123. package/dproperties.d.tlua +52 -0
  124. package/dproperty_boolean.d.tlua +12 -0
  125. package/dproperty_combo.d.tlua +31 -0
  126. package/dproperty_entity.d.tlua +12 -0
  127. package/dproperty_float.d.tlua +12 -0
  128. package/dproperty_generic.d.tlua +50 -0
  129. package/dproperty_int.d.tlua +12 -0
  130. package/dproperty_vectorcolor.d.tlua +14 -0
  131. package/dpropertysheet.d.tlua +167 -0
  132. package/dragndrop.d.tlua +123 -0
  133. package/draw.d.tlua +162 -0
  134. package/drgbpicker.d.tlua +49 -0
  135. package/drive.d.tlua +159 -0
  136. package/dscrollbargrip.d.tlua +13 -0
  137. package/dscrollpanel.d.tlua +110 -0
  138. package/dshape.d.tlua +72 -0
  139. package/dsizetocontents.d.tlua +46 -0
  140. package/dslider.d.tlua +302 -0
  141. package/dsprite.d.tlua +84 -0
  142. package/dtab.d.tlua +81 -0
  143. package/dtextentry.d.tlua +442 -0
  144. package/dtilelayout.d.tlua +218 -0
  145. package/dtooltip.d.tlua +76 -0
  146. package/dtree.d.tlua +185 -0
  147. package/dtree_node.d.tlua +793 -0
  148. package/dtree_node_button.d.tlua +13 -0
  149. package/duplicator.d.tlua +338 -0
  150. package/dverticaldivider.d.tlua +223 -0
  151. package/dvscrollbar.d.tlua +109 -0
  152. package/editablepanel.d.tlua +10 -0
  153. package/effect.d.tlua +121 -0
  154. package/effects.d.tlua +77 -0
  155. package/engine.d.tlua +248 -0
  156. package/entity.d.tlua +8295 -0
  157. package/ents.d.tlua +267 -0
  158. package/enums.d.tlua +7082 -0
  159. package/file.d.tlua +419 -0
  160. package/file_class.d.tlua +7 -0
  161. package/fingerposer.d.tlua +12 -0
  162. package/fingervar.d.tlua +13 -0
  163. package/frame.d.tlua +11 -0
  164. package/frame_blend.d.tlua +105 -0
  165. package/game.d.tlua +482 -0
  166. package/gameevent.d.tlua +968 -0
  167. package/gamemode.d.tlua +48 -0
  168. package/global.d.tlua +3156 -0
  169. package/gm.d.tlua +3218 -0
  170. package/gmod.d.tlua +20 -0
  171. package/gmsave.d.tlua +53 -0
  172. package/gui.d.tlua +232 -0
  173. package/gwen.d.tlua +55 -0
  174. package/halo.d.tlua +42 -0
  175. package/hammer.d.tlua +17 -0
  176. package/hook.d.tlua +64 -0
  177. package/html.d.tlua +22 -0
  178. package/http.d.tlua +72 -0
  179. package/iconeditor.d.tlua +130 -0
  180. package/igmodaudiochannel.d.tlua +419 -0
  181. package/imagecheckbox.d.tlua +48 -0
  182. package/imaterial.d.tlua +288 -0
  183. package/imesh.d.tlua +70 -0
  184. package/index.d.tlua +277 -0
  185. package/input.d.tlua +252 -0
  186. package/invalidateinternalentitycache.d.tlua +13 -0
  187. package/irestore.d.tlua +94 -0
  188. package/isave.d.tlua +94 -0
  189. package/itexture.d.tlua +108 -0
  190. package/ivideowriter.d.tlua +53 -0
  191. package/jit.d.tlua +243 -0
  192. package/killicon.d.tlua +84 -0
  193. package/label.d.tlua +20 -0
  194. package/language.d.tlua +26 -0
  195. package/list.d.tlua +112 -0
  196. package/makeballoon.d.tlua +15 -0
  197. package/markup.d.tlua +38 -0
  198. package/markupobject.d.tlua +53 -0
  199. package/material.d.tlua +9 -0
  200. package/math.d.tlua +899 -0
  201. package/matproxy.d.tlua +60 -0
  202. package/matselect.d.tlua +106 -0
  203. package/menu.d.tlua +20 -0
  204. package/menubar.d.tlua +39 -0
  205. package/mesh.d.tlua +183 -0
  206. package/modelimage.d.tlua +12 -0
  207. package/motionsensor.d.tlua +115 -0
  208. package/navmesh.d.tlua +274 -0
  209. package/net.d.tlua +639 -0
  210. package/nextbot.d.tlua +380 -0
  211. package/notification.d.tlua +35 -0
  212. package/npc.d.tlua +1787 -0
  213. package/numpad.d.tlua +89 -0
  214. package/os.d.tlua +56 -0
  215. package/package.d.tlua +15 -0
  216. package/package.json +18 -0
  217. package/panel.d.tlua +3650 -0
  218. package/panellist.d.tlua +13 -0
  219. package/pathfollower.d.tlua +301 -0
  220. package/permissions.d.tlua +77 -0
  221. package/physcollide.d.tlua +40 -0
  222. package/physenv.d.tlua +136 -0
  223. package/physobj.d.tlua +799 -0
  224. package/pixelvis_handle_t.d.tlua +9 -0
  225. package/player.d.tlua +3320 -0
  226. package/player_manager.d.tlua +147 -0
  227. package/preseteditor.d.tlua +13 -0
  228. package/presets.d.tlua +79 -0
  229. package/projectedtexture.d.tlua +553 -0
  230. package/properties.d.tlua +65 -0
  231. package/propselect.d.tlua +50 -0
  232. package/radiobutton.d.tlua +13 -0
  233. package/render.d.tlua +1700 -0
  234. package/resource.d.tlua +73 -0
  235. package/richtext.d.tlua +17 -0
  236. package/sandbox.d.tlua +576 -0
  237. package/saverestore.d.tlua +148 -0
  238. package/schedule.d.tlua +69 -0
  239. package/scripted_ents.d.tlua +124 -0
  240. package/search.d.tlua +26 -0
  241. package/serverlist.d.tlua +85 -0
  242. package/slidebar.d.tlua +12 -0
  243. package/slider.d.tlua +11 -0
  244. package/sound.d.tlua +140 -0
  245. package/spawnicon.d.tlua +95 -0
  246. package/spawnmenu.d.tlua +286 -0
  247. package/spawnmenucontentpanel.d.tlua +52 -0
  248. package/sql.d.tlua +154 -0
  249. package/stack.d.tlua +57 -0
  250. package/steamworks.d.tlua +208 -0
  251. package/string.d.tlua +535 -0
  252. package/structures.d.tlua +4442 -0
  253. package/surface.d.tlua +463 -0
  254. package/surfaceinfo.d.tlua +70 -0
  255. package/system.d.tlua +134 -0
  256. package/table.d.tlua +533 -0
  257. package/task.d.tlua +92 -0
  258. package/team.d.tlua +195 -0
  259. package/textentry.d.tlua +12 -0
  260. package/tgaimage.d.tlua +11 -0
  261. package/timer.d.tlua +198 -0
  262. package/tool.d.tlua +466 -0
  263. package/ugcpublishwindow.d.tlua +83 -0
  264. package/umsg.d.tlua +147 -0
  265. package/undo.d.tlua +122 -0
  266. package/urllabel.d.tlua +13 -0
  267. package/usermessage.d.tlua +48 -0
  268. package/utf8.d.tlua +89 -0
  269. package/util.d.tlua +1087 -0
  270. package/vector.d.tlua +413 -0
  271. package/vehicle.d.tlua +472 -0
  272. package/vgui.d.tlua +201 -0
  273. package/video.d.tlua +17 -0
  274. package/vmatrix.d.tlua +392 -0
  275. package/weapon.d.tlua +913 -0
  276. package/weapons.d.tlua +90 -0
  277. package/widgets.d.tlua +29 -0
  278. package/workshopfilebase.d.tlua +68 -0
package/game.d.tlua ADDED
@@ -0,0 +1,482 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * The game library provides functions to access various features in the game's engine, most of it's functions are related to controlling the map.
5
+ * @source https://wiki.facepunch.com/gmod/game
6
+ */
7
+ declare game: GameLib;
8
+
9
+ interface GameLib {
10
+ /**
11
+ * Adds a new ammo type to the game.
12
+ *
13
+ * You can find a list of default ammo types [here](https://wiki.facepunch.com/gmod/Default_Ammo_Types).
14
+ *
15
+ * **WARNING**: This function **must** be called on both the client and server in [GM:Initialize](https://wiki.facepunch.com/gmod/GM:Initialize) or you will have unexpected problems.
16
+ *
17
+ * **NOTE**: There is a limit of 256 ammo types, including the default ones.
18
+ *
19
+ *
20
+ * @realm shared
21
+ * @source https://wiki.facepunch.com/gmod/game.AddAmmoType
22
+ */
23
+ AddAmmoType(ammoData: AmmoData): void;
24
+ }
25
+
26
+ interface GameLib {
27
+ /**
28
+ * Registers a new decal.
29
+ *
30
+ * **WARNING**: There's a rather low limit of around 256 for decal materials that may be registered and they are not cleared on map load.
31
+ *
32
+ *
33
+ * @realm shared
34
+ * @source https://wiki.facepunch.com/gmod/game.AddDecal
35
+ */
36
+ AddDecal(decalName: string, materialName: string): void;
37
+ }
38
+
39
+ interface GameLib {
40
+ /**
41
+ * Loads a particle file. Individual particle systems will still need to be precached with [Global.PrecacheParticleSystem](https://wiki.facepunch.com/gmod/Global.PrecacheParticleSystem).
42
+ *
43
+ * **NOTE**: You will still need to call this function clientside regardless if you create the particle effects serverside.
44
+ *
45
+ *
46
+ * @realm shared
47
+ * @source https://wiki.facepunch.com/gmod/game.AddParticles
48
+ */
49
+ AddParticles(particleFileName: string): void;
50
+ }
51
+
52
+ interface GameLib {
53
+ /**
54
+ * **INTERNAL**: Consider using [game.GetAmmoTypes](https://wiki.facepunch.com/gmod/game.GetAmmoTypes) and [game.GetAmmoData](https://wiki.facepunch.com/gmod/game.GetAmmoData) instead.
55
+ *
56
+ * Called by the engine to retrieve the ammo types.
57
+ *
58
+ * @realm shared
59
+ * @source https://wiki.facepunch.com/gmod/game.BuildAmmoTypes
60
+ */
61
+ BuildAmmoTypes(): table;
62
+ }
63
+
64
+ interface GameLib {
65
+ /**
66
+ * Removes most entities, and then respawns entities created by the map, as if the map was just loaded.
67
+ *
68
+ * There are certain exclusions, such as players or weapons held by players, soundscapes and others.
69
+ * [EFL_KEEP_ON_RECREATE_ENTITIES](https://wiki.facepunch.com/gmod/enums/EFL) can be set on entities to preserve them through a map cleanup.
70
+ *
71
+ * On the client it will remove decals, sounds, gibs, dead NPCs, and entities created via [ents.CreateClientProp](https://wiki.facepunch.com/gmod/ents.CreateClientProp). This function is ran on all clients from server automatically, when it is called on the server.
72
+ *
73
+ * This function calls [GM:PreCleanupMap](https://wiki.facepunch.com/gmod/GM:PreCleanupMap) before cleaning up the map and [GM:PostCleanupMap](https://wiki.facepunch.com/gmod/GM:PostCleanupMap) after cleaning up the map.
74
+ *
75
+ * Beware of calling this function in hooks that may be called on map clean up (such as [ENTITY:StartTouch](https://wiki.facepunch.com/gmod/ENTITY:StartTouch)) to avoid infinite loops.
76
+ *
77
+ * Calling this destroys all BASS streams.
78
+ * The EFL_KEEP_ON_RECREATE_ENTITIES flag doesn't prevent an entity from being recreated, which means flagged entities will be duplicated since they are both kept and recreated.
79
+ *
80
+ * @realm shared
81
+ * @source https://wiki.facepunch.com/gmod/game.CleanUpMap
82
+ */
83
+ CleanUpMap(dontSendToClients?: boolean, extraFilters?: table, callback?: function): void;
84
+ }
85
+
86
+ interface GameLib {
87
+ /**
88
+ * Runs a console command.
89
+ * Make sure to add a newline ("\n") at the end of the command.
90
+ *
91
+ * **WARNING**: If you use data that were received from a client, you should avoid using this function because newline and semicolon (at least) allow the client to run arbitrary commands!
92
+ *
93
+ * For safety, you are urged to prefer using [Global.RunConsoleCommand](https://wiki.facepunch.com/gmod/Global.RunConsoleCommand) in this case.
94
+ *
95
+ *
96
+ * @realm server
97
+ * @source https://wiki.facepunch.com/gmod/game.ConsoleCommand
98
+ */
99
+ ConsoleCommand(stringCommand: string): void;
100
+ }
101
+
102
+ interface GameLib {
103
+ /**
104
+ * Returns information about the currently active 3D skybox.
105
+ *
106
+ * @realm shared
107
+ * @source https://wiki.facepunch.com/gmod/game.Get3DSkyboxInfo
108
+ */
109
+ Get3DSkyboxInfo(): Sky3DParams[];
110
+ }
111
+
112
+ interface GameLib {
113
+ /**
114
+ * Returns the damage type of given ammo type.
115
+ * @realm shared
116
+ * @source https://wiki.facepunch.com/gmod/game.GetAmmoDamageType
117
+ */
118
+ GetAmmoDamageType(id: number): number;
119
+ }
120
+
121
+ interface GameLib {
122
+ /**
123
+ * Returns the [Structures/AmmoData](https://wiki.facepunch.com/gmod/Structures/AmmoData) for given ID.
124
+ * @realm shared
125
+ * @source https://wiki.facepunch.com/gmod/game.GetAmmoData
126
+ */
127
+ GetAmmoData(id: number): AmmoData;
128
+ }
129
+
130
+ interface GameLib {
131
+ /**
132
+ * Returns the ammo bullet force that is applied when an entity is hit by a bullet of given ammo type.
133
+ * @realm shared
134
+ * @source https://wiki.facepunch.com/gmod/game.GetAmmoForce
135
+ */
136
+ GetAmmoForce(id: number): number;
137
+ }
138
+
139
+ interface GameLib {
140
+ /**
141
+ * Returns the ammo type ID for given ammo type name.
142
+ *
143
+ * See [game.GetAmmoName](https://wiki.facepunch.com/gmod/game.GetAmmoName) for reverse.
144
+ *
145
+ * @realm shared
146
+ * @source https://wiki.facepunch.com/gmod/game.GetAmmoID
147
+ */
148
+ GetAmmoID(name: string): number;
149
+ }
150
+
151
+ interface GameLib {
152
+ /**
153
+ * Returns the real maximum amount of ammo of given ammo ID, regardless of the setting of `gmod_maxammo` convar.
154
+ *
155
+ * @realm shared
156
+ * @source https://wiki.facepunch.com/gmod/game.GetAmmoMax
157
+ */
158
+ GetAmmoMax(id: number): number;
159
+ }
160
+
161
+ interface GameLib {
162
+ /**
163
+ * Returns the damage given ammo type should do to NPCs.
164
+ * @realm shared
165
+ * @source https://wiki.facepunch.com/gmod/game.GetAmmoNPCDamage
166
+ */
167
+ GetAmmoNPCDamage(id: number): number;
168
+ }
169
+
170
+ interface GameLib {
171
+ /**
172
+ * Returns the ammo name for given ammo type ID.
173
+ *
174
+ * See [game.GetAmmoID](https://wiki.facepunch.com/gmod/game.GetAmmoID) for reverse.
175
+ *
176
+ * @realm shared
177
+ * @source https://wiki.facepunch.com/gmod/game.GetAmmoName
178
+ */
179
+ GetAmmoName(id: number): string;
180
+ }
181
+
182
+ interface GameLib {
183
+ /**
184
+ * Returns the damage given ammo type should do to players.
185
+ * @realm shared
186
+ * @source https://wiki.facepunch.com/gmod/game.GetAmmoPlayerDamage
187
+ */
188
+ GetAmmoPlayerDamage(id: number): number;
189
+ }
190
+
191
+ interface GameLib {
192
+ /**
193
+ * Returns a list of all ammo types currently registered.
194
+ * @realm shared
195
+ * @source https://wiki.facepunch.com/gmod/game.GetAmmoTypes
196
+ */
197
+ GetAmmoTypes(): Table<number, string>;
198
+ }
199
+
200
+ interface GameLib {
201
+ /**
202
+ * Returns the counter of a Global State.
203
+ *
204
+ * See [Global States](https://wiki.facepunch.com/gmod/Global_States) for more information.
205
+ *
206
+ * @realm server
207
+ * @source https://wiki.facepunch.com/gmod/game.GetGlobalCounter
208
+ */
209
+ GetGlobalCounter(name: string): number;
210
+ }
211
+
212
+ interface GameLib {
213
+ /**
214
+ * Returns whether a Global State is off, active or dead ( inactive ).
215
+ *
216
+ * See [Global States](https://wiki.facepunch.com/gmod/Global_States) for more information.
217
+ *
218
+ * @realm server
219
+ * @source https://wiki.facepunch.com/gmod/game.GetGlobalState
220
+ */
221
+ GetGlobalState(name: string): number;
222
+ }
223
+
224
+ interface GameLib {
225
+ /**
226
+ * Returns the public IP address and port of the current server. This will return the IP/port that you are connecting through when ran clientside.
227
+ * **NOTE**: Returns "loopback" in singleplayer.
228
+ *
229
+ *
230
+ * Returns "0.0.0.0:`port`" on the server when called too early, including in [GM:Initialize](https://wiki.facepunch.com/gmod/GM:Initialize) and [GM:InitPostEntity](https://wiki.facepunch.com/gmod/GM:InitPostEntity). This bug seems to only happen the first time a server is launched, and will return the correct value after switching maps.
231
+ *
232
+ * @realm shared
233
+ * @source https://wiki.facepunch.com/gmod/game.GetIPAddress
234
+ */
235
+ GetIPAddress(): string;
236
+ }
237
+
238
+ interface GameLib {
239
+ /**
240
+ * Returns the name of the current map, without a file extension.
241
+ * On the menu state, returns "menu".
242
+ * **WARNING**: In Multiplayer this does not return the current map in the CLIENT realm before [GM:Initialize](https://wiki.facepunch.com/gmod/GM:Initialize).
243
+ *
244
+ *
245
+ * @realm shared and menu
246
+ * @source https://wiki.facepunch.com/gmod/game.GetMap
247
+ */
248
+ GetMap(): string;
249
+ }
250
+
251
+ interface GameLib {
252
+ /**
253
+ * Returns the current map change count for the server.
254
+ *
255
+ * This is useful to determine whether the current map is the initial map, or whether a `changelevel` (using `map` command is also detected) has occurred at any point in the server's session.
256
+ *
257
+ * @realm server
258
+ * @source https://wiki.facepunch.com/gmod/game.GetMapChangeCount
259
+ */
260
+ GetMapChangeCount(): number;
261
+ }
262
+
263
+ interface GameLib {
264
+ /**
265
+ * Returns the next map that would be loaded according to the file that is set by the mapcyclefile convar.
266
+ * @realm server
267
+ * @source https://wiki.facepunch.com/gmod/game.GetMapNext
268
+ */
269
+ GetMapNext(): string;
270
+ }
271
+
272
+ interface GameLib {
273
+ /**
274
+ * Returns the revision (Not to be confused with [VBSP Version](https://developer.valvesoftware.com/wiki/Source_BSP_File_Format#Versions)) and BSP version of the current map.
275
+ *
276
+ * Map revision is the amount of times the map file was saved in Hammer at the time of the map being compiled. This is useful to detect when a map has changed.
277
+ *
278
+ * @realm server
279
+ * @source https://wiki.facepunch.com/gmod/game.GetMapVersion
280
+ */
281
+ GetMapVersion(): (number, number);
282
+ }
283
+
284
+ interface GameLib {
285
+ /**
286
+ * Returns the difficulty level of the game.
287
+ *
288
+ * **TIP:** You can use this function in your scripted NPCs or Nextbots to make them stronger, however, it is a good idea to lock powerful attacks behind the highest difficulty instead of just increasing the health.
289
+ *
290
+ * **NOTE**: Internally this is tied to the gamerules entity, so you'll have to wait until [GM:InitPostEntity](https://wiki.facepunch.com/gmod/GM:InitPostEntity) is called to return the skill level.
291
+ *
292
+ *
293
+ * @realm shared
294
+ * @source https://wiki.facepunch.com/gmod/game.GetSkillLevel
295
+ */
296
+ GetSkillLevel(): number;
297
+ }
298
+
299
+ interface GameLib {
300
+ /**
301
+ * Returns the time scale set with [game.SetTimeScale](https://wiki.facepunch.com/gmod/game.SetTimeScale).
302
+ *
303
+ * If you want to get the value of `host_timescale`, use:
304
+ * ```lua
305
+ * local timescale = GetConVar( "host_timescale" ):GetFloat()
306
+ * ```
307
+ *
308
+ * @realm shared
309
+ * @source https://wiki.facepunch.com/gmod/game.GetTimeScale
310
+ */
311
+ GetTimeScale(): number;
312
+ }
313
+
314
+ interface GameLib {
315
+ /**
316
+ * Returns the wind's velocity at a given position, as influenced by current map's [env_wind](https://developer.valvesoftware.com/wiki/Env_wind) entities.
317
+ *
318
+ * @realm shared
319
+ * @source https://wiki.facepunch.com/gmod/game.GetWindSpeed
320
+ */
321
+ GetWindSpeed(pos?: Vector): Vector;
322
+ }
323
+
324
+ interface GameLib {
325
+ /**
326
+ * Returns the worldspawn entity.
327
+ * @realm shared
328
+ * @source https://wiki.facepunch.com/gmod/game.GetWorld
329
+ */
330
+ GetWorld(): Entity;
331
+ }
332
+
333
+ interface GameLib {
334
+ /**
335
+ * Returns true if the server is a dedicated server, false if it is a listen server or a singleplayer game.
336
+ *
337
+ * @realm shared
338
+ * @source https://wiki.facepunch.com/gmod/game.IsDedicated
339
+ */
340
+ IsDedicated(): boolean;
341
+ }
342
+
343
+ interface GameLib {
344
+ /**
345
+ * Kicks a player from the server. This can be ran before the player has spawned.
346
+ * @realm server
347
+ * @source https://wiki.facepunch.com/gmod/game.KickID
348
+ */
349
+ KickID(id: string, reason?: string): void;
350
+ }
351
+
352
+ interface GameLib {
353
+ /**
354
+ * Loads the next map according to the `nextlevel` convar, or from the current `mapcyclefile` set by the respective convar.
355
+ * @realm server
356
+ * @source https://wiki.facepunch.com/gmod/game.LoadNextMap
357
+ */
358
+ LoadNextMap(): void;
359
+ }
360
+
361
+ interface GameLib {
362
+ /**
363
+ * Returns the map load type of the current map.
364
+ *
365
+ * After changing the map with the console command `changelevel`, "newgame" is returned. With `changelevel2` (single player only), "transition" is returned.
366
+ *
367
+ * @realm server
368
+ * @source https://wiki.facepunch.com/gmod/game.MapLoadType
369
+ */
370
+ MapLoadType(): string;
371
+ }
372
+
373
+ interface GameLib {
374
+ /**
375
+ * Returns the maximum amount of players (including bots) that the server can have.
376
+ * @realm shared
377
+ * @source https://wiki.facepunch.com/gmod/game.MaxPlayers
378
+ */
379
+ MaxPlayers(): number;
380
+ }
381
+
382
+ interface GameLib {
383
+ /**
384
+ * Mounts a GMA addon from the disk.
385
+ * Can be used with [steamworks.DownloadUGC](https://wiki.facepunch.com/gmod/steamworks.DownloadUGC).
386
+ *
387
+ * **NOTE**: Any error models currently loaded that the mounted addon provides will be reloaded.
388
+ *
389
+ *
390
+ * Any error materials currently loaded that the mounted addon provides will NOT be reloaded. That means that this cannot be used to fix missing map materials, as the map materials are loaded before you are able to call this.
391
+ *
392
+ *
393
+ * @realm shared
394
+ * @source https://wiki.facepunch.com/gmod/game.MountGMA
395
+ */
396
+ MountGMA(path: string): (boolean, table);
397
+ }
398
+
399
+ interface GameLib {
400
+ /**
401
+ * Removes all the clientside ragdolls. On server, it will remove all `prop_ragdolls` that have the `SF_RAGDOLLPROP_USE_LRU_RETIREMENT` (4096) spawnflag.
402
+ * @realm shared
403
+ * @source https://wiki.facepunch.com/gmod/game.RemoveRagdolls
404
+ */
405
+ RemoveRagdolls(): void;
406
+ }
407
+
408
+ interface GameLib {
409
+ /**
410
+ * Sets the counter of a Global State.
411
+ *
412
+ * See [Global States](https://wiki.facepunch.com/gmod/Global_States) for more information.
413
+ *
414
+ * @realm server
415
+ * @source https://wiki.facepunch.com/gmod/game.SetGlobalCounter
416
+ */
417
+ SetGlobalCounter(name: string, count: number): void;
418
+ }
419
+
420
+ interface GameLib {
421
+ /**
422
+ * Sets whether a Global State is off, active or dead ( inactive ).
423
+ *
424
+ * See [Global States](https://wiki.facepunch.com/gmod/Global_States) for more information.
425
+ *
426
+ * @realm server
427
+ * @source https://wiki.facepunch.com/gmod/game.SetGlobalState
428
+ */
429
+ SetGlobalState(name: string, state: number): void;
430
+ }
431
+
432
+ interface GameLib {
433
+ /**
434
+ * Sets the difficulty level of the game, can be retrieved with [game.GetSkillLevel](https://wiki.facepunch.com/gmod/game.GetSkillLevel).
435
+ *
436
+ * This will automatically change whenever the "skill" convar is modified serverside.
437
+ *
438
+ * @realm server
439
+ * @source https://wiki.facepunch.com/gmod/game.SetSkillLevel
440
+ */
441
+ SetSkillLevel(level: number): void;
442
+ }
443
+
444
+ interface GameLib {
445
+ /**
446
+ * Sets the time scale of the game logic.
447
+ *
448
+ * To slow down or speed up the movement of a specific player, use [Player:SetLaggedMovementValue](https://wiki.facepunch.com/gmod/Player:SetLaggedMovementValue) instead.
449
+ *
450
+ * See [physenv.SetTimeScale](https://wiki.facepunch.com/gmod/physenv.SetTimeScale) if you wish to only scale the physics timescale.
451
+ *
452
+ * This function is meant to remove the need of using the `host_timescale` convar, which is cheat protected.
453
+ * The true timescale will be `host_timescale` multiplied by [game.GetTimeScale](https://wiki.facepunch.com/gmod/game.GetTimeScale).
454
+ *
455
+ * Like `host_timescale`, this method does not affect sounds, if you wish to change that, look into [GM:EntityEmitSound](https://wiki.facepunch.com/gmod/GM:EntityEmitSound).
456
+ *
457
+ * @realm server
458
+ * @source https://wiki.facepunch.com/gmod/game.SetTimeScale
459
+ */
460
+ SetTimeScale(timeScale: number): void;
461
+ }
462
+
463
+ interface GameLib {
464
+ /**
465
+ * Returns whether the current session is a single player game.
466
+ * @realm shared
467
+ * @source https://wiki.facepunch.com/gmod/game.SinglePlayer
468
+ */
469
+ SinglePlayer(): boolean;
470
+ }
471
+
472
+ interface GameLib {
473
+ /**
474
+ * Returns the name of the entity that should be used as player start position.
475
+ *
476
+ * This is not the same thing as spawn points (See [GM:PlayerSelectSpawn](https://wiki.facepunch.com/gmod/GM:PlayerSelectSpawn) for that), this is used to properly transit the player between maps, and therefore will only be set after a level change via `trigger_changelevel` entity in singleplayer.
477
+ * @realm server
478
+ * @source https://wiki.facepunch.com/gmod/game.StartSpot
479
+ */
480
+ StartSpot(): string;
481
+ }
482
+