-
Notifications
You must be signed in to change notification settings - Fork 2
/
globals.lua
2108 lines (1848 loc) · 110 KB
/
globals.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
--- Adds simple Get/Set accessor functions on the specified table.
--- Can also force the value to be set to a number, bool or string.
--- @param tab? table @The table to add the accessor functions to.
--- @param key? any @The key of the table to be get/set.
--- @param name? string @The name of the functions (will be prefixed with Get and Set).
--- @param force? number @The type the setter should force to (uses Enums/FORCE).
function _G.AccessorFunc(tab, key, name, force)
end
--- Marks a Lua file to be sent to clients when they join the server. Doesn't do anything on the client - this means you can use it in a shared file without problems.
--- ⚠ **WARNING**: If the file trying to be added is empty, an error will occur, and the file will not be sent to the client
--- The string cannot have whitespace.
--- ℹ **NOTE**:
--- This function is not needed for scripts located in these paths because they are automatically sent to clients.
--- **lua/matproxy/**
--- **lua/postprocess/**
--- **lua/vgui/**
--- **lua/skins/**
--- **lua/autorun/**
--- **lua/autorun/client/**
--- You can add up to **8192** files. Each file can be up to **64KB** compressed (LZMA)
--- @param file? string @The name/path to the Lua file that should be sent, **relative to the garrysmod/lua folder**
function _G.AddCSLuaFile(file)
end
--- Adds the specified vector to the PVS which is currently building. This allows all objects in visleafs visible from that vector to be drawn.
--- @param position GVector @The origin to add.
function _G.AddOriginToPVS(position)
end
--- This function creates a Custom Category in the Spawnlist. Use Global.GenerateSpawnlistFromPath if you want to create a category with the contents of a folder.
--- ⚠ **WARNING**: Using this function before SANDBOX:PopulateContent has been called will result in an error
--- @param pnlContent GPanel @The SMContentPanel of the Node
--- @param node GPanel @The Node
--- @param parentid number @The ParentID to use
--- @param customProps table @The Table with the Contents of the new Category
function _G.AddPropsOfParent(pnlContent, node, parentid, customProps)
end
--- This function creates a World Tip, similar to the one shown when aiming at a Thruster where it shows you its force.
--- This function will make a World Tip that will only last 50 milliseconds (1/20th of a second), so you must call it continuously as long as you want the World Tip to be shown. It is common to call it inside a Think hook.
--- Contrary to what the function's name implies, it is impossible to create more than one World Tip at the same time. A new World Tip will overwrite the old one, so only use this function when you know nothing else will also be using it.
--- See SANDBOX:PaintWorldTips for more information.
--- ℹ **NOTE**: This function is only available in Sandbox and its derivatives
--- @param entindex? number @**This argument is no longer used**; it has no effect on anything
--- @param text? string @The text for the world tip to display.
--- @param dieTime? number @**This argument is no longer used**; when you add a World Tip it will always last only 0.05 seconds
--- @param pos? GVector @Where in the world you want the World Tip to be drawn
--- @param ent? GEntity @Which entity you want to associate with the World Tip
function _G.AddWorldTip(entindex, text, dieTime, pos, ent)
end
--- Defines a global entity class variable with an automatic value. In order to prevent collisions with other Enums/CLASS. You should prefix your variable with CLASS_ for consistency.
--- @param name string @The name of the new enum/global variable.
function _G.Add_NPC_Class(name)
end
--- Loads the specified image from the `/cache` folder, used in combination with steamworks.Download. Most addons will provide a 512x512 png image.
--- ℹ **NOTE**: This works with any image file with the `.cache` file extension, even outside of the `/cache` folder.
--- @param name string @The name of the file.
--- @return GIMaterial @The material, returns `nil` if the cached file is not an image.
function _G.AddonMaterial(name)
end
--- Creates an Angle object, representing a [Euler Angle](https://en.wikipedia.org/wiki/Euler_angles) made up of pitch, yaw, and roll components.
--- ⚠ **WARNING**:
--- This function is relatively expensive, in terms of performance, in situations where it is being called multiple times every frame (Like a loop, for example.) This is due to the overhead associated with object creation and garbage collection.
--- Where possible, it is generally better to store an Angle in a variable and re-use that variable rather than re-creating it repeatedly.
--- In cases where an empty Angle is needed, the global variable `angle_zero` is the preferred solution instead of `Angle( 0, 0, 0 )`.
--- @param pitch? number @The pitch value of the angle, in degrees.
--- @param yaw? number @The yaw value of the angle, in degrees.
--- @param roll? number @The roll value of the angle, in degrees.
--- @param angle? GAngle @Creates a new Angle that is a copy of the Angle passed in.
--- @param angleString? string @Attempts to parse the input string from the Global.print format of an Angle
--- @return GAngle @The newly created Angle
function _G.Angle(pitch, yaw, roll, angle, angleString)
end
--- Returns an angle with a randomized pitch, yaw, and roll between min(inclusive), max(exclusive).
--- @param min? number @Min bound inclusive.
--- @param max? number @Max bound exclusive.
--- @return GAngle @The randomly generated angle.
function _G.AngleRand(min, max)
end
--- A variable containing a string indicating which (Beta) Branch of the game you are using.
--- While this variable is always available in the Client & Menu
--- realms, it is only defined in the Server realm on local servers.
--- For more information on beta branches, see this page
--- @return string @The current branch.
function _G.BRANCH()
end
--- Sends the specified Lua code to all connected clients and executes it.
--- ℹ **NOTE**:
--- If you need to use this function more than once, consider using net library.
--- Send net message and make the entire code you want to execute in net.Receive on client.
--- If executed **clientside** it won't do anything.
--- @param code string @The code to be executed
function _G.BroadcastLua(code)
end
--- Dumps the networked variables of all entities into one table and returns it.
--- @return table @Format:
function _G.BuildNetworkedVarsTable()
end
--- Automatically called by the engine when a panel is hovered over with the mouse
--- @param panel GPanel @Panel that has been hovered over
function _G.ChangeTooltip(panel)
end
--- Creates a non physical entity that only exists on the client. See also ents.CreateClientProp.
--- 🦟 **BUG**: [Parented clientside models will become detached if the parent entity leaves the PVS. **A workaround is available on its github page.**](https://github.com/Facepunch/garrysmod-issues/issues/861)
--- 🦟 **BUG**: [Clientside entities are not garbage-collected, thus you must store a reference to the object and call CSEnt:Remove manually. **To workaround this bug, you need to hold a reference (in a variable) to the entity and remove it when necessary.**](https://github.com/Facepunch/garrysmod-issues/issues/1387)
--- 🦟 **BUG**: [Clientside models will occasionally delete themselves during high server lag.](https://github.com/Facepunch/garrysmod-issues/issues/3184)
--- @param model? string @The file path to the model.
--- @param renderGroup? number @The render group of the entity for the clientside leaf system, see Enums/RENDERGROUP.
--- @return GCSEnt @Created client-side model (`C_BaseFlex`).
function _G.ClientsideModel(model, renderGroup)
end
--- Creates a fully clientside ragdoll.
--- ℹ **NOTE**: The ragdoll initially starts as hidden and with shadows disabled, see the example for how to enable it.
--- There's no need to call Entity:Spawn on this entity.
--- 🦟 **BUG**: [Clientside entities are not garbage-collected, thus you must store a reference to the object and call CSEnt:Remove manually.](https://github.com/Facepunch/garrysmod-issues/issues/1387)
--- @param model? string @The file path to the model.
--- @param renderGroup? number @The Enums/RENDERGROUP to assign.
--- @return GCSEnt @The newly created client-side only ragdoll
function _G.ClientsideRagdoll(model, renderGroup)
end
--- Creates a scene entity based on the scene name and the entity.
--- @param name string @The name of the scene.
--- @param targetEnt GEntity @The entity to play the scene on.
--- @return GCSEnt @C_SceneEntity
function _G.ClientsideScene(name, targetEnt)
end
--- Closes all Derma menus that have been passed to Global.RegisterDermaMenuForClose and calls GM:CloseDermaMenus
function _G.CloseDermaMenus()
end
--- Creates a Color.
--- ⚠ **WARNING**: This function is relatively expensive when used in rendering hooks or in operations requiring very frequent calls (like loops for example) due to object creation and garbage collection. It is better to store the color in a variable or to use the [default colors](https://wiki.facepunch.com/gmod/Global_Variables#misc) available.
--- @param r? number @An integer from `0-255` describing the red value of the color.
--- @param g? number @An integer from `0-255` describing the green value of the color.
--- @param b? number @An integer from `0-255` describing the blue value of the color.
--- @param a? number @An integer from `0-255` describing the alpha (transparency) of the color.(default 255)
--- @return GColor @The created Color.
function _G.Color(r, g, b, a)
end
--- Returns a new Color with the RGB components of the given Color and the alpha value specified.
--- @param color table @The Color from which to take RGB values
--- @param alpha number @The new alpha value, a number between 0 and 255
--- @return table @The new Color with the modified alpha value
function _G.ColorAlpha(color, alpha)
end
--- Creates a Color with randomized red, green, and blue components. If the alpha argument is true, alpha will also be randomized.
--- @param a? boolean @Should alpha be randomized.
--- @return table @The created Color.
function _G.ColorRand(a)
end
--- Converts a Color into HSL color space.
--- @param color table @The Color.
--- @return number @The hue in degrees `[0, 360]`.
--- @return number @The saturation in the range `[0, 1]`.
--- @return number @The lightness in the range `[0, 1]`.
function _G.ColorToHSL(color)
end
--- Converts a Color into HSV color space.
--- @param color table @The Color.
--- @return number @The hue in degrees `[0, 360]`.
--- @return number @The saturation in the range `[0, 1]`.
--- @return number @The value in the range `[0, 1]`.
function _G.ColorToHSV(color)
end
--- Attempts to compile the given file. If successful, returns a function that can be called to perform the actual execution of the script.
--- @param path string @Path to the file, relative to the `garrysmod/lua/` directory.
--- @return function @The function which executes the script.
function _G.CompileFile(path)
end
--- This function will compile the code argument as lua code and return a function that will execute that code.
--- Please note that this function will not automatically execute the given code after compiling it.
--- @param code? string @The code to compile.
--- @param identifier? string @An identifier in case an error is thrown
--- @param handleError? boolean @If false this function will return an error string instead of throwing an error.
--- @return function @A function that, when called, will execute the given code
function _G.CompileString(code, identifier, handleError)
end
--- Returns whether a ConVar with the given name exists or not
--- @param name string @Name of the ConVar.
--- @return boolean @True if the ConVar exists, false otherwise.
function _G.ConVarExists(name)
end
--- Makes a clientside-only console variable
--- ℹ **NOTE**: This function is a wrapper of Global.CreateConVar, with the difference being that FCVAR_ARCHIVE and FCVAR_USERINFO are added automatically when **shouldsave** and **userinfo** are true, respectively.
--- Although this function is shared, it should only be used clientside.
--- @param name? string @Name of the ConVar to be created and able to be accessed
--- @param default? string @Default value of the ConVar.
--- @param shouldsave? boolean @Should the ConVar be saved across sessions in the cfg/client.vdf file.
--- @param userinfo? boolean @Should the ConVar and its containing data be sent to the server when it has changed
--- @param helptext? string @Help text to display in the console.
--- @param min? number @If set, the convar cannot be changed to a number lower than this value.
--- @param max? number @If set, the convar cannot be changed to a number higher than this value.
--- @return GConVar @Created convar.
function _G.CreateClientConVar(name, default, shouldsave, userinfo, helptext, min, max)
end
--- Creates a console variable (ConVar), in general these are for things like gamemode/server settings.
--- ⚠ **WARNING**: Do not use the FCVAR_NEVER_AS_STRING and FCVAR_REPLICATED flags together, as this can cause the console variable to have strange values on the client.
--- @param name? string @Name of the ConVar
--- @param value? string @Default value of the convar
--- @param flags? number @Flags of the convar, see Enums/FCVAR, either as bitflag or as table.
--- @param helptext? string @The help text to show in the console.
--- @param min? number @If set, the ConVar cannot be changed to a number lower than this value.
--- @param max? number @If set, the ConVar cannot be changed to a number higher than this value.
--- @return GConVar @The convar created.
function _G.CreateConVar(name, value, flags, helptext, min, max)
end
--- Creates a new material with the specified name and shader.
--- Materials created with this function can be used in Entity:SetMaterial and Entity:SetSubMaterial by prepending a `!` to their material name argument.
--- This will not create a new material if another material object with the same name already exists. All Materials created by this functions are cleaned up on map shutdown.
--- ℹ **NOTE**: This does not work with [patch materials](https://developer.valvesoftware.com/wiki/Patch).
--- 🦟 **BUG**: [.pngs must be loaded with Global.Material before being used with this function.](https://github.com/Facepunch/garrysmod-issues/issues/1531)
--- @param name string @The material name
--- @param shaderName string @The shader name
--- @param materialData table @Key-value table that contains shader parameters and proxies
--- @return GIMaterial @Created material
function _G.CreateMaterial(name, shaderName, materialData)
end
--- Creates a new particle system. See also Entity:CreateParticleEffect, Global.ParticleEffectAttach and Global.CreateParticleSystemNoEntity.
--- ℹ **NOTE**: The particle effect must be precached with Global.PrecacheParticleSystem and the file its from must be added via game.AddParticles before it can be used!
--- @param ent? GEntity @The entity to attach the control point to.
--- @param effect? string @The name of the effect to create
--- @param partAttachment? number @See Enums/PATTACH.
--- @param entAttachment? number @The attachment ID on the entity to attach the particle system to
--- @param offset? GVector @The offset from the Entity:GetPos of the entity we are attaching this CP to.
--- @return GCNewParticleEffect @The created particle system.
function _G.CreateParticleSystem(ent, effect, partAttachment, entAttachment, offset)
end
--- Creates a new particle system, and sets control points 0 and 1 to given position, as well as optionally orientation of CP0 to the given angles. See also Global.CreateParticleSystem
--- ℹ **NOTE**: The particle effect must be precached with Global.PrecacheParticleSystem and the file its from must be added via game.AddParticles before it can be used!
--- @param effect? string @The name of the effect to create
--- @param pos? GVector @The position for the particle system.
--- @param ang? GAngle @The orientation of the particle system.
--- @return GCNewParticleEffect @The created particle system.
function _G.CreateParticleSystemNoEntity(effect, pos, ang)
end
--- Creates a new PhysCollide from the given bounds.
--- 🦟 **BUG**: [This fails to create planes or points - no components of the mins or maxs can be the same.](https://github.com/Facepunch/garrysmod-issues/issues/3568)
--- @param mins GVector @Min corner of the box
--- @param maxs GVector @Max corner of the box
--- @return GPhysCollide @The new PhysCollide
function _G.CreatePhysCollideBox(mins, maxs)
end
--- Creates PhysCollide objects for every physics object the model has. The model must be precached with util.PrecacheModel before being used with this function.
--- @param modelName string @Model path to get the collision objects of.
--- @return table @Table of PhysCollide objects
function _G.CreatePhysCollidesFromModel(modelName)
end
--- Returns a sound parented to the specified entity.
--- ℹ **NOTE**: You can only create one CSoundPatch per audio file, per entity at the same time.
--- ℹ **NOTE**:
--- Valid sample rates: **11025 Hz, 22050 Hz and 44100 Hz**, otherwise you may see this kind of message:
--- `Unsupported 32-bit wave file your_sound.wav` and
--- `Invalid sample rate (48000) for sound 'your_sound.wav'`
--- @param targetEnt? GEntity @The target entity.
--- @param soundName? string @The sound to play
--- @param filter? GCRecipientFilter @A CRecipientFilter of the players that will have this sound networked to them
--- @return GCSoundPatch @The sound object
function _G.CreateSound(targetEnt, soundName, filter)
end
--- Creates and returns a new DSprite element with the supplied material.
--- @param material GIMaterial @Material the sprite should draw.
--- @return GPanel @The new DSprite element.
function _G.CreateSprite(material)
end
--- Returns the uptime of the server in seconds (to at least 4 decimal places)
--- This is a synchronised value and affected by various factors such as host_timescale (or game.GetTimeScale) and the server being paused - either by `sv_pausable` or all players disconnecting.
--- You should use this function for timing in-game events but not for real-world events.
--- See also: Global.RealTime, Global.SysTime
--- ℹ **NOTE**: This is internally defined as a float, and as such it will be affected by precision loss if your server uptime is more than 6 hours, which will cause jittery movement of players and props and inaccuracy of timers, it is highly encouraged to refresh or change the map when that happens (a server restart is not necessary).
--- This is **NOT** easy as it sounds to fix in the engine, so please refrain from posting issues about this
--- 🦟 **BUG**: [This returns 0 in GM:PlayerAuthed.](https://github.com/Facepunch/garrysmod-issues/issues/3026)
--- @return number @Time synced with the game server.
function _G.CurTime()
end
--- A preprocessor keyword that is directly replaced with the following text:
--- ```lua
--- local BaseClass = baseclass.Get
--- ```
--- Because this is a simple preprocessor keyword and not a function, it will cause problems if not used properly
--- See baseclass.Get for more information.
--- ⚠ **WARNING**: The preprocessor is not smart enough to know when substitution doesn't make sense, such as: table keys and strings.
--- Running `print("DEFINE_BASECLASS")` will result in `local BaseClass = baseclass.Get`
--- For more information, including usage examples, see the BaseClasses reference page.
--- @param value string @Baseclass name
function _G.DEFINE_BASECLASS(value)
end
--- Cancels current DOF post-process effect started with Global.DOF_Start
function _G.DOF_Kill()
end
--- Cancels any existing DOF post-process effects.
--- Begins the DOF post-process effect.
function _G.DOF_Start()
end
--- Calls all NetworkVarNotify functions of the given entity with the given new value, but doesn't change the real value.
--- internally uses Entity:CallDTVarProxies
--- @param entity GEntity @The Entity to run the NetworkVarNotify functions from.
--- @param Type string @The NetworkVar Type
--- @param index number @The NetworkVar index.
--- @param new_value any @The new value.
function _G.DTVar_ReceiveProxyGL(entity, Type, index, new_value)
end
--- Returns an CTakeDamageInfo object.
--- 🦟 **BUG**: [This does not create a unique object, but instead returns a shared reference. That means you cannot use two or more of these objects at once.](https://github.com/Facepunch/garrysmod-issues/issues/2771)
--- @return GCTakeDamageInfo @The CTakeDamageInfo object.
function _G.DamageInfo()
end
--- Writes text to the right hand side of the screen, like the old error system. Messages disappear after a couple of seconds.
--- @param slot number @The location on the right hand screen to write the debug info to
--- @param info string @The debugging information to be written to the screen
function _G.DebugInfo(slot, info)
end
--- Loads and registers the specified gamemode, setting the GM table's DerivedFrom field to the value provided, if the table exists. The DerivedFrom field is used post-gamemode-load as the "derived" parameter for gamemode.Register. See Gamemode_Creation#derivinggamemodes for more information about deriving gamemodes.
--- @param base string @Gamemode name to derive from.
function _G.DeriveGamemode(base)
end
--- Creates a DMenu and closes any current menus.
--- @param keepOpen? boolean @If we should keep other DMenus open (`true`) or not (`false`).
--- @param parent? GPanel @The panel to parent the created menu to.
--- @return GPanel @The created DMenu.
function _G.DermaMenu(keepOpen, parent)
end
--- Creates a new derma animation.
--- @param name string @Name of the animation to create
--- @param panel GPanel @Panel to run the animation on
--- @param func function @Function to call to process the animation
--- @return table @A lua metatable containing four methods:
function _G.Derma_Anim(name, panel, func)
end
--- Draws background blur around the given panel.
--- ℹ **NOTE**: Calling this on the same Panel multiple times makes the blur darker.
--- @param panel GPanel @Panel to draw the background blur around
--- @param startTime number @Time that the blur began being painted
function _G.Derma_DrawBackgroundBlur(panel, startTime)
end
--- Creates panel method that calls the supplied Derma skin hook via derma.SkinHook
--- @param panel GPanel @Panel to add the hook to
--- @param functionName string @Name of panel function to create
--- @param hookName string @Name of Derma skin hook to call within the function
--- @param typeName string @Type of element to call Derma skin hook for
function _G.Derma_Hook(panel, functionName, hookName, typeName)
end
--- Makes the panel (usually an input of sorts) respond to changes in console variables by adding next functions to the panel:
--- * Panel:SetConVar
--- * Panel:ConVarChanged
--- * Panel:ConVarStringThink
--- * Panel:ConVarNumberThink
--- The console variable value is saved in the `m_strConVar` property of the panel.
--- The panel should call
--- Panel:ConVarStringThink or
--- Panel:ConVarNumberThink
--- in its PANEL:Think hook and should call Panel:ConVarChanged when the panel's value has changed.
--- @param target GPanel @The panel the functions should be added to.
function _G.Derma_Install_Convar_Functions(target)
end
--- Creates a derma window to display information
--- @param Text string @The text within the created panel.
--- @param Title string @The title of the created panel.
--- @param Button string @The text of the button to close the panel.
--- @return GPanel @The created DFrame
function _G.Derma_Message(Text, Title, Button)
end
--- Shows a message box in the middle of the screen, with up to 4 buttons they can press.
--- @param text? string @The message to display.
--- @param title? string @The title to give the message box.
--- @param btn1text? string @The text to display on the first button.
--- @param btn1func? function @The function to run if the user clicks the first button.
--- @param btn2text? string @The text to display on the second button.
--- @param btn2func? function @The function to run if the user clicks the second button.
--- @param btn3text? string @The text to display on the third button
--- @param btn3func? function @The function to run if the user clicks the third button.
--- @param btn4text? string @The text to display on the fourth button
--- @param btn4func? function @The function to run if the user clicks the fourth button.
--- @return GPanel @The Panel object of the created window.
function _G.Derma_Query(text, title, btn1text, btn1func, btn2text, btn2func, btn3text, btn3func, btn4text, btn4func)
end
--- Creates a derma window asking players to input a string.
--- @param title? string @The title of the created panel.
--- @param subtitle? string @The text above the input box.
--- @param default? string @The default text for the input box.
--- @param confirm? function @The function to be called once the user has confirmed their input
--- @param cancel? function @The function to be called once the user has cancelled their input
--- @param confirmText? string @Allows you to override text of the "OK" button
--- @param cancelText? string @Allows you to override text of the "Cancel" button
--- @return GPanel @The created DFrame
function _G.Derma_StringRequest(title, subtitle, default, confirm, cancel, confirmText, cancelText)
end
--- Sets whether rendering should be limited to being inside a panel or not. Needs to be used inside one of the 2d rendering hooks
--- See also Panel:NoClipping.
--- @param disable boolean @Whether or not clipping should be disabled
--- @return boolean @Whether the clipping was enabled or not before this function call
function _G.DisableClipping(disable)
end
--- Draws the bloom shader, which creates a glowing effect from bright objects.
--- @param Darken number @Determines how much to darken the effect
--- @param Multiply number @Will affect how bright the glowing spots are
--- @param SizeX number @The size of the bloom effect along the horizontal axis.
--- @param SizeY number @The size of the bloom effect along the vertical axis.
--- @param Passes number @Determines how much to exaggerate the effect.
--- @param ColorMultiply number @Will multiply the colors of the glowing spots, making them more vivid.
--- @param Red number @How much red to multiply with the glowing color
--- @param Green number @How much green to multiply with the glowing color
--- @param Blue number @How much blue to multiply with the glowing color
function _G.DrawBloom(Darken, Multiply, SizeX, SizeY, Passes, ColorMultiply, Red, Green, Blue)
end
--- Draws the Bokeh Depth Of Field effect .
--- @param intensity number @Intensity of the effect.
--- @param distance number @**Not worldspace distance**
--- @param focus number @Focus
function _G.DrawBokehDOF(intensity, distance, focus)
end
--- Draws the Color Modify shader, which can be used to adjust colors on screen.
--- @param modifyParameters table @Color modification parameters
function _G.DrawColorModify(modifyParameters)
end
--- Draws a material overlay on the screen.
--- @param Material string @This will be the material that is drawn onto the screen.
--- @param RefractAmount number @This will adjust how much the material will refract your screen.
function _G.DrawMaterialOverlay(Material, RefractAmount)
end
--- Creates a motion blur effect by drawing your screen multiple times.
--- @param AddAlpha number @How much alpha to change per frame.
--- @param DrawAlpha number @How much alpha the frames will have
--- @param Delay number @Determines the amount of time between frames to capture.
function _G.DrawMotionBlur(AddAlpha, DrawAlpha, Delay)
end
--- Draws the sharpen shader, which creates more contrast.
--- @param Contrast number @How much contrast to create.
--- @param Distance number @How large the contrast effect will be.
function _G.DrawSharpen(Contrast, Distance)
end
--- Draws the sobel shader, which detects edges and draws a black border.
--- @param Threshold number @Determines the threshold of edges
function _G.DrawSobel(Threshold)
end
--- Renders the post-processing effect of beams of light originating from the map's sun. Utilises the `pp/sunbeams` material.
--- @param darken number @`$darken` property for sunbeams material.
--- @param multiplier number @`$multiply` property for sunbeams material.
--- @param sunSize number @`$sunsize` property for sunbeams material.
--- @param sunX number @`$sunx` property for sunbeams material.
--- @param sunY number @`$suny` property for sunbeams material.
function _G.DrawSunbeams(darken, multiplier, sunSize, sunX, sunY)
end
--- Draws the texturize shader, which replaces each pixel on your screen with a different part of the texture depending on its brightness. See g_texturize for information on making the texture.
--- @param Scale number @Scale of the texture
--- @param BaseTexture number @This will be the texture to use in the effect
function _G.DrawTexturize(Scale, BaseTexture)
end
--- Draws the toy town shader, which blurs the top and bottom of your screen. This can make very large objects look like toys, hence the name.
--- @param Passes number @An integer determining how many times to draw the effect
--- @param Height number @The amount of screen which should be blurred on the top and bottom.
function _G.DrawToyTown(Passes, Height)
end
--- 🛑 **DEPRECATED**: You really should be using Entity:ForcePlayerDrop, which does the same thing.
--- Drops the specified entity if it is being held by any player with Gravity Gun or `+use` pickup.
--- See also Player:DropObject and Entity:ForcePlayerDrop.
--- @param ent GEntity @The entity to drop.
function _G.DropEntityIfHeld(ent)
end
--- Creates or replaces a dynamic light with the given id.
--- ℹ **NOTE**: Only 32 dlights and 64 elights can be active at once.
--- ⚠ **WARNING**: It is not safe to hold a reference to this object after creation since its data can be replaced by another dlight at any time.
--- 🦟 **BUG**: [The minlight parameter affects the world and entities differently.](https://github.com/Facepunch/garrysmod-issues/issues/3798)
--- @param index? number @An unsigned Integer
--- @param elight? boolean @Allocates an elight instead of a dlight
--- @return table @A DynamicLight structured table
function _G.DynamicLight(index, elight)
end
--- Returns a CEffectData object to be used with util.Effect.
--- 🦟 **BUG**: [This does not create a unique object, but instead returns a shared reference. That means you cannot use two or more of these objects at once.](https://github.com/Facepunch/garrysmod-issues/issues/2771)
--- @return GCEffectData @The CEffectData object.
function _G.EffectData()
end
--- An [eagerly evaluated](https://en.wikipedia.org/wiki/Eager_evaluation) [ternary operator](https://en.wikipedia.org/wiki/%3F:), or, in layman's terms, a compact "if then else" statement.
--- In most cases, you should just use Lua's ["pseudo" ternary operator](https://en.wikipedia.org/wiki/%3F:#Lua), like this:
--- ```
--- local myCondition = true
--- local consequent = "myCondition is true"
--- local alternative = "myCondition is false"
--- print(myCondition and consequent or alternative)
--- ```
--- In the above example, due to [short-circuit evaluation](https://en.wikipedia.org/wiki/Short-circuit_evaluation), `consequent` would be "skipped" and ignored (not evaluated) by Lua due to `myCondition` being `true`, and only `alternative` would be evaluated. However, when using `Either`, both `consequent` and `alternative` would be evaluated. A practical example of this can be found at the bottom of the page.
--- # Falsey values
--- If `consequent` is "falsey" (Lua considers both `false` and `nil` as false), this will not work. For example:
--- ```
--- local X = true
--- local Y = false
--- local Z = "myCondition is false"
--- print(X and Y or Z)
--- ```
--- This will actually print the value of `Z`.
--- In the above case, and other very rare cases, you may find `Either` useful.
--- @param condition any @The condition to check if true or false.
--- @param truevar any @If the condition isn't nil/false, returns this value.
--- @param falsevar any @If the condition is nil/false, returns this value.
--- @return any @The result.
function _G.Either(condition, truevar, falsevar)
end
--- Plays a sentence from `scripts/sentences.txt`
--- @param soundName? string @The sound to play
--- @param position? GVector @The position to play at
--- @param entity? number @The entity to emit the sound from
--- @param channel? number @The sound channel, see Enums/CHAN.
--- @param volume? number @The volume of the sound, from 0 to 1
--- @param soundLevel? number @The sound level of the sound, see Enums/SNDLVL
--- @param soundFlags? number @The flags of the sound, see Enums/SND
--- @param pitch? number @The pitch of the sound, 0-255
function _G.EmitSentence(soundName, position, entity, channel, volume, soundLevel, soundFlags, pitch)
end
--- Emits the specified sound at the specified position. See also Entity:EmitSound if you wish to play sounds on a specific entity.
--- ℹ **NOTE**:
--- Valid sample rates: **11025 Hz, 22050 Hz and 44100 Hz**, otherwise you may see this kind of message:
--- `Unsupported 32-bit wave file your_sound.wav` and
--- `Invalid sample rate (48000) for sound 'your_sound.wav'`
--- @param soundName? string @The sound to play
--- @param position? GVector @The position where the sound is meant to play, which is also used for a network filter (`CPASAttenuationFilter`) to decide which players wil
--- @param entity? number @The entity to emit the sound from
--- @param channel? number @The sound channel, see Enums/CHAN.
--- @param volume? number @The volume of the sound, from 0 to 1
--- @param soundLevel? number @The sound level of the sound, see Enums/SNDLVL
--- @param soundFlags? number @The flags of the sound, see Enums/SND
--- @param pitch? number @The pitch of the sound, 0-255
--- @param dsp? number @The DSP preset for this sound
--- @param filter? GCRecipientFilter @If set serverside, the sound will only be networked to the clients in the filter.
function _G.EmitSound(soundName, position, entity, channel, volume, soundLevel, soundFlags, pitch, dsp, filter)
end
--- Removes the currently active tool tip from the screen.
--- @param panel GPanel @This is the panel that has a tool tip.
function _G.EndTooltip(panel)
end
--- Returns the entity with the matching Entity:EntIndex.
--- Indices `1` through game.MaxPlayers() are always reserved for players.
--- ℹ **NOTE**: In examples on this wiki, `Entity( 1 )` is used when a player entity is needed (see ). In singleplayer and listen servers, `Entity( 1 )` will always be the first player. In dedicated servers, however, `Entity( 1 )` won't always be a valid player if there is no one currently on the server.
--- @param entityIndex number @The entity index.
--- @return GEntity @The entity if it exists, or NULL if it doesn't.
function _G.Entity(entityIndex)
end
--- Throws an error. This is currently an alias of Global.ErrorNoHalt despite it once throwing a halting error like error without the stack trace appended.
--- 🦟 **BUG**: [This function throws a non-halting error instead of a halting error.](https://github.com/Facepunch/garrysmod-issues/issues/2113)
--- @vararg any @Converts all arguments to strings and prints them with no spacing or line breaks.
function _G.Error(...)
end
--- Throws a Lua error but does not break out of the current call stack.
--- This function will not print a stack trace like a normal error would.
--- Essentially similar if not equivalent to Global.Msg.
--- @vararg any @Converts all arguments to strings and prints them with no spacing.
function _G.ErrorNoHalt(...)
end
--- Throws a Lua error but does not break out of the current call stack.
--- This function will print a stack trace like a normal error would.
--- @vararg any @Converts all arguments to strings and prints them with no spacing.
function _G.ErrorNoHaltWithStack(...)
end
--- Returns the angles of the current render context as calculated by GM:CalcView.
--- 🦟 **BUG**: [This function is only reliable inside rendering hooks.](https://github.com/Facepunch/garrysmod-issues/issues/2516)
--- @return GAngle @The angle of the currently rendered scene.
function _G.EyeAngles()
end
--- Returns the origin of the current render context as calculated by GM:CalcView.
--- 🦟 **BUG**: [This function is only reliable inside rendering hooks.](https://github.com/Facepunch/garrysmod-issues/issues/2516)
--- @return GVector @Camera position.
function _G.EyePos()
end
--- Returns the normal vector of the current render context as calculated by GM:CalcView, similar to Global.EyeAngles.
--- 🦟 **BUG**: [This function is only reliable inside rendering hooks.](https://github.com/Facepunch/garrysmod-issues/issues/2516)
--- @return GVector @View direction of the currently rendered scene.
function _G.EyeVector()
end
--- Returns the meta table for the class with the matching name.
--- Internally returns debug.getregistry()[metaName]
--- You can learn more about meta tables on the Meta Tables page.
--- You can find a list of meta tables that can be retrieved with this function on Enums/TYPE. The name in the description is the string to use with this function.
--- @param metaName string @The object type to retrieve the meta table of.
--- @return table @The corresponding meta table.
function _G.FindMetaTable(metaName)
end
--- Returns the tool-tip text and tool-tip-panel (if any) of the given panel as well as itself
--- @param panel GPanel @Panel to find tool-tip of
--- @return string @tool-tip text
--- @return GPanel @tool-tip panel
--- @return GPanel @panel that the function was called with
function _G.FindTooltip(panel)
end
--- Formats the specified values into the string given. Same as string.format.
--- @param format string @The string to be formatted
--- @vararg any @Values to be formatted into the string.
--- @return string @The formatted string
function _G.Format(format, ...)
end
--- Returns the number of frames rendered since the game was launched.
function _G.FrameNumber()
end
--- Returns the Global.CurTime-based time in seconds it took to render the last frame.
--- This should be used for frame/tick based timing, such as movement prediction or animations.
--- For real-time-based frame time that isn't affected by `host_timescale`, use Global.RealFrameTime. RealFrameTime is more suited for things like GUIs or HUDs.
--- @return number @time (in seconds)
function _G.FrameTime()
end
--- This function adds all models from a specified folder to a custom Spawnlist category. Internally uses Global.AddPropsOfParent
--- ⚠ **WARNING**: Using this function before SANDBOX:PopulateContent has been called will result in an error
--- @param folder? string @the folder to search for models
--- @param path? string @The path to look for the files and directories in
--- @param name? string @The Spawnmenu Category name
--- @param icon? string @The Spawnmenu Category Icon to use
--- @param appid? number @The AppID which is needed for the Content
function _G.GenerateSpawnlistFromPath(folder, path, name, icon, appid)
end
--- Gets the ConVar with the specified name.
--- ℹ **NOTE**: This function uses Global.GetConVar_Internal internally, but caches the result in Lua for quicker lookups.
--- ⚠ **WARNING**: Due to this function using Global.GetConVar_Internal internally it tends to be relatively slow. Please attempt to 'cache' the return of what you used to make it instead of using this function.
--- Example:
--- ```
--- local exampleConvar = CreateClientConVar("exampleConvar", "hi")
--- print(exampleConvar:GetString())
--- ```
--- @param name string @Name of the ConVar to get
--- @return GConVar @The ConVar object, or nil if no such ConVar was found.
function _G.GetConVar(name)
end
--- 🛑 **DEPRECATED**: Store the ConVar object retrieved with Global.GetConVar and call ConVar:GetInt or ConVar:GetFloat on it.
--- Gets the numeric value ConVar with the specified name.
--- @param name string @Name of the ConVar to get.
--- @return number @The ConVar's value.
function _G.GetConVarNumber(name)
end
--- 🛑 **DEPRECATED**: Store the ConVar object retrieved with Global.GetConVar and call ConVar:GetString on it.
--- Gets the string value ConVar with the specified name.
--- @param name string @Name of the ConVar to get.
--- @return string @The ConVar's value.
function _G.GetConVarString(name)
end
--- Returns an angle that is shared between the server and all clients.
--- @param index? string @The unique index to identify the global value with.
--- @param default? GAngle @The value to return if the global value is not set.
--- @return GAngle @The global value, or default if the global is not set.
function _G.GetGlobal2Angle(index, default)
end
--- Returns a boolean that is shared between the server and all clients.
--- @param index? string @The unique index to identify the global value with.
--- @param default? boolean @The value to return if the global value is not set.
--- @return boolean @The global value, or the default if the global value is not set.
function _G.GetGlobal2Bool(index, default)
end
--- Returns an entity that is shared between the server and all clients.
--- @param index? string @The unique index to identify the global value with.
--- @param default? GEntity @The value to return if the global value is not set.
--- @return GEntity @The global value, or the default if the global value is not set.
function _G.GetGlobal2Entity(index, default)
end
--- Returns a float that is shared between the server and all clients.
--- @param index? string @The unique index to identify the global value with.
--- @param default? number @The value to return if the global value is not set.
--- @return number @The global value, or the default if the global value is not set.
function _G.GetGlobal2Float(index, default)
end
--- Returns an integer that is shared between the server and all clients.
--- ⚠ **WARNING**: The integer has a 32 bit limit. Use Global.GetGlobalInt for a higher limit
--- @param index? string @The unique index to identify the global value with.
--- @param default? number @The value to return if the global value is not set.
--- @return number @The global value, or the default if the global value is not set.
function _G.GetGlobal2Int(index, default)
end
--- Returns a string that is shared between the server and all clients.
--- @param index string @The unique index to identify the global value with.
--- @param default string @The value to return if the global value is not set.
--- @return string @The global value, or the default if the global value is not set.
function _G.GetGlobal2String(index, default)
end
--- Returns a value that is shared between the server and all clients.
--- @param index? string @The unique index to identify the global value with.
--- @param default? any @The value to return if the global value is not set.
--- @return any @The global value, or the default if the global value is not set.
function _G.GetGlobal2Var(index, default)
end
--- Returns a vector that is shared between the server and all clients.
--- @param Index string @The unique index to identify the global value with.
--- @param Default GVector @The value to return if the global value is not set.
--- @return GVector @The global value, or the default if the global value is not set.
function _G.GetGlobal2Vector(Index, Default)
end
--- Returns an angle that is shared between the server and all clients.
--- @param index string @The unique index to identify the global value with.
--- @param default GAngle @The value to return if the global value is not set.
--- @return GAngle @The global value, or default if the global is not set.
function _G.GetGlobalAngle(index, default)
end
--- Returns a boolean that is shared between the server and all clients.
--- @param index? string @The unique index to identify the global value with.
--- @param default? boolean @The value to return if the global value is not set.
--- @return boolean @The global value, or the default if the global value is not set.
function _G.GetGlobalBool(index, default)
end
--- Returns an entity that is shared between the server and all clients.
--- @param index? string @The unique index to identify the global value with.
--- @param default? GEntity @The value to return if the global value is not set.
--- @return GEntity @The global value, or the default if the global value is not set.
function _G.GetGlobalEntity(index, default)
end
--- Returns a float that is shared between the server and all clients.
--- @param index? string @The unique index to identify the global value with.
--- @param default? number @The value to return if the global value is not set.
--- @return number @The global value, or the default if the global value is not set.
function _G.GetGlobalFloat(index, default)
end
--- Returns an integer that is shared between the server and all clients.
--- 🦟 **BUG**: [This function will not round decimal values as it actually networks a float internally.](https://github.com/Facepunch/garrysmod-issues/issues/3374)
--- @param index? string @The unique index to identify the global value with.
--- @param default? number @The value to return if the global value is not set.
--- @return number @The global value, or the default if the global value is not set.
function _G.GetGlobalInt(index, default)
end
--- Returns a string that is shared between the server and all clients.
--- @param index string @The unique index to identify the global value with.
--- @param default string @The value to return if the global value is not set.
--- @return string @The global value, or the default if the global value is not set.
function _G.GetGlobalString(index, default)
end
--- Returns a value that is shared between the server and all clients.
--- @param index? string @The unique index to identify the global value with.
--- @param default? any @The value to return if the global value is not set.
--- @return any @The global value, or the default if the global value is not set.
function _G.GetGlobalVar(index, default)
end
--- Returns a vector that is shared between the server and all clients.
--- @param Index string @The unique index to identify the global value with.
--- @param Default GVector @The value to return if the global value is not set.
--- @return GVector @The global value, or the default if the global value is not set.
function _G.GetGlobalVector(Index, Default)
end
--- Returns the panel that is used as a wrapper for the HUD. If you want your panel to be hidden when the main menu is opened, parent it to this. Child panels will also have their controls disabled.
--- See also vgui.GetWorldPanel
--- @return GPanel @The HUD panel
function _G.GetHUDPanel()
end
--- Returns the name of the current server.
--- @return string @The name of the server.
function _G.GetHostName()
end
--- Returns the player whose movement commands are currently being processed. The player this returns can safely have Player:GetCurrentCommand() called on them. See Prediction.
--- @return GPlayer @The player currently being predicted, or NULL if no command processing is currently being done.
function _G.GetPredictionPlayer()
end
--- Creates or gets the rendertarget with the given name.
--- See Global.GetRenderTargetEx for an advanced version of this function with more options.
--- 🦟 **BUG**: [This crashes when used on a cubemap texture.](https://github.com/Facepunch/garrysmod-issues/issues/2885)
--- ⚠ **WARNING**: Rendertargets are not garbage-collected, which means they will remain in memory until you disconnect. So make sure to avoid creating new ones unecessarily and re-use as many of your existing rendertargets as possible to avoid filling up all your memory.
--- ⚠ **WARNING**: Drawing rendertargets on themself can produce odd and unexpected results.
--- ℹ **NOTE**:
--- Calling this function is equivalent to
--- ```lua
--- GetRenderTargetEx(name,
--- width, height,
--- RT_SIZE_NO_CHANGE,
--- MATERIAL_RT_DEPTH_SEPARATE,
--- bit.bor(2, 256),
--- 0,
--- IMAGE_FORMAT_BGRA8888
--- )
--- ```
--- @param name string @The internal name of the render target.
--- @param width number @The width of the render target, must be power of 2
--- @param height number @The height of the render target, must be power of 2
--- @return GITexture @The render target
function _G.GetRenderTarget(name, width, height)
end
--- Gets (or creates if it does not exist) the rendertarget with the given name, this function allows to adjust the creation of a rendertarget more than Global.GetRenderTarget.
--- See also render.PushRenderTarget and render.SetRenderTarget.
--- @param name string @The internal name of the render target
--- @param width number @The width of the render target, must be power of 2.
--- @param height number @The height of the render target, must be power of 2.
--- @param sizeMode number @Bitflag that influences the sizing of the render target, see Enums/RT_SIZE.
--- @param depthMode number @Bitflag that determines the depth buffer usage of the render target Enums/MATERIAL_RT_DEPTH
--- @param textureFlags number @Bitflag that configurates the texture, see Enums/TEXTUREFLAGS
--- @param rtFlags number @Flags that controll the HDR behaviour of the render target, see Enums/CREATERENDERTARGETFLAGS.
--- @param imageFormat number @Image format, see Enums/IMAGE_FORMAT
--- @return GITexture @The new render target.
function _G.GetRenderTargetEx(name, width, height, sizeMode, depthMode, textureFlags, rtFlags, imageFormat)
end
--- Returns if the client is timing out, and time since last ping from the server. Similar to the server side Player:IsTimingOut.
--- @return boolean @Is timing out?
--- @return number @Get time since last pinged received.
function _G.GetTimeoutInfo()
end
--- Returns the entity the client is using to see from (such as the player itself, the camera, or another entity).
--- @return GEntity @The view entity.
function _G.GetViewEntity()
end
--- Converts a color from [HSL color space](https://en.wikipedia.org/wiki/HSL_and_HSV) into RGB color space and returns a Color.
--- 🦟 **BUG**: [The returned color will not have the color metatable.](https://github.com/Facepunch/garrysmod-issues/issues/2407)
--- @param hue number @The hue in degrees from 0-360.
--- @param saturation number @The saturation from 0-1.
--- @param value number @The lightness from 0-1.
--- @return table @The Color created from the HSL color space.
function _G.HSLToColor(hue, saturation, value)
end
--- Converts a color from [HSV color space](https://en.wikipedia.org/wiki/HSL_and_HSV) into RGB color space and returns a Color.
--- 🦟 **BUG**: [The returned color will not have the color metatable.](https://github.com/Facepunch/garrysmod-issues/issues/2407)
--- @param hue number @The hue in degrees from 0-360.
--- @param saturation number @The saturation from 0-1.
--- @param value number @The value from 0-1.
--- @return table @The Color created from the HSV color space.
function _G.HSVToColor(hue, saturation, value)
end
--- Launches an asynchronous http request with the given parameters.
--- 🦟 **BUG**: [This cannot send or receive multiple headers with the same name.](https://github.com/Facepunch/garrysmod-issues/issues/2232)
--- ℹ **NOTE**: HTTP-requests that respond with a large body may return an `unsuccessful` error. Try using the [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) header to download the file in chunks.
--- ℹ **NOTE**:
--- HTTP-requests to destinations on private networks (such as `192.168.0.1`, or `127.0.0.1`) won't work.
--- To enable HTTP-requests to destinations on private networks use Command Line Parameters `-allowlocalhttp`. (Dedicated servers only)
--- @param parameters table @The request parameters
--- @return boolean @`true` if we made a request, `nil` if we failed.
function _G.HTTP(parameters)
end
--- 🛑 **DEPRECATED**: To send the target file to the client simply call AddCSLuaFile() in the target file itself.
--- This function works exactly the same as Global.include both clientside and serverside.
--- The only difference is that on the serverside it also calls Global.AddCSLuaFile on the filename, so that it gets sent to the client.
--- @param filename string @The filename of the Lua file you want to include.
--- @return any @Anything that the executed Lua script returns.
function _G.IncludeCS(filename)
end
--- Returns whether the given object does or doesn't have a `metatable` of a color.
--- 🦟 **BUG**: [Engine functions (i.e. those not written in plain Lua) that return color objects do not currently set the color metatable and this function will return false if you use it on them.](https://github.com/Facepunch/garrysmod-issues/issues/2407)
--- @param Object any @The object to be tested
--- @return boolean @Whether the given object is a color or not
function _G.IsColor(Object)
end
--- Returns if the given NPC class name is an enemy. Returns `true` if the entity name is one of the following:
--- * `monster_alien_grunt`
--- * `monster_nihilanth`
--- * `monster_tentacle`
--- * `monster_alien_slave`
--- * `monster_bigmomma`
--- * `monster_bullchicken`
--- * `monster_gargantua`
--- * `monster_human_assassin`
--- * `monster_babycrab`
--- * `monster_human_grunt`
--- * `monster_cockroach`
--- * `monster_houndeye`
--- * `monster_zombie`
--- * `monster_headcrab`
--- * `monster_alien_controller`
--- * `monster_turret`
--- * `monster_miniturret`
--- * `monster_sentry`
--- * `npc_antlion`
--- * `npc_antlionguard`
--- * `npc_antlionguardian`
--- * `npc_barnacle`
--- * `npc_breen`
--- * `npc_clawscanner`
--- * `npc_combine_s`
--- * `npc_cscanner`
--- * `npc_fastzombie`
--- * `npc_fastzombie_torso`
--- * `npc_headcrab`
--- * `npc_headcrab_fast`
--- * `npc_headcrab_poison`
--- * `npc_hunter`
--- * `npc_metropolice`
--- * `npc_manhack`
--- * `npc_poisonzombie`
--- * `npc_strider`
--- * `npc_stalker`
--- * `npc_zombie`
--- * `npc_zombie_torso`
--- * `npc_zombine`
--- * `npc_combine_camera`
--- * `npc_turret_ceiling`
--- * `npc_combinedropship`
--- * `npc_combinegunship`
--- * `npc_helicopter`
--- * `npc_turret_floor`
--- * `npc_antlion_worker`
--- * `npc_headcrab_black`
--- @param className string @Class name of the entity to check.
--- @return boolean @Is an enemy?
function _G.IsEnemyEntityName(className)
end
--- Returns if this is the first time this hook was predicted.
--- This is useful for one-time logic in your SWEPs PrimaryAttack, SecondaryAttack and Reload and other (to prevent those hooks from being called rapidly in succession). It's also useful in a Move hook for when the client predicts movement.
--- Visit Prediction for more information about this behavior.
--- ℹ **NOTE**: This is already used internally for Entity:EmitSound, Weapon:SendWeaponAnim and Entity:FireBullets, but NOT in util.Effect.
--- @return boolean @Whether or not this is the first time being predicted.
function _G.IsFirstTimePredicted()
end
--- Returns if the given NPC class name is a friend. Returns `true` if the entity name is one of the following:
--- * `monster_scientist`
--- * `monster_barney`
--- * `npc_alyx`
--- * `npc_barney`