@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/team.d.tlua ADDED
@@ -0,0 +1,195 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * The team library gives you access to the team system built into the Source engine, and allows you to create custom teams and get information about them.
5
+ * @source https://wiki.facepunch.com/gmod/team
6
+ */
7
+ declare team: TeamLib;
8
+
9
+ interface TeamLib {
10
+ /**
11
+ * Increases the score of the given team
12
+ * @realm shared
13
+ * @source https://wiki.facepunch.com/gmod/team.AddScore
14
+ */
15
+ AddScore(index: number, increment: number): void;
16
+ }
17
+
18
+ interface TeamLib {
19
+ /**
20
+ * Returns the team index of the team with the least players. Falls back to TEAM_UNASSIGNED
21
+ * @realm shared
22
+ * @source https://wiki.facepunch.com/gmod/team.BestAutoJoinTeam
23
+ */
24
+ BestAutoJoinTeam(): number;
25
+ }
26
+
27
+ interface TeamLib {
28
+ /**
29
+ * Returns the real table consisting of information on every defined team
30
+ * @realm shared
31
+ * @source https://wiki.facepunch.com/gmod/team.GetAllTeams
32
+ */
33
+ GetAllTeams(): table;
34
+ }
35
+
36
+ interface TeamLib {
37
+ /**
38
+ * Returns the selectable classes for the given team. This can be added to with [team.SetClass](https://wiki.facepunch.com/gmod/team.SetClass)
39
+ * @realm shared
40
+ * @source https://wiki.facepunch.com/gmod/team.GetClass
41
+ */
42
+ GetClass(index: number): table;
43
+ }
44
+
45
+ interface TeamLib {
46
+ /**
47
+ * Returns the team's color.
48
+ * @realm shared
49
+ * @source https://wiki.facepunch.com/gmod/team.GetColor
50
+ */
51
+ GetColor(teamIndex: number): Color;
52
+ }
53
+
54
+ interface TeamLib {
55
+ /**
56
+ * Returns the name of the team.
57
+ * @realm shared
58
+ * @source https://wiki.facepunch.com/gmod/team.GetName
59
+ */
60
+ GetName(teamIndex: number): string;
61
+ }
62
+
63
+ interface TeamLib {
64
+ /**
65
+ * Returns a table with all player of the specified team.
66
+ * **NOTE**: This function returns a sequential table, meaning it should be looped with [Global.ipairs](https://wiki.facepunch.com/gmod/Global.ipairs) instead of [Global.pairs](https://wiki.facepunch.com/gmod/Global.pairs) for efficiency reasons.
67
+ *
68
+ *
69
+ * @realm shared
70
+ * @source https://wiki.facepunch.com/gmod/team.GetPlayers
71
+ */
72
+ GetPlayers(teamIndex: number): table;
73
+ }
74
+
75
+ interface TeamLib {
76
+ /**
77
+ * Returns the score of the team.
78
+ * @realm shared
79
+ * @source https://wiki.facepunch.com/gmod/team.GetScore
80
+ */
81
+ GetScore(teamIndex: number): number;
82
+ }
83
+
84
+ interface TeamLib {
85
+ /**
86
+ * Returns a table of valid spawnpoint classes the team can use. These are set with [team.SetSpawnPoint](https://wiki.facepunch.com/gmod/team.SetSpawnPoint).
87
+ * @realm shared
88
+ * @source https://wiki.facepunch.com/gmod/team.GetSpawnPoint
89
+ */
90
+ GetSpawnPoint(index: number): table;
91
+ }
92
+
93
+ interface TeamLib {
94
+ /**
95
+ * Returns a table of valid spawnpoint entities the team can use. These are set with [team.SetSpawnPoint](https://wiki.facepunch.com/gmod/team.SetSpawnPoint).
96
+ * @realm shared
97
+ * @source https://wiki.facepunch.com/gmod/team.GetSpawnPoints
98
+ */
99
+ GetSpawnPoints(index: number): table;
100
+ }
101
+
102
+ interface TeamLib {
103
+ /**
104
+ * Returns if a team is joinable or not. This is set in [team.SetUp](https://wiki.facepunch.com/gmod/team.SetUp).
105
+ * @realm shared
106
+ * @source https://wiki.facepunch.com/gmod/team.Joinable
107
+ */
108
+ Joinable(index: number): boolean;
109
+ }
110
+
111
+ interface TeamLib {
112
+ /**
113
+ * Returns the amount of players in a team.
114
+ * @realm shared
115
+ * @source https://wiki.facepunch.com/gmod/team.NumPlayers
116
+ */
117
+ NumPlayers(teamIndex: number): number;
118
+ }
119
+
120
+ interface TeamLib {
121
+ /**
122
+ * Sets valid classes for use by a team. Classes can be created using [player_manager.RegisterClass](https://wiki.facepunch.com/gmod/player_manager.RegisterClass)
123
+ * @realm shared
124
+ * @source https://wiki.facepunch.com/gmod/team.SetClass
125
+ */
126
+ SetClass(index: number, classes: any): void;
127
+ }
128
+
129
+ interface TeamLib {
130
+ /**
131
+ * Sets the team's color.
132
+ * @realm shared
133
+ * @source https://wiki.facepunch.com/gmod/team.SetColor
134
+ */
135
+ SetColor(teamIndex: number, color: Color): void;
136
+ }
137
+
138
+ interface TeamLib {
139
+ /**
140
+ * Sets the score of the given team
141
+ * @realm shared
142
+ * @source https://wiki.facepunch.com/gmod/team.SetScore
143
+ */
144
+ SetScore(index: number, score: number): void;
145
+ }
146
+
147
+ interface TeamLib {
148
+ /**
149
+ * Sets valid spawnpoint classes for use by a team.
150
+ *
151
+ * **NOTE**: GM.TeamBased must be set to true for this to work
152
+ *
153
+ *
154
+ * @realm shared
155
+ * @source https://wiki.facepunch.com/gmod/team.SetSpawnPoint
156
+ */
157
+ SetSpawnPoint(index: number, classes: any): void;
158
+ }
159
+
160
+ interface TeamLib {
161
+ /**
162
+ * Creates a new team. See [GM:CreateTeams](https://wiki.facepunch.com/gmod/GM:CreateTeams) for the hook to call this in.
163
+ * @realm shared
164
+ * @source https://wiki.facepunch.com/gmod/team.SetUp
165
+ */
166
+ SetUp(teamIndex: number, teamName: string, teamColor: Color, isJoinable?: boolean): void;
167
+ }
168
+
169
+ interface TeamLib {
170
+ /**
171
+ * Returns the total number of deaths of all players in the team.
172
+ * @realm shared
173
+ * @source https://wiki.facepunch.com/gmod/team.TotalDeaths
174
+ */
175
+ TotalDeaths(index: number): number;
176
+ }
177
+
178
+ interface TeamLib {
179
+ /**
180
+ * Get's the total frags in a team.
181
+ * @realm shared
182
+ * @source https://wiki.facepunch.com/gmod/team.TotalFrags
183
+ */
184
+ TotalFrags(entityOrNumber: Entity): number;
185
+ }
186
+
187
+ interface TeamLib {
188
+ /**
189
+ * Returns true if the given team index is valid
190
+ * @realm shared
191
+ * @source https://wiki.facepunch.com/gmod/team.Valid
192
+ */
193
+ Valid(index: number): boolean;
194
+ }
195
+
@@ -0,0 +1,12 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * Basic text input field.
5
+ *
6
+ * See [DTextEntry](https://wiki.facepunch.com/gmod/DTextEntry) for a more advanced version.
7
+ *
8
+ * @realm client
9
+ * @source https://wiki.facepunch.com/gmod/TextEntry
10
+ */
11
+ interface TextEntry extends Panel {}
12
+
@@ -0,0 +1,11 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * A panel capable of loading `.tga` images.
5
+ *
6
+ * @realm client
7
+ * @source https://wiki.facepunch.com/gmod/TGAImage
8
+ * @deprecated DImage should be used instead (with `.png` or `.jpg` images). `TGAImage` panel has no advantages.
9
+ */
10
+ interface TGAImage extends Panel {}
11
+
package/timer.d.tlua ADDED
@@ -0,0 +1,198 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * The timer library is a very useful set of functions which allow you to run a function periodically or after a given delay.
5
+ * @source https://wiki.facepunch.com/gmod/timer
6
+ */
7
+ declare timer: TimerLib;
8
+
9
+ interface TimerLib {
10
+ /**
11
+ * Adjusts a previously created ([timer.Create](https://wiki.facepunch.com/gmod/timer.Create)) timer with the given identifier.
12
+ * @realm shared and menu
13
+ * @source https://wiki.facepunch.com/gmod/timer.Adjust
14
+ */
15
+ Adjust(identifier: any, delay: number, repetitions?: number, func?: function): boolean;
16
+ }
17
+
18
+ interface TimerLib {
19
+ /**
20
+ * This function does nothing.
21
+ * @realm shared and menu
22
+ * @source https://wiki.facepunch.com/gmod/timer.Check
23
+ * @deprecated If you want to check if whether or not a timer exists, use timer.Exists.
24
+ */
25
+ Check(): void;
26
+ }
27
+
28
+ interface TimerLib {
29
+ /**
30
+ * Creates a new timer that will repeat its function given amount of times.
31
+ * This function also requires the timer to be named, which allows you to control it after it was created via the [timer](https://wiki.facepunch.com/gmod/timer).
32
+ *
33
+ * For a simple one-time timer with no identifiers, see [timer.Simple](https://wiki.facepunch.com/gmod/timer.Simple).
34
+ *
35
+ * **WARNING**: Timers use [Global.CurTime](https://wiki.facepunch.com/gmod/Global.CurTime) internally. Due to this, they won't advance while the client is timing out from the server or on an empty dedicated server due to hibernation. (unless `sv_hibernate_think` is set to `1` or `delay` is set to `0` ).
36
+ *
37
+ *
38
+ * @realm shared and menu
39
+ * @source https://wiki.facepunch.com/gmod/timer.Create
40
+ */
41
+ Create(identifier: string, delay: number, repetitions: number, func: function): void;
42
+ }
43
+
44
+ interface TimerLib {
45
+ /**
46
+ * Stops and destroys the given timer. Alias of [timer.Remove](https://wiki.facepunch.com/gmod/timer.Remove).
47
+ * @realm shared and menu
48
+ * @source https://wiki.facepunch.com/gmod/timer.Destroy
49
+ * @deprecated You should be using timer.Remove instead.
50
+ */
51
+ Destroy(identifier: string): void;
52
+ }
53
+
54
+ interface TimerLib {
55
+ /**
56
+ * Returns whenever the given timer exists or not.
57
+ *
58
+ * For debugging purposes you can use the following commands:
59
+ * * `lua_dumptimers_cl`
60
+ * * `lua_dumptimers_sv`
61
+ * * `lua_dumptimers_menu`
62
+ *
63
+ * These will list all active timers in each realm.
64
+ *
65
+ * @realm shared and menu
66
+ * @source https://wiki.facepunch.com/gmod/timer.Exists
67
+ */
68
+ Exists(identifier: string): boolean;
69
+ }
70
+
71
+ interface TimerLib {
72
+ /**
73
+ * Returns whenever the given timer is paused or not. ([timer.Pause](https://wiki.facepunch.com/gmod/timer.Pause))
74
+ *
75
+ *
76
+ * @realm shared and menu
77
+ * @source https://wiki.facepunch.com/gmod/timer.IsPaused
78
+ */
79
+ IsPaused(identifier: string): boolean;
80
+ }
81
+
82
+ interface TimerLib {
83
+ /**
84
+ * Pauses the given timer.
85
+ * @realm shared and menu
86
+ * @source https://wiki.facepunch.com/gmod/timer.Pause
87
+ */
88
+ Pause(identifier: any): void;
89
+ }
90
+
91
+ interface TimerLib {
92
+ /**
93
+ * Stops and removes a timer created by [timer.Create](https://wiki.facepunch.com/gmod/timer.Create).
94
+ * **WARNING**: The timers are removed in the next frame! Keep this in mind when storing identifiers in variables.
95
+ *
96
+ *
97
+ * @realm shared and menu
98
+ * @source https://wiki.facepunch.com/gmod/timer.Remove
99
+ */
100
+ Remove(identifier: string): void;
101
+ }
102
+
103
+ interface TimerLib {
104
+ /**
105
+ * Returns amount of repetitions/executions left before the timer destroys itself.
106
+ *
107
+ * @realm shared and menu
108
+ * @source https://wiki.facepunch.com/gmod/timer.RepsLeft
109
+ */
110
+ RepsLeft(identifier: any): number;
111
+ }
112
+
113
+ interface TimerLib {
114
+ /**
115
+ * Creates a simple timer that runs the given function after a specified delay.
116
+ *
117
+ * For a more advanced version that you can control after creation, see [timer.Create](https://wiki.facepunch.com/gmod/timer.Create).
118
+ *
119
+ * **WARNING**: Timers use [Global.CurTime](https://wiki.facepunch.com/gmod/Global.CurTime) internally. Due to this, they won't advance while the client is timing out from the server or on an empty dedicated server due to hibernation. (unless `sv_hibernate_think` is set to `1`).
120
+ *
121
+ *
122
+ * **WARNING**: A previous message on this page stated that a delay of 0 would run the function on the next tick. This was partially an invalid assumption, and the true behavior is dependent on where `timer.Simple(0, func)` is called relative to `GarrysMod::Lua::Libraries::Timer::DoSimpleTimers`.
123
+ *
124
+ *
125
+ *
126
+ * - If called *before* `DoSimpleTimers`, the callback will be executed on the same frame.
127
+ *
128
+ * - If called *during* `DoSimpleTimers`, the callback will be executed on the same frame. **Note that calling timer.Simple(0, func) recursively (ie. a function that calls **`timer.simple(0, itself)`**) can lead to a hang!**
129
+ *
130
+ * - If called *after* `DoSimpleTimers`, the callback will be executed on the next frame.
131
+ *
132
+ * For more information on hook execution order, see [Lua Hooks Order](https://wiki.facepunch.com/gmod/Lua_Hooks_Order).
133
+ *
134
+ * As of a commit on [2026.1.5](https://commits.facepunch.com/574654), simple timers are queued to the next frame.
135
+ *
136
+ * As of a commit on [2026.1.8](https://commits.facepunch.com/575132), only timers with the same callback function are queued to the next frame. [Source](https://github.com/Facepunch/garrysmod-issues/issues/6668#issuecomment-3725044829)
137
+ *
138
+ *
139
+ *
140
+ * @realm shared and menu
141
+ * @source https://wiki.facepunch.com/gmod/timer.Simple
142
+ */
143
+ Simple(delay: number, func: function): void;
144
+ }
145
+
146
+ interface TimerLib {
147
+ /**
148
+ * Restarts the given timer.
149
+ *
150
+ * **WARNING**: Timers won't advance while the client is timing out from the server.
151
+ *
152
+ *
153
+ * @realm shared and menu
154
+ * @source https://wiki.facepunch.com/gmod/timer.Start
155
+ */
156
+ Start(identifier: any): void;
157
+ }
158
+
159
+ interface TimerLib {
160
+ /**
161
+ * Stops the given timer and rewinds it.
162
+ * @realm shared and menu
163
+ * @source https://wiki.facepunch.com/gmod/timer.Stop
164
+ */
165
+ Stop(identifier: any): void;
166
+ }
167
+
168
+ interface TimerLib {
169
+ /**
170
+ * Returns amount of time left (in seconds) before the timer executes its function.
171
+ *
172
+ * **NOTE**: If the timer is paused, the amount will be negative.
173
+ *
174
+ *
175
+ * @realm shared and menu
176
+ * @source https://wiki.facepunch.com/gmod/timer.TimeLeft
177
+ */
178
+ TimeLeft(identifier: any): number;
179
+ }
180
+
181
+ interface TimerLib {
182
+ /**
183
+ * Runs either [timer.Pause](https://wiki.facepunch.com/gmod/timer.Pause) or [timer.UnPause](https://wiki.facepunch.com/gmod/timer.UnPause) based on the timer's current status.
184
+ * @realm shared and menu
185
+ * @source https://wiki.facepunch.com/gmod/timer.Toggle
186
+ */
187
+ Toggle(identifier: any): void;
188
+ }
189
+
190
+ interface TimerLib {
191
+ /**
192
+ * Unpauses the timer.
193
+ * @realm shared and menu
194
+ * @source https://wiki.facepunch.com/gmod/timer.UnPause
195
+ */
196
+ UnPause(identifier: any): void;
197
+ }
198
+