# Table of Contents - [Overview | Lua API](#overview-lua-api) - [First Steps | Lua API](#first-steps-lua-api) - [Adding UI | Lua API](#adding-ui-lua-api) - [Guidelines | Lua API](#guidelines-lua-api) - [Examples | Lua API](#examples-lua-api) - [Creating Libraries | Lua API](#creating-libraries-lua-api) - [Counter control | Lua API](#counter-control-lua-api) - [Publishing Tool | Lua API](#publishing-tool-lua-api) - [Creating scripts | Lua API](#creating-scripts-lua-api) - [Updating Items | Lua API](#updating-items-lua-api) - [Getting Started | Lua API](#getting-started-lua-api) - [Libraries & Dependencies | Lua API](#libraries-dependencies-lua-api) - [Step By Step Guide | Lua API](#step-by-step-guide-lua-api) - [Branches | Lua API](#branches-lua-api) - [Bundled Assets | Lua API](#bundled-assets-lua-api) - [Global Functions | Lua API](#global-functions-lua-api) - [Instances | Lua API](#instances-lua-api) - [Unknown](#unknown) - [Unknown](#unknown) - [Event_t | Lua API](#event-t-lua-api) - [math | Lua API](#math-lua-api) - [events | Lua API](#events-lua-api) - [mods | Lua API](#mods-lua-api) - [Events_t | Lua API](#events-t-lua-api) - [CGameUIFuncs | Lua API](#cgameuifuncs-lua-api) - [CGlobalVarsBase | Lua API](#cglobalvarsbase-lua-api) - [CInputSystem | Lua API](#cinputsystem-lua-api) - [PenResult_t | Lua API](#penresult-t-lua-api) - [CEngineClient | Lua API](#cengineclient-lua-api) - [CCSGOInput | Lua API](#ccsgoinput-lua-api) - [ConVar | Lua API](#convar-lua-api) - [CNetChan | Lua API](#cnetchan-lua-api) - [game | Lua API](#game-lua-api) - [Types | Lua API](#types-lua-api) - [CCVar | Lua API](#ccvar-lua-api) - [Adapter | Lua API](#adapter-lua-api) - [penetration | Lua API](#penetration-lua-api) - [Enums | Lua API](#enums-lua-api) - [OutlineMode | Lua API](#outlinemode-lua-api) - [ShadowDir | Lua API](#shadowdir-lua-api) - [ClientFrameStage_t | Lua API](#clientframestage-t-lua-api) - [Types | Lua API](#types-lua-api) - [Accessor | Lua API](#accessor-lua-api) - [CPlane | Lua API](#cplane-lua-api) - [CGameEntitySystem | Lua API](#cgameentitysystem-lua-api) - [Managed | Lua API](#managed-lua-api) - [Rounding | Lua API](#rounding-lua-api) - [InputBitMask_t | Lua API](#inputbitmask-t-lua-api) - [Shader | Lua API](#shader-lua-api) - [LuaTraceFilter_t | Lua API](#luatracefilter-t-lua-api) - [Particle_t | Lua API](#particle-t-lua-api) - [Texture | Lua API](#texture-lua-api) - [Ray_t | Lua API](#ray-t-lua-api) - [GlowParts | Lua API](#glowparts-lua-api) - [MouseButton | Lua API](#mousebutton-lua-api) - [ParticleAttachment_t | Lua API](#particleattachment-t-lua-api) - [Vec2 | Lua API](#vec2-lua-api) - [ControlID | Lua API](#controlid-lua-api) - [Context | Lua API](#context-lua-api) - [User_t | Lua API](#user-t-lua-api) - [NotificationSystem | Lua API](#notificationsystem-lua-api) - [EntityList_t | Lua API](#entitylist-t-lua-api) - [CSWeaponMode | Lua API](#csweaponmode-lua-api) - [EntityEntry_t | Lua API](#entityentry-t-lua-api) - [Notification | Lua API](#notification-lua-api) - [ObserverMode_t | Lua API](#observermode-t-lua-api) - [RefHolder_t | Lua API](#refholder-t-lua-api) - [CFiringMode | Lua API](#cfiringmode-lua-api) - [CSWeaponCategory | Lua API](#csweaponcategory-lua-api) - [draw | Lua API](#draw-lua-api) - [CGameTrace | Lua API](#cgametrace-lua-api) - [VecColor | Lua API](#veccolor-lua-api) - [CPhysicsQueryInterface | Lua API](#cphysicsqueryinterface-lua-api) - [Types | Lua API](#types-lua-api) - [panorama | Lua API](#panorama-lua-api) - [HitGroup_t | Lua API](#hitgroup-t-lua-api) - [TextParams | Lua API](#textparams-lua-api) - [Bits | Lua API](#bits-lua-api) - [Vector4D | Lua API](#vector4d-lua-api) - [http | Lua API](#http-lua-api) - [Color | Lua API](#color-lua-api) - [Ptr | Lua API](#ptr-lua-api) - [CViewSetup | Lua API](#cviewsetup-lua-api) - [ws | Lua API](#ws-lua-api) - [EHitBox | Lua API](#ehitbox-lua-api) - [CCSWeaponBaseVData | Lua API](#ccsweaponbasevdata-lua-api) - [CSWeaponType | Lua API](#csweapontype-lua-api) - [CHandle | Lua API](#chandle-lua-api) - [FontBase | Lua API](#fontbase-lua-api) - [EspItemPos | Lua API](#espitempos-lua-api) - [Command | Lua API](#command-lua-api) - [CBaseAnimGraph | Lua API](#cbaseanimgraph-lua-api) - [entities | Lua API](#entities-lua-api) - [schema_class_t | Lua API](#schema-class-t-lua-api) - [C_CSWeaponBase | Lua API](#c-csweaponbase-lua-api) - [gui | Lua API](#gui-lua-api) - [schema_ptr_accessor_t | Lua API](#schema-ptr-accessor-t-lua-api) - [CHitboxInfo | Lua API](#chitboxinfo-lua-api) - [SchemaAccessor_t | Lua API](#schemaaccessor-t-lua-api) - [ControlContainer | Lua API](#controlcontainer-lua-api) - [C_BaseCSGrenadeProjectile | Lua API](#c-basecsgrenadeprojectile-lua-api) - [Container | Lua API](#container-lua-api) - [CUserCmd | Lua API](#cusercmd-lua-api) - [GameEvent_t | Lua API](#gameevent-t-lua-api) - [PlayerEntryVisualData | Lua API](#playerentryvisualdata-lua-api) - [ContextInput | Lua API](#contextinput-lua-api) - [C_CSPlayerController | Lua API](#c-csplayercontroller-lua-api) - [Rect | Lua API](#rect-lua-api) - [C_CSWeaponBaseGun | Lua API](#c-csweaponbasegun-lua-api) - [EItemDefinitionIndex | Lua API](#eitemdefinitionindex-lua-api) - [Color | Lua API](#color-lua-api) - [PlayerInfoCallbackData | Lua API](#playerinfocallbackdata-lua-api) - [C_BaseEntity | Lua API](#c-baseentity-lua-api) - [C_CSPlayerPawn | Lua API](#c-csplayerpawn-lua-api) - [Vector | Lua API](#vector-lua-api) - [ValueParam | Lua API](#valueparam-lua-api) - [Button | Lua API](#button-lua-api) - [Selectable | Lua API](#selectable-lua-api) - [Spacer | Lua API](#spacer-lua-api) - [ControlType | Lua API](#controltype-lua-api) - [utils | Lua API](#utils-lua-api) - [Label | Lua API](#label-lua-api) - [Checkbox | Lua API](#checkbox-lua-api) - [TextInput | Lua API](#textinput-lua-api) - [ColorPicker | Lua API](#colorpicker-lua-api) --- # Overview | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/overview.md) . ### [](https://lua2.fatality.win/#official-lua-api-documentation-for-fatality.win) Official lua API documentation for [fatality.win](https://fatality.win/) ​ [NextCreating scripts](https://lua2.fatality.win/introduction/creating-scripts) Last updated 4 months ago --- # First Steps | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/introduction/creating-scripts/first-steps.md) . Now that you’ve covered the essentials, it’s time to start scripting. ### [](https://lua2.fatality.win/introduction/creating-scripts/first-steps#fire-up-a-text-editor) Fire up a text editor Feel free to use any text editor you prefer: [Visual Studio Code](https://code.visualstudio.com/) , [Notepad++](https://notepad-plus-plus.org/downloads/) , or even a simple Notepad. Local scripts are located here: `/game/csgo/fatality/scripts`. You may notice there's also a `lib` directory, but we’ll get to that later. Create a new file ending with `.lua`, and begin your work on the script. `.ljbc` format cannot be loaded from local sources. ### [](https://lua2.fatality.win/introduction/creating-scripts/first-steps#writing-your-first-script) Writing your first script A typical “Hello world!” example can be a bit trivial, so let’s try something slightly more advanced instead. Copy local function onPresentQueue() local d = draw.surface; d.font = draw.fonts['gui_main']; d:AddText(draw.Vec2(50, 50), 'Hello drawing! My first script speaking.', draw.Color.White() ); end events.presentQueue:Add(onPresentQueue); Now, let's break down this example script: ### [](https://lua2.fatality.win/introduction/creating-scripts/first-steps#defining-a-callback-function) Defining a callback function Most of your scripting will run within [several callbacks](https://lua2.fatality.win/api/instances/events) we provide. Each event has its own signature, so pay attention to the parameters your callback function should accept. `presentQueue` doesn’t provide any parameters, so our function doesn’t need any either. Defining something `local` is optional, although recommended for clearer scope management. ### [](https://lua2.fatality.win/introduction/creating-scripts/first-steps#accessing-drawing-layer) Accessing drawing layer With the callback function defined, let’s actually render something on the screen! To do this, you first need to access the [drawing layer](https://lua2.fatality.win/api/instances/draw) . We provide a single drawing layer that’s safe to use within the game thread. Due to how the game functions internally, it’s strongly discouraged to call game functions in other threads. Luckily all of our events run in the game thread. This setup allows you not only to draw but also to query information on player health or other entities. To access the layer, simply reference the `surface` field in the `draw` table: You don't have to store it in a variable, but it would be nicer if you don't have to type out `draw.surface` every time, right? #### [](https://lua2.fatality.win/introduction/creating-scripts/first-steps#setting-a-font) Setting a font After retrieving the layer, you must set a font object before drawing any text on the screen. This is purely for performance reasons, so you don’t have to pass a heavy font object every time you draw text. All fonts are stored in [`draw.fonts`](https://lua2.fatality.win/api/instances/draw#fonts) . To access a font, either use dot syntax, or treat it like a dictionary: #### [](https://lua2.fatality.win/introduction/creating-scripts/first-steps#drawing-text) Drawing text With the font set, it’s time to draw some text. Invoke the [`AddText`](https://lua2.fatality.win/api/instances/draw/layer#addtext) method on the layer. Notice that it’s called using the colon syntax: `obj:fn()`, because it’s a method. You can also invoke methods with a dot syntax, as long as you provide the object in the first argument. Both calls: `obj:fn()` and `obj.fn(obj)` are identical. #### [](https://lua2.fatality.win/introduction/creating-scripts/first-steps#registering-a-callback) Registering a callback Now that you’ve created your first callback, you need to register it so Fatality knows to invoke it. This is done by calling the [`Add`](https://lua2.fatality.win/api/instances/events/event_t#add) method on [`events.presentQueue`](https://lua2.fatality.win/api/instances/events#presentqueue) . ### [](https://lua2.fatality.win/introduction/creating-scripts/first-steps#result) Result That's it! If you've done everything correctly, you should see something like this: ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FcGKDJJzgdAGaEE8p9Bbk%252Ffs.png%3Falt%3Dmedia%26token%3Dd7299e15-9a51-42b2-a9ce-75b00967585a&width=768&dpr=3&quality=100&sign=c345e93d&sv=2) My first lua ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2Flua.fatality.win%2Fimages%2Ffs.png&width=768&dpr=3&quality=100&sign=6bf96206&sv=2) [PreviousCreating scripts](https://lua2.fatality.win/introduction/creating-scripts) [NextAdding UI](https://lua2.fatality.win/introduction/creating-scripts/adding-ui) Last updated 3 months ago * [Fire up a text editor](https://lua2.fatality.win/introduction/creating-scripts/first-steps#fire-up-a-text-editor)  * [Writing your first script](https://lua2.fatality.win/introduction/creating-scripts/first-steps#writing-your-first-script)  * [Defining a callback function](https://lua2.fatality.win/introduction/creating-scripts/first-steps#defining-a-callback-function)  * [Accessing drawing layer](https://lua2.fatality.win/introduction/creating-scripts/first-steps#accessing-drawing-layer)  * [Result](https://lua2.fatality.win/introduction/creating-scripts/first-steps#result)  Copy local function onPresentQueue() end Copy local d = draw.surface; Copy d.font = draw.fonts['gui_main']; Copy d:AddText(draw.Vec2(50, 50), 'Hello drawing! My first script speaking brev.', draw.Color.White() ); Copy events.presentQueue:add(onPresentQueue); --- # Adding UI | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/introduction/creating-scripts/adding-ui.md) . [](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#adding-ui.md) Adding UI -------------------------------------------------------------------------------------------------- Now that you know the basics, let’s extend our script by allowing the user to toggle the text. We can do this by adding a control to the menu. ### [](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#creating-a-control) Creating a control Let’s start by creating a simple checkbox: Copy local cb = gui.Checkbox('my_checkbox'); Each control has a unique ID, which the UI framework uses to distinguish controls within containers. It’s very important that your control’s ID doesn’t conflict with others, as that could result in a broken state or worse. To create the ID, call `gui.ControlID` and pass the desired ID, or just pass a simple string instead. Then, create the checkbox by calling `gui.Checkbox` and passing the ID you've chosen. ### [](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#constructing-the-row) Constructing the row By default, controls are typically placed in rows - layouts that stack elements in a specific manner. We provide a simple helper function - `gui.MakeControl`. Copy local row = gui.MakeControl('My checkbox', cb); You may also create both the control and the checkbox, or any other menu element, at the same time using `gui.MakeControlEasy` ! Copy local cb, row = gui.MakeControlEasy('my_checkbox', 'My checkbox', 'checkbox') ### [](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#adding-the-row-to-a-group) Adding the row to a group With the control and row ready, let’s add them to a group. To view group and control IDs, you can enable Debug mode in the SCRIPTS tab. In this example, we'll use the `lua>elements a` group. First, locate that group in the global context: Then call its `Add` method to include your row: That's it! It is very important to call `Reset()` method if you add multiple controls, so the layout will stack everything correctly. ### [](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#using-the-value) Using the value Next, let’s modify our previous script so the text only appears if the checkbox is checked. Wrap your drawing code in an `if` statement before rendering the text: and close it after. The final script should look something like this: And here's the result: ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252Ft2rS80HPY7FE8eAAdZwF%252Fex1.png%3Falt%3Dmedia%26token%3D7b24e2df-0fd3-4685-8f99-a73765239491&width=768&dpr=3&quality=100&sign=f560b371&sv=2) [PreviousFirst Steps](https://lua2.fatality.win/introduction/creating-scripts/first-steps) [NextCreating Libraries](https://lua2.fatality.win/introduction/creating-scripts/creating-libraries) Last updated 3 months ago * [Adding UI](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#adding-ui.md)  * [Creating a control](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#creating-a-control)  * [Constructing the row](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#constructing-the-row)  * [Adding the row to a group](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#adding-the-row-to-a-group)  * [Using the value](https://lua2.fatality.win/introduction/creating-scripts/adding-ui#using-the-value)  Copy local group = gui.ctx:Find('lua>elements a'); Copy group:Add(row); Copy if cb:GetValue():Get() then Copy local cb, row = gui.MakeControlEasy('my_checkbox', 'Checkbox', 'checkbox'); local group = gui.ctx:Find('lua>elements a'); group:Add(row); local function onPresentQueue() if cb:GetValue():Get() then local d = draw.surface; d.font = draw.fonts['gui_main']; d:AddText(draw.Vec2(50, 50), 'Hello drawing! My first script speaking.', draw.color.White() ); end end events.presentQueue:Add(onPresentQueue); --- # Guidelines | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/guidelines.md) . All items published on the Storefront must follow these guidelines to keep the Workshop safe, usable, and fair for everyone. ### [](https://lua2.fatality.win/guidelines#id-1.-provide-meaningful-descriptions) 1\. Provide meaningful descriptions Your description should clearly explain what the item does, what it requires, and any limitations it may have. Do not use vague, misleading, or clickbait-style descriptions. End users should know exactly what they are getting before they subscribe to or purchase an item. ### [](https://lua2.fatality.win/guidelines#id-2.-make-meaningful-and-unique-items) 2\. Make meaningful and unique items Trivial one-line scripts, spam items, commonly made items that don't provide anything new or submissions with no truly meaningful functionality are not allowed. Workshop content should be fresh and interesting for the users, so all items must undergo a quality assurance to ensure they're not polluting the workshop with junk content. ### [](https://lua2.fatality.win/guidelines#id-3.-respect-capability-requests) 3\. Respect capability requests Always use the provided APIs and tools in a way that respects user choice of permissions. Do not attempt to bypass or override capability restrictions. If your item does not need filesystem access, for example, you must not request it. ### [](https://lua2.fatality.win/guidelines#id-4.-practice-fair-market-behavior) 4\. Practice fair market behavior Artificial price dumping, manipulative pricing strategies, or exploitative sales tactics are not allowed. The Workshop should remain a healthy, competitive, and sustainable marketplace for all developers. ### [](https://lua2.fatality.win/guidelines#id-5.-do-not-publish-malicious-code) 5\. Do not publish malicious code This includes malware, exploits, spyware, or any script designed to harm users or their systems. While beta branches exist for unverified testing, all items submitted to live must be safe and secure. Any attempt to sneak in harmful code will result in removal and possible bans. ### [](https://lua2.fatality.win/guidelines#id-6.-ensure-compatibility-with-existing-features) 6\. Ensure compatibility with existing features Scripts and configs must not intentionally disrupt core software features, other Workshop items, or the overall stability of the platform. If your item modifies functionality, it must do so safely and predictably. ### [](https://lua2.fatality.win/guidelines#id-7.-keep-content-respectful) 7\. Keep content respectful Item names, descriptions, scripts, and configs must not contain harassment, hate speech, targeted attacks, or inappropriate material. All content must follow the same standards as the forum and community guidelines. ### [](https://lua2.fatality.win/guidelines#id-8.-maintain-and-update-your-items) 8\. Maintain and update your items If your script or config breaks due to updates in the core software or APIs, you are responsible for updating it. If you choose to stop maintaining an item, you must clearly mark it as deprecated so users are not misled. ### [](https://lua2.fatality.win/guidelines#id-9.-be-transparent-with-monetization) 9\. Be transparent with monetization Paid items must disclose exactly what features are included. You may not hide critical functionality behind unexpected paywalls or release crippled versions that require additional payment to work as advertised. ### [](https://lua2.fatality.win/guidelines#id-10.-respect-licensing-and-attribution) 10\. Respect licensing and attribution If your item uses external code, libraries, or assets, you are responsible for ensuring that you follow their licensing terms. Proper credit must be given where required, and you may not repackage or sell work you do not have rights to. [PreviousGetting Started](https://lua2.fatality.win/workshop/getting-started) [NextPublishing Tool](https://lua2.fatality.win/publishing-tool) Last updated 3 months ago * [1\. Provide meaningful descriptions](https://lua2.fatality.win/guidelines#id-1.-provide-meaningful-descriptions) * [2\. Make meaningful and unique items](https://lua2.fatality.win/guidelines#id-2.-make-meaningful-and-unique-items) * [3\. Respect capability requests](https://lua2.fatality.win/guidelines#id-3.-respect-capability-requests) * [4\. Practice fair market behavior](https://lua2.fatality.win/guidelines#id-4.-practice-fair-market-behavior) * [5\. Do not publish malicious code](https://lua2.fatality.win/guidelines#id-5.-do-not-publish-malicious-code) * [6\. Ensure compatibility with existing features](https://lua2.fatality.win/guidelines#id-6.-ensure-compatibility-with-existing-features) * [7\. Keep content respectful](https://lua2.fatality.win/guidelines#id-7.-keep-content-respectful) * [8\. Maintain and update your items](https://lua2.fatality.win/guidelines#id-8.-maintain-and-update-your-items) * [9\. Be transparent with monetization](https://lua2.fatality.win/guidelines#id-9.-be-transparent-with-monetization) * [10\. Respect licensing and attribution](https://lua2.fatality.win/guidelines#id-10.-respect-licensing-and-attribution) --- # Examples | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/introduction/examples.md) . ### [](https://lua2.fatality.win/introduction/examples#hello-fellow-developer) Hello, fellow developer! In this section, you'll find Lua examples that you can use to learn about our API. Please note that these examples don't cover the entirety of the API itself, so you'll have to do some exploration by yourself! [PreviousCreating Libraries](https://lua2.fatality.win/introduction/creating-scripts/creating-libraries) [NextCounter control](https://lua2.fatality.win/introduction/examples/counter-control) Last updated 4 months ago --- # Creating Libraries | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/introduction/creating-scripts/creating-libraries.md) . This resource only goes over the basics of library development. If you wish to learn more about libraries, please go [here](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies) . Libraries allow users to write pre-written, reusable code that can be imported anywhere, at any time. This is useful if you often reuse portions of your code in multiple scripts, or if you wish to compartmentalize your scripts and have a cleaner code base. In Fatality, libraries are divided into two categories: `Local` libraries and `Cloud` libraries. Local libraries are located in your `fatality/scripts/lib` folder and may only be used by other local scripts, meanwhile cloud libraries are similar to cloud scripts and can be shared and imported by any other cloud script through the workshop. Despite that difference, libraries follow the same code structure: Copy -- Usually, a 'module' table is created and all of your libraries contents go into it. local M = {} -- You can export functions. function M.MyFunction() print('Call from my library') end -- Or constants. M.MyValue = 979 -- Or any other value. M.MenuElement = gui.Checkbox('external_checkbox') -- At the end of every library, make sure to return the contents you wanna export! return M You may then import said library from another file using either its file name or identifier. [PreviousAdding UI](https://lua2.fatality.win/introduction/creating-scripts/adding-ui) [NextExamples](https://lua2.fatality.win/introduction/examples) Last updated 3 months ago Copy -- In another file. local my_library = require('library') my_library.MyFunction() -- Prints 'Call from my library' print(my_library.MyValue) -- Prints '979' gui.ctx:Find('lua>elements a'):Add(my_library.MenuElement) -- Adds a new checkbox --- # Counter control | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/introduction/examples/counter-control.md) . In our Lua API, we give users the ability to make their own custom menu controls. Here's an example on how to make a simple counter: Copy local Counter = {} do -- Create the metatable for this control. Counter.__index = gui.LuaControlProto() -- Specify any initial data. This is propagated to any LuaControl initialized with this metatable. Counter.__index.initialData = { counter = 0 } -- Override any methods you wish. function Counter.__index:onRender(contents, scrollbar, mins, maxs) contents:AddRectFilled(draw.Rect(mins, maxs), draw.color.White()) contents.font = draw.fonts['gui_bold'] contents:AddText(mins + draw.Vec2(5, 5), tostring(self.data.counter), draw.color.Black()) contents.font = nil end function Counter.__index:onMouseDown(key) if key == gui.MouseButton.LEFT then self.data.counter = self.data.counter + 1 self:LockInput() -- Makes sure you can't drag the menu while clicking. end end function Counter.__index:onMouseUp(key) if key == gui.MouseButton.LEFT then self:UnlockInput() -- Makes sure you can drag menu again after clicking. end end function Counter.create(id, initialValue) local control = gui.LuaControl(id, Counter.__index, draw.Vec2(), draw.Vec2(0, 24)) do control.sizeToParentW = true -- Resizes the control to the width of the container. control.data.counter = initialValue or 0 control.margin = draw.Rect(3, 7, 3, 7) -- Default control margin end return control end end gui.ctx:find('lua>elements a'):add(Counter.create('counter')) With that, you'll have an extremely simple counter that you can click on to increment. ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FjXRKpGfeJgyJB9sdWnsA%252Fimage.png%3Falt%3Dmedia%26token%3De9818112-5a96-4846-9fe3-820ff64b8891&width=768&dpr=3&quality=100&sign=32a5a308&sv=2) [PreviousExamples](https://lua2.fatality.win/introduction/examples) [NextGetting Started](https://lua2.fatality.win/workshop/getting-started) Last updated 3 months ago --- # Publishing Tool | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/publishing-tool.md) . Welcome to the Publishing Tool documentation. * Creating a script: [Step By Step Guide](https://lua2.fatality.win/publishing-tool/step-by-step-guide) * Using branches: [Branches](https://lua2.fatality.win/publishing-tool/branches) * Using libraries: [Libraries & Dependencies](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies) [PreviousGuidelines](https://lua2.fatality.win/guidelines) [NextStep By Step Guide](https://lua2.fatality.win/publishing-tool/step-by-step-guide) Last updated 4 months ago --- # Creating scripts | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/introduction/creating-scripts.md) . #### [](https://lua2.fatality.win/introduction/creating-scripts#welcome-to-the-basics-of-scripting-with-our-api) Welcome to the basics of scripting with our API. Fatality’s API is designed to mirror the software’s internal structure, giving you substantial control over its subsystems. Some features that could cause instability or damage are restricted. ### [](https://lua2.fatality.win/introduction/creating-scripts#basic-concepts) Basic Concepts Our scripting engine uses LuaJIT 2.1 (with minor customizations). It’s fully compatible with Lua 5.1 and includes some Lua 5.2 enhancements. The standard libraries `baselib`, `bit`, `ffi`, `math`, `string` and `table` are available. **Note** that the `ffi` library is **only** available if the **Allow insecure** option is enabled. Refer to [the official Lua documentation](https://www.lua.org/manual/5.1/) for more details. If we ever modify any standard functions, we will document those changes to keep you informed. ### [](https://lua2.fatality.win/introduction/creating-scripts#documentation-overview) Documentation Overview Throughout the API reference, you’ll encounter various labels used to describe a certain method or a field. #### [](https://lua2.fatality.win/introduction/creating-scripts#labels) Labels: `**Field**` `**Function**` `**Method**` `**Constructor**` `**Read only**` `**Insecure only**` `**Overridable**` All the possible labels are listed above. * `**Field**`: this label indicates that the item is a standard **field**. It's type will be explained just below the name. * `**Function**`: this label indicates that the item is a **function**, which you call using a dot syntax (`obj.fn()`). * `**Method**`: this label indicates that the item is a **method**, which is also a function, but it's advised to call it with the colon syntax (`obj:fn()`). * `**Constructor**`: this label indicates that the item is a **constructor** definition. You don't have to call any field in particular, but instead you must invoke the **type itself** (example: `vector` has `__call`, meaning you should invoke it like this: `vector()`). * `**Read Only**`: this label indicates that the item is **read only,** and it's value cannot be changed. Typically, this restriction does not extend to any child elements. * `**Insecure only**`: this label indicates that the item is only available if the **insecure** mode is turned on. * `**Overridable**`: this label indicates that the **method**, can be overridden by the developer and its parent type will inherit any functionalities. ### [](https://lua2.fatality.win/introduction/creating-scripts#argument-and-return-lists) Argument and return lists Arguments and return values are listed in the exact order you must supply or capture them. For instance, if a parameter is shown first, it is to be passed as the first argument to the function. The same goes for return values: the first listed value will be placed in the first variable you declare, and so on. ### [](https://lua2.fatality.win/introduction/creating-scripts#types) Types Some type descriptions have special symbols in place: * `type?` means that the type might be `nil`. * `type` means that inner methods or fields will use `other` type. * `` means that the type will be either `other`, or any of its child types. ### [](https://lua2.fatality.win/introduction/creating-scripts#rules) Rules To keep your scripts safe and easy to use, we have quite a lot of safety measures in place. But, due to how specific stuff works, we are unable to fully make it as safe as possible. Therefore, here are some notes you should know before writing scripts: ### [](https://lua2.fatality.win/introduction/creating-scripts#you-control-the-lua-state) You Control the Lua State You may replace or override API functions, but you’re responsible for maintaining stable behavior. If you encounter any bugs in the default API (**excluding FFI**), please report them so we can address the issue. ### [](https://lua2.fatality.win/introduction/creating-scripts#prioritize-safety) Prioritize Safety Using FFI grants you extensive freedom. Keep in mind that scripts which could harm users in any way are disallowed and will be removed. Whenever possible, rely on the provided API or request additional functionality if you need something not currently offered. Custom “script loaders” are strictly disallowed. ### [](https://lua2.fatality.win/introduction/creating-scripts#keep-the-software-usable) Keep the Software Usable Avoid hiding unrelated UI elements, obstructing user input, or interfering with the overall user experience. Scripts that disrupt functionality or harass users risk removal from the Workshop. [PreviousOverview](https://lua2.fatality.win/) [NextFirst Steps](https://lua2.fatality.win/introduction/creating-scripts/first-steps) Last updated 3 months ago * [Basic Concepts](https://lua2.fatality.win/introduction/creating-scripts#basic-concepts) * [Documentation Overview](https://lua2.fatality.win/introduction/creating-scripts#documentation-overview) * [Argument and return lists](https://lua2.fatality.win/introduction/creating-scripts#argument-and-return-lists) * [Types](https://lua2.fatality.win/introduction/creating-scripts#types) * [Rules](https://lua2.fatality.win/introduction/creating-scripts#rules)  * [You Control the Lua State](https://lua2.fatality.win/introduction/creating-scripts#you-control-the-lua-state)  * [Prioritize Safety](https://lua2.fatality.win/introduction/creating-scripts#prioritize-safety)  * [Keep the Software Usable](https://lua2.fatality.win/introduction/creating-scripts#keep-the-software-usable) --- # Updating Items | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/publishing-tool/updating-items.md) . In order to update an item you need to follow these steps: ### [](https://lua2.fatality.win/publishing-tool/updating-items#upload-a-new-build-and-wait-for-approval) Upload a new build & wait for approval Check [Upload a build](https://lua2.fatality.win/publishing-tool/step-by-step-guide#upload-a-build) on how to upload a build. ### [](https://lua2.fatality.win/publishing-tool/updating-items#set-build-active) Set build active 1. Navigate to **Builds** and find the approved build. 2. Click **Set to branch** 3. Select **Default** branch 4. Click **Save** ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FLmZN9TzJIwM7S9fZFSEU%252Fimage.png%3Falt%3Dmedia%26token%3D928ba0b5-8690-4e2f-b016-52fdcb4f675c&width=768&dpr=3&quality=100&sign=72ac7155&sv=2) After these actions are complete, your new build will be available for users instantly. Builds are **NOT automatically se**t to the **Default** branch upon approval! Once you get the notification that your build has been approved, proceed to set its branch to **Default**. Additionally, you may want to test upcoming builds before they hit the Live item. For that, we recommend looking into [Branches](https://lua2.fatality.win/publishing-tool/branches) . [PreviousStep By Step Guide](https://lua2.fatality.win/publishing-tool/step-by-step-guide) [NextBranches](https://lua2.fatality.win/publishing-tool/branches) Last updated 4 months ago * [Upload a new build & wait for approval](https://lua2.fatality.win/publishing-tool/updating-items#upload-a-new-build-and-wait-for-approval) * [Set build active](https://lua2.fatality.win/publishing-tool/updating-items#set-build-active) --- # Getting Started | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/workshop/getting-started.md) . Workshop allows you to **publish, advertise, and earn** from your items. It provides a broad set of features for both publishers and end users, making the storefront easy to use and reliable to manage. [](https://lua2.fatality.win/workshop/getting-started#core-concepts) Core Concepts --------------------------------------------------------------------------------------- Before publishing, it's important to understand the key concepts used in Workshop: * **Storefront** - the main Workshop UI where users search, view, subscribe to, or purchase items; * **Publishing Tool** - the area where item authors create, update, and manage their entries in the storefront; * **Item** \- a single Workshop entry. This can be a script, a library, or a config; * **Build** - a specific version of an item that gets delivered to the end user; * **Branch** - a channel that holds a single build (e.g. _stable_, _beta_); * **Dependency** - a required library that an item relies on to function; * **Capability** - a permission that unlocks restricted API functions (e.g. filesystem access, clipboard). [](https://lua2.fatality.win/workshop/getting-started#next-steps) Next Steps --------------------------------------------------------------------------------- 1. Read the [Guidelines](https://lua2.fatality.win/guidelines) . 2. Complete a [Step By Step Guide](https://lua2.fatality.win/publishing-tool/step-by-step-guide) tutorial. [PreviousCounter control](https://lua2.fatality.win/introduction/examples/counter-control) [NextGuidelines](https://lua2.fatality.win/guidelines) Last updated 3 months ago * [Core Concepts](https://lua2.fatality.win/workshop/getting-started#core-concepts) * [Next Steps](https://lua2.fatality.win/workshop/getting-started#next-steps) --- # Libraries & Dependencies | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies.md) . Libraries are **specialized items** that are not visible in the Storefront. Instead, they are available for other publishers to reference inside their scripts. ### [](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies#creating-a-library) Creating a Library Creating a library works the same way as creating a script (see[Step By Step Guide](https://lua2.fatality.win/publishing-tool/step-by-step-guide) ). The only difference is that a library requires a **Library ID**. * The Library ID is a unique identifier used by scripts to reference your library. * Without it, other publishers cannot include your library as a dependency. You can create and assign a Library ID in the **General** tab: ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FBGi7Kl5CmIvEufwtHCvK%252Fimage.png%3Falt%3Dmedia%26token%3D9a2eba6d-496a-4a22-925e-e5afb8db4726&width=768&dpr=3&quality=100&sign=c353158e&sv=2) Once published and approved, your library becomes available for others to use as a dependency. ### [](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies#referencing-libraries) Referencing Libraries When your script references a library, the library is automatically loaded alongside your script at runtime. To add a library dependency: 1. Go to the **Dependencies** tab. 2. Click **Add dependency**. 3. Find the library you want to reference and click **Add**. 4. The library will appear in your dependencies list. ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FxRlFwkoSMhhWGoInTzM1%252Fimage.png%3Falt%3Dmedia%26token%3D8cb6f8b9-cc66-4848-b68f-ab672d19bcfb&width=768&dpr=3&quality=100&sign=4bb973e7&sv=2) It is recommended to reference a **specific version** of a library rather than always pulling the latest. This ensures your script continues to work even if the library author publishes breaking changes later. [PreviousBranches](https://lua2.fatality.win/publishing-tool/branches) [NextBundled Assets](https://lua2.fatality.win/publishing-tool/bundled-assets) Last updated 4 months ago * [Creating a Library](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies#creating-a-library) * [Referencing Libraries](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies#referencing-libraries) --- # Step By Step Guide | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/publishing-tool/step-by-step-guide.md) . In this tutorial you’ll create and publish a script to the Storefront. The same flow applies to **Libraries** and **Configs**. ### [](https://lua2.fatality.win/publishing-tool/step-by-step-guide#create-the-item) Create the item Go to **Workshop -> Manage Items** and click **Create new item.** ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FvVdOiKyA0G7UORS6AMUT%252Fimage.png%3Falt%3Dmedia%26token%3D3f15844c-3350-44a7-b751-08606ceaa905&width=768&dpr=3&quality=100&sign=238232&sv=2) Fill out: * **Title** * **Game** (the supported title your script targets) * **Item type** (Script / Library / Config) **Warning:** You cannot change the **item type** later. ### [](https://lua2.fatality.win/publishing-tool/step-by-step-guide#upload-a-build) Upload a build Open the **Builds** tab and click **Upload new build**. ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FHKX2kcmxPfB1FTrB6THG%252Fimage.png%3Falt%3Dmedia%26token%3De0ab0421-ecfb-4353-a989-d01c585a861d&width=768&dpr=3&quality=100&sign=69287afc&sv=2) Fill out: * **Version** (use semantic versioning like `1.0.0` if possible) * **Changelog** (short, factual) * **File upload** (your `.lua` file or a `.zip`) **Note:** You can upload a **ZIP** to bundle assets alongside the script. See [Bundled Assets](https://lua2.fatality.win/publishing-tool/bundled-assets) Click **Save**. The build is created in the **Draft** state. ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252F5bHlRdjS6WO6PEamXIni%252Fimage.png%3Falt%3Dmedia%26token%3D91ae9540-a1e8-410d-b649-3196dc46680b&width=768&dpr=3&quality=100&sign=8057ccd&sv=2) Click **Submit for review**. The build state changes to **Under review**. After moderation approves it, you’ll get a notification and the state changes to **Approved**. ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252Fe3kBP7lfVh1UXBCIPISd%252Fimage.png%3Falt%3Dmedia%26token%3D6036f90f-496b-4742-89cc-2272c3db55f4&width=768&dpr=3&quality=100&sign=3bef1ce1&sv=2) Click **Set to branch** and choose **Default**. This makes the approved build the version users receive when they add your script to their library. **Tip:** Use a **Beta** branch to test new builds with a subset of users before moving them to **Default**. See [Branches](https://lua2.fatality.win/publishing-tool/branches) ### [](https://lua2.fatality.win/publishing-tool/step-by-step-guide#configure-capabilities) Configure capabilities If your script needs restricted APIs (e.g. FFI, filesystem, clipboard), enable the required **Capabilities** so users can grant permission. In **Builds** -> **Capabilities** (right side), select only what you need and click **Save**. ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FPOhbHmjIvTKTd0tMYRi7%252Fimage.png%3Falt%3Dmedia%26token%3D46a5027f-299d-4548-a711-15b0ac693859&width=768&dpr=3&quality=100&sign=9b548637&sv=2) **Best practice:** Request the minimum capabilities your script actually uses. Users will see and approve these. ### [](https://lua2.fatality.win/publishing-tool/step-by-step-guide#prepare-the-storefront-listing) Prepare the Storefront listing Open the **General** tab and complete all fields in the **Release Checklist**. ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252F6fEg38GZ9SYfQ8iBzxPC%252Fimage.png%3Falt%3Dmedia%26token%3D5c91cea6-ea31-4f6c-9bd8-5d48c09fa80f&width=768&dpr=3&quality=100&sign=c0e66572&sv=2) When the checklist is complete, click **Submit for review** on the item. After moderation approves it, the item is automatically published on the **Storefront** and users can purchase or subscribe. [PreviousPublishing Tool](https://lua2.fatality.win/publishing-tool) [NextUpdating Items](https://lua2.fatality.win/publishing-tool/updating-items) Last updated 4 months ago * [Create the item](https://lua2.fatality.win/publishing-tool/step-by-step-guide#create-the-item) * [Upload a build](https://lua2.fatality.win/publishing-tool/step-by-step-guide#upload-a-build) * [Configure capabilities](https://lua2.fatality.win/publishing-tool/step-by-step-guide#configure-capabilities) * [Prepare the Storefront listing](https://lua2.fatality.win/publishing-tool/step-by-step-guide#prepare-the-storefront-listing) --- # Branches | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/publishing-tool/branches.md) . Branches let you create **separate versions of your items** so users can test upcoming builds before they are pushed to the live **Default** branch. Open the **Branches** tab to manage existing branches or create new ones: ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FzLZPt81PT7FCucC0GrA5%252Fimage.png%3Falt%3Dmedia%26token%3Dd09cc930-cda9-4427-9e20-506edfbc9987&width=768&dpr=3&quality=100&sign=a0d01f4d&sv=2) ### [](https://lua2.fatality.win/publishing-tool/branches#creating-a-branch) Creating a branch Click **Add branch**, enter a **branch title**, and confirm. ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252FzJ89HAefrMkxLaE4hsQg%252Fimage.png%3Falt%3Dmedia%26token%3Df9d4a409-a39b-47a9-b1e2-8341c68f8872&width=768&dpr=3&quality=100&sign=59bf840e&sv=2) You can create as many branches as you need. After a branch is created, you can: * **Add users** (they’ll be allowed to opt in). * **Set a price** (makes the branch public so anyone can purchase it). **Note:** Adding users does not automatically enable the branch for them. It only gives them the option to join. ### [](https://lua2.fatality.win/publishing-tool/branches#managing-builds) Managing Builds Branches can hold any builds - both verified and unverified. To assign a build to a branch: 1. Go to the **Builds** tab. 2. Find the build you want to assign. 3. Click **Set branch**. 4. Select the branch and submit. This immediately makes that build available to anyone using the branch. ![](https://lua2.fatality.win/~gitbook/image?url=https%3A%2F%2F2267301601-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FGXl3mJ7rIlEGl0zYZZu0%252Fuploads%252F7JKCoE73e9jpW9tXBeKV%252Fimage.png%3Falt%3Dmedia%26token%3Df086e03b-5d8e-4fb9-8823-03e3aa9ce6b3&width=768&dpr=3&quality=100&sign=2b4e401&sv=2) [PreviousUpdating Items](https://lua2.fatality.win/publishing-tool/updating-items) [NextLibraries & Dependencies](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies) Last updated 4 months ago * [Creating a branch](https://lua2.fatality.win/publishing-tool/branches#creating-a-branch) * [Managing Builds](https://lua2.fatality.win/publishing-tool/branches#managing-builds) --- # Bundled Assets | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/publishing-tool/bundled-assets.md) . If you want to include additional files with your script (e.g. sounds, images, or data), you can bundle them inside a **ZIP archive** with a defined structure. * The archive **must** contain a `script.lua` file in the root. * The archive **must not** contain a `scripts/remote/` directory or any files inside it. All bundled assets are automatically installed to a directory chosen by the API engine. See [ws](https://lua2.fatality.win/api/instances/ws) for usage details. [PreviousLibraries & Dependencies](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies) [NextGlobal Functions](https://lua2.fatality.win/api/global-functions) Last updated 4 months ago --- # Global Functions | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/global-functions.md) . Below is a list of all global functions. By “global”, we mean these functions do not require a preceding namespace - so you can call them directly, unlike other functions. [](https://lua2.fatality.win/api/global-functions#print) print -------------------------------------------------------------------- `**Function**` Prints text to game's console. Automatically inserts a space between parameters. #### [](https://lua2.fatality.win/api/global-functions#arguments) Arguments Name Type Description `...` ... Values to print in the console. **Example** Copy print('Hello world!', 123); -- prints out "Hello world! 123" to the console * * * [](https://lua2.fatality.win/api/global-functions#error) error -------------------------------------------------------------------- `**Function**` Prints an error text to game's console, and shuts down the script. Try to avoid using this function - use it only if an error happens which you can't recover from. #### [](https://lua2.fatality.win/api/global-functions#arguments-1) Arguments Name Type Description `text` string Read [`print`](https://lua2.fatality.win/api/global-functions#print) for documentation. **Example** * * * [](https://lua2.fatality.win/api/global-functions#error-1) unpack ---------------------------------------------------------------------- `**Function**` Unpacks a table of elements. #### [](https://lua2.fatality.win/api/global-functions#arguments-2) Arguments Name Type Description `tbl` `table` Any table **Example** * * * [](https://lua2.fatality.win/api/global-functions#error-2) Delay --------------------------------------------------------------------- `**Function**` Delays a callback by a certain amount of time, in seconds. #### [](https://lua2.fatality.win/api/global-functions#arguments-3) Arguments Name Type Description `delay` `number` Delay, in seconds `callback` `function` Callback **Example** * * * [](https://lua2.fatality.win/api/global-functions#error-3) \_\_shutdown ---------------------------------------------------------------------------- `**Function**` Special function, it's called whenever the script unloads. Isn't called in case of errors. #### [](https://lua2.fatality.win/api/global-functions#arguments-4) Arguments None. **Example** [PreviousBundled Assets](https://lua2.fatality.win/publishing-tool/bundled-assets) [NextInstances](https://lua2.fatality.win/api/instances) Last updated 3 months ago * [print](https://lua2.fatality.win/api/global-functions#print)  * [error](https://lua2.fatality.win/api/global-functions#error)  * [unpack](https://lua2.fatality.win/api/global-functions#error-1) * [Delay](https://lua2.fatality.win/api/global-functions#error-2) * [\_\_shutdown](https://lua2.fatality.win/api/global-functions#error-3) Copy error('Can't recover from this one! Error: ' .. tostring(123)); Copy local message = { 'Hello', 'World' } print(unpack(message)) -- 'Hello world' Copy Delay(0.5, function() print('Print after 0.5 seconds') end) Copy function __shutdown() print('Script was unloaded successfully.') end --- # Instances | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances.md) . [🔢math](https://lua2.fatality.win/api/instances/math) [☎️events](https://lua2.fatality.win/api/instances/events) [🎮game](https://lua2.fatality.win/api/instances/game) [🕹️mods](https://lua2.fatality.win/api/instances/mods) [✏️draw](https://lua2.fatality.win/api/instances/draw) [🙋entities](https://lua2.fatality.win/api/instances/entities) [🖥️gui](https://lua2.fatality.win/api/instances/gui) [🛠️ws](https://lua2.fatality.win/api/instances/ws) [🌐http](https://lua2.fatality.win/api/instances/http) [📷panorama](https://lua2.fatality.win/api/instances/panorama) [⚙️utils](https://lua2.fatality.win/api/instances/utils) [PreviousGlobal Functions](https://lua2.fatality.win/api/global-functions) [Nextmath](https://lua2.fatality.win/api/instances/math) --- # Unknown \# Lua API ## CS2 Lua API - \[Overview\](https://lua2.fatality.win/overview.md) - \[Creating scripts\](https://lua2.fatality.win/introduction/creating-scripts.md) - \[First Steps\](https://lua2.fatality.win/introduction/creating-scripts/first-steps.md) - \[Adding UI\](https://lua2.fatality.win/introduction/creating-scripts/adding-ui.md) - \[Creating Libraries\](https://lua2.fatality.win/introduction/creating-scripts/creating-libraries.md) - \[Examples\](https://lua2.fatality.win/introduction/examples.md) - \[Counter control\](https://lua2.fatality.win/introduction/examples/counter-control.md) - \[Getting Started\](https://lua2.fatality.win/workshop/getting-started.md) - \[Guidelines\](https://lua2.fatality.win/guidelines.md) - \[Publishing Tool\](https://lua2.fatality.win/publishing-tool.md) - \[Step By Step Guide\](https://lua2.fatality.win/publishing-tool/step-by-step-guide.md) - \[Updating Items\](https://lua2.fatality.win/publishing-tool/updating-items.md) - \[Branches\](https://lua2.fatality.win/publishing-tool/branches.md) - \[Libraries & Dependencies\](https://lua2.fatality.win/publishing-tool/libraries-and-dependencies.md) - \[Bundled Assets\](https://lua2.fatality.win/publishing-tool/bundled-assets.md) - \[Global Functions\](https://lua2.fatality.win/api/global-functions.md) - \[Instances\](https://lua2.fatality.win/api/instances.md) - \[math\](https://lua2.fatality.win/api/instances/math.md) - \[events\](https://lua2.fatality.win/api/instances/events.md) - \[Event\\\_t\](https://lua2.fatality.win/api/instances/events/event\_t.md) - \[game\](https://lua2.fatality.win/api/instances/game.md) - \[CGlobalVarsBase\](https://lua2.fatality.win/api/instances/game/cglobalvarsbase.md) - \[CEngineClient\](https://lua2.fatality.win/api/instances/game/cengineclient.md) - \[CNetChan\](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan.md) - \[CCSGOInput\](https://lua2.fatality.win/api/instances/game/ccsgoinput.md) - \[CInputSystem\](https://lua2.fatality.win/api/instances/game/cinputsystem.md) - \[CGameUIFuncs\](https://lua2.fatality.win/api/instances/game/cgameuifuncs.md) - \[CCVar\](https://lua2.fatality.win/api/instances/game/ccvar.md) - \[ConVar\](https://lua2.fatality.win/api/instances/game/ccvar/convar.md) - \[CPhysicsQueryInterface\](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface.md) - \[CPlane\](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cplane.md) - \[CGameTrace\](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace.md) - \[Ray\\\_t\](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray\_t.md) - \[LuaTraceFilter\\\_t\](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter\_t.md) - \[CGameEntitySystem\](https://lua2.fatality.win/api/instances/game/cgameentitysystem.md) - \[Particle\\\_t\](https://lua2.fatality.win/api/instances/game/particle\_t.md) - \[mods\](https://lua2.fatality.win/api/instances/mods.md) - \[penetration\](https://lua2.fatality.win/api/instances/mods/penetration.md) - \[PenResult\\\_t\](https://lua2.fatality.win/api/instances/mods/penetration/penresult\_t.md) - \[Events\\\_t\](https://lua2.fatality.win/api/instances/mods/events\_t.md) - \[draw\](https://lua2.fatality.win/api/instances/draw.md) - \[Types\](https://lua2.fatality.win/api/instances/draw/types.md) - \[Rect\](https://lua2.fatality.win/api/instances/draw/types/rect.md) - \[Vec2\](https://lua2.fatality.win/api/instances/draw/types/vec2.md) - \[Color\](https://lua2.fatality.win/api/instances/draw/types/color.md) - \[Accessor\](https://lua2.fatality.win/api/instances/draw/types/accessor.md) - \[Adapter\](https://lua2.fatality.win/api/instances/draw/adapter.md) - \[Layer\](https://lua2.fatality.win/api/instances/draw/layer.md) - \[OutlineMode\](https://lua2.fatality.win/api/instances/draw/layer/outlinemode.md) - \[Rounding\](https://lua2.fatality.win/api/instances/draw/layer/rounding.md) - \[GlowParts\](https://lua2.fatality.win/api/instances/draw/layer/glowparts.md) - \[TextParams\](https://lua2.fatality.win/api/instances/draw/layer/textparams.md) - \[TextAlignment\](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment.md) - \[ShadowDir\](https://lua2.fatality.win/api/instances/draw/layer/shadowdir.md) - \[Command\](https://lua2.fatality.win/api/instances/draw/layer/command.md) - \[RenderMode\](https://lua2.fatality.win/api/instances/draw/layer/command/rendermode.md) - \[Managed\](https://lua2.fatality.win/api/instances/draw/managed.md) - \[Texture\](https://lua2.fatality.win/api/instances/draw/managed/texture.md) - \[SvgTexture\](https://lua2.fatality.win/api/instances/draw/managed/texture/svgtexture.md) - \[AnimatedTexture\](https://lua2.fatality.win/api/instances/draw/managed/texture/animatedtexture.md) - \[Shader\](https://lua2.fatality.win/api/instances/draw/managed/shader.md) - \[FontBase\](https://lua2.fatality.win/api/instances/draw/managed/fontbase.md) - \[Font\](https://lua2.fatality.win/api/instances/draw/managed/fontbase/font.md) - \[FontGDI\](https://lua2.fatality.win/api/instances/draw/managed/fontbase/fontgdi.md) - \[Glyph\\\_t\](https://lua2.fatality.win/api/instances/draw/managed/fontbase/glyph\_t.md) - \[FontFlags\](https://lua2.fatality.win/api/instances/draw/managed/fontbase/fontflags.md) - \[entities\](https://lua2.fatality.win/api/instances/entities.md) - \[EntityList\\\_t\](https://lua2.fatality.win/api/instances/entities/entitylist\_t.md) - \[EntityEntry\\\_t\](https://lua2.fatality.win/api/instances/entities/entitylist\_t/entityentry\_t.md) - \[C\\\_BaseEntity\](https://lua2.fatality.win/api/instances/entities/c\_baseentity.md) - \[SchemaAccessor\\\_t\](https://lua2.fatality.win/api/instances/entities/c\_baseentity/schemaaccessor\_t.md) - \[schema\\\_ptr\\\_accessor\\\_t\](https://lua2.fatality.win/api/instances/entities/c\_baseentity/schema\_ptr\_accessor\_t.md) - \[schema\\\_class\\\_t\](https://lua2.fatality.win/api/instances/entities/c\_baseentity/schema\_class\_t.md) - \[C\\\_CSWeaponBaseGun\](https://lua2.fatality.win/api/instances/entities/c\_baseentity/c\_csweaponbasegun.md) - \[C\\\_CSPlayerPawn\](https://lua2.fatality.win/api/instances/entities/c\_baseentity/c\_csplayerpawn.md) - \[C\\\_CSPlayerController\](https://lua2.fatality.win/api/instances/entities/c\_baseentity/c\_csplayercontroller.md) - \[CBaseAnimGraph\](https://lua2.fatality.win/api/instances/entities/c\_baseentity/cbaseanimgraph.md) - \[C\\\_CSWeaponBase\](https://lua2.fatality.win/api/instances/entities/c\_baseentity/c\_csweaponbase.md) - \[C\\\_BaseCSGrenadeProjectile\](https://lua2.fatality.win/api/instances/entities/c\_baseentity/c\_basecsgrenadeprojectile.md) - \[CCSWeaponBaseVData\](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata.md) - \[CFiringMode\](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata/cfiringmode.md) - \[CHandle\](https://lua2.fatality.win/api/instances/entities/chandle.md) - \[CSWeaponMode\](https://lua2.fatality.win/api/instances/entities/csweaponmode.md) - \[CSWeaponType\](https://lua2.fatality.win/api/instances/entities/csweapontype.md) - \[EItemDefinitionIndex\](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex.md) - \[CSWeaponCategory\](https://lua2.fatality.win/api/instances/entities/csweaponcategory.md) - \[CHitboxInfo\](https://lua2.fatality.win/api/instances/entities/chitboxinfo.md) - \[EHitBox\](https://lua2.fatality.win/api/instances/entities/ehitbox.md) - \[HitGroup\\\_t\](https://lua2.fatality.win/api/instances/entities/hitgroup\_t.md) - \[ObserverMode\\\_t\](https://lua2.fatality.win/api/instances/entities/observermode\_t.md) - \[gui\](https://lua2.fatality.win/api/instances/gui.md) - \[Types\](https://lua2.fatality.win/api/instances/gui/types.md) - \[Bits\](https://lua2.fatality.win/api/instances/gui/types/bits.md) - \[ControlID\](https://lua2.fatality.win/api/instances/gui/types/controlid.md) - \[Context\](https://lua2.fatality.win/api/instances/gui/context.md) - \[User\\\_t\](https://lua2.fatality.win/api/instances/gui/context/user\_t.md) - \[ContextInput\](https://lua2.fatality.win/api/instances/gui/contextinput.md) - \[MouseButton\](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton.md) - \[NotificationSystem\](https://lua2.fatality.win/api/instances/gui/notificationsystem.md) - \[Notification\](https://lua2.fatality.win/api/instances/gui/notificationsystem/notification.md) - \[Control\](https://lua2.fatality.win/api/instances/gui/control.md) - \[ControlType\](https://lua2.fatality.win/api/instances/gui/control/controltype.md) - \[ValueParam\](https://lua2.fatality.win/api/instances/gui/control/valueparam.md) - \[Checkbox\](https://lua2.fatality.win/api/instances/gui/control/checkbox.md) - \[Slider\](https://lua2.fatality.win/api/instances/gui/control/slider.md) - \[Label\](https://lua2.fatality.win/api/instances/gui/control/label.md) - \[Selectable\](https://lua2.fatality.win/api/instances/gui/control/selectable.md) - \[Button\](https://lua2.fatality.win/api/instances/gui/control/button.md) - \[ColorPicker\](https://lua2.fatality.win/api/instances/gui/control/colorpicker.md) - \[Spacer\](https://lua2.fatality.win/api/instances/gui/control/spacer.md) - \[TextInput\](https://lua2.fatality.win/api/instances/gui/control/textinput.md) - \[ComboBox\](https://lua2.fatality.win/api/instances/gui/control/combobox.md) - \[List\](https://lua2.fatality.win/api/instances/gui/control/list.md) - \[Image\](https://lua2.fatality.win/api/instances/gui/control/image.md) - \[LuaControl\](https://lua2.fatality.win/api/instances/gui/control/luacontrol.md) - \[LuaControlProto\](https://lua2.fatality.win/api/instances/gui/control/luacontrol/luacontrolproto.md) - \[LuaWidgetControl\](https://lua2.fatality.win/api/instances/gui/control/luawidgetcontrol.md) - \[LuaPopupControl\](https://lua2.fatality.win/api/instances/gui/control/luapopupcontrol.md) - \[Window\](https://lua2.fatality.win/api/instances/gui/control/window.md) - \[TabLayoutMode\](https://lua2.fatality.win/api/instances/gui/control/window/tablayoutmode.md) - \[Hotkey\](https://lua2.fatality.win/api/instances/gui/control/hotkey.md) - \[Container\](https://lua2.fatality.win/api/instances/gui/container.md) - \[ControlContainer\](https://lua2.fatality.win/api/instances/gui/container/controlcontainer.md) - \[Settings\](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/settings.md) - \[Layout\](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/layout.md) - \[StackDirection\](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/layout/stackdirection.md) - \[Group\](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/group.md) - \[GroupWidthMode\](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/group/groupwidthmode.md) - \[LuaContainerControl\](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/luacontainercontrol.md) - \[LuaContainerProto\](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/luacontainercontrol/luacontainerproto.md) - \[TabsLayout\](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/tabslayout.md) - \[ws\](https://lua2.fatality.win/api/instances/ws.md) - \[http\](https://lua2.fatality.win/api/instances/http.md) - \[panorama\](https://lua2.fatality.win/api/instances/panorama.md) - \[utils\](https://lua2.fatality.win/api/instances/utils.md) - \[Types\](https://lua2.fatality.win/api/types.md) - \[Ptr\](https://lua2.fatality.win/api/types/ptr.md) - \[RefHolder\\\_t\](https://lua2.fatality.win/api/types/refholder\_t.md) - \[Vector\](https://lua2.fatality.win/api/types/vector.md) - \[Vector4D\](https://lua2.fatality.win/api/types/vector4d.md) - \[VecColor\](https://lua2.fatality.win/api/types/veccolor.md) - \[Color\](https://lua2.fatality.win/api/types/color.md) - \[CViewSetup\](https://lua2.fatality.win/api/types/cviewsetup.md) - \[CUserCmd\](https://lua2.fatality.win/api/types/cusercmd.md) - \[GameEvent\\\_t\](https://lua2.fatality.win/api/types/gameevent\_t.md) - \[PlayerInfoCallbackData\](https://lua2.fatality.win/api/types/playerinfocallbackdata.md) - \[EspItemPos\](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos.md) - \[PlayerEntryVisualData\](https://lua2.fatality.win/api/types/playerentryvisualdata.md) - \[Enums\](https://lua2.fatality.win/api/enums.md) - \[ClientFrameStage\\\_t\](https://lua2.fatality.win/api/enums/clientframestage\_t.md) - \[InputBitMask\\\_t\](https://lua2.fatality.win/api/enums/inputbitmask\_t.md) - \[ParticleAttachment\\\_t\](https://lua2.fatality.win/api/enums/particleattachment\_t.md) --- # Agent Instructions This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com. ## Querying This Documentation If you need additional information, you can query the documentation dynamically by asking a question. Perform an HTTP GET request on a page URL with the \`ask\` query parameter: \`\`\` GET https://lua2.fatality.win/overview.md?ask= \`\`\` The question should be specific, self-contained, and written in natural language. The response will contain a direct answer to the question and relevant excerpts and sources from the documentation. Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections. --- # Unknown \> For the complete documentation index, see \[llms.txt\](https://lua2.fatality.win/llms.txt). Markdown versions of documentation pages are available by appending \`.md\` to page URLs; this page is available as \[Markdown\](https://lua2.fatality.win/overview.md). # Overview ### Official lua API documentation for \[fatality.win\](https://fatality.win/)​ [](https://lua2.fatality.win/overview.md#official-lua-api-documentation-for-fatality.win) \--- # Agent Instructions This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com. ## Querying This Documentation If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question. Perform an HTTP GET request on the current page URL with the \`ask\` query parameter: \`\`\` GET https://lua2.fatality.win/overview.md?ask= \`\`\` The question should be specific, self-contained, and written in natural language. The response will contain a direct answer to the question and relevant excerpts and sources from the documentation. Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections. --- # Event_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/events/event_t.md) . Event usertype. An instance of this type can be found in [`events`](https://lua2.fatality.win/api/instances/events) . [](https://lua2.fatality.win/api/instances/events/event_t#add) Add ------------------------------------------------------------------------ `**Method**` Adds a callback to the event. **Arguments** Name Type Description `fn` `function` Callback function. Arguments that are accepted by the function are dictated by the event instance. **Returns** Nothing. **Example** Copy events.presentQueue:Add(function () -- will be called every time game queues a frame for rendering end); * * * [](https://lua2.fatality.win/api/instances/events/event_t#remove) Remove ------------------------------------------------------------------------------ `**Method**` Removes a callback from the event. **Arguments** Name Type Description `fn` `function` Callback function, that was earlier passed to the `add()` function. **Returns** Nothing. **Example** [Previousevents](https://lua2.fatality.win/api/instances/events) [Nextgame](https://lua2.fatality.win/api/instances/game) Last updated 4 months ago * [Add](https://lua2.fatality.win/api/instances/events/event_t#add)  * [Remove](https://lua2.fatality.win/api/instances/events/event_t#remove)  Copy local function on_present() if some_condition then events.presentQueue:Remove(on_present) end end events.presentQueue:Add(on_present) --- # math | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/math.md) . Usage: math.{func} This table extends the existing `math` table that is a part of Lua. [](https://lua2.fatality.win/api/instances/math#calc-angle) CalcAngle -------------------------------------------------------------------------- `**Function**` Calculates angles between 2 vectors. **Arguments** Name Type Description `src` [`Vector`](https://lua2.fatality.win/api/types/vector) Source vector. `dst` [`Vector`](https://lua2.fatality.win/api/types/vector) Destination vector. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) Angles. **Example** Copy local ang = math.CalcAngle(vec1, vec2); * * * [](https://lua2.fatality.win/api/instances/math#angle-normalize) AngleNormalize ------------------------------------------------------------------------------------ `**Function**` Normalizes an angle. **Arguments** Name Type Description `angle` `float` Input angle. **Returns** Type Description `float` Normalized angle. **Example** * * * [](https://lua2.fatality.win/api/instances/math#approachangles) ApproachAngles ----------------------------------------------------------------------------------- `**Function**` Approaches an angle over time. **Arguments** Name Type Description `from` [`Vector`](https://lua2.fatality.win/api/types/vector) Start angle. `to` [`Vector`](https://lua2.fatality.win/api/types/vector) End angle. `speed` `float` Approach speed. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) Delta angle. **Example** * * * [](https://lua2.fatality.win/api/instances/math#edgepoint) EdgePoint ------------------------------------------------------------------------- `**Function**` Returns a point on the edge of a box. **Arguments** Name Type Description `mins` [`Vector`](https://lua2.fatality.win/api/types/vector) Box mins. `maxs` [`Vector`](https://lua2.fatality.win/api/types/vector) Box maxs. `dir` [`Vector`](https://lua2.fatality.win/api/types/vector) Point direction (angle). `radius` `float` Area radius. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) Point. **Example** * * * [](https://lua2.fatality.win/api/instances/math#lerp) Lerp --------------------------------------------------------------- `**Function**` Linear interpolation. **Arguments** Name Type Description `t1` `float` Start value. `t2` `float` End value. `progress` `float` Interpolation amount. **Returns** Type Description `float` Interpolated value. **Example** * * * [](https://lua2.fatality.win/api/instances/math#vectorangles) VectorAngles ------------------------------------------------------------------------------- `**Function**` Calculates angles from a vector. **Arguments** Name Type Description `forward` [`Vector`](https://lua2.fatality.win/api/types/vector) Source vector. `up` [`Vector`](https://lua2.fatality.win/api/types/vector) Up vector. Defaults to `nil`. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) Angles. **Example** * * * [](https://lua2.fatality.win/api/instances/math#worldtoscreen) WorldToScreen --------------------------------------------------------------------------------- `**Function**` Transforms a point in the game world onto the viewport. **Arguments** Name Type Description `xyz` [`Vector`](https://lua2.fatality.win/api/types/vector) Point in the world. `round` `bool` Whether should round the output. Defaults to `true`. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Point on the viewport. **Example** * * * [](https://lua2.fatality.win/api/instances/math#clamp) Clamp ------------------------------------------------------------------ `**Function**` Clamps a value between min and max. **Arguments** Name Type Description `n` `float` Value. `lower` `float` Lowest value. `upper` `float` Highest value. **Returns** Type Description `float` Clamped value. **Example** * * * [](https://lua2.fatality.win/api/instances/math#remap-val) RemapVal ------------------------------------------------------------------------ `**Function**` Maps the value from one range to another range. **Arguments** Name Type Description `val` `float` Value. `a` `float` Lowest source value. `b` `float` Highest source value. `c` `float` Lowest destination value. `d` `float` Highest destination value. **Returns** Type Description `float` Mapped value. **Example** * * * [](https://lua2.fatality.win/api/instances/math#remapvalclamped) RemapValClamped ------------------------------------------------------------------------------------- `**Function**` Maps the value from one range to another range. Additionally, clamps the value based on the source range. **Arguments** Name Type Description `val` `float` Value. `a` `float` Lowest source value. `b` `float` Highest source value. `c` `float` Lowest destination value. `d` `float` Highest destination value. **Returns** Type Description `float` Mapped value. **Example** * * * [](https://lua2.fatality.win/api/instances/math#vec2) Vec2 ---------------------------------------------------------------- `**Function**` An alias to [`draw.Vec2`](https://lua2.fatality.win/api/instances/math#vec2) . **Example** * * * [](https://lua2.fatality.win/api/instances/math#vec3) Vec3 ---------------------------------------------------------------- `**Function**` An alias to [`Vector`](https://lua2.fatality.win/api/types/vector) . **Example** [PreviousInstances](https://lua2.fatality.win/api/instances) [Nextevents](https://lua2.fatality.win/api/instances/events) Last updated 3 months ago * [CalcAngle](https://lua2.fatality.win/api/instances/math#calc-angle) * [AngleNormalize](https://lua2.fatality.win/api/instances/math#angle-normalize) * [ApproachAngles](https://lua2.fatality.win/api/instances/math#approachangles) * [EdgePoint](https://lua2.fatality.win/api/instances/math#edgepoint) * [Lerp](https://lua2.fatality.win/api/instances/math#lerp) * [VectorAngles](https://lua2.fatality.win/api/instances/math#vectorangles) * [WorldToScreen](https://lua2.fatality.win/api/instances/math#worldtoscreen) * [Clamp](https://lua2.fatality.win/api/instances/math#clamp)  * [RemapVal](https://lua2.fatality.win/api/instances/math#remap-val) * [RemapValClamped](https://lua2.fatality.win/api/instances/math#remapvalclamped) * [Vec2](https://lua2.fatality.win/api/instances/math#vec2)  * [Vec3](https://lua2.fatality.win/api/instances/math#vec3)  Copy local norm = math.AngleNormalize(560); Copy local ang = math.ApproachAngles(from, to, 1.0 / game.globalVars.frame_time); Copy local point = math.EdgePoint(mins, maxs, dir, 5); Copy local mid = math.Lerp(0, 100, 0.5); Copy local ang = math.VectorAngles(fw); Copy local point = math.WorldToScreen(game_point); Copy local x = math.Clamp(50, 5, 25); -- 25 Copy local mapped = math.RemapVal(0.5, 0, 1, 0, 100); -- 50 Copy local mapped = math.RemapValClamped(5, 0, 1, 0, 100); -- 100 Copy local vec = math.Vec2(5, 5); Copy local vec = math.Vec3(5, 12, 5); --- # events | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/events.md) . Usage: events.{event\_name} There are a number of events that Fatality provides to use in the API - from various hooks, to in-game events. Each event entry is an object of [`Event_t`](https://lua2.fatality.win/api/instances/events/event_t) . This table documents events to be used by your scripts. You are not required to remove events when your script unloads. It is done automatically by the API engine. There is an equivalent to an unload or shutdown callback, check it out [here](https://lua2.fatality.win/api/global-functions#error-3) . [](https://lua2.fatality.win/api/instances/events#presentqueue) presentQueue --------------------------------------------------------------------------------- `**Field**` Invoked each time the game queues a frame for rendering. This is the only permitted location for drawing on screen. **Arguments** None. * * * [](https://lua2.fatality.win/api/instances/events#framestagenotify) frameStageNotify ----------------------------------------------------------------------------------------- `**Field**` Invoked every time the game progresses onto another frame stage. This event is called before the game handles a new frame stage. **Arguments** Name Type Description `stage` [`ClientFrameStage_t`](https://lua2.fatality.win/api/enums/clientframestage_t) Current frame stage. * * * [](https://lua2.fatality.win/api/instances/events#renderstartpre) renderStartPre ------------------------------------------------------------------------------------- `**Field**` Invoked every time game starts the scene rendering process. This event is called before the game's function runs. **Arguments** None. * * * [](https://lua2.fatality.win/api/instances/events#renderstartpost) renderStartPost --------------------------------------------------------------------------------------- `**Field**` Invoked every time game starts scene rendering process. This event is called after the game's function runs. **Arguments** Name Type Description `setup` [`CViewSetup`](https://lua2.fatality.win/api/types/cviewsetup) View setup information. * * * [](https://lua2.fatality.win/api/instances/events#setupviewpre) setupViewPre --------------------------------------------------------------------------------- `**Field**` Invoked every time the game sets up the view information. This event is called after the game's function runs. You can retrieve the view information from `game.viewRender` service. **Arguments** None. * * * [](https://lua2.fatality.win/api/instances/events#overrideview) overrideView --------------------------------------------------------------------------------- `**Field**` Invoked every time the game internally overrides view information. You are free to change whatever you like in the provided view setup. **Arguments** Name Type Description `setup` [`CViewSetup`](https://lua2.fatality.win/api/types/cviewsetup) View setup information. * * * [](https://lua2.fatality.win/api/instances/events#createmove) createMove ----------------------------------------------------------------------------- `**Field**` Invoked every time the game processes a game tick. **Arguments** Name Type Description `userCommand` [`CUserCmd`](https://lua2.fatality.win/api/types/cusercmd) Create move information. * * * [](https://lua2.fatality.win/api/instances/events#event) event -------------------------------------------------------------------- `**Field**` Invoked every time a game event fires. We do not listen to every single event that exists in the game. If you need something that we don't listen to, please use [`mods.events`](https://lua2.fatality.win/api/instances/mods#events) **Arguments** Name Type Description `event` [`GameEvent_t`](https://lua2.fatality.win/api/types/gameevent_t) Game event. * * * [](https://lua2.fatality.win/api/instances/events#input) input -------------------------------------------------------------------- `**Field**` Invoked every time the GUI processes input. **Arguments** Name Type Description `msg` int System message. [Documentation](https://learn.microsoft.com/en-us/windows/win32/winmsg/about-messages-and-message-queues#system-defined-messages) `w` int WPARAM. `l` int LPARAM. * * * [](https://lua2.fatality.win/api/instances/events#input-1) menuToggled --------------------------------------------------------------------------- `**Field**` Invoked every time the GUI window is opened or closed. **Arguments** Name Type Description `visible` `boolean` Whether or not the menu is visible. * * * [](https://lua2.fatality.win/api/instances/events#input-2) playerInfoPre ----------------------------------------------------------------------------- `**Field**` Invoked every time **before** the player ESP is rendered. Useful for accessing the rendering layer for visuals or adding new elements to ESP. This doesn't override the software's configuration, meaning that if you have `ESP` disabled for either enemies or teammates, the callback will not be called for those players. **Arguments** Name Type Description `data` [`PlayerInfoCallbackData`](https://lua2.fatality.win/api/types/playerinfocallbackdata) The player ESP data * * * [](https://lua2.fatality.win/api/instances/events#input-3) playerInfoPost ------------------------------------------------------------------------------ `**Field**` Invoked every time **after** the player ESP is rendered. This doesn't override the software's configuration, meaning that if you have `ESP` disabled for either enemies or teammates, the callback will not be called for those players. **Arguments** Name Type Description `data` [`PlayerInfoCallbackData`](https://lua2.fatality.win/api/types/playerinfocallbackdata) The player ESP data [Previousmath](https://lua2.fatality.win/api/instances/math) [NextEvent\_t](https://lua2.fatality.win/api/instances/events/event_t) Last updated 3 months ago * [presentQueue](https://lua2.fatality.win/api/instances/events#presentqueue) * [frameStageNotify](https://lua2.fatality.win/api/instances/events#framestagenotify) * [renderStartPre](https://lua2.fatality.win/api/instances/events#renderstartpre) * [renderStartPost](https://lua2.fatality.win/api/instances/events#renderstartpost) * [setupViewPre](https://lua2.fatality.win/api/instances/events#setupviewpre) * [overrideView](https://lua2.fatality.win/api/instances/events#overrideview) * [createMove](https://lua2.fatality.win/api/instances/events#createmove) * [event](https://lua2.fatality.win/api/instances/events#event)  * [input](https://lua2.fatality.win/api/instances/events#input)  * [menuToggled](https://lua2.fatality.win/api/instances/events#input-1) * [playerInfoPre](https://lua2.fatality.win/api/instances/events#input-2) * [playerInfoPost](https://lua2.fatality.win/api/instances/events#input-3) --- # mods | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/mods.md) . Usage: mods.{mod\_name} This table exposes several mods (short for Module, not Modification), that Fatality uses to operate. [](https://lua2.fatality.win/api/instances/mods#events) events -------------------------------------------------------------------- `**Field**` Type: [`Events_t`](https://lua2.fatality.win/api/instances/mods/events_t) Event manager. Use this mod if you want to listen to more in-game events. [PreviousParticle\_t](https://lua2.fatality.win/api/instances/game/particle_t) [Nextpenetration](https://lua2.fatality.win/api/instances/mods/penetration) Last updated 3 months ago --- # Events_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/mods/events_t.md) . Usage: mods.events.{method} This module lets you manage custom in-game event listener. Please note that the game server knows which events you are listening to. Internally, we only listen to events that will get sent to the client anyway in one way or another. If you decide to listen to something the server generally does not expect, it may cause issues on official servers. [](https://lua2.fatality.win/api/instances/mods/events_t#addlistener) AddListener -------------------------------------------------------------------------------------- `**Method**` Adds a game event to the listener. Internally we listen to the following events: * bullet\_impact * weapon\_fire * bomb\_beginplant * bomb\_abortplant * bomb\_planted * bomb\_defused * bomb\_exploded * round\_start * game\_newmap * map\_shutdown Adding those events to the listener is not needed. **Arguments** Name Type Description `name` `string` Event name. **Returns** Nothing. **Example** [PreviousPenResult\_t](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t) [Nextdraw](https://lua2.fatality.win/api/instances/draw) Last updated 4 months ago Copy mods.events:AddListener('round_end'); --- # CGameUIFuncs | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cgameuifuncs.md) . Usage: game.gameUIFuncs:{method} This type represents the game's UI functions. [](https://lua2.fatality.win/api/instances/game/cgameuifuncs#getbindingforbuttoncode) GetBindingForButtonCode ------------------------------------------------------------------------------------------------------------------ `**Method**` Returns the binding name for a button code. **Arguments** Name Type Description `code` `int` Button code. **Returns** Type Description `string` Binding. **Example** Copy local bind = game.gameUIFuncs:GetBindingForButtonCode(code); [PreviousCInputSystem](https://lua2.fatality.win/api/instances/game/cinputsystem) [NextCCVar](https://lua2.fatality.win/api/instances/game/ccvar) Last updated 4 months ago --- # CGlobalVarsBase | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cglobalvarsbase.md) . Usage: `game.globalVars.{field}` Usage: game.globalVars.{field} An instance of this type provides a way to read several global variables that are used by the game. Changing any of the values is not and will never be supported. [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#real-time) m\_flRealTime --------------------------------------------------------------------------------------------- `**Field**` Type: `float` Time passed since the game start, in seconds. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#frame-count) m\_iFrameCount ------------------------------------------------------------------------------------------------ `**Field**` Type: `int` Amount of frames rendered since the game start. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#abs-frame-time) m\_flAbsFrameTime ------------------------------------------------------------------------------------------------------ `**Field**` Type: `float` Absolute (averaged) frame time. It is calculated over a set of previous frame times, and should not be used for anything that requires accurate frame time like animation. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#max-clients) m\_iMaxClients ------------------------------------------------------------------------------------------------ `**Field**` Type: `int` Maximum amount of clients on the current server. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#ticks-this-frame) m\_iTicksThisFrame --------------------------------------------------------------------------------------------------------- `**Field**` Type: `int` Amount of ticks passed during the currently rendered frame. Any value above 1 might indicate a stall during rendering. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#frame-time) m\_flRenderFrameTime ----------------------------------------------------------------------------------------------------- `**Field**` Type: `float` Time, in which a previous frame was rendered. May be used for animation or by any other means that require accurate frame time. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#cur-time) m\_flCurTime ------------------------------------------------------------------------------------------- `**Field**` Type: `float` Time passed since the server's game start. This does not indicate the accurate time on the server, although in several events it might be synced by the software. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#tick-fraction) m\_flTickFraction ----------------------------------------------------------------------------------------------------- `**Field**` Type: `float` Current tick's fractional value. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#tick-count) m\_iTickCount ---------------------------------------------------------------------------------------------- `**Field**` Type: `int` Ticks passed since the server's game start. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#map-path) m\_szMapPath ------------------------------------------------------------------------------------------- `**Field**` Type: `string` Relative path to current loaded map's file. * * * [](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#map-name) m\_szMapName ------------------------------------------------------------------------------------------- `**Field**` Type: `string` Name of the currently loaded map. [Previousgame](https://lua2.fatality.win/api/instances/game) [NextCEngineClient](https://lua2.fatality.win/api/instances/game/cengineclient) Last updated 3 months ago * [m\_flRealTime](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#real-time) * [m\_iFrameCount](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#frame-count) * [m\_flAbsFrameTime](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#abs-frame-time) * [m\_iMaxClients](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#max-clients) * [m\_iTicksThisFrame](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#ticks-this-frame) * [m\_flRenderFrameTime](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#frame-time) * [m\_flCurTime](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#cur-time) * [m\_flTickFraction](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#tick-fraction) * [m\_iTickCount](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#tick-count) * [m\_szMapPath](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#map-path) * [m\_szMapName](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#map-name) --- # CInputSystem | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cinputsystem.md) . Usage: game.input\_system:{method} This type represents the game's control input system. [](https://lua2.fatality.win/api/instances/game/cinputsystem#vktobuttoncode) VKToButtonCode ------------------------------------------------------------------------------------------------ `**Method**` Converts a virtual key to button code. **Arguments** Name Type Description `vk` `int` Virtual key. **Returns** Type Description `int` Button code. **Example** Copy local button = game.input_system:VKToButtonCode(0x41); -- 'A' [PreviousCCSGOInput](https://lua2.fatality.win/api/instances/game/ccsgoinput) [NextCGameUIFuncs](https://lua2.fatality.win/api/instances/game/cgameuifuncs) Last updated 4 months ago --- # PenResult_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t.md) . This type encapsulates all penetration data returned from `FireBullet`. [](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t#damage) damage ------------------------------------------------------------------------------------------- **Field** The damage done by the weapon. * * * [](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t#hitgroup) hitgroup ----------------------------------------------------------------------------------------------- **Field** The hitgroup that was hit. May be invalid. * * * [](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t#gethitpos) GetHitPos ------------------------------------------------------------------------------------------------- **Method** Returns one of the bullet impacts. **Arguments** Name Type Description `index` `number` The hit position index **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) `?` The bullet impact, nil if `index >= GetHitPosCount()` . **Example** * * * [](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t#gethitposcount) GetHitPosCount ----------------------------------------------------------------------------------------------------------- **Method** Returns how many bullet impacts there is. **Arguments** None. **Returns** Type Description `number` The bullet impact count **Example** [Previouspenetration](https://lua2.fatality.win/api/instances/mods/penetration) [NextEvents\_t](https://lua2.fatality.win/api/instances/mods/events_t) Last updated 3 months ago * [damage](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t#damage) * [hitgroup](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t#hitgroup) * [GetHitPos](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t#gethitpos) * [GetHitPosCount](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t#gethitposcount) Copy local positions = {} for i = 1, pen_result:GetHitPosCount() do positions[i] = pen_result:GetHitPos(i - 1) end Copy local amount = pen_result:GetHitPosCount() --- # CEngineClient | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cengineclient.md) . Usage: game.engine:{method} An instance of this type provides a way to interface with Source 2's Engine-to-Client service. [](https://lua2.fatality.win/api/instances/game/cengineclient#getlasttimestamp) GetLastTimestamp ----------------------------------------------------------------------------------------------------- `**Method**` Returns last timestamp, in seconds. **Arguments** None. **Returns** Type Description `float` Timestamp, in seconds. **Example** Copy local last_time = game.engine:GetLastTimestamp(); * * * [](https://lua2.fatality.win/api/instances/game/cengineclient#getlastservertick) GetLastServerTick ------------------------------------------------------------------------------------------------------- `**Method**` Returns last server tick number. **Arguments** None. **Returns** Type Description `int` Server tick number. **Example** * * * [](https://lua2.fatality.win/api/instances/game/cengineclient#ingame) InGame --------------------------------------------------------------------------------- `**Method**` Returns whether the client is currently in game. **Arguments** None. **Returns** Type Description `bool` In-game status. **Example** * * * [](https://lua2.fatality.win/api/instances/game/cengineclient#isconnected) IsConnected ------------------------------------------------------------------------------------------- `**Method**` Returns whether the client is currently connected to a game server. **Arguments** None. **Returns** Type Description `bool` `true` if connected. **Example** * * * [](https://lua2.fatality.win/api/instances/game/cengineclient#getnetchan) GetNetChan ----------------------------------------------------------------------------------------- `**Method**` Returns the Network Channel used for network communication. **Arguments** None. **Returns** Type Description [`CNetChan`](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan) Network channel, or `nil` if does not exist. **Example** * * * [](https://lua2.fatality.win/api/instances/game/cengineclient#clientcmd) ClientCmd --------------------------------------------------------------------------------------- `**Method**` Executes a client-sided console command. **Arguments** Name Type Description `cmd` `string` Command to execute. `bool` `unrestricted` Whether should the execution preserve any restrictions. Defaults to `false`. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/game/cengineclient#getscreensize) GetScreenSize ----------------------------------------------------------------------------------------------- `**Method**` Returns client window screen size. **Arguments** None. **Returns** Type Description `int` Width. `int` Height. **Example** [PreviousCGlobalVarsBase](https://lua2.fatality.win/api/instances/game/cglobalvarsbase) [NextCNetChan](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan) Last updated 3 months ago * [GetLastTimestamp](https://lua2.fatality.win/api/instances/game/cengineclient#getlasttimestamp) * [GetLastServerTick](https://lua2.fatality.win/api/instances/game/cengineclient#getlastservertick) * [InGame](https://lua2.fatality.win/api/instances/game/cengineclient#ingame) * [IsConnected](https://lua2.fatality.win/api/instances/game/cengineclient#isconnected) * [GetNetChan](https://lua2.fatality.win/api/instances/game/cengineclient#getnetchan) * [ClientCmd](https://lua2.fatality.win/api/instances/game/cengineclient#clientcmd) * [GetScreenSize](https://lua2.fatality.win/api/instances/game/cengineclient#getscreensize) Copy local server_tick = game.engine:GetLastServerTick(); Copy if game.engine:InGame() then print("I'm in game!"); end Copy if game.engine:IsConnected() then print("I'm connected!"); end Copy local chan = game.engine:GetNetChan(); Copy game.engine:ClientCmd('say Hello!'); Copy local w, h = game.engine:GetScreenSize(); --- # CCSGOInput | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/ccsgoinput.md) . Usage: game.input.{field\_or\_method} This type represents the game's command input system. [](https://lua2.fatality.win/api/instances/game/ccsgoinput#in-third-person) m\_bInThirdPerson --------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `bool` `true` if currently in third person from the game. * * * [](https://lua2.fatality.win/api/instances/game/ccsgoinput#in-third-person-1) m\_bInThirdPersonOverride ------------------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `bool` `true` if third person is currently being simulated. * * * [](https://lua2.fatality.win/api/instances/game/ccsgoinput#getviewangles) GetViewAngles -------------------------------------------------------------------------------------------- `**Method**` Returns current camera view angles. **Arguments** None. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) View angles. Example * * * [](https://lua2.fatality.win/api/instances/game/ccsgoinput#setviewangles) SetViewAngles -------------------------------------------------------------------------------------------- `**Method**` Sets new camera view angles. **Arguments** Name Type Description `ang` [`Vector`](https://lua2.fatality.win/api/types/vector) View angles. **Returns** Nothing. **Example** [PreviousCNetChan](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan) [NextCInputSystem](https://lua2.fatality.win/api/instances/game/cinputsystem) Last updated 1 month ago * [m\_bInThirdPerson](https://lua2.fatality.win/api/instances/game/ccsgoinput#in-third-person)  * [m\_bInThirdPersonOverride](https://lua2.fatality.win/api/instances/game/ccsgoinput#in-third-person-1) * [GetViewAngles](https://lua2.fatality.win/api/instances/game/ccsgoinput#getviewangles) * [SetViewAngles](https://lua2.fatality.win/api/instances/game/ccsgoinput#setviewangles) Copy local ang = game.input:GetViewAngles(); Copy game.input:SetViewAngles(math.Vec3(0, 0, 0)); --- # ConVar | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/ccvar/convar.md) . Represents a convar used by the game. [](https://lua2.fatality.win/api/instances/game/ccvar/convar#name) name ----------------------------------------------------------------------------- `**Field**``**Read only**` Type: `string` * * * [](https://lua2.fatality.win/api/instances/game/ccvar/convar#description) description ------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `string` * * * [](https://lua2.fatality.win/api/instances/game/ccvar/convar#flags) flags ------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `int` * * * [](https://lua2.fatality.win/api/instances/game/ccvar/convar#value) value ------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `` The value of the convar represented in its type [PreviousCCVar](https://lua2.fatality.win/api/instances/game/ccvar) [NextCPhysicsQueryInterface](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface) Last updated 4 months ago * [name](https://lua2.fatality.win/api/instances/game/ccvar/convar#name)  * [description](https://lua2.fatality.win/api/instances/game/ccvar/convar#description)  * [flags](https://lua2.fatality.win/api/instances/game/ccvar/convar#flags)  * [value](https://lua2.fatality.win/api/instances/game/ccvar/convar#value) --- # CNetChan | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan.md) . Provides a way to interface with a Network Channel's class. [](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan#getaddress) GetAddress -------------------------------------------------------------------------------------------------- `**Method**` If the current channel is `null`, this function will return `nil` instead. Returns address string of the remote machine. **Arguments** None. **Returns** Type Description `string?` IP-address or Steam Server Address. **Example** Copy local chan = game.engine:GetNetChan(); if chan and not chan:IsNull() then print(chan:GetAddress()); end * * * [](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan#isloopback) IsLoopback -------------------------------------------------------------------------------------------------- `**Method**` If the current channel is `null`, this function will return `nil` instead. Returns whether the current channel is connected to the local machine (loopback address). **Arguments** None. **Returns** Type Description `bool?` `true` if connected to the local machine. Example * * * [](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan#isnull) IsNull ------------------------------------------------------------------------------------------ `**Method**` Returns whether the channel is stubbed. **Arguments** None. **Returns** Type Description `bool` `true` if current channel is a dummy channel. Example * * * [](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan#getlatency) GetLatency -------------------------------------------------------------------------------------------------- `**Method**` If the current channel is `null`, this function will return `nil` instead. Returns current latency to the remote server (in seconds). **Arguments** None. **Returns** Type Description `float?` Latency (in seconds). **Example** [PreviousCEngineClient](https://lua2.fatality.win/api/instances/game/cengineclient) [NextCCSGOInput](https://lua2.fatality.win/api/instances/game/ccsgoinput) Last updated 3 months ago * [GetAddress](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan#getaddress) * [IsLoopback](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan#isloopback) * [IsNull](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan#isnull) * [GetLatency](https://lua2.fatality.win/api/instances/game/cengineclient/cnetchan#getlatency) Copy local chan = game.engine:GetNetChan(); if chan and not chan:IsNull() and chan:IsLoopback() then print('Connected to localhost!'); end Copy local chan = game.engine:GetNetChan(); if not chan or chan:IsNull() then print('Not connected!'); end Copy local chan = game.engine:GetNetChan(); if chan and not chan:IsNull() then print('Current latency: ' .. tostring(math.round(chan:GetLatency() * 1000.0)) .. 'ms'); end --- # game | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game.md) . Usage: game.{interface\_or\_function} This table exposes various internal services and global objects used by Fatality, and also provides a way to retrieve any additional services you need. [](https://lua2.fatality.win/api/instances/game#globalvars) globalVars --------------------------------------------------------------------------- `**Field**` Type: `CGlobalVarsBase` This service exposes global variables used by the game, such as frame time or current server time. * * * ### [](https://lua2.fatality.win/api/instances/game#engine) engine `**Field**` Type: `CEngineClient` This service exposes the engine client, which includes commonly used engine-related functions. * * * ### [](https://lua2.fatality.win/api/instances/game#input) input `**Field**` Type: `CCSGOInput` This service exposes the command input system. * * * [](https://lua2.fatality.win/api/instances/game#inputsystem) inputSystem ----------------------------------------------------------------------------- `**Field**` Type: `CInputSystem` This service exposes the control input system. * * * [](https://lua2.fatality.win/api/instances/game#gameuifuncs) gameUIFuncs ----------------------------------------------------------------------------- `**Field**` Type: `CGameUIFuncs` This service exposes the game's UI functions. * * * [](https://lua2.fatality.win/api/instances/game#physicsqueryinterface) physicsQueryInterface ------------------------------------------------------------------------------------------------- `**Field**` Type: `CPhysicsQueryInterface` This service exposes the game's tracing functions. * * * [](https://lua2.fatality.win/api/instances/game#gameentitysystem) gameEntitySystem --------------------------------------------------------------------------------------- `**Field**` Type: `CGameEntitySystem` This service exposes some of the game's entity list functions. * * * [](https://lua2.fatality.win/api/instances/game#playsound) PlaySound ------------------------------------------------------------------------- `**Method**` Plays a game sound. It also accepts sounds in your `csgo/sounds` directory. Only `vsnd_c` files are supported. **Arguments** Name Type Description `sound` `string` Path to the sound, e.g. `sounds/ui/weapon_cant_buy` `volume` `number` Volume from 0 to 1, if passed `-1` it uses the game's volume. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/game#createparticle) CreateParticle ----------------------------------------------------------------------------------- `**Method**` Creates a particle effect. `attachment` and `owner` are optional. **Arguments** Name Type Description `path` `string` Particle path. `lifetime` `number` Particle lifetime in seconds. `attachment` [`ParticleAttachment_t`](https://lua2.fatality.win/api/enums/particleattachment_t) `?` Optional attachment mode. `owner` [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) `*?` Optional owner entity. **Returns** Type Description [`Particle_t`](https://lua2.fatality.win/api/instances/game/particle_t) `?` Particle instance. **Example** [PreviousEvent\_t](https://lua2.fatality.win/api/instances/events/event_t) [NextCGlobalVarsBase](https://lua2.fatality.win/api/instances/game/cglobalvarsbase) Last updated 28 days ago * [globalVars](https://lua2.fatality.win/api/instances/game#globalvars) * [engine](https://lua2.fatality.win/api/instances/game#engine) * [input](https://lua2.fatality.win/api/instances/game#input) * [inputSystem](https://lua2.fatality.win/api/instances/game#inputsystem) * [gameUIFuncs](https://lua2.fatality.win/api/instances/game#gameuifuncs) * [physicsQueryInterface](https://lua2.fatality.win/api/instances/game#physicsqueryinterface) * [gameEntitySystem](https://lua2.fatality.win/api/instances/game#gameentitysystem) * [PlaySound](https://lua2.fatality.win/api/instances/game#playsound) * [CreateParticle](https://lua2.fatality.win/api/instances/game#createparticle) Copy game.PlaySound('sounds/ui/weapon_cant_buy', 0.1) Copy local particle = game.CreateParticle( "particles/entity/spectator_utility_trail.vpcf", 2.0 ) print("particle", particle) print("valid", particle and particle:IsValid()) if not particle or not particle:IsValid() then return end particle:SetControl(16, Vector(255.0, 0.0, 0.0)) particle:SetControl(3, Vector(2.0, 1, 2.0)) particle:Initialize({ Vector(0, 0, 0), Vector(0, 0, 0), Vector(50, 50, 50), Vector(50, 50, 50), }) --- # Types | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/types.md) . In this section, the most common renderer types are listed, that are not particularly bound to a specific part of the renderer. Use the left menu (or hamburger menu on mobile) to navigate between types. [Previousdraw](https://lua2.fatality.win/api/instances/draw) [NextRect](https://lua2.fatality.win/api/instances/draw/types/rect) Last updated 3 months ago --- # CCVar | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/ccvar.md) . Usage: Usage: game.cvar:{method} This type represents the game's cvar system. [](https://lua2.fatality.win/api/instances/game/ccvar#find) Find ---------------------------------------------------------------------- `**Method**` Get the game's cvar under this name. **Arguments** Name Type Description `name` `string` Var name. **Returns** Type Description [`ConVar`](https://lua2.fatality.win/api/instances/game/ccvar/convar) Convar object. **Example** Copy local sv_quantize_movement_input = game.cvar:Find('sv_quantize_movement_input') if not sv_quantize_movement_input then error('sv_quantize_movement_input not found') end [PreviousCGameUIFuncs](https://lua2.fatality.win/api/instances/game/cgameuifuncs) [NextConVar](https://lua2.fatality.win/api/instances/game/ccvar/convar) Last updated 3 months ago --- # Adapter | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/adapter.md) . This type represents a rendering adapter used within the rendering system. [](https://lua2.fatality.win/api/instances/draw/adapter#getbackbuffer) GetBackBuffer ----------------------------------------------------------------------------------------- **Method** Returns a back buffer texture. May return a blank or outdated texture, if the back buffer texture was not updated. **Arguments** None. **Returns** Type Description [`Ptr`](https://lua2.fatality.win/api/types/ptr) Back buffer texture pointer. **Example** Copy local bb = adapter:GetBackBuffer(); * * * [](https://lua2.fatality.win/api/instances/draw/adapter#getbackbufferdownsampled) GetBackBufferDownsampled --------------------------------------------------------------------------------------------------------------- **Method** Returns a 4x down sampled version of the back buffer texture. Arguments None. Returns Type Description [`Ptr`](https://lua2.fatality.win/api/types/ptr) Downsampled back buffer texture pointer. Example * * * [](https://lua2.fatality.win/api/instances/draw/adapter#getsharedtexture) GetSharedTexture ----------------------------------------------------------------------------------------------- **Method** Returns a shared texture. This texture usually replicates the down sampled back buffer texture, although it is updated automatically ONCE before the rendering on the layer starts. **Arguments** None. **Returns** Type Description [`Ptr`](https://lua2.fatality.win/api/types/ptr) Shared texture pointer. **Example** [PreviousAccessor](https://lua2.fatality.win/api/instances/draw/types/accessor) [NextLayer](https://lua2.fatality.win/api/instances/draw/layer) Last updated 3 months ago * [GetBackBuffer](https://lua2.fatality.win/api/instances/draw/adapter#getbackbuffer) * [GetBackBufferDownsampled](https://lua2.fatality.win/api/instances/draw/adapter#getbackbufferdownsampled) * [GetSharedTexture](https://lua2.fatality.win/api/instances/draw/adapter#getsharedtexture) Copy local ds = adapter:GetBackBufferDownsampled(); Copy local shared = adapter:GetSharedTexture(); --- # penetration | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/mods/penetration.md) . Usage: mods.penetration.{method} Methods in this namespace are accessed with the `.` operator, not the usual `:` operator. Only call these inside the `createMove` callback! [](https://lua2.fatality.win/api/instances/mods/penetration#firebullet) FireBullet --------------------------------------------------------------------------------------- `**Function**` Simulates a bullet fired from a specific weapon. This function can be expensive, use it moderately. **Arguments** Name Type Description `origin` [`Vector`](https://lua2.fatality.win/api/types/vector) Where the bullet is coming from `delta` [`Vector`](https://lua2.fatality.win/api/types/vector) The direction the bullet is going, computed as `end_point - origin_point` `weapon` [`C_CSWeaponBaseGun`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) The gun the bullet is being fired from `target` [`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) The target player, can be `nil` `clamp` `boolean` Whether or not to clamp the tracing to the player. **Returns** Type Description `boolean` If there was an error during simulation. [`PenResult_t`](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t) The penetration data **Example** Copy local eye_position = local_player:GetEyePos() local weapon = local_player:GetActiveWeapon() local enemy_position = enemy:GetHitboxCenter(EHitBox.HEAD) local _, pen = mods.penetration.FireBullet(eye_position, enemy_position - eye_position, weapon, enemy) print(pen.damage, pen.hitgroup) * * * [](https://lua2.fatality.win/api/instances/mods/penetration#scaledamage) ScaleDamage ----------------------------------------------------------------------------------------- `**Function**` Scales up the damage from a weapon given a hitgroup and, optionally, a player. **Arguments** Name Type Description `damage` `number` The damage to be scaled `weapon` [`C_CSWeaponBaseGun`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) The gun the bullet is being fired from `hitgroup` [`HitGroup_t`](https://lua2.fatality.win/api/instances/entities/hitgroup_t) The desired hitgroup. `target` [`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) The target player **Returns** Type Description `number` The scaled damage **Example** [Previousmods](https://lua2.fatality.win/api/instances/mods) [NextPenResult\_t](https://lua2.fatality.win/api/instances/mods/penetration/penresult_t) Last updated 3 months ago * [FireBullet](https://lua2.fatality.win/api/instances/mods/penetration#firebullet) * [ScaleDamage](https://lua2.fatality.win/api/instances/mods/penetration#scaledamage) Copy local weapon = local_player:GetActiveWeapon() local dmg = mods.penetration.ScaleDamage(45, weapon, HitGroup_t.HEAD, enemy) --- # Enums | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/enums.md) . In this section, the most common enums are listed, that are not particularly bound to a service or module. Use the left menu (or hamburger menu, if you are on mobile) to navigate between enums. [PreviousPlayerEntryVisualData](https://lua2.fatality.win/api/types/playerentryvisualdata) [NextClientFrameStage\_t](https://lua2.fatality.win/api/enums/clientframestage_t) Last updated 1 year ago --- # OutlineMode | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/layer/outlinemode.md) . This enum is used to determine the outline mode for outlined shapes. [](https://lua2.fatality.win/api/instances/draw/layer/outlinemode#inset) INSET ----------------------------------------------------------------------------------- **Field** Inset outlining. This means that the outline will be inside the shape (+1px from top-left, -1px from bottom-right). * * * [](https://lua2.fatality.win/api/instances/draw/layer/outlinemode#outset) OUTSET ------------------------------------------------------------------------------------- **Field** Outset outlining. This means that the outline will be outside of the shape (-1px from top-left, +1px from bottom-right). * * * [](https://lua2.fatality.win/api/instances/draw/layer/outlinemode#center) CENTER ------------------------------------------------------------------------------------- **Field** Center outlining. This means that the outline will match the shape size. [PreviousLayer](https://lua2.fatality.win/api/instances/draw/layer) [NextRounding](https://lua2.fatality.win/api/instances/draw/layer/rounding) Last updated 4 months ago * [INSET](https://lua2.fatality.win/api/instances/draw/layer/outlinemode#inset) * [OUTSET](https://lua2.fatality.win/api/instances/draw/layer/outlinemode#outset) * [CENTER](https://lua2.fatality.win/api/instances/draw/layer/outlinemode#center) --- # ShadowDir | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/layer/shadowdir.md) . This enum is used to determine shadow direction for `add_shadow_line` method. [](https://lua2.fatality.win/api/instances/draw/layer/shadowdir#up) UP --------------------------------------------------------------------------- **Field** The darkest side of the shadow will be at the bottom. * * * [](https://lua2.fatality.win/api/instances/draw/layer/shadowdir#down) DOWN ------------------------------------------------------------------------------- **Field** The darkest side of the shadow will be at the top. * * * [](https://lua2.fatality.win/api/instances/draw/layer/shadowdir#left) LEFT ------------------------------------------------------------------------------- **Field** The darkest side of the shadow will be on the left side. * * * [](https://lua2.fatality.win/api/instances/draw/layer/shadowdir#right) RIGHT --------------------------------------------------------------------------------- **Field** The darkest side of the shadow will be on the right side. [PreviousTextAlignment](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) [NextCommand](https://lua2.fatality.win/api/instances/draw/layer/command) Last updated 4 months ago * [UP](https://lua2.fatality.win/api/instances/draw/layer/shadowdir#up) * [DOWN](https://lua2.fatality.win/api/instances/draw/layer/shadowdir#down) * [LEFT](https://lua2.fatality.win/api/instances/draw/layer/shadowdir#left) * [RIGHT](https://lua2.fatality.win/api/instances/draw/layer/shadowdir#right) --- # ClientFrameStage_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/enums/clientframestage_t.md) . Contains keys for various frame rendering stages. [](https://lua2.fatality.win/api/enums/clientframestage_t#undefined) UNDEFINED ----------------------------------------------------------------------------------- **Field** This describes a stage that is not defined. You should realistically never receive this type. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#start) START --------------------------------------------------------------------------- **Field** Frame build process is starting. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#render-start) RENDER\_START ------------------------------------------------------------------------------------------ **Field** Frame render process is starting. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#net-update-start) NET\_UPDATE\_START --------------------------------------------------------------------------------------------------- **Field** Network update process is starting. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#net-update-preprocess) NET\_UPDATE\_PREPROCESS ------------------------------------------------------------------------------------------------------------- **Field** Network update is about to be processed by the engine. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#net-pre-entity-packet) NET\_PRE\_ENTITY\_PACKET -------------------------------------------------------------------------------------------------------------- **Field** Incoming entity packets are about to be processed by the game. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#net_update_postdataupdate_start) NET\_UPDATE\_POSTDATAUPDATE\_START ---------------------------------------------------------------------------------------------------------------------------------- **Field** Entity information is about to be updated. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#net_update_postdataupdate_end) NET\_UPDATE\_POSTDATAUPDATE\_END ------------------------------------------------------------------------------------------------------------------------------ **Field** Entity information is about to finish updating. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#net-update-end) NET\_UPDATE\_END ----------------------------------------------------------------------------------------------- **Field** Network update process is ending. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#net-creation) NET\_CREATION ------------------------------------------------------------------------------------------ **Field** New entities are about to be created. * * * [](https://lua2.fatality.win/api/enums/clientframestage_t#render-end) RENDER\_END -------------------------------------------------------------------------------------- **Field** Frame rendering process is ending. [PreviousEnums](https://lua2.fatality.win/api/enums) [NextInputBitMask\_t](https://lua2.fatality.win/api/enums/inputbitmask_t) Last updated 4 months ago * [UNDEFINED](https://lua2.fatality.win/api/enums/clientframestage_t#undefined) * [START](https://lua2.fatality.win/api/enums/clientframestage_t#start) * [RENDER\_START](https://lua2.fatality.win/api/enums/clientframestage_t#render-start) * [NET\_UPDATE\_START](https://lua2.fatality.win/api/enums/clientframestage_t#net-update-start) * [NET\_UPDATE\_PREPROCESS](https://lua2.fatality.win/api/enums/clientframestage_t#net-update-preprocess) * [NET\_PRE\_ENTITY\_PACKET](https://lua2.fatality.win/api/enums/clientframestage_t#net-pre-entity-packet) * [NET\_UPDATE\_POSTDATAUPDATE\_START](https://lua2.fatality.win/api/enums/clientframestage_t#net_update_postdataupdate_start) * [NET\_UPDATE\_POSTDATAUPDATE\_END](https://lua2.fatality.win/api/enums/clientframestage_t#net_update_postdataupdate_end) * [NET\_UPDATE\_END](https://lua2.fatality.win/api/enums/clientframestage_t#net-update-end) * [NET\_CREATION](https://lua2.fatality.win/api/enums/clientframestage_t#net-creation) * [RENDER\_END](https://lua2.fatality.win/api/enums/clientframestage_t#render-end) --- # Types | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/types.md) . In this section, the most common **gui** types are listed, that are not particularly bound to a specific part of the gui. Use the left menu (or hamburger menu, if you are on mobile) to navigate between types. [Previousgui](https://lua2.fatality.win/api/instances/gui) [NextBits](https://lua2.fatality.win/api/instances/gui/types/bits) Last updated 4 months ago --- # Accessor | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/types/accessor.md) . [](https://lua2.fatality.win/api/instances/draw/types/accessor#accessor.md) accessor ------------------------------------------------------------------------------------------ Last modified: 03 January 2025 This type represents a safe way to access maps. Note that `` indicates the specific type this instance holds. `Accessor<`[`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) `>` for example means that `Get` will return an instance of [`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) , and `Set` will only accept the type [`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) as it's `obj` parameter. [](https://lua2.fatality.win/api/instances/draw/types/accessor#index) \_\_index ------------------------------------------------------------------------------------- **Function** Returns an object by key. **Arguments** Name Type Description `key` `string` Object key. **Returns** Type Description `` Object. **Example** Copy local main_font = draw.fonts['gui_main']; -- this also works local main_font_2 = draw.fonts.gui_main; * * * [](https://lua2.fatality.win/api/instances/draw/types/accessor#newindex) \_\_newindex ------------------------------------------------------------------------------------------- **Function** Sets an object by key. **Arguments** Name Type Description `key` `string` Object key. `obj` `` Object. **Returns** Nothing. **Example** [PreviousColor](https://lua2.fatality.win/api/instances/draw/types/color) [NextAdapter](https://lua2.fatality.win/api/instances/draw/adapter) Last updated 3 months ago * [accessor](https://lua2.fatality.win/api/instances/draw/types/accessor#accessor.md)  * [\_\_index](https://lua2.fatality.win/api/instances/draw/types/accessor#index)  * [\_\_newindex](https://lua2.fatality.win/api/instances/draw/types/accessor#newindex)  Copy draw.fonts['my_font'] = my_font; -- this also works draw.fonts.my_font = my_font; --- # CPlane | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cplane.md) . Encapsulates the plane information in the trace object. [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cplane#name) normal ----------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`Vector`](https://lua2.fatality.win/api/types/vector) * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cplane#name-1) pos ---------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`Vector`](https://lua2.fatality.win/api/types/vector) [PreviousCPhysicsQueryInterface](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface) [NextCGameTrace](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace) Last updated 3 months ago * [normal](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cplane#name) * [pos](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cplane#name-1) --- # CGameEntitySystem | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cgameentitysystem.md) . Usage: Usage: game.gameEntitySystem:{method} This type encapsulates some entity querying functionalities. If you wish to loop for players, controllers, dropped items or projectiles, go [here](https://lua2.fatality.win/api/instances/entities/entitylist_t) . [](https://lua2.fatality.win/api/instances/game/cgameentitysystem#foreachbyclass) ForEachByClass ----------------------------------------------------------------------------------------------------- **Function** Loops for all entities with a given class. **Arguments** Name Type Description `className` `string` The entity class name `callback` `function<`[`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) `>` The loop callback **Returns** Nothing. **Example** Copy game.gameEntitySystem:ForEachByClass('C_C4', function(entity) if entity.m_bStartedArming:Get() then print('Someone is planting!') end end) * * * [](https://lua2.fatality.win/api/instances/game/cgameentitysystem#getfirstbyclass) GetFirstByClass ------------------------------------------------------------------------------------------------------- **Function** Finds and returns the first entity from a specific class. **Arguments** Name Type Description `className` `string` The entity class name **Returns** Type Description [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) | `nil` The entity, `nil` if not found. **Example** * * * [PreviousLuaTraceFilter\_t](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t) [NextParticle\_t](https://lua2.fatality.win/api/instances/game/particle_t) Last updated 3 months ago * [ForEachByClass](https://lua2.fatality.win/api/instances/game/cgameentitysystem#foreachbyclass) * [GetFirstByClass](https://lua2.fatality.win/api/instances/game/cgameentitysystem#getfirstbyclass) Copy local proxy = game.gameEntitySystem:GetFirstByClass('C_CSGameRulesProxy') local game_rules = proxy.m_pGameRules:GetAs('client.dll', 'C_CSGameRules') if not game_rules then error('Not found') end print(game_rules.m_bWarmupPeriod:Get()) --- # Managed | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/managed.md) . This type represents a managed object. You cannot create an instance of this type directly. Every object, that inherits from this type, must be `Create`d before use. The rendering system will only create them automatically, if you happen to lose a device object (e.g. minimize the game window, and then restore it) and only if you add your objects to manage table in [`draw`](https://lua.fatality.win/draw.html) . ### [](https://lua2.fatality.win/api/instances/draw/managed#obj) obj **Field****Read only** Type: [`Ptr`](https://lua2.fatality.win/api/types/ptr) Pointer to a GPU object. If this object is not created, this field will be `nil`. You can use the value of this field to pass it to [`Command`](https://lua2.fatality.win/api/instances/draw/layer/command) directly for example, or if you (for whatever reason we don't recommend you doing) want to have a direct control over the pointer - cast it to FFI's `cdata`. * * * [](https://lua2.fatality.win/api/instances/draw/managed#create) Create ---------------------------------------------------------------------------- **Method** Creates a managed object in GPU memory. You should `Create()` an object only once. Invoking this method after the object was created will be meaningless. **Arguments** None. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/managed#destroy) Destroy ------------------------------------------------------------------------------ **Method** Destroys a managed object in GPU memory. Never destroy a GPU object if it is being used in rendering (for example, when you have pushed some shape that uses a texture, and then destroyed that texture). This will lead to undefined behavior, and most likely, \*\***crash the game** \*\*. **Arguments** None. **Returns** Nothing. **Example** [PreviousRenderMode](https://lua2.fatality.win/api/instances/draw/layer/command/rendermode) [NextTexture](https://lua2.fatality.win/api/instances/draw/managed/texture) Last updated 3 months ago * [obj](https://lua2.fatality.win/api/instances/draw/managed#obj)  * [Create](https://lua2.fatality.win/api/instances/draw/managed#create)  * [Destroy](https://lua2.fatality.win/api/instances/draw/managed#destroy)  Copy tex:Create(); Copy font:Destroy(); --- # Rounding | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/layer/rounding.md) . [](https://lua2.fatality.win/api/instances/draw/layer/rounding#rounding.md) Rounding ------------------------------------------------------------------------------------------ Last modified: 03 January 2025 This enum is used to determine the rounding for rounded shapes. ### [](https://lua2.fatality.win/api/instances/draw/layer/rounding#tl) TL **Field** Round top-left corner. * * * [](https://lua2.fatality.win/api/instances/draw/layer/rounding#tr) TR -------------------------------------------------------------------------- **Field** Round top-right corner. * * * [](https://lua2.fatality.win/api/instances/draw/layer/rounding#bl) BL -------------------------------------------------------------------------- **Field** Round bottom-left corner. * * * [](https://lua2.fatality.win/api/instances/draw/layer/rounding#br) BR -------------------------------------------------------------------------- **Field** Round bottom-right corner. * * * [](https://lua2.fatality.win/api/instances/draw/layer/rounding#t) T ------------------------------------------------------------------------ **Field** Round both of the top corners. This produces the same result as using `bit.bor(draw.Rounding.TL, draw.Rounding.TR)`. * * * [](https://lua2.fatality.win/api/instances/draw/layer/rounding#l) L ------------------------------------------------------------------------ **Field** Round both of the left corners. This produces the same result as using `bit.bor(draw.Rounding.TL, draw.Rounding.BL)`. * * * [](https://lua2.fatality.win/api/instances/draw/layer/rounding#r) R ------------------------------------------------------------------------ **Field** Round both of the right corners. This produces the same result as using `bit.bor(draw.Rounding.TR, draw.Rounding.BR)`. * * * [](https://lua2.fatality.win/api/instances/draw/layer/rounding#b) B ------------------------------------------------------------------------ **Field** Round both of the bottom corners. This produces the same result as using `bit.bor(draw.Rounding.BL, draw.Rounding.BR)`. * * * [](https://lua2.fatality.win/api/instances/draw/layer/rounding#all) ALL ---------------------------------------------------------------------------- **Field** Round all corners. This produces the same result as using `bit.bor(draw.Rounding.TL, draw.Rounding.TR, draw.Rounding.BL, draw.Rounding.BR)`. [PreviousOutlineMode](https://lua2.fatality.win/api/instances/draw/layer/outlinemode) [NextGlowParts](https://lua2.fatality.win/api/instances/draw/layer/glowparts) Last updated 3 months ago * [Rounding](https://lua2.fatality.win/api/instances/draw/layer/rounding#rounding.md)  * [TL](https://lua2.fatality.win/api/instances/draw/layer/rounding#tl) * [TR](https://lua2.fatality.win/api/instances/draw/layer/rounding#tr) * [BL](https://lua2.fatality.win/api/instances/draw/layer/rounding#bl) * [BR](https://lua2.fatality.win/api/instances/draw/layer/rounding#br) * [T](https://lua2.fatality.win/api/instances/draw/layer/rounding#t) * [L](https://lua2.fatality.win/api/instances/draw/layer/rounding#l) * [R](https://lua2.fatality.win/api/instances/draw/layer/rounding#r) * [B](https://lua2.fatality.win/api/instances/draw/layer/rounding#b) * [ALL](https://lua2.fatality.win/api/instances/draw/layer/rounding#all) --- # InputBitMask_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/enums/inputbitmask_t.md) . Contains all buttons used in a user command. [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-attack) IN\_ATTACK -------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-attack-1) IN\_ATTACK2 ----------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-jump) IN\_JUMP ---------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-duck) IN\_DUCK ---------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-forward) IN\_FORWARD ---------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-back) IN\_BACK ---------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-use) IN\_USE -------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-turnleft) IN\_TURNLEFT ------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-turnright) IN\_TURNRIGHT -------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-moveleft) IN\_MOVELEFT ------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-reload) IN\_RELOAD -------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-speed) IN\_SPEED ------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-joyautosprint) IN\_JOYAUTOSPRINT ---------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-useorreload) IN\_USEORRELOAD ------------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-score) IN\_SCORE ------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-zoom) IN\_ZOOM ---------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/inputbitmask_t#in-look-at-weapon) IN\_LOOK\_AT\_WEAPON -------------------------------------------------------------------------------------------------- **Field** * * * [PreviousClientFrameStage\_t](https://lua2.fatality.win/api/enums/clientframestage_t) [NextParticleAttachment\_t](https://lua2.fatality.win/api/enums/particleattachment_t) Last updated 4 months ago * [IN\_ATTACK](https://lua2.fatality.win/api/enums/inputbitmask_t#in-attack) * [IN\_ATTACK2](https://lua2.fatality.win/api/enums/inputbitmask_t#in-attack-1) * [IN\_JUMP](https://lua2.fatality.win/api/enums/inputbitmask_t#in-jump) * [IN\_DUCK](https://lua2.fatality.win/api/enums/inputbitmask_t#in-duck) * [IN\_FORWARD](https://lua2.fatality.win/api/enums/inputbitmask_t#in-forward) * [IN\_BACK](https://lua2.fatality.win/api/enums/inputbitmask_t#in-back) * [IN\_USE](https://lua2.fatality.win/api/enums/inputbitmask_t#in-use) * [IN\_TURNLEFT](https://lua2.fatality.win/api/enums/inputbitmask_t#in-turnleft) * [IN\_TURNRIGHT](https://lua2.fatality.win/api/enums/inputbitmask_t#in-turnright) * [IN\_MOVELEFT](https://lua2.fatality.win/api/enums/inputbitmask_t#in-moveleft) * [IN\_RELOAD](https://lua2.fatality.win/api/enums/inputbitmask_t#in-reload) * [IN\_SPEED](https://lua2.fatality.win/api/enums/inputbitmask_t#in-speed) * [IN\_JOYAUTOSPRINT](https://lua2.fatality.win/api/enums/inputbitmask_t#in-joyautosprint) * [IN\_USEORRELOAD](https://lua2.fatality.win/api/enums/inputbitmask_t#in-useorreload) * [IN\_SCORE](https://lua2.fatality.win/api/enums/inputbitmask_t#in-score) * [IN\_ZOOM](https://lua2.fatality.win/api/enums/inputbitmask_t#in-zoom) * [IN\_LOOK\_AT\_WEAPON](https://lua2.fatality.win/api/enums/inputbitmask_t#in-look-at-weapon) --- # Shader | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/managed/shader.md) . This type represents a shader. [HLSL documentation](https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-reference) This type inherits [`Managed`](https://lua2.fatality.win/api/instances/draw/managed) type. All of its base methods and fields are also available in this type. Only fragment shaders (aka Pixel Shaders) are supported. Rendering system uses Shader Version 4 (ps\_4\_0). [](https://lua2.fatality.win/api/instances/draw/managed/shader#hlsl-structures) HLSL structures ----------------------------------------------------------------------------------------------------- The constant buffer fields are the following: Name Type Description `mvp` `float4x4` Projection matrix. `tex` `float2` Texture dimensions. `time` `float` Render time (NOT the frame time). `alpha` `float` Global opacity override. The input fields are the following: Name Type Description `pos` `float4` Vertex position on screen (x,y,z over w). Register: `SV_POSITION`. `col` `float4` Vertex color tint (r, g, b, a). Register: `COLOR0`. `uv` `float2` UV coordinates (u, v). Register: `TEXCOORD0`. The bound objects are the following: Name Type Description `sampler0` `sampler` Texture sampler. `texture0` `Texture2D` Texture object. Template: * * * [](https://lua2.fatality.win/api/instances/draw/managed/shader#call) \_\_call ----------------------------------------------------------------------------------- **Constructor** Constructs a shader. Arguments Name Type Description `src` `string` Shader source code. Returns Type Description `Shader` Shader object. Example [PreviousAnimatedTexture](https://lua2.fatality.win/api/instances/draw/managed/texture/animatedtexture) [NextFontBase](https://lua2.fatality.win/api/instances/draw/managed/fontbase) Last updated 3 months ago * [HLSL structures](https://lua2.fatality.win/api/instances/draw/managed/shader#hlsl-structures)  * [\_\_call](https://lua2.fatality.win/api/instances/draw/managed/shader#call)  Copy cbuffer cb : register(b0) { float4x4 mvp; float2 tex; float time; float alpha; }; struct PS_INPUT { float4 pos : SV_POSITION; float4 col : COLOR0; float2 uv : TEXCOORD0; }; sampler sampler0; Texture2D texture0; Copy local blur = draw.Shader([[\ // define constant buffer.\ cbuffer cb : register(b0) {\ float4x4 mvp;\ float2 tex;\ float time;\ float alpha;\ };\ \ // define input.\ struct PS_INPUT {\ float4 pos : SV_POSITION;\ float4 col : COLOR0;\ float2 uv : TEXCOORD0;\ };\ \ // use texture sampler and texture.\ sampler sampler0;\ Texture2D texture0;\ \ float4 main(PS_INPUT inp) : SV_Target {\ float radius = 2.0; // blur radius\ float2 inv_size = 1.0 / tex.xy; // inversed size of the texture\ float weight = 0.0; // total weight\ float4 color = 0.0; // total color\ \ // perform a gaussian blur\ for (float x = -radius; x <= radius; x += 1.0)\ {\ for (float y = -radius; y <= radius; y += 1.0)\ {\ float2 coord = inp.uv + float2(x, y) * inv_size;\ color += texture0.Sample(sampler0, coord) * exp(-((x * x + y * y) / (2.0 * radius * radius)));\ weight += exp(-((x * x + y * y) / (2.0 * radius * radius)));\ }\ }\ \ // average the color\ color /= weight;\ color.a *= inp.col.a; // apply alpha modulation\ return color;\ }\ ]]); --- # LuaTraceFilter_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t.md) . Defines a custom filter for `TraceRay`. [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreplayers) ignorePlayers ------------------------------------------------------------------------------------------------------------------------- `**Field**` Type: `boolean` Ignores all player entities when `true`. * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreentities) ignoreEntities --------------------------------------------------------------------------------------------------------------------------- `**Field**` Type: `boolean` Ignores all game entities except players when `true`. * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreworld) ignoreWorld --------------------------------------------------------------------------------------------------------------------- `**Field**` Type: `boolean` Ignores world collisions when `true`. * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#targetentity) targetEntity ----------------------------------------------------------------------------------------------------------------------- `**Field**` Type: [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) `*` Overrides `ignorePlayers` and `ignoreEntities` when set. The trace can only hit this entity and the world if `ignoreWorld` is `false`. * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreentity) ignoreEntity ----------------------------------------------------------------------------------------------------------------------- `**Field**` Type: [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) `*` Ignores this entity. * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreentity2) ignoreEntity2 ------------------------------------------------------------------------------------------------------------------------- `**Field**` Type: [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) `*` Ignores this entity. * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#example) Example ------------------------------------------------------------------------------------------------------------- [PreviousRay\_t](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray_t) [NextCGameEntitySystem](https://lua2.fatality.win/api/instances/game/cgameentitysystem) Last updated 1 month ago * [ignorePlayers](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreplayers) * [ignoreEntities](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreentities) * [ignoreWorld](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreworld) * [targetEntity](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#targetentity) * [ignoreEntity](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreentity) * [ignoreEntity2](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#ignoreentity2) * [Example](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t#example) Copy local filter = LuaTraceFilter_t() filter.ignoreWorld = true filter.ignoreEntity = entities.GetLocalPawn() --- # Particle_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/particle_t.md) . Represents a particle instance created by [`game.CreateParticle`](https://lua2.fatality.win/api/instances/game) . [](https://lua2.fatality.win/api/instances/game/particle_t#isvalid) IsValid -------------------------------------------------------------------------------- `**Method**` Returns `true` if the particle is still valid. **Arguments** None. **Returns** Type Description `bool` `true` if valid. **Example** Copy if particle:IsValid() then -- ... end * * * [](https://lua2.fatality.win/api/instances/game/particle_t#destroy) Destroy -------------------------------------------------------------------------------- `**Method**` Expires the particle immediately. **Arguments** None. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/game/particle_t#setcontrol) SetControl -------------------------------------------------------------------------------------- `**Method**` Sets a control point. **Arguments** Name Type Description `index` `number` Control point index. `value` [`Vector`](https://lua2.fatality.win/api/types/vector) Control point value. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/game/particle_t#initialize) Initialize -------------------------------------------------------------------------------------- `**Method**` Initializes the particle snapshot positions. **Arguments** Name Type Description `positions` `table<`[`Vector`](https://lua2.fatality.win/api/types/vector) `>` Snapshot positions. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/game/particle_t#setentity) SetEntity ------------------------------------------------------------------------------------ `**Method**` Sets an entity attachment for a control point. **Arguments** Name Type Description `index` `number` Control point index. `ent` [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) `*` Entity to attach to. `attachment` [`ParticleAttachment_t`](https://lua2.fatality.win/api/enums/particleattachment_t) Attachment mode. `name` `string?` Optional attachment point name. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/game/particle_t#liferemaining) lifeRemaining -------------------------------------------------------------------------------------------- `**Field**` Type: `number` The remaining particle lifetime in seconds. You can read or write this value. [PreviousCGameEntitySystem](https://lua2.fatality.win/api/instances/game/cgameentitysystem) [Nextmods](https://lua2.fatality.win/api/instances/mods) Last updated 28 days ago * [IsValid](https://lua2.fatality.win/api/instances/game/particle_t#isvalid) * [Destroy](https://lua2.fatality.win/api/instances/game/particle_t#destroy) * [SetControl](https://lua2.fatality.win/api/instances/game/particle_t#setcontrol) * [Initialize](https://lua2.fatality.win/api/instances/game/particle_t#initialize) * [SetEntity](https://lua2.fatality.win/api/instances/game/particle_t#setentity) * [lifeRemaining](https://lua2.fatality.win/api/instances/game/particle_t#liferemaining) Copy particle:Destroy() Copy particle:SetControl(0, Vector(0, 0, 0)) Copy particle:Initialize({ Vector(0, 0, 0), Vector(50, 50, 50), }) Copy particle:SetEntity(0, ent, ParticleAttachment_t.ABSORIGIN_FOLLOW) --- # Texture | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/managed/texture.md) . This type represents a texture object. This type inherits [`Managed`](https://lua2.fatality.win/api/instances/draw/managed) type. All of its base methods and fields are also available in this type. Supported texture formats are: * JPEG (.jpg, .jpeg) - 12 bpc/arithmetic are not supported. * PNG (.png) * TGA (.tga) * BMP (.bmp) - 1 bpp and RLE variants are not supported. * PSD (.psd) - composited view only, no extra channels, 8/16 bpc * GIF (.gif) - only first frame, for animated gifs use [`AnimatedTexture`](https://lua2.fatality.win/api/instances/draw/managed/texture/animatedtexture) * HDR (.hdr) * PIC (.pic) * PNM (.pnm, .ppm, .pgm) - PPM and PGM are binary only [](https://lua2.fatality.win/api/instances/draw/managed/texture#call) \_\_call ------------------------------------------------------------------------------------ **Constructor** Constructs an instance of this type. Passing an invalid pointer, a or memory region that is smaller than the size will result in a crash. Arguments 1\. From file. Name Type Description `path` `string` Path to a valid texture file. 2\. From memory. Name Type Description `data` [`Ptr`](https://lua2.fatality.win/api/types/ptr) Pointer to texture file data in memory. `sz` `int` Size of the texture file data. 3\. From RGBA data. Name Type Description `data` [`Ptr`](https://lua2.fatality.win/api/types/ptr) Pointer to RGBA data in memory. `w` `int` Width. `h` `int` Height (row count). `p` `int` Pitch (row width). This is the amount of bytes per row. Returns Type Description `texture` Texture object. Example * * * [](https://lua2.fatality.win/api/instances/draw/managed/texture#is-animated) isAnimated -------------------------------------------------------------------------------------------- **Field****Read only** Type: `bool` Set to `true` if this is an instance of [`AnimatedTexture`](https://lua2.fatality.win/api/instances/draw/managed/texture/animatedtexture) . * * * [](https://lua2.fatality.win/api/instances/draw/managed/texture#getsize) GetSize ------------------------------------------------------------------------------------- **Method** Returns size of this texture. **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Texture dimensions. **Example** [PreviousManaged](https://lua2.fatality.win/api/instances/draw/managed) [NextSvgTexture](https://lua2.fatality.win/api/instances/draw/managed/texture/svgtexture) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/draw/managed/texture#call)  * [isAnimated](https://lua2.fatality.win/api/instances/draw/managed/texture#is-animated) * [GetSize](https://lua2.fatality.win/api/instances/draw/managed/texture#getsize) Copy local tex = draw.Texture('funny_meme.png'); Copy local sz = tex:GetSize(); --- # Ray_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray_t.md) . Describes the ray type used by the tracing methods. [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray_t#sethull) SetHull -------------------------------------------------------------------------------------------------- `**Method**` Changes the shape of the ray to a box/hull, using the specified mins and maxs. **Arguments** Name Type Description `mins` [`Vector`](https://lua2.fatality.win/api/types/vector) The minimum bounding of the box `maxs` [`Vector`](https://lua2.fatality.win/api/types/vector) The maximum bounding of the box **Returns** Nothing. **Example** Copy local ray = Ray_t() ray:SetHull(Vector(-4, -4, -4), Vector(4, 4, 4)) -- Traces a cube (8x8x8). * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray_t#setsphere) SetSphere ------------------------------------------------------------------------------------------------------ `**Method**` Changes the shape of the ray to a sphere, using the specified center position and radius. **Arguments** Name Type Description `center` [`Vector`](https://lua2.fatality.win/api/types/vector) The center of the sphere `radius` `number` The radius of the sphere **Returns** Nothing. **Example** [PreviousCGameTrace](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace) [NextLuaTraceFilter\_t](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t) Last updated 3 months ago * [SetHull](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray_t#sethull) * [SetSphere](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray_t#setsphere) Copy local ray = Ray_t() ray:SetSphere(Vector(0, 0, 0), 10) -- Traces a sphere. --- # GlowParts | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/layer/glowparts.md) . This enum is used to determine which parts of the glow around the shape should get rendered. ### [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#tl) TL **Field** Draw top-left corner. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#tr) TR --------------------------------------------------------------------------- **Field** Draw top-right corner. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#bl) BL --------------------------------------------------------------------------- **Field** Draw bottom-left corner. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#br) BR --------------------------------------------------------------------------- **Field** Draw bottom-right corner. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#t) T ------------------------------------------------------------------------- **Field** Draw top line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#l) L ------------------------------------------------------------------------- **Field** Draw left line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#r) R ------------------------------------------------------------------------- **Field** Draw right line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#b) B ------------------------------------------------------------------------- **Field** Draw bottom line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all-left) ALL\_LEFT ---------------------------------------------------------------------------------------- **Field** Draw all the left side shapes. This includes both left corners and the line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all-right) ALL\_RIGHT ------------------------------------------------------------------------------------------ **Field** Draw all the right side shapes. This includes both right corners and the line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all-top) ALL\_TOP -------------------------------------------------------------------------------------- **Field** Draw all the top side shapes. This includes both top corners and the line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all-bottom) ALL\_BOTTOM --------------------------------------------------------------------------------------------- **Field** Draw all the bottom side shapes. This includes both bottom corners and the line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all) ALL ----------------------------------------------------------------------------- **Field** Draw the entire glow around the shape. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#no-bottom) NO\_BOTTOM ------------------------------------------------------------------------------------------ **Field** Draw glow except for the bottom line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#no-top) NO\_TOP ------------------------------------------------------------------------------------ **Field** Draw glow except for the top line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#no-right) NO\_RIGHT ---------------------------------------------------------------------------------------- **Field** Draw glow except for the right line. * * * [](https://lua2.fatality.win/api/instances/draw/layer/glowparts#no-left) NO\_LEFT -------------------------------------------------------------------------------------- **Field** Draw glow except for the left line. [PreviousRounding](https://lua2.fatality.win/api/instances/draw/layer/rounding) [NextTextParams](https://lua2.fatality.win/api/instances/draw/layer/textparams) Last updated 4 months ago * [TL](https://lua2.fatality.win/api/instances/draw/layer/glowparts#tl) * [TR](https://lua2.fatality.win/api/instances/draw/layer/glowparts#tr) * [BL](https://lua2.fatality.win/api/instances/draw/layer/glowparts#bl) * [BR](https://lua2.fatality.win/api/instances/draw/layer/glowparts#br) * [T](https://lua2.fatality.win/api/instances/draw/layer/glowparts#t) * [L](https://lua2.fatality.win/api/instances/draw/layer/glowparts#l) * [R](https://lua2.fatality.win/api/instances/draw/layer/glowparts#r) * [B](https://lua2.fatality.win/api/instances/draw/layer/glowparts#b) * [ALL\_LEFT](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all-left) * [ALL\_RIGHT](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all-right) * [ALL\_TOP](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all-top) * [ALL\_BOTTOM](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all-bottom)  * [ALL](https://lua2.fatality.win/api/instances/draw/layer/glowparts#all) * [NO\_BOTTOM](https://lua2.fatality.win/api/instances/draw/layer/glowparts#no-bottom) * [NO\_TOP](https://lua2.fatality.win/api/instances/draw/layer/glowparts#no-top) * [NO\_RIGHT](https://lua2.fatality.win/api/instances/draw/layer/glowparts#no-right) * [NO\_LEFT](https://lua2.fatality.win/api/instances/draw/layer/glowparts#no-left) --- # MouseButton | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton.md) . This enum represents mouse buttons. [](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#left) LEFT --------------------------------------------------------------------------------------- **Field** Left mouse button. * * * [](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#right) RIGHT ----------------------------------------------------------------------------------------- **Field** Right mouse button. * * * [](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#middle) MIDDLE ------------------------------------------------------------------------------------------- **Field** Middle (scroll wheel) mouse button * * * [](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#back) BACK --------------------------------------------------------------------------------------- **Field** "Back" mouse button (side button 1). * * * [](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#forward) FORWARD --------------------------------------------------------------------------------------------- **Field** "Forward" mouse button (side button 2). [PreviousContextInput](https://lua2.fatality.win/api/instances/gui/contextinput) [NextNotificationSystem](https://lua2.fatality.win/api/instances/gui/notificationsystem) Last updated 4 months ago * [LEFT](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#left) * [RIGHT](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#right) * [MIDDLE](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#middle) * [BACK](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#back) * [FORWARD](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton#forward) --- # ParticleAttachment_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/enums/particleattachment_t.md) . Contains keys for particle attachment modes. [](https://lua2.fatality.win/api/enums/particleattachment_t#invalid) INVALID --------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#absorigin) ABSORIGIN ------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#absorigin_follow) ABSORIGIN\_FOLLOW ---------------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#customorigin) CUSTOMORIGIN ------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#customorigin_follow) CUSTOMORIGIN\_FOLLOW ---------------------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#point) POINT ----------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#point_follow) POINT\_FOLLOW -------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#eyes_follow) EYES\_FOLLOW ------------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#overhead_follow) OVERHEAD\_FOLLOW -------------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#worldorigin) WORLDORIGIN ----------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#rootbone_follow) ROOTBONE\_FOLLOW -------------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#renderorigin_follow) RENDERORIGIN\_FOLLOW ---------------------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#main_view) MAIN\_VIEW -------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#waterwake) WATERWAKE ------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#center_follow) CENTER\_FOLLOW ---------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#custom_game_state_1) CUSTOM\_GAME\_STATE\_1 ------------------------------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/enums/particleattachment_t#healthbar) HEALTHBAR ------------------------------------------------------------------------------------- **Field** [PreviousInputBitMask\_t](https://lua2.fatality.win/api/enums/inputbitmask_t) Last updated 28 days ago * [INVALID](https://lua2.fatality.win/api/enums/particleattachment_t#invalid) * [ABSORIGIN](https://lua2.fatality.win/api/enums/particleattachment_t#absorigin) * [ABSORIGIN\_FOLLOW](https://lua2.fatality.win/api/enums/particleattachment_t#absorigin_follow) * [CUSTOMORIGIN](https://lua2.fatality.win/api/enums/particleattachment_t#customorigin) * [CUSTOMORIGIN\_FOLLOW](https://lua2.fatality.win/api/enums/particleattachment_t#customorigin_follow) * [POINT](https://lua2.fatality.win/api/enums/particleattachment_t#point) * [POINT\_FOLLOW](https://lua2.fatality.win/api/enums/particleattachment_t#point_follow) * [EYES\_FOLLOW](https://lua2.fatality.win/api/enums/particleattachment_t#eyes_follow) * [OVERHEAD\_FOLLOW](https://lua2.fatality.win/api/enums/particleattachment_t#overhead_follow) * [WORLDORIGIN](https://lua2.fatality.win/api/enums/particleattachment_t#worldorigin) * [ROOTBONE\_FOLLOW](https://lua2.fatality.win/api/enums/particleattachment_t#rootbone_follow) * [RENDERORIGIN\_FOLLOW](https://lua2.fatality.win/api/enums/particleattachment_t#renderorigin_follow) * [MAIN\_VIEW](https://lua2.fatality.win/api/enums/particleattachment_t#main_view) * [WATERWAKE](https://lua2.fatality.win/api/enums/particleattachment_t#waterwake) * [CENTER\_FOLLOW](https://lua2.fatality.win/api/enums/particleattachment_t#center_follow) * [CUSTOM\_GAME\_STATE\_1](https://lua2.fatality.win/api/enums/particleattachment_t#custom_game_state_1) * [HEALTHBAR](https://lua2.fatality.win/api/enums/particleattachment_t#healthbar) --- # Vec2 | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/types/vec2.md) . [](https://lua2.fatality.win/api/instances/draw/types/vec2#call) \_\_call ------------------------------------------------------------------------------- **Constructor** Creates a new 2D vector instance. **Arguments** 1\. Default vector (0, 0). None. 2\. Single value. Name Type Description `value` `float` X and Y coordinates. 3\. XY values. Name Type Description `x` `float` X coordinate. `y` `float` Y coordinate. **Returns** Type Description `Vec2` New vector. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#x) x --------------------------------------------------------------------- **Field** Type: `float` X coordinate. * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#y) y --------------------------------------------------------------------- **Field** Type: `float` Y coordinate. * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#clone) Clone ---------------------------------------------------------------------------- **Method** Returns a copy of this vector instance. **Arguments** None. **Returns** Type Description `Vec2` The copied vector **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#floor) Floor ---------------------------------------------------------------------------- **Method** Returns floored variant of this vector. **Arguments** None. **Returns** Type Description `Vec2` Floored variant. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#ceil) Ceil -------------------------------------------------------------------------- **Method** Returns ceiled variant of this vector. **Arguments** None. **Returns** Type Description `Vec2` Ceiled variant. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#round) Round ----------------------------------------------------------------------------- **Method** Returns rounded variant of this vector. **Arguments** None. **Returns** Type Description `Vec2` Rounded variant. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#len) Len ------------------------------------------------------------------------ **Method** Returns length of this vector. **Arguments** None. **Returns** Type Description `float` Length. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#lensqr) LenSqr ------------------------------------------------------------------------------ **Method** Returns squared length of this vector. This method is de-facto faster than the non-squared variant. Use it, if you need extra performance. **Arguments** None. **Returns** Type Description `float` Length. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#dist) Dist --------------------------------------------------------------------------- **Method** Returns distance to another vector. **Arguments** Name Type Description `other` `Vec2` Other vector. **Returns** Type Description `float` Distance. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/vec2#distsqr) DistSqr -------------------------------------------------------------------------------- **Method** Returns squared distance to another vector. This method is de-facto faster than the non-squared variant. Use it, if you need extra performance. **Arguments** Name Type Description `other` `Vec2` Other vector. **Returns** Type Description `float` Distance. **Example** [PreviousRect](https://lua2.fatality.win/api/instances/draw/types/rect) [NextColor](https://lua2.fatality.win/api/instances/draw/types/color) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/draw/types/vec2#call)  * [x](https://lua2.fatality.win/api/instances/draw/types/vec2#x)  * [y](https://lua2.fatality.win/api/instances/draw/types/vec2#y)  * [Clone](https://lua2.fatality.win/api/instances/draw/types/vec2#clone) * [Floor](https://lua2.fatality.win/api/instances/draw/types/vec2#floor) * [Ceil](https://lua2.fatality.win/api/instances/draw/types/vec2#ceil) * [Round](https://lua2.fatality.win/api/instances/draw/types/vec2#round)  * [Len](https://lua2.fatality.win/api/instances/draw/types/vec2#len) * [LenSqr](https://lua2.fatality.win/api/instances/draw/types/vec2#lensqr) * [Dist](https://lua2.fatality.win/api/instances/draw/types/vec2#dist)  * [DistSqr](https://lua2.fatality.win/api/instances/draw/types/vec2#distsqr) Copy local vec = draw.Vec2(5, 10); Copy local copy = vec:Clone(); Copy local fl = vec:Floor(); Copy local ceiled = vec:Ceil(); Copy local rounded = vec:Round(); Copy local len = vec:Len(); Copy local len = vec:LenSqr(); Copy local dist = vec1:Dist(vec2); Copy local dist = vec1:DistSqr(vec2); --- # ControlID | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/types/controlid.md) . This type represents a control ID. This type is mostly deprecated and can be replaced by strings on all control constructors. Copy local cb = gui.Checkbox('my_checkbox_id') -- Auto converts into ControlID [](https://lua2.fatality.win/api/instances/gui/types/controlid#call) \_\_call ----------------------------------------------------------------------------------- **Constructor** Constructs the ID structure. **Arguments** Name Type Description `id` `string` ID. **Returns** Type Description `ControlID` ID structure. **Example** Copy local id = gui.ControlID('my_id'); * * * [](https://lua2.fatality.win/api/instances/gui/types/controlid#id) id --------------------------------------------------------------------------- **Field****Read only** Type: `int` Hashed representation of the ID. * * * [](https://lua2.fatality.win/api/instances/gui/types/controlid#id-string) idString --------------------------------------------------------------------------------------- **Field****Read only** Type: `string` Normal representation of the ID. [PreviousBits](https://lua2.fatality.win/api/instances/gui/types/bits) [NextContext](https://lua2.fatality.win/api/instances/gui/context) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/gui/types/controlid#call)  * [id](https://lua2.fatality.win/api/instances/gui/types/controlid#id)  * [idString](https://lua2.fatality.win/api/instances/gui/types/controlid#id-string) --- # Context | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/context.md) . This type represents the GUI context. [](https://lua2.fatality.win/api/instances/gui/context#find) Find ----------------------------------------------------------------------- **Method** Finds a control by ID. **Arguments** Name Type Description `id` `string` Control ID. **Returns** Type Description `<`[`Control`](https://lua2.fatality.win/api/instances/gui/control) `>?` Casted control. Returns `nil` if the control was not found, or casting failed. **Example** Copy local some_cb = gui.ctx:Find('some_cb'); * * * [](https://lua2.fatality.win/api/instances/gui/context#user) user ----------------------------------------------------------------------- **Field** Type: [`User_t`](https://lua2.fatality.win/api/instances/gui/context/user_t) User's basic information. [PreviousControlID](https://lua2.fatality.win/api/instances/gui/types/controlid) [NextUser\_t](https://lua2.fatality.win/api/instances/gui/context/user_t) Last updated 3 months ago * [Find](https://lua2.fatality.win/api/instances/gui/context#find)  * [user](https://lua2.fatality.win/api/instances/gui/context#user) --- # User_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/context/user_t.md) . This type represents basic user information. [](https://lua2.fatality.win/api/instances/gui/context/user_t#avatar) avatar ---------------------------------------------------------------------------------- **Field****Read only** Type: [`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) ? User's avatar. May be `nil`. * * * [](https://lua2.fatality.win/api/instances/gui/context/user_t#username) username -------------------------------------------------------------------------------------- **Field****Read only** Type: `string` User's username. [PreviousContext](https://lua2.fatality.win/api/instances/gui/context) [NextContextInput](https://lua2.fatality.win/api/instances/gui/contextinput) Last updated 3 months ago * [avatar](https://lua2.fatality.win/api/instances/gui/context/user_t#avatar)  * [username](https://lua2.fatality.win/api/instances/gui/context/user_t#username) --- # NotificationSystem | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/notificationsystem.md) . This type represents a notification system. [](https://lua2.fatality.win/api/instances/gui/notificationsystem#add) Add -------------------------------------------------------------------------------- **Method** Adds a notification to the list. **Arguments** Name Type Description `notif` [`Notification`](https://lua2.fatality.win/api/instances/gui/notificationsystem/notification) Notification object. **Returns** Nothing. **Example** Copy notif:Add(my_notification); [PreviousMouseButton](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton) [NextNotification](https://lua2.fatality.win/api/instances/gui/notificationsystem/notification) Last updated 3 months ago --- # EntityList_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/entitylist_t.md) . This type represents an entity list. Never save any entities you get from this list if you don't know what you are doing! You may be left with dangling pointers, which will inevitably lead to a crash. [](https://lua2.fatality.win/api/instances/entities/entitylist_t#for-each) ForEach --------------------------------------------------------------------------------------- **Method** Loops the entities. **Arguments** Name Type Description `fn` `function(`[`EntityEntry_t`](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t) `)` Function callback. **Returns** Nothing. **Example** Copy entities.players:ForEach(function (entry) -- ... end); [](https://lua2.fatality.win/api/instances/entities/entitylist_t#for-each-1) ForEachZ ------------------------------------------------------------------------------------------ **Method** Loops the entities in the reverse order. **Arguments** Name Type Description `fn` `function(`[`EntityEntry_t`](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t) `)` Function callback. **Returns** Nothing. **Example** [Previousentities](https://lua2.fatality.win/api/instances/entities) [NextEntityEntry\_t](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t) Last updated 3 months ago * [ForEach](https://lua2.fatality.win/api/instances/entities/entitylist_t#for-each) * [ForEachZ](https://lua2.fatality.win/api/instances/entities/entitylist_t#for-each-1) Copy entities.players:ForEachZ(function (entry) -- ... end); --- # CSWeaponMode | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/csweaponmode.md) . This enum represents the firing mode for a weapon. [](https://lua2.fatality.win/api/instances/entities/csweaponmode#primary-mode) PRIMARY\_MODE ------------------------------------------------------------------------------------------------- **Field** Primary mode (usually left mouse button). * * * [](https://lua2.fatality.win/api/instances/entities/csweaponmode#secondary-mode) SECONDARY\_MODE ----------------------------------------------------------------------------------------------------- **Field** Secondary mode (usually right mouse button). [PreviousCHandle](https://lua2.fatality.win/api/instances/entities/chandle) [NextCSWeaponType](https://lua2.fatality.win/api/instances/entities/csweapontype) Last updated 4 months ago * [PRIMARY\_MODE](https://lua2.fatality.win/api/instances/entities/csweaponmode#primary-mode) * [SECONDARY\_MODE](https://lua2.fatality.win/api/instances/entities/csweaponmode#secondary-mode) --- # EntityEntry_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t.md) . Represents an entity entry. [](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#entity) entity --------------------------------------------------------------------------------------------------- **Field** Type: `` Entity instance. Type depends on the list you get it from. * * * [](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#had-dataupdate) hadDataUpdate ----------------------------------------------------------------------------------------------------------------- **Field** Type: `bool` `true` if the client had received any updates to this entity at least once. * * * [](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#handle) handle --------------------------------------------------------------------------------------------------- **Field** Type: [`CHandle`](https://lua2.fatality.win/api/instances/entities/chandle) Entity's handle. You may store this elsewhere if you need to have global access to an entity. * * * [](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#avatar) avatar --------------------------------------------------------------------------------------------------- **Field** Type: [`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) This field is only available on entries that use `C_CSPlayerController` type. Player's profile picture. Will be `nil` if was yet to be initialized. * * * [](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#avatar-1) visuals ----------------------------------------------------------------------------------------------------- **Field** Type: `PlayerEntryVisualData` This field is only available on entries that use `C_CSPlayerPawn` type. Use only inside the `playerInfoPre` and `playerInfoPost` callbacks, otherwise you may access outdated or invalid data. Player's ESP information. [PreviousEntityList\_t](https://lua2.fatality.win/api/instances/entities/entitylist_t) [NextC\_BaseEntity](https://lua2.fatality.win/api/instances/entities/c_baseentity) Last updated 3 months ago * [entity](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#entity)  * [hadDataUpdate](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#had-dataupdate) * [handle](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#handle)  * [avatar](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#avatar)  * [visuals](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t#avatar-1) --- # Notification | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/notificationsystem/notification.md) . This type represents a notification item. [](https://lua2.fatality.win/api/instances/gui/notificationsystem/notification#call) \_\_call --------------------------------------------------------------------------------------------------- **Constructor** Constructs the notification. **Arguments** Name Type Description `hdr` `string` Header (title). `txt` `string` Text (body). `ico` [`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) ? Icon. Defaults to `nil`. **Returns** Type Description `Notification` Notification object. **Example** Copy local notif = gui.Notification('Hello', 'Lua works!'); [PreviousNotificationSystem](https://lua2.fatality.win/api/instances/gui/notificationsystem) [NextControl](https://lua2.fatality.win/api/instances/gui/control) Last updated 3 months ago --- # ObserverMode_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/observermode_t.md) . This enum represents the observer modes available in the game. * * * [](https://lua2.fatality.win/api/instances/entities/observermode_t#none) NONE ---------------------------------------------------------------------------------- **Field** Represents no observer mode (not spectating anyone). * * * [](https://lua2.fatality.win/api/instances/entities/observermode_t#fixed) FIXED ------------------------------------------------------------------------------------ **Field** Represents a fixed camera position. * * * [](https://lua2.fatality.win/api/instances/entities/observermode_t#in-eye) IN\_EYE --------------------------------------------------------------------------------------- **Field** Represents observing from the perspective of the player being spectated. * * * [](https://lua2.fatality.win/api/instances/entities/observermode_t#chase) CHASE ------------------------------------------------------------------------------------ **Field** Represents a chase camera that follows the player being spectated. * * * [](https://lua2.fatality.win/api/instances/entities/observermode_t#roaming) ROAMING ---------------------------------------------------------------------------------------- **Field** Represents a free-roaming camera. * * * [](https://lua2.fatality.win/api/instances/entities/observermode_t#directed) DIRECTED ------------------------------------------------------------------------------------------ **Field** Represents an automatically directed camera, typically controlled by the game or server. [PreviousHitGroup\_t](https://lua2.fatality.win/api/instances/entities/hitgroup_t) [Nextgui](https://lua2.fatality.win/api/instances/gui) Last updated 4 months ago * [NONE](https://lua2.fatality.win/api/instances/entities/observermode_t#none) * [FIXED](https://lua2.fatality.win/api/instances/entities/observermode_t#fixed) * [IN\_EYE](https://lua2.fatality.win/api/instances/entities/observermode_t#in-eye) * [CHASE](https://lua2.fatality.win/api/instances/entities/observermode_t#chase) * [ROAMING](https://lua2.fatality.win/api/instances/entities/observermode_t#roaming) * [DIRECTED](https://lua2.fatality.win/api/instances/entities/observermode_t#directed) --- # RefHolder_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/refholder_t.md) . This type acts as a proxy for reference variables that are used internally. Since Lua is a value-only language, it does not support references. Instead, an instance of this type is used to preserve interoperability with C++. Note that `` indicates the specific type this instance holds. For example, if you see `RefHolder_t`, it means the `val` field holds a float value and will only accept float values when it’s updated. [](https://lua2.fatality.win/api/types/refholder_t#val) val ----------------------------------------------------------------- **Field** Type: `` Value holder. Use as the source value, or override it to change internally. [PreviousPtr](https://lua2.fatality.win/api/types/ptr) [NextVector](https://lua2.fatality.win/api/types/vector) Last updated 3 months ago --- # CFiringMode | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata/cfiringmode.md) . Firing mode information. ### [](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata/cfiringmode#values-arr) values\_arr **Field****Read only** Type: `` Values. [PreviousCCSWeaponBaseVData](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata) [NextCHandle](https://lua2.fatality.win/api/instances/entities/chandle) Last updated 4 months ago --- # CSWeaponCategory | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/csweaponcategory.md) . This enum represents the category classification for weapons in the game. [](https://lua2.fatality.win/api/instances/entities/csweaponcategory#other) OTHER -------------------------------------------------------------------------------------- **Field** Represents weapons or items that don't fit into any specific category. * * * [](https://lua2.fatality.win/api/instances/entities/csweaponcategory#melee) MELEE -------------------------------------------------------------------------------------- **Field** Represents melee weapons, such as knives or other close-combat tools. * * * [](https://lua2.fatality.win/api/instances/entities/csweaponcategory#secondary) SECONDARY ---------------------------------------------------------------------------------------------- **Field** Represents secondary weapons, such as pistols. * * * [](https://lua2.fatality.win/api/instances/entities/csweaponcategory#smg) SMG ---------------------------------------------------------------------------------- **Field** Represents submachine guns (SMGs). * * * [](https://lua2.fatality.win/api/instances/entities/csweaponcategory#rifle) RIFLE -------------------------------------------------------------------------------------- **Field** Represents rifles, including assault rifles and sniper rifles. * * * [](https://lua2.fatality.win/api/instances/entities/csweaponcategory#heavy) HEAVY -------------------------------------------------------------------------------------- **Field** Represents heavy weapons, such as machine guns and shotguns. [PreviousEItemDefinitionIndex](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex) [NextCHitboxInfo](https://lua2.fatality.win/api/instances/entities/chitboxinfo) Last updated 4 months ago * [OTHER](https://lua2.fatality.win/api/instances/entities/csweaponcategory#other) * [MELEE](https://lua2.fatality.win/api/instances/entities/csweaponcategory#melee) * [SECONDARY](https://lua2.fatality.win/api/instances/entities/csweaponcategory#secondary) * [SMG](https://lua2.fatality.win/api/instances/entities/csweaponcategory#smg) * [RIFLE](https://lua2.fatality.win/api/instances/entities/csweaponcategory#rifle) * [HEAVY](https://lua2.fatality.win/api/instances/entities/csweaponcategory#heavy) --- # draw | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw.md) . Usage: draw.{func\_or\_field} This table describes the rendering system of the software. #### [](https://lua2.fatality.win/api/instances/draw#undefined) All types and enums described in the child sections must be prefixed with `draw.`. This is done so specific types are not confused with others, such as the separate `color` types present in rendering and the game. [](https://lua2.fatality.win/api/instances/draw#adapter) adapter ---------------------------------------------------------------------- `**Field**``**Read only**` Type: [`Adapter`](https://lua2.fatality.win/api/instances/draw/adapter) Rendering adapter. * * * [](https://lua2.fatality.win/api/instances/draw#textures) textures ------------------------------------------------------------------------ `**Field**``**Read only**` Type: [`Accessor`](https://lua2.fatality.win/api/instances/draw/types/accessor) `<`[`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) `>` A string to [`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) map of all managed textures. You can query and push textures with custom IDs. When you add a texture to this map, it will be automatically destroyed and recreated when required (such as when DX11 device gets lost). Built-in textures: * `gui_loading`: loading spinner * `gui_user_avatar`: current user's profile picture. May be `nil` if you don't have any avatar set * `gui_icon_up`: up chevron * `gui_icon_down`: down chevron * `gui_icon_copy`: copy icon * `gui_icon_paste`: paste icon * `gui_icon_add`: add icon * `gui_icon_search`: search icon * `gui_icon_settings`: settings icon (a cogwheel) * `gui_icon_bug`: bug icon * `gui_icon_key.N`: keyboard/mouse key icons. Replace `N` with the char code of a required button * `icon_rage`: RAGE tab icon * `icon_legit`: LEGIT tab icon * `icon_visuals`: VISUALS tab icon * `icon_misc`: MISC tab icon * `icon_scripts`: LUA tab icon * `icon_skins`: SKINS tab icon * `icon_cloud`: cloud icon * `icon_file`: file icon * `icon_refresh`: refresh icon * `icon_save`: save icon * `icon_configs`: "Configs" popup icon * `icon_keys`: keyboard icon * `icon_info`: "About" popup icon * `icon_close`: close icon (cross) * `icon_load`: load icon * `icon_import`: import icon * `icon_export`: export icon * `icon_delete`: delete icon * `icon_autoload`: "Autoload" icon * `icon_allow_insecure`: "Allow insecure" icon * `icon_cloud_upd`: cloud update icon * `player_texture`: player preview texture * * * [](https://lua2.fatality.win/api/instances/draw#fonts) fonts ------------------------------------------------------------------ `**Field**``**Read only**` Type: [`Accessor`](https://lua2.fatality.win/api/instances/draw/types/accessor) `<`[`FontBase`](https://lua2.fatality.win/api/instances/draw/managed/fontbase) `>` A string to [`FontBase`](https://lua2.fatality.win/api/instances/draw/managed/fontbase) map of all managed fonts. You can query and push fonts with custom IDs. When you add a font to this map, it will be automatically destroyed and recreated when required (such as when DX11 device gets lost). Built-in fonts: * `gui_debug`: Verdana, 13px * `gui_title`: Figtree ExtraBold, 23px * `gui_main`: Figtree Medium, 14px * `gui_main_shadow`: Figree Medium, 14px, with shadow * `gui_main_fb`: Segoe UI Semibold, 14px * `gui_bold`: Figtree ExtraBold, 14px * `gui_bold_fb`: Segoe UI Black, 14px * `gui_semi_bold`: Figtree SemiBold, 14px * `gui_semi_bold_fb`: Segoe UI Bold, 14px * * * [](https://lua2.fatality.win/api/instances/draw#shaders) shaders ---------------------------------------------------------------------- `**Field**``**Read only**` Type: [`Accessor`](https://lua2.fatality.win/api/instances/draw/types/accessor) `<`[`Shader`](https://lua2.fatality.win/api/instances/draw/managed/shader) `>` A string to [`Shader`](https://lua2.fatality.win/api/instances/draw/managed/shader) map of all managed shader. You can query and push shader with custom IDs. When you add a shader to this map, it will be automatically destroyed and recreated when required (such as when DX11 device gets lost). Build-in shaders: * `blur_f`: gaussian blur shader * * * [](https://lua2.fatality.win/api/instances/draw#surface) surface ---------------------------------------------------------------------- `**Field**``**Read only**` Type: [`Layer`](https://lua2.fatality.win/api/instances/draw/layer) The layer you can render on. * * * [](https://lua2.fatality.win/api/instances/draw#gettime) GetTime --------------------------------------------------------------------- **Method** Returns current render time, alias to [`m_flRealTime`](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#real-time) . **Arguments** None. **Returns** Type Description `float` The current time **Example** * * * [](https://lua2.fatality.win/api/instances/draw#getframetime) GetFrameTime ------------------------------------------------------------------------------- **Method** Returns current frame time, alias to [`m_flFrameTime`](https://lua2.fatality.win/api/instances/game/cglobalvarsbase#frame-time) . **Arguments** None. **Returns** Type Description `float` The frame time **Example** * * * [](https://lua2.fatality.win/api/instances/draw#getscale) GetScale ----------------------------------------------------------------------- **Method** Returns current render DPI scaling multiplier. **Arguments** None. **Returns** Type Description `float` The multiplier **Example** * * * [](https://lua2.fatality.win/api/instances/draw#getdisplay) GetDisplay --------------------------------------------------------------------------- **Method** Returns current render screen size, similar to [`GetScreenSize()`](https://lua2.fatality.win/api/instances/game/cengineclient#getscreensize) . **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) The screen size **Example** * * * [](https://lua2.fatality.win/api/instances/draw#createpanoramasvgtexture) CreatePanoramaSvgTexture ------------------------------------------------------------------------------------------------------- **Method** Finds and retrieves SVG data from Panorama and creates a new texture. Useful for retrieving icons (e.g. weapons and utilities) from the game. **Arguments** Name Type Description `path` `string` Path to the SVG `height` `number` Height of the texture, in pixels **Returns** Type Description [`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) The created texture **Example** [PreviousEvents\_t](https://lua2.fatality.win/api/instances/mods/events_t) [NextTypes](https://lua2.fatality.win/api/instances/draw/types) Last updated 3 months ago * [adapter](https://lua2.fatality.win/api/instances/draw#adapter)  * [textures](https://lua2.fatality.win/api/instances/draw#textures)  * [fonts](https://lua2.fatality.win/api/instances/draw#fonts)  * [shaders](https://lua2.fatality.win/api/instances/draw#shaders)  * [surface](https://lua2.fatality.win/api/instances/draw#surface)  * [GetTime](https://lua2.fatality.win/api/instances/draw#gettime) * [GetFrameTime](https://lua2.fatality.win/api/instances/draw#getframetime) * [GetScale](https://lua2.fatality.win/api/instances/draw#getscale) * [GetDisplay](https://lua2.fatality.win/api/instances/draw#getdisplay) * [CreatePanoramaSvgTexture](https://lua2.fatality.win/api/instances/draw#createpanoramasvgtexture) Copy local time = draw.GetTime() Copy local time = draw.GetFrameTime() Copy local dpi = draw.GetScale() Copy local size = draw.GetDisplay() Copy local tex = draw.CreatePanoramaSvgTexture('icons/equipment/inferno', 26) --- # CGameTrace | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace.md) . Encapsulates all tracing information returned by the tracing methods. [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name) m\_pEnt ---------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-1) m\_EntHandle ----------------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`CHandle`](https://lua2.fatality.win/api/instances/entities/chandle) * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-2) m\_vStartPos ----------------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`Vector`](https://lua2.fatality.win/api/types/vector) * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-3) m\_vEndPos --------------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`Vector`](https://lua2.fatality.win/api/types/vector) * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-4) m\_Plane ------------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`CPlane`](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cplane) * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-5) m\_flFraction ------------------------------------------------------------------------------------------------------------ `**Field**``**Read only**` Type: `number` * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-6) m\_iPhysBone ----------------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `number` * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-7) m\_nEntBone ---------------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `number` * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-8) m\_bStartSolid ------------------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `boolean` * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#get-address) DidHit ---------------------------------------------------------------------------------------------------------- `**Method**` Returns whether or not the trace hit an entity or the world. **Arguments** Nothing. **Returns** Type Description `boolean` Whether it hit something or not * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#get-address-1) DidHitWorld ----------------------------------------------------------------------------------------------------------------- `**Method**` Returns whether or not the trace hit the world. **Arguments** Nothing. **Returns** Type Description `boolean` Whether it hit the world or not [PreviousCPlane](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cplane) [NextRay\_t](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray_t) Last updated 3 months ago * [m\_pEnt](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name) * [m\_EntHandle](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-1) * [m\_vStartPos](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-2) * [m\_vEndPos](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-3) * [m\_Plane](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-4) * [m\_flFraction](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-5) * [m\_iPhysBone](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-6) * [m\_nEntBone](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-7) * [m\_bStartSolid](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#name-8) * [DidHit](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#get-address) * [DidHitWorld](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace#get-address-1) --- # VecColor | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/veccolor.md) . This type is the games cvar color value vector (r, g, b). [](https://lua2.fatality.win/api/types/veccolor#r) r ---------------------------------------------------------- `**Field**` Type: `float` * * * [](https://lua2.fatality.win/api/types/veccolor#g) g ---------------------------------------------------------- `**Field**` Type: `float` * * * [](https://lua2.fatality.win/api/types/veccolor#b) b ---------------------------------------------------------- `**Field**` Type: `float` [PreviousVector4D](https://lua2.fatality.win/api/types/vector4d) [NextColor](https://lua2.fatality.win/api/types/color) Last updated 4 months ago * [r](https://lua2.fatality.win/api/types/veccolor#r)  * [g](https://lua2.fatality.win/api/types/veccolor#g)  * [b](https://lua2.fatality.win/api/types/veccolor#b) --- # CPhysicsQueryInterface | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface.md) . Usage: Usage: game.physicsQueryInterface:{method} This type encapsulates all tracing functionalities. [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface#traceray) TraceRay ---------------------------------------------------------------------------------------------- **Function** Performs a regular trace ray call. If `filter` is omitted, the default filter ignores the local player. **Arguments** Name Type Description `ray` [`Ray_t`](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray_t) The ray or shape `from` [`Vector`](https://lua2.fatality.win/api/types/vector) The starting position `to` [`Vector`](https://lua2.fatality.win/api/types/vector) The ending position `filter` [`LuaTraceFilter_t`](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/luatracefilter_t) `?` Optional custom trace filter **Returns** Type Description [`CGameTrace`](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace) The resulting trace object **Example** Copy local filter = LuaTraceFilter_t() filter.ignoreWorld = true filter.ignoreEntity = entities.GetLocalPawn() local ray = Ray_t() local from = Vector(0, 0, 0) local to = Vector(100, 100, 100) local trace = game.physicsQueryInterface:TraceRay(ray, from, to, filter) * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface#clipboard-set) TraceMovement -------------------------------------------------------------------------------------------------------- **Function** Performs a trace ray call using the player movement mask. Skips local player. **Arguments** Name Type Description `ray` [`Ray_t`](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/ray_t) The ray/shape `from` [`Vector`](https://lua2.fatality.win/api/types/vector) The starting position `to` [`Vector`](https://lua2.fatality.win/api/types/vector) The ending position **Returns** Type Description [`CGameTrace`](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace) The resulting trace object **Example** * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface#tracegrenade) TraceGrenade ------------------------------------------------------------------------------------------------------ **Function** Performs a trace call using the grenade mask, as a line. Doesn't use a custom ray. **Arguments** Name Type Description `from` [`Vector`](https://lua2.fatality.win/api/types/vector) The starting position `to` [`Vector`](https://lua2.fatality.win/api/types/vector) The ending position `thrower` [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) The entity throwing the grenade, gets skipped `ignore_breakable` `boolean` Ignores any breakable objects if true **Returns** Type Description [`CGameTrace`](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace) The resulting trace object * * * [](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface#tracegrenadehull) TraceGrenadeHull -------------------------------------------------------------------------------------------------------------- **Function** Performs a trace call using the grenade mask, as a hull. Doesn't use a custom ray. **Arguments** Name Type Description `from` [`Vector`](https://lua2.fatality.win/api/types/vector) The starting position `to` [`Vector`](https://lua2.fatality.win/api/types/vector) The ending position `thrower` [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) The entity throwing the grenade, gets skipped **Returns** Type Description [`CGameTrace`](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cgametrace) The resulting trace object [PreviousConVar](https://lua2.fatality.win/api/instances/game/ccvar/convar) [NextCPlane](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface/cplane) Last updated 28 days ago * [TraceRay](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface#traceray) * [TraceMovement](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface#clipboard-set) * [TraceGrenade](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface#tracegrenade) * [TraceGrenadeHull](https://lua2.fatality.win/api/instances/game/cphysicsqueryinterface#tracegrenadehull) Copy local player = entities.GetLocalPawn() local ray = Ray_t() do local collision = player.m_pCollision:GetAs('client.dll', 'CCollisionProperty') ray:set_hull(collision.m_vecMins:Get(), collision.m_vecMaxs:Get()) end local from = player:GetAbsOrigin() local to = player:GetAbsOrigin() + player:GetAbsVelocity() local trace = game.physicsQueryInterface:TraceMovement(ray, from, to) --- # Types | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types.md) . In this section, you’ll find the most common types that aren’t tied to any specific service or module. Use the left menu (or hamburger menu on mobile) to navigate between enums. [Previousutils](https://lua2.fatality.win/api/instances/utils) [NextPtr](https://lua2.fatality.win/api/types/ptr) Last updated 3 months ago --- # panorama | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/panorama.md) . Usage: `panorama.{function}` This table exposes all available panorama functions. * * * [](https://lua2.fatality.win/api/instances/panorama#base64-encode) Eval ---------------------------------------------------------------------------- **Function** **Insecure Only** Loads and executes Javascript code in the specified panorama panel. **Arguments** Name Type Description `code` `string` The Javascript code `panel` `string` The desired panorama panel, defaults to `CSGOHud` `layout` `string` The XML path, defaults to `panorama/layout/base.xml` **Returns** The evaluated code's return value, if any. **Example** Copy panorama.Eval [[\ $.Msg("Hello!")\ ]] [Previoushttp](https://lua2.fatality.win/api/instances/http) [Nextutils](https://lua2.fatality.win/api/instances/utils) Last updated 3 months ago --- # HitGroup_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/hitgroup_t.md) . This enum represents the unique identifier for all player hitgroups. Not to be confused with `EHitBox`. [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none) HEAD ------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-1) NECK -------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-2) STOMACH ----------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-3) RIGHTARM ------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-4) LEFTARM ----------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-5) RIGHTLEG ------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-6) LEFTLEG ----------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-7) GENERIC ----------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-8) UNUSED ---------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-9) INVALID ----------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-10) GEAR --------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-11) SPECIAL ------------------------------------------------------------------------------------ **Field** [PreviousEHitBox](https://lua2.fatality.win/api/instances/entities/ehitbox) [NextObserverMode\_t](https://lua2.fatality.win/api/instances/entities/observermode_t) Last updated 4 months ago * [HEAD](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none) * [NECK](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-1) * [STOMACH](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-2) * [RIGHTARM](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-3) * [LEFTARM](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-4) * [RIGHTLEG](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-5) * [LEFTLEG](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-6) * [GENERIC](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-7) * [UNUSED](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-8) * [INVALID](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-9) * [GEAR](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-10) * [SPECIAL](https://lua2.fatality.win/api/instances/entities/hitgroup_t#none-11) --- # TextParams | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/layer/textparams.md) . This type is used to determine text alignment. Line alignment only makes sense if you have multiple lines in your text. By default, all next lines will start from the left side of the text. You can change this behavior by using one of the functions that take `line` as a parameter. For example, if you pass `right` to the line alignment, all next lines will start from the right side. Text alignment will remain as dictated by `v` and `h` parameters. [](https://lua2.fatality.win/api/instances/draw/layer/textparams#with-v) WithV ----------------------------------------------------------------------------------- **Function** Creates `TextParams` instance with vertical alignment. **Arguments** Name Type Description `v` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Vertical alignment. **Returns** Type Description `TextParams` Created text params. **Example** Copy local align_top = draw.TextParams.WithV(draw.TextAlignment.TOP); * * * [](https://lua2.fatality.win/api/instances/draw/layer/textparams#with-h) WithH ----------------------------------------------------------------------------------- **Function** Creates `TextParams` instance with horizontal alignment. **Arguments** Name Type Description `h` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Horizontal alignment. **Returns** Type Description `TextParams` Created text params. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/layer/textparams#withline) WithLine ---------------------------------------------------------------------------------------- **Function** Creates `TextParams` instance with line alignment. **Arguments** Name Type Description `line` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Line alignment. **Returns** Type Description `TextParams` Created text params. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/layer/textparams#withvh) WithVH ------------------------------------------------------------------------------------ **Function** Creates `TextParams` instance with vertical and horizontal alignments. **Arguments** Name Type Description `v` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Vertical alignment. `h` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Horizontal alignment. **Returns** Type Description `TextParams` Created text params. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/layer/textparams#withvline) WithVLine ------------------------------------------------------------------------------------------ **Function** Creates `TextParams` instance with vertical alignment and line alignment. **Arguments** Name Type Description `v` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Vertical alignment. `line` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Line alignment. **Returns** Type Description `TextParams` Created text params. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/layer/textparams#withhline) WithHLine ------------------------------------------------------------------------------------------ **Function** Creates `TextParams` instance with horizontal alignment and line alignment. **Arguments** Name Type Description `h` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Horizontal alignment. `line` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Line alignment. **Returns** Type Description `TextParams` Created text params. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/layer/textparams#withvhline) WithVHLine -------------------------------------------------------------------------------------------- **Function** Creates `TextParams` instance with vertical, horizontal and line alignments. **Arguments** Name Type Description `v` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Vertical alignment. `h` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Horizontal alignment. `line` [`TextAlignment`](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Line alignment. **Returns** Type Description `TextParams` Created text params. **Example** [PreviousGlowParts](https://lua2.fatality.win/api/instances/draw/layer/glowparts) [NextTextAlignment](https://lua2.fatality.win/api/instances/draw/layer/textparams/textalignment) Last updated 3 months ago * [WithV](https://lua2.fatality.win/api/instances/draw/layer/textparams#with-v) * [WithH](https://lua2.fatality.win/api/instances/draw/layer/textparams#with-h) * [WithLine](https://lua2.fatality.win/api/instances/draw/layer/textparams#withline) * [WithVH](https://lua2.fatality.win/api/instances/draw/layer/textparams#withvh) * [WithVLine](https://lua2.fatality.win/api/instances/draw/layer/textparams#withvline) * [WithHLine](https://lua2.fatality.win/api/instances/draw/layer/textparams#withhline) * [WithVHLine](https://lua2.fatality.win/api/instances/draw/layer/textparams#withvhline) Copy local align_right = draw.TextParams.WithH(draw.TextAlignment.RIGHT); Copy local lines_center = draw.TextParams.WithLine(draw.TextAlignment.CENTER); Copy local align_bottom_right = draw.TextParams.WithVH(draw.TextAlignment.BOTTOM, draw.TextAlignment.RIGHT); Copy local align = draw.TextParams.WithVLine(draw.TextAlignment.BOTTOM, draw.TextAlignment.CENTER); Copy local align = draw.TextParams.WithHLine(draw.TextAlignment.CENTER, draw.TextAlignment.CENTER); Copy local align = draw.TextParams.WithVHLine(draw.TextAlignment.CENTER, draw.TextAlignment.CENTER, draw.TextAlignment.CENTER); --- # Bits | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/types/bits.md) . This type represents a bitset value. Maximal bit number for this type is 63. Setting or getting any bits outside of that range will cause a crash. [](https://lua2.fatality.win/api/instances/gui/types/bits#reset) Reset ---------------------------------------------------------------------------- **Method** Resets the value. **Arguments** None. **Returns** Nothing. **Example** Copy bits:Reset(); * * * [](https://lua2.fatality.win/api/instances/gui/types/bits#get-raw) GetRaw ------------------------------------------------------------------------------ **Method** Returns the raw value. **Arguments** None. **Returns** Type Description `int` Raw value. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/types/bits#set-raw) SetRaw ------------------------------------------------------------------------------ **Method** Sets the raw value. **Arguments** Name Type Description `val` `int` Raw value. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/types/bits#none) None ------------------------------------------------------------------------- **Method** Returns `true` if no bits are set. **Arguments** None. **Returns** Type Description `bool` `true` if no bits are set. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/types/bits#set) Set ----------------------------------------------------------------------- **Method** Enables a bit. **Arguments** Name Type Description `bit` `int` Bit number. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/types/bits#unset) Unset ---------------------------------------------------------------------------- **Method** Disables a bit. **Arguments** Name Type Description `bit` `int` Bit number. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/types/bits#get) Get ------------------------------------------------------------------------ **Method** Returns bit state. **Arguments** Name Type Description `bit` `int` Bit number. **Returns** Type Description `bool` Bit status. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/types/bits#toggle) Toggle ------------------------------------------------------------------------------ **Method** Toggles bit state. **Arguments** Name Type Description `bit` `int` Bit number. **Returns** Nothing. **Example** [PreviousTypes](https://lua2.fatality.win/api/instances/gui/types) [NextControlID](https://lua2.fatality.win/api/instances/gui/types/controlid) Last updated 4 months ago * [Reset](https://lua2.fatality.win/api/instances/gui/types/bits#reset)  * [GetRaw](https://lua2.fatality.win/api/instances/gui/types/bits#get-raw) * [SetRaw](https://lua2.fatality.win/api/instances/gui/types/bits#set-raw) * [None](https://lua2.fatality.win/api/instances/gui/types/bits#none) * [Set](https://lua2.fatality.win/api/instances/gui/types/bits#set) * [Unset](https://lua2.fatality.win/api/instances/gui/types/bits#unset)  * [Get](https://lua2.fatality.win/api/instances/gui/types/bits#get)  * [Toggle](https://lua2.fatality.win/api/instances/gui/types/bits#toggle)  Copy local raw = bits:GetRaw(); Copy bits:SetRaw(long_long_value); Copy if bits:None() then -- ... end Copy bits:Set(5); -- set bit #5 (same as bit.bor(val, bit.lshift(1, 5))) Copy bits:Unset(5); Copy if bits:Get(5) then -- ... end Copy bits:Toggle(5); --- # Vector4D | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/vector4d.md) . This type is a common 4D vector (x, y, z, w). [](https://lua2.fatality.win/api/types/vector4d#x) x ---------------------------------------------------------- `**Field**` Type: `float` * * * [](https://lua2.fatality.win/api/types/vector4d#y) y ---------------------------------------------------------- `**Field**` Type: `float` * * * [](https://lua2.fatality.win/api/types/vector4d#z) z ---------------------------------------------------------- `**Field**` Type: `float` * * * [](https://lua2.fatality.win/api/types/vector4d#w) w ---------------------------------------------------------- `**Field**` Type: `float` [PreviousVector](https://lua2.fatality.win/api/types/vector) [NextVecColor](https://lua2.fatality.win/api/types/veccolor) Last updated 4 months ago * [x](https://lua2.fatality.win/api/types/vector4d#x)  * [y](https://lua2.fatality.win/api/types/vector4d#y)  * [z](https://lua2.fatality.win/api/types/vector4d#z)  * [w](https://lua2.fatality.win/api/types/vector4d#w) --- # http | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/http.md) . Usage: `http.{function}` This table exposes all available HTTP request functions. **Needs insecure mode**. All methods are asynchronous. Some values may be cached. * * * [](https://lua2.fatality.win/api/instances/http#base64-encode) Options table --------------------------------------------------------------------------------- This is the table passed as the `options` argument for the HTTP calls. Copy headers: table -- Request headers data: string | nil (Only in POST) -- Sent data contentType: string | nil (Only in POST) -- Sent content type asTable: boolean -- Auto converts data from/to strings saveToFile: string | nil -- Path to a file, useful for binary data [](https://lua2.fatality.win/api/instances/http#base64-encode-1) Get ------------------------------------------------------------------------- **Function** **Insecure Only** Performs a GET request. The callback parameter `statusCode` will be `false` in case of an error. **Arguments** Name Type Description `url` `string` The desired URL `options` `table` The options table. `callback` `function` The callback, gets called with `statusCode` and `data`. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/http#base64-encode-2) Post -------------------------------------------------------------------------- **Function** **Insecure Only** Performs a POST request. The callback parameter `statusCode` will be `false` in case of an error. **Arguments** Name Type Description `url` `string` The desired URL `options` `table` The options table. `callback` `function` The callback, gets called with `statusCode` and `data`. **Returns** Nothing. **Example** * * * [Previousws](https://lua2.fatality.win/api/instances/ws) [Nextpanorama](https://lua2.fatality.win/api/instances/panorama) Last updated 3 months ago * [Options table](https://lua2.fatality.win/api/instances/http#base64-encode) * [Get](https://lua2.fatality.win/api/instances/http#base64-encode-1) * [Post](https://lua2.fatality.win/api/instances/http#base64-encode-2) Copy http.Get('https://example.com', {headers = {['X-My-Header'] = 'Hello'}}, function(status, data) if status == 200 then print(data) end end) Copy http.Post('https://example.com', { headers = {['X-My-Header'] = 'Hello'}, contentType = 'application/json' -- Defaults to application/x-www-form-urlencoded data = utils.JsonEncode({my_data = 123}) }, function(status, data) if status == 200 then print(data) end end) --- # Color | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/color.md) . Do not mistake this type with [`color`](https://lua2.fatality.win/api/instances/draw/types/color) that is used for rendering! While these types are interchangeable internally, they are NOT in the API. [PreviousVecColor](https://lua2.fatality.win/api/types/veccolor) [NextCViewSetup](https://lua2.fatality.win/api/types/cviewsetup) Last updated 4 months ago --- # Ptr | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/ptr.md) . This type is a literal pointer. To preserve interoperability with C++, several functions return `void*` as the type, which then get converted to `light_userdata`. Since you can’t directly cast FFI types to `light_userdata`, we’ve introduced a specialized type helping with this conversion. Before you convert your pointer to one that is supported by the API, you need to cast it to `uintptr_t`. This can be done in the following manner: Copy local ptr_num = ffi.cast('uintptr_t', ptr_cdata); Then, you can use the cast value in this type's constructor. [](https://lua2.fatality.win/api/types/ptr#call) \_\_call --------------------------------------------------------------- **Constructor** Converts a number to pointer. **Arguments** Name Type Description `num` `int` Pointer, as number. **Returns** Type Description `Ptr` Pointer, as `light_userdata`. **Example** Copy -- cast to number first local ptr_num = ffi.cast('uintptr_t', ptr_cdata); -- then cast to light_userdata local ptr_ld = Ptr(ptr_num); [PreviousTypes](https://lua2.fatality.win/api/types) [NextRefHolder\_t](https://lua2.fatality.win/api/types/refholder_t) Last updated 3 months ago --- # CViewSetup | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/cviewsetup.md) . Describes view setup parameters. [](https://lua2.fatality.win/api/types/cviewsetup#fov) m\_flFOV -------------------------------------------------------------------- **Field** Type: `float` Current FOV (Field of View). * * * [](https://lua2.fatality.win/api/types/cviewsetup#fov-viewmodel) m\_flFOVViewmodel --------------------------------------------------------------------------------------- **Field** Type: `float` Current viewmodel's FOV. * * * [](https://lua2.fatality.win/api/types/cviewsetup#origin) m\_vecOrigin --------------------------------------------------------------------------- **Field** Type: [`Vector`](https://lua2.fatality.win/api/types/vector) Current view origin. * * * [](https://lua2.fatality.win/api/types/cviewsetup#view) m\_vecView ----------------------------------------------------------------------- **Field** Type: [`Vector`](https://lua2.fatality.win/api/types/vector) Current view angles. * * * [](https://lua2.fatality.win/api/types/cviewsetup#aspect-ratio) m\_flAspectRatio ------------------------------------------------------------------------------------- **Field** Type: `float` Current aspect ratio (width / height) of the view. [PreviousColor](https://lua2.fatality.win/api/types/color) [NextCUserCmd](https://lua2.fatality.win/api/types/cusercmd) Last updated 3 months ago * [m\_flFOV](https://lua2.fatality.win/api/types/cviewsetup#fov) * [m\_flFOVViewmodel](https://lua2.fatality.win/api/types/cviewsetup#fov-viewmodel) * [m\_vecOrigin](https://lua2.fatality.win/api/types/cviewsetup#origin) * [m\_vecView](https://lua2.fatality.win/api/types/cviewsetup#view) * [m\_flAspectRatio](https://lua2.fatality.win/api/types/cviewsetup#aspect-ratio) --- # ws | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/ws.md) . Usage: `ws.{function}` This table exposes Workshop utilities. * * * [](https://lua2.fatality.win/api/instances/ws#getitemid) GetItemID ----------------------------------------------------------------------- **Function** Returns current Item ID. Local scripts always return 0. **Arguments** None. **Returns** Type Description `number` Item ID. **Example** Copy local item_id = ws.GetItemID(); * * * [](https://lua2.fatality.win/api/instances/ws#getbuildid) GetBuildID ------------------------------------------------------------------------- **Function** Returns current Build ID. Local scripts always return 0. **Arguments** None. **Returns** Type Description `number` Build ID. **Example** * * * [](https://lua2.fatality.win/api/instances/ws#gettitle) GetTitle --------------------------------------------------------------------- **Function** Returns current script title. **Arguments** None. **Returns** Type Description `string` Title. **Example** * * * [](https://lua2.fatality.win/api/instances/ws#testcapability) TestCapability --------------------------------------------------------------------------------- **Function** Returns whether current script has a capability enabled. Available capabilities: `ffi`, `clipboard`, `fs`, `http` **Arguments** Name Type Description `cpb` `string` Capability ID. **Returns** Type Description `bool` True if script has the provided capability. **Example** * * * [](https://lua2.fatality.win/api/instances/ws#getresourcedir) GetResourceDir --------------------------------------------------------------------------------- **Function** Returns resource directory for this script. It is recommended to use this function only for Workshop scripts, as that is where your resources will be unpacked to. **Arguments** None. **Returns** Type Description `string` Resource directory. Example: `fatality/resource/12345` **Example** [PreviousTabsLayout](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/tabslayout) [Nexthttp](https://lua2.fatality.win/api/instances/http) Last updated 3 months ago * [GetItemID](https://lua2.fatality.win/api/instances/ws#getitemid) * [GetBuildID](https://lua2.fatality.win/api/instances/ws#getbuildid) * [GetTitle](https://lua2.fatality.win/api/instances/ws#gettitle) * [TestCapability](https://lua2.fatality.win/api/instances/ws#testcapability) * [GetResourceDir](https://lua2.fatality.win/api/instances/ws#getresourcedir) Copy local build_id = ws.GetBuildID(); Copy local title = ws.GetTitle(); Copy if ws.TestCapability('clipboard') then utils.ClipboardSet('Hello!'); end Copy local resource_dir = ws.GetResourceDir(); local tex = draw.Texture(resource_dir .. '/my_texture.png'); --- # EHitBox | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/ehitbox.md) . This enum represents the unique identifier for all player hitboxes. [](https://lua2.fatality.win/api/instances/entities/ehitbox#none) HEAD --------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-1) NECK ----------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-2) UPPER\_CHEST ------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-3) CHEST ------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-4) THORAX ------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-5) PELVIS ------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-6) RIGHT\_UPPER\_ARM ------------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-7) LEFT\_UPPER\_ARM ----------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-8) RIGHT\_LOWER\_ARM ------------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-9) LEFT\_LOWER\_ARM ----------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-10) RIGHT\_HAND ------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-11) LEFT\_HAND ------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-12) RIGHT\_UPPER\_LEG ------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-13) LEFT\_UPPER\_LEG ------------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-14) RIGHT\_LOWER\_LEG ------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-15) LEFT\_LOWER\_LEG ------------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-16) RIGHT\_FOOT ------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/instances/entities/ehitbox#none-17) LEFT\_FOOT ------------------------------------------------------------------------------------ **Field** * * * [PreviousCHitboxInfo](https://lua2.fatality.win/api/instances/entities/chitboxinfo) [NextHitGroup\_t](https://lua2.fatality.win/api/instances/entities/hitgroup_t) Last updated 4 months ago * [HEAD](https://lua2.fatality.win/api/instances/entities/ehitbox#none) * [NECK](https://lua2.fatality.win/api/instances/entities/ehitbox#none-1) * [UPPER\_CHEST](https://lua2.fatality.win/api/instances/entities/ehitbox#none-2) * [CHEST](https://lua2.fatality.win/api/instances/entities/ehitbox#none-3) * [THORAX](https://lua2.fatality.win/api/instances/entities/ehitbox#none-4) * [PELVIS](https://lua2.fatality.win/api/instances/entities/ehitbox#none-5) * [RIGHT\_UPPER\_ARM](https://lua2.fatality.win/api/instances/entities/ehitbox#none-6) * [LEFT\_UPPER\_ARM](https://lua2.fatality.win/api/instances/entities/ehitbox#none-7) * [RIGHT\_LOWER\_ARM](https://lua2.fatality.win/api/instances/entities/ehitbox#none-8) * [LEFT\_LOWER\_ARM](https://lua2.fatality.win/api/instances/entities/ehitbox#none-9) * [RIGHT\_HAND](https://lua2.fatality.win/api/instances/entities/ehitbox#none-10) * [LEFT\_HAND](https://lua2.fatality.win/api/instances/entities/ehitbox#none-11) * [RIGHT\_UPPER\_LEG](https://lua2.fatality.win/api/instances/entities/ehitbox#none-12) * [LEFT\_UPPER\_LEG](https://lua2.fatality.win/api/instances/entities/ehitbox#none-13) * [RIGHT\_LOWER\_LEG](https://lua2.fatality.win/api/instances/entities/ehitbox#none-14) * [LEFT\_LOWER\_LEG](https://lua2.fatality.win/api/instances/entities/ehitbox#none-15) * [RIGHT\_FOOT](https://lua2.fatality.win/api/instances/entities/ehitbox#none-16) * [LEFT\_FOOT](https://lua2.fatality.win/api/instances/entities/ehitbox#none-17) --- # CCSWeaponBaseVData | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata.md) . This type represents a weapon's static data. [](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata#index) \_\_index --------------------------------------------------------------------------------------------- **Function** Attemps to search for a field in this class. **Arguments** Name Type Description `name` `string` Field name. **Returns** Type Description [`SchemaAccessor_t`](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t) Accessor instance. **Example** Copy local price = wpn_data.m_nPrice; local price = wpn_data['m_nPrice']; -- this also works [PreviousC\_BaseCSGrenadeProjectile](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_basecsgrenadeprojectile) [NextCFiringMode](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata/cfiringmode) Last updated 3 months ago --- # CSWeaponType | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/csweapontype.md) . This enum represents the weapon type in the game. [](https://lua2.fatality.win/api/instances/entities/csweapontype#knife) KNIFE ---------------------------------------------------------------------------------- **Field** Represents a knife-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#pistol) PISTOL ------------------------------------------------------------------------------------ **Field** Represents a pistol-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#submachinegun) SUBMACHINEGUN -------------------------------------------------------------------------------------------------- **Field** Represents a submachine gun-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#rifle) RIFLE ---------------------------------------------------------------------------------- **Field** Represents a rifle-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#shotgun) SHOTGUN -------------------------------------------------------------------------------------- **Field** Represents a shotgun-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#sniper-rifle) SNIPER\_RIFLE ------------------------------------------------------------------------------------------------- **Field** Represents a sniper rifle-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#machinegun) MACHINEGUN -------------------------------------------------------------------------------------------- **Field** Represents a machine gun-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#c4) C4 ---------------------------------------------------------------------------- **Field** Represents a C4 explosive. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#taser) TASER ---------------------------------------------------------------------------------- **Field** Represents a taser weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#grenade) GRENADE -------------------------------------------------------------------------------------- **Field** Represents a grenade-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#stackableitem) STACKABLEITEM -------------------------------------------------------------------------------------------------- **Field** Represents a stackable item-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#fists) FISTS ---------------------------------------------------------------------------------- **Field** Represents fists as a weapon type. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#breachcharge) BREACHCHARGE ------------------------------------------------------------------------------------------------ **Field** Represents a breach charge-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#bumpmine) BUMPMINE ---------------------------------------------------------------------------------------- **Field** Represents a bump mine-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#tablet) TABLET ------------------------------------------------------------------------------------ **Field** Represents a tablet-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#melee) MELEE ---------------------------------------------------------------------------------- **Field** Represents a melee-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#shield) SHIELD ------------------------------------------------------------------------------------ **Field** Represents a shield-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#zone-repulsor) ZONE\_REPULSOR --------------------------------------------------------------------------------------------------- **Field** Represents a zone repulsor-type weapon. * * * [](https://lua2.fatality.win/api/instances/entities/csweapontype#unknown) UNKNOWN -------------------------------------------------------------------------------------- **Field** Represents an unknown weapon type. [PreviousCSWeaponMode](https://lua2.fatality.win/api/instances/entities/csweaponmode) [NextEItemDefinitionIndex](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex) Last updated 4 months ago * [KNIFE](https://lua2.fatality.win/api/instances/entities/csweapontype#knife) * [PISTOL](https://lua2.fatality.win/api/instances/entities/csweapontype#pistol) * [SUBMACHINEGUN](https://lua2.fatality.win/api/instances/entities/csweapontype#submachinegun) * [RIFLE](https://lua2.fatality.win/api/instances/entities/csweapontype#rifle) * [SHOTGUN](https://lua2.fatality.win/api/instances/entities/csweapontype#shotgun) * [SNIPER\_RIFLE](https://lua2.fatality.win/api/instances/entities/csweapontype#sniper-rifle) * [MACHINEGUN](https://lua2.fatality.win/api/instances/entities/csweapontype#machinegun) * [C4](https://lua2.fatality.win/api/instances/entities/csweapontype#c4) * [TASER](https://lua2.fatality.win/api/instances/entities/csweapontype#taser) * [GRENADE](https://lua2.fatality.win/api/instances/entities/csweapontype#grenade) * [STACKABLEITEM](https://lua2.fatality.win/api/instances/entities/csweapontype#stackableitem) * [FISTS](https://lua2.fatality.win/api/instances/entities/csweapontype#fists) * [BREACHCHARGE](https://lua2.fatality.win/api/instances/entities/csweapontype#breachcharge) * [BUMPMINE](https://lua2.fatality.win/api/instances/entities/csweapontype#bumpmine) * [TABLET](https://lua2.fatality.win/api/instances/entities/csweapontype#tablet) * [MELEE](https://lua2.fatality.win/api/instances/entities/csweapontype#melee) * [SHIELD](https://lua2.fatality.win/api/instances/entities/csweapontype#shield) * [ZONE\_REPULSOR](https://lua2.fatality.win/api/instances/entities/csweapontype#zone-repulsor) * [UNKNOWN](https://lua2.fatality.win/api/instances/entities/csweapontype#unknown) --- # CHandle | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/chandle.md) . This type represents an entity handle. You can also compare this type using a `==` operator. [](https://lua2.fatality.win/api/instances/entities/chandle#get) index --------------------------------------------------------------------------- **Field** Type: number * * * [](https://lua2.fatality.win/api/instances/entities/chandle#get-1) Get ---------------------------------------------------------------------------- **Method** Returns the entity, or `nil` if nothing found. **Arguments** None. **Returns** Type Description `` Entity instance. **Example** Copy local ent = handle:Get(); * * * [](https://lua2.fatality.win/api/instances/entities/chandle#valid) Valid ------------------------------------------------------------------------------ **Method** Returns `true` if the handle is valid. **Arguments** None. **Returns** Type Description `bool` `true` if valid. Example * * * [](https://lua2.fatality.win/api/instances/entities/chandle#is-clientside) IsClientSide -------------------------------------------------------------------------------------------- **Method** Returns `true` if the handle links to a client-side entity. **Arguments** None. **Returns** Type Description `bool` `true` if client-sided. **Example** [PreviousCFiringMode](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata/cfiringmode) [NextCSWeaponMode](https://lua2.fatality.win/api/instances/entities/csweaponmode) Last updated 1 month ago * [index](https://lua2.fatality.win/api/instances/entities/chandle#get) * [Get](https://lua2.fatality.win/api/instances/entities/chandle#get-1)  * [Valid](https://lua2.fatality.win/api/instances/entities/chandle#valid)  * [IsClientSide](https://lua2.fatality.win/api/instances/entities/chandle#is-clientside) Copy if handle:Valid() then -- ... end Copy if handle:IsClientSide() then -- ... end --- # FontBase | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/managed/fontbase.md) . This type represents the base class for font types. You cannot create an instance of this type. Instead, use the children types. This type inherits [`Managed`](https://lua2.fatality.win/api/instances/draw/managed) type. All of its base methods and fields are also available in this type. Definitions: * codepoint: Unicode representation of the character. * kerning: a distance between two characters. * glyph: visual representation of a character. [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#height) height ------------------------------------------------------------------------------------- **Field****Read only** Type: `float` Font height, in pixels. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#ascent) ascent ------------------------------------------------------------------------------------- **Field** Type: `float` Font ascent value, in pixels. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#descent) descent --------------------------------------------------------------------------------------- **Field** Type: `float` Font descent value, in pixels. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#line-gap) lineGap --------------------------------------------------------------------------------------- **Field** Type: `float` Font line gap, in pixels. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#kerning-gap) kerningGap --------------------------------------------------------------------------------------------- **Field** Type: `float` Font kerning gap, in pixels. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#outline-alpha) outlineAlpha ------------------------------------------------------------------------------------------------- **Field** Type: `float` Font outline opacity (`0` to `1`). Defaults to `0.45`. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#flags) flags ----------------------------------------------------------------------------------- **Field****Read only** Type: [`FontFlags`](https://lua2.fatality.win/api/instances/draw/managed/fontbase/fontflags) Font flags. Use `bit` library to read flags. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#y-offset) yOffset --------------------------------------------------------------------------------------- **Field** Type: `int` Glyph Y offset, in pixels. Will alter the location of a glyph in the atlas. Changing this value after the font was created is meaningless. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#x-offset) xOffset --------------------------------------------------------------------------------------- **Field** Type: `int` Glyph X offset, in pixels. Will alter the location of a glyph in the atlas. Changing this value after the font was created is meaningless. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#fallback-font) fallbackFont ------------------------------------------------------------------------------------------------- **Field** Type: `FontBase` Fallback font to use, in case a glyph is not found in this font. Is it useful when one font does not have codepoints for specific symbols, that are present in another font, but you still want to prefer this font's glyphs over other font. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#dropshadow-color) dropshadowColor ------------------------------------------------------------------------------------------------------- **Field** Type: [`Color`](https://lua2.fatality.win/api/instances/draw/types/color) Shadow color. Only R, G, B values are used. * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#getkernedcharwidth) GetKernedCharWidth ------------------------------------------------------------------------------------------------------------ **Method** Returns character width, included with kerning. Arguments Name Type Description `left` `int` Previous character codepoint. `right` `int` Current character codepoint. Returns Type Description `float` Distance, in pixels. Example * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#get-kerning) GetKerning --------------------------------------------------------------------------------------------- **Method** Returns kerning value for a single character. If kerning is disabled, will instead return kerning gap. **Arguments** Name Type Description `cp` `int` Codepoint. **Returns** Type Description `float` Kerning value, in pixels. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#get-text-size) GetTextSize ------------------------------------------------------------------------------------------------ **Method** Returns text area size. **Arguments** Name Type Description `text` `string` Text. `skip_scaling` `bool` If set to `true`, will skip global DPI scaling. Defaults to `false`. `til_newline` `bool` Calculate size only until a line break is met. Defaults to `false`. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Text area size. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#wrap-text) WrapText ------------------------------------------------------------------------------------------ **Method** Wraps text to meet the desired width. Wrapping is done by breaking text by words and inserting line breaks in between. If one of the words is longer than the target width, will instead use that word's width. **Arguments** Name Type Description `text` `string` Text to wrap. `width` `float` Target width. **Returns** Type Description `string` Wrapped text. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#get-glyph) GetGlyph ----------------------------------------------------------------------------------------- **Method** Returns glyph information for a character. **Arguments** Name Type Description `codepoint` `int` Codepoint. **Returns** Type Description [`Glyph_t`](https://lua2.fatality.win/api/instances/draw/managed/fontbase/glyph_t) Glyph information. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/managed/fontbase#get-texture) GetTexture --------------------------------------------------------------------------------------------- **Method** Returns a texture atlas that contains the provided glyph. **Arguments** Name Type Description `gl` [`Glyph_t`](https://lua2.fatality.win/api/instances/draw/managed/fontbase/glyph_t) Character glyph. **Returns** Type Description `int` Texture pointer, or `nil` if not found. **Example** [PreviousShader](https://lua2.fatality.win/api/instances/draw/managed/shader) [NextFont](https://lua2.fatality.win/api/instances/draw/managed/fontbase/font) Last updated 3 months ago * [height](https://lua2.fatality.win/api/instances/draw/managed/fontbase#height)  * [ascent](https://lua2.fatality.win/api/instances/draw/managed/fontbase#ascent)  * [descent](https://lua2.fatality.win/api/instances/draw/managed/fontbase#descent)  * [lineGap](https://lua2.fatality.win/api/instances/draw/managed/fontbase#line-gap) * [kerningGap](https://lua2.fatality.win/api/instances/draw/managed/fontbase#kerning-gap) * [outlineAlpha](https://lua2.fatality.win/api/instances/draw/managed/fontbase#outline-alpha) * [flags](https://lua2.fatality.win/api/instances/draw/managed/fontbase#flags)  * [yOffset](https://lua2.fatality.win/api/instances/draw/managed/fontbase#y-offset) * [xOffset](https://lua2.fatality.win/api/instances/draw/managed/fontbase#x-offset) * [fallbackFont](https://lua2.fatality.win/api/instances/draw/managed/fontbase#fallback-font) * [dropshadowColor](https://lua2.fatality.win/api/instances/draw/managed/fontbase#dropshadow-color) * [GetKernedCharWidth](https://lua2.fatality.win/api/instances/draw/managed/fontbase#getkernedcharwidth) * [GetKerning](https://lua2.fatality.win/api/instances/draw/managed/fontbase#get-kerning) * [GetTextSize](https://lua2.fatality.win/api/instances/draw/managed/fontbase#get-text-size) * [WrapText](https://lua2.fatality.win/api/instances/draw/managed/fontbase#wrap-text)  * [GetGlyph](https://lua2.fatality.win/api/instances/draw/managed/fontbase#get-glyph) * [GetTexture](https://lua2.fatality.win/api/instances/draw/managed/fontbase#get-texture) Copy local w = font:GetKernedCharWidth(prev_cp, cp); Copy local k = font:GetKerning(cp); Copy local sz = font:GetTextSize('Hello!'); Copy local shorter = font:WrapText('This is some very long text!', 50); Copy local glyph = font:GetGlyph(cp); Copy local atlas = font:GetTexture(glyph); --- # EspItemPos | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos.md) . This enum represents all possible ESP positions (anchor points) for custom ESP elements. [](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos#none) TOP --------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos#none-1) BOTTOM -------------------------------------------------------------------------------------------- **Field** * * * [](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos#none-2) LEFT ------------------------------------------------------------------------------------------ **Field** * * * [](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos#none-3) RIGHT ------------------------------------------------------------------------------------------- **Field** [PreviousPlayerInfoCallbackData](https://lua2.fatality.win/api/types/playerinfocallbackdata) [NextPlayerEntryVisualData](https://lua2.fatality.win/api/types/playerentryvisualdata) Last updated 3 months ago * [TOP](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos#none) * [BOTTOM](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos#none-1) * [LEFT](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos#none-2) * [RIGHT](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos#none-3) --- # Command | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/layer/command.md) . This type is used to change render command parameters. Be cautious when changing stuff in an instance of this type. Passing invalid data to `texture` or `frag_shader`, or not restoring some changes after you're done drawing can lead to undefined behavior, and more likely, a crash. If you are not sure how to operate this type, take a look into examples. [](https://lua2.fatality.win/api/instances/draw/layer/command#texture) texture ------------------------------------------------------------------------------------ **Field** Type: [`Ptr`](https://lua2.fatality.win/api/types/ptr) Texture pointer. You can get one from an instance of [`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) type by accessing `obj` field. Passing invalid data to this field WILL result in a crash. For a safer way, please use [`SetTexture`](https://lua2.fatality.win/api/instances/draw/layer/command#settexture) . * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#frag-shader) fragShader ------------------------------------------------------------------------------------------ **Field** Type: [`Ptr`](https://lua2.fatality.win/api/types/ptr) Fragment shader (aka Pixel Shader in DirectX terms) pointer. You can get one from an instance of [`Shader`](https://lua2.fatality.win/api/instances/draw/managed/shader) type by accessing `obj` field. Passing invalid data to this field WILL result in a crash. For a safer way, please use [`SetShader`](https://lua2.fatality.win/api/instances/draw/layer/command#set-shader) . * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#clip-rect) clipRect -------------------------------------------------------------------------------------- **Field** Type: [`Rect`](https://lua2.fatality.win/api/instances/draw/types/rect) `?` Clip rectangle used for scissor testing. If this is set to `nil`, will not clip anything. It is advised to instead use layer's `override_clip_rect` method. While you can pass custom rect to this field, you will lose information about previous clip rects set before. Using that method will make sure to intersect the previous rect with the one you pass and produce a probably more expected result. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#uv-rect) uvRect ---------------------------------------------------------------------------------- **Field** Type: [`Rect`](https://lua2.fatality.win/api/instances/draw/types/rect) `?` UV rect used for texture mapping. If this field is set to `nil`, will use `0, 0, 1, 1` rectangle to map the texture. You can learn more about texture mapping in the tutorial section. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#alpha) alpha -------------------------------------------------------------------------------- **Field** Type: `float` Global opacity override. Defaults to `1`, but if you set anything else - will modulate opacity of every next shape you will render. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#rotation) rotation -------------------------------------------------------------------------------------- **Field** Type: `float` Shape rotation. Not all shapes support this field. The value is set in degrees, not radians. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#anti-alias) antiAlias ---------------------------------------------------------------------------------------- **Field** Type: `bool` If set to `true`, will apply tesselation to shapes. As of now, not every shape supports tesselation, but it is advised to have it enabled at all times anyway. It will produce much better result anyway. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#ignore-scaling) ignoreScaling ------------------------------------------------------------------------------------------------ **Field** Type: `bool` If set to `true`, will ignore global DPI scale. This is set to `true` by default, but you are free to change it to `false` if you are trying to render some custom UI elements. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#chained-call) chainedCall -------------------------------------------------------------------------------------------- **Field** Type: `bool` Only useful when using shaders. If set to `true`, will not update back buffer texture. This can be used if you need the very same texture data, as when applying several shaders to the back buffer. Please note that capturing back buffer is a rather slow operation. It is better to not capture it too often. Back buffer is automatically captured to the only layer you can use anyway, and it is better to use that one instead, to make sure rendering happens as fast as it is possible. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#onlydownsampled) onlyDownsampled --------------------------------------------------------------------------------------------------- **Field** Type: `bool` If set to `true`, will capture back buffer (as long as `chainedCall` is set to `false`). The name of this field is quite misleading due to the fact that in the CS:GO version of Fatality, it was used to configure if the rendering system should also downsample the captured backbuffer into another texture. In DirectX11, this operation is much faster, so it is done regardless. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#capturebackbuffer) captureBackBuffer ------------------------------------------------------------------------------------------------------- **Field** Type: `bool` An alias to `onlyDownsampled`. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#is-tile) isTile ---------------------------------------------------------------------------------- **Field** Type: `bool` If set to `true`, will use a separate texture sampler that supports tiling. By default, all textures are stretched, but if you enable this option - their tiling and stretch will be fully configurable by the `uv_rect` field. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#mode) mode ------------------------------------------------------------------------------ **Field** Type: [`RenderMode`](https://lua2.fatality.win/api/instances/draw/layer/command/rendermode) Rendering mode. You can read more about it in the type's documentation. * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#settexture) SetTexture ----------------------------------------------------------------------------------------- **Method** Sets a texture in a safe manner. **Arguments** Name Type Description `tex` [`Texture`](https://lua2.fatality.win/api/instances/draw/layer/command#texture) `?` Texture object. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/layer/command#set-shader) SetShader ---------------------------------------------------------------------------------------- **Method** Sets a fragment shader in a safe manner. **Arguments** Name Type Description `sh` [`Shader`](https://lua2.fatality.win/api/instances/draw/managed/shader) ? Shader object. **Returns** Nothing. **Example** [PreviousShadowDir](https://lua2.fatality.win/api/instances/draw/layer/shadowdir) [NextRenderMode](https://lua2.fatality.win/api/instances/draw/layer/command/rendermode) Last updated 3 months ago * [texture](https://lua2.fatality.win/api/instances/draw/layer/command#texture)  * [fragShader](https://lua2.fatality.win/api/instances/draw/layer/command#frag-shader) * [clipRect](https://lua2.fatality.win/api/instances/draw/layer/command#clip-rect) * [uvRect](https://lua2.fatality.win/api/instances/draw/layer/command#uv-rect) * [alpha](https://lua2.fatality.win/api/instances/draw/layer/command#alpha)  * [rotation](https://lua2.fatality.win/api/instances/draw/layer/command#rotation)  * [antiAlias](https://lua2.fatality.win/api/instances/draw/layer/command#anti-alias) * [ignoreScaling](https://lua2.fatality.win/api/instances/draw/layer/command#ignore-scaling) * [chainedCall](https://lua2.fatality.win/api/instances/draw/layer/command#chained-call) * [onlyDownsampled](https://lua2.fatality.win/api/instances/draw/layer/command#onlydownsampled) * [captureBackBuffer](https://lua2.fatality.win/api/instances/draw/layer/command#capturebackbuffer) * [isTile](https://lua2.fatality.win/api/instances/draw/layer/command#is-tile) * [mode](https://lua2.fatality.win/api/instances/draw/layer/command#mode)  * [SetTexture](https://lua2.fatality.win/api/instances/draw/layer/command#settexture) * [SetShader](https://lua2.fatality.win/api/instances/draw/layer/command#set-shader) Copy cmd:SetTexture(my_tex); Copy cmd:SetShader(my_shader); --- # CBaseAnimGraph | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity/cbaseanimgraph.md) . This type represents a `CBaseAnimGraph` class. This type inherits [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) type. All of its base methods and fields are also available in this type. [PreviousC\_CSPlayerController](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller) [NextC\_CSWeaponBase](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase) Last updated 1 month ago --- # entities | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities.md) . This table represents an internal entity list. Never store any entities in the global scope! Any entity might get deleted, and you will no longer have a valid instance of that entity, which will inevitably lead to a crash. If you need to globally store an entity somewhere, we strongly recommend you store an instance of [`CHandle`](https://lua2.fatality.win/api/instances/entities/chandle) , and use it's [`Get`](https://lua2.fatality.win/api/instances/entities/chandle#get-1) method to retrieve the entity again, when needed. [](https://lua2.fatality.win/api/instances/entities#players) players -------------------------------------------------------------------------- **Field** Type: [`EntityList_t`](https://lua2.fatality.win/api/instances/entities/entitylist_t) `<`[`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) `>` Player pawns. * * * [](https://lua2.fatality.win/api/instances/entities#controllers) controllers ---------------------------------------------------------------------------------- **Field** Type: [`EntityList_t`](https://lua2.fatality.win/api/instances/entities/entitylist_t) `<`[`C_CSPlayerController`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller) `>` Player controllers. * * * [](https://lua2.fatality.win/api/instances/entities#items) items ---------------------------------------------------------------------- **Field** Type: [`EntityList_`](https://lua2.fatality.win/api/instances/entities/entitylist_t) `<`[`C_CSWeaponBase`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase) `>` Items (held). * * * [](https://lua2.fatality.win/api/instances/entities#dropped-items) droppedItems ------------------------------------------------------------------------------------ **Field** Type: [`EntityList_`](https://lua2.fatality.win/api/instances/entities/entitylist_t) `<`[`CBaseAnimGraph`](https://lua2.fatality.win/api/instances/entities/c_baseentity/cbaseanimgraph) `>` Dropped items. * * * [](https://lua2.fatality.win/api/instances/entities#projectiles) projectiles ---------------------------------------------------------------------------------- **Field** Type: [`EntityList_`](https://lua2.fatality.win/api/instances/entities/entitylist_t) `<`[`C_BaseCSGrenadeProjectile`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_basecsgrenadeprojectile) `>` Grenade projectiles. * * * [](https://lua2.fatality.win/api/instances/entities#getlocalpawn) GetLocalPawn ----------------------------------------------------------------------------------- **Function** Returns the local player's pawn. **Arguments** None. **Returns** Type Description [`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) Pawn. **Example** * * * [](https://lua2.fatality.win/api/instances/entities#getlocalcontroller) GetLocalController ----------------------------------------------------------------------------------------------- **Function** Returns the local player's controller. **Arguments** None. **Returns** Type Description [`C_CSPlayerController`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller) Controller. **Example** [PreviousFontFlags](https://lua2.fatality.win/api/instances/draw/managed/fontbase/fontflags) [NextEntityList\_t](https://lua2.fatality.win/api/instances/entities/entitylist_t) Last updated 1 month ago * [players](https://lua2.fatality.win/api/instances/entities#players)  * [controllers](https://lua2.fatality.win/api/instances/entities#controllers)  * [items](https://lua2.fatality.win/api/instances/entities#items)  * [droppedItems](https://lua2.fatality.win/api/instances/entities#dropped-items) * [projectiles](https://lua2.fatality.win/api/instances/entities#projectiles)  * [GetLocalPawn](https://lua2.fatality.win/api/instances/entities#getlocalpawn) * [GetLocalController](https://lua2.fatality.win/api/instances/entities#getlocalcontroller) Copy local lp = entities.GetLocalPawn(); Copy local lp_ctrl = entities.GetLocalController(); --- # schema_class_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_class_t.md) . This type represents a special structure that references a certain field in the entity object. You can check the returned type by using `type()` function. Do not ever store an instance of this type anywhere but in a scope of an event because entity might be removed. [](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_class_t#index) \_\_index ------------------------------------------------------------------------------------------------------ **Function** Attemps to search for a field in this class. **Arguments** Name Type Description `name` `string` Field name. **Returns** Type Description [`schema_accessor_t`](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t) Accessor instance. **Example** Copy local stamina = player.m_pMovementServices:get().m_flStamina; local stamina = player['m_pMovementServices']:get()['m_flStamina']; -- this also works Last updated 4 months ago --- # C_CSWeaponBase | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase.md) . This type represents a `CCSWeaponBase` entity. This type inherits [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase#get-id) GetDefIndex -------------------------------------------------------------------------------------------------------- **Method** Returns the weapon definition index. **Arguments** None. **Returns** Type Description [`EItemDefinitionIndex`](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex) Weapon ID. **Example** Copy local wep_id = wep:GetDefIndex(); [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase#get-type) GetType ------------------------------------------------------------------------------------------------------ **Method** Returns the weapon type. **Arguments** None. **Returns** Type Description [`CSWeaponType`](https://lua2.fatality.win/api/instances/entities/csweapontype) Weapon type. **Example** [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase#get-data) GetData ------------------------------------------------------------------------------------------------------ **Method** Returns the weapon static data. **Arguments** None. **Returns** Type Description [`CCSWeaponBaseVData`](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata) Weapon data. **Example** [PreviousCBaseAnimGraph](https://lua2.fatality.win/api/instances/entities/c_baseentity/cbaseanimgraph) [NextC\_BaseCSGrenadeProjectile](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_basecsgrenadeprojectile) Last updated 1 month ago * [GetDefIndex](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase#get-id) * [GetType](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase#get-type) * [GetData](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase#get-data) Copy local type = wep:GetType(); Copy local data = wep:GetData(); --- # gui | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui.md) . Usage: `gui.{func_or_field}` Usage: gui.{func\_or\_field} This table exposes the GUI system of the software. All types and enums described in the child sections must be prefixed with `gui.`. [](https://lua2.fatality.win/api/instances/gui#ctx) ctx ------------------------------------------------------------- **Field** Type: [`Context`](https://lua2.fatality.win/api/instances/gui/context) GUI context. * * * [](https://lua2.fatality.win/api/instances/gui#notify) notify ------------------------------------------------------------------- **Field** Type: [`NotificationSystem`](https://lua2.fatality.win/api/instances/gui/notificationsystem) Notification system. * * * [](https://lua2.fatality.win/api/instances/gui#input) input ----------------------------------------------------------------- **Field** Type: [`ContextInput`](https://lua2.fatality.win/api/instances/gui/contextinput) Input context. * * * [](https://lua2.fatality.win/api/instances/gui#make-control) MakeControl ----------------------------------------------------------------------------- **Function** Wraps a control into a layout consisting of a label and that specific control. You should add this new control to groupboxes if you want your control to be displayed nicely. Additionally, you can add any extra controls to the returned one - those will get stacked to the left side of your initial control. **Arguments** Name Type Description `text` `string` Label value. `c` [`Control`](https://lua2.fatality.win/api/instances/gui/control) Control object. **Returns** Type Description [`Layout`](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/layout) Layout object. **Example** * * * [](https://lua2.fatality.win/api/instances/gui#make-control-1) MakeControlEasy ----------------------------------------------------------------------------------- **Function** A quick wrapper for `MakeControl` , returns both the menu element and control. Available types are: **Arguments** Name Type Description `id` `string` ID. `label` `string` Label value. `type` `string` The type of this control `...` `any...` Extra constructor arguments **Returns** Type Description `any` Menu element (checkbox, slider etc.) [`Control`](https://lua2.fatality.win/api/instances/gui/control) Control **Example** * * * [](https://lua2.fatality.win/api/instances/gui#make-control-2) MakeStackedGroups ------------------------------------------------------------------------------------- **Function** Creates a vertical stack with two or more [group boxes](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/group) . **Arguments** Name Type Description `id` [`ControlID`](https://lua2.fatality.win/api/instances/gui/types/controlid) `|string` ID `size` [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Size `groups` `table<`[`Group`](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/group) `>` List of group boxes **Returns** Type Description [`Layout`](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/layout) Group stack object. **Example** * * * [](https://lua2.fatality.win/api/instances/gui#make-control-3) IsVisible ----------------------------------------------------------------------------- **Function** Returns whether or not the menu is currently open. **Returns** Type Description `boolean` If menu is visible or not **Example** * * * [](https://lua2.fatality.win/api/instances/gui#get-pos-abs) GetActiveOverridePath -------------------------------------------------------------------------------------- **Function** Returns the current ragebot/legitbot weapon or category path. Should only be called when you're alive, causes undefined behavior otherwise. **Arguments** None. **Returns** Type Description `string` The path currently being used by the ragebot or legitbot **Example** * * * [](https://lua2.fatality.win/api/instances/gui#get-pos-abs-1) GetMainWindow -------------------------------------------------------------------------------- **Function** Returns the menu's main window. **Arguments** None. **Returns** Type Description [`Window`](https://lua2.fatality.win/api/instances/gui/control/window) The window object. **Example** * * * [](https://lua2.fatality.win/api/instances/gui#get-pos-abs-2) GetHotkeyList -------------------------------------------------------------------------------- **Function** Returns list of all controls with hotkeys currently added. **Arguments** None. **Returns** Type Description `table<`[`Control`](https://lua2.fatality.win/api/instances/gui/control) `>` All controls currently with keybinds set **Example** * * * [](https://lua2.fatality.win/api/instances/gui#get-pos-abs-3) GetThemeColors --------------------------------------------------------------------------------- **Function** Returns list of all colors being used the GUI theme. Available keys are **Arguments** None. **Returns** Type Description `table<`[`Color`](https://lua2.fatality.win/api/instances/draw/types/color) `>` All menu colors **Example** [PreviousObserverMode\_t](https://lua2.fatality.win/api/instances/entities/observermode_t) [NextTypes](https://lua2.fatality.win/api/instances/gui/types) Last updated 3 months ago * [ctx](https://lua2.fatality.win/api/instances/gui#ctx)  * [notify](https://lua2.fatality.win/api/instances/gui#notify)  * [input](https://lua2.fatality.win/api/instances/gui#input)  * [MakeControl](https://lua2.fatality.win/api/instances/gui#make-control) * [MakeControlEasy](https://lua2.fatality.win/api/instances/gui#make-control-1) * [MakeStackedGroups](https://lua2.fatality.win/api/instances/gui#make-control-2) * [IsVisible](https://lua2.fatality.win/api/instances/gui#make-control-3) * [GetActiveOverridePath](https://lua2.fatality.win/api/instances/gui#get-pos-abs) * [GetMainWindow](https://lua2.fatality.win/api/instances/gui#get-pos-abs-1) * [GetHotkeyList](https://lua2.fatality.win/api/instances/gui#get-pos-abs-2) * [GetThemeColors](https://lua2.fatality.win/api/instances/gui#get-pos-abs-3) Copy local row = gui.MakeControl('Hello checkbox!', my_cb); Copy checkbox slider color_picker text_input combo_box Copy local slider, slider_ctrl = gui.MakeControlEasy('my_slider', 'Slider', 'slider', 0, 100); Copy local grp1 = gui.Group('grp1', 'My group 1', 150, gui.GroupWidthMode.DEFAULT); local grp2 = gui.Group('grp2', 'My group 2', 150, gui.GroupWidthMode.DEFAULT); local stack = gui.MakeStackedGroups("grp12", draw.vec2(234, 400), { grp1, grp2 }); Copy if gui.IsVisible() then print('Menu is open!') end Copy local override_path = gui.GetActiveOverridePath() local hitchance = gui.ctx:Find(override_path .. '>weapon>hitchance') Copy local wnd = gui.GetMainWindow() local pos = wnd:GetPosAbs() Copy local controls = gui.GetHotkeyList() for i, control in ipairs(controls) do local element = control:Cast() -- Convert to its parent type if element:GetHotkeyState() then print('overriding ' .. element:GetLabel().text, 'value ' .. tostring(element:GetValue():Get())) end end Copy title1, title2, accent, accent2, text, textLight, textMid, textDark, bgBottom, bgBlock, bgBlock2, bgBlockSelectedTab, accentOutline, bgBlockLight, bgOdd, bgEven, outline, outlineLight, warning, danger, success, untrusted Copy local colors = gui.GetThemeColors() draw.surface:AddRect(draw.Rect(0, 0, 100, 100), colors.accent) --- # schema_ptr_accessor_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_ptr_accessor_t.md) . This type represents a special structure that references a pointer field in the entity object. Do not ever store an instance of this type anywhere but in a scope of an event because entity might be removed. [](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_ptr_accessor_t#get) get ----------------------------------------------------------------------------------------------------- **Method** Attempts to return the [schema class](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_class_t) of the pointer for further usage or `nil` on failure. (Only works on pointers to schema classes inside client.dll) **Arguments** None. **Returns** Description [`schema_class_t`](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_class_t) Schema class of the pointer. **Example** Copy local movement_services = player.m_pMovementServices:get(); [](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_ptr_accessor_t#get-1) get\_as ----------------------------------------------------------------------------------------------------------- **Method** Attempts to return the [schema class](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_class_t) of the pointer casted to the specified schema class, `nil` on failure. **Arguments** Name Type Description `module_name` `string` Module name of the schema class `class_name` `string` Schema class name **Returns** Description [`schema_class_t`](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_class_t) Schema class of the pointer. **Example** Last updated 4 months ago * [get](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_ptr_accessor_t#get)  * [get\_as](https://lua2.fatality.win/api/instances/entities/c_baseentity/schema_ptr_accessor_t#get-1) Copy local movement_services = player.m_pMovementServices:get_as('client.dll', 'CCSPlayer_MovementServices'); --- # CHitboxInfo | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/chitboxinfo.md) . This type encapsulates all of the hitbox information that can be retrieved. [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get) GetName ---------------------------------------------------------------------------------- **Method** Returns the name of the hitbox. **Arguments** None. **Returns** Type Description `string` The name **Example** Copy local hbox_name = hitbox:GetName(); * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-1) GetSurfaceProperty ---------------------------------------------------------------------------------------------- **Method** Returns the hitbox's surface property. **Arguments** None. **Returns** Type Description `string` The hitbox property **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-2) GetBoneName --------------------------------------------------------------------------------------- **Method** Returns the hitbox's bone name. **Arguments** None. **Returns** Type Description `string` The hitbox bone **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-3) GetMinBounds ---------------------------------------------------------------------------------------- **Method** Returns the hitbox's minimum bounds. **Arguments** None. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) The mins **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-4) GetMaxBounds ---------------------------------------------------------------------------------------- **Method** Returns the hitbox's maximum bounds. **Arguments** None. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) The maxs **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-5) GetShapeRadius ------------------------------------------------------------------------------------------ **Method** Returns the hitbox's radius. **Arguments** None. **Returns** Type Description `number` The radius **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-6) GetBoneNameHash ------------------------------------------------------------------------------------------- **Method** Returns the hitbox's name hash. **Arguments** None. **Returns** Type Description `number` The hash **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-7) GetGroupID -------------------------------------------------------------------------------------- **Method** Returns the hitbox's group ID. **Arguments** None. **Returns** Type Description `number` The ID **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-8) IsTranslationOny -------------------------------------------------------------------------------------------- **Method** Returns whether the hitbox only translates or not. **Arguments** None. **Returns** Type Description `boolean` The ID **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-9) GetCRC ---------------------------------------------------------------------------------- **Method** Returns the hitbox's CRC value. **Arguments** None. **Returns** Type Description `number` The CRC **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-10) GetRenderColor ------------------------------------------------------------------------------------------- **Method** Returns the hitbox's rendering color. Not really useful. **Arguments** None. **Returns** Type Description `userdata` The color **Example** * * * [](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-11) GetHitboxIndex ------------------------------------------------------------------------------------------- **Method** Returns the hitbox's unique index. **Arguments** None. **Returns** Type Description `number` The index **Example** [PreviousCSWeaponCategory](https://lua2.fatality.win/api/instances/entities/csweaponcategory) [NextEHitBox](https://lua2.fatality.win/api/instances/entities/ehitbox) Last updated 3 months ago * [GetName](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get) * [GetSurfaceProperty](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-1) * [GetBoneName](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-2) * [GetMinBounds](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-3) * [GetMaxBounds](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-4) * [GetShapeRadius](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-5) * [GetBoneNameHash](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-6) * [GetGroupID](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-7) * [IsTranslationOny](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-8) * [GetCRC](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-9) * [GetRenderColor](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-10) * [GetHitboxIndex](https://lua2.fatality.win/api/instances/entities/chitboxinfo#get-11) Copy local prop = hitbox:GetSurfaceProperty(); Copy local bone_name = hitbox:GetBoneName(); Copy local mins = hitbox:GetMinBounds(); Copy local maxs = hitbox:GetMaxBounds(); Copy local radius = hitbox:GetShapeRadius(); Copy local hash = hitbox:GetBoneNameHash(); Copy local id = hitbox:GetGroupID(); Copy local translate = hitbox:IsTranslationOny(); Copy local crc = hitbox:GetCRC(); Copy local crc = hitbox:GetRenderColor(); Copy local hbox_index = hitbox:GetHitboxIndex(); --- # SchemaAccessor_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t.md) . This type represents a special structure that references a certain field in the entity object. You can check the returned type by using `type()` function. Do not ever store an instance of this type anywhere but in a scope of an event because entity might be removed. [](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t#get) offset -------------------------------------------------------------------------------------------------- **Field** Type: number * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t#get-1) Get -------------------------------------------------------------------------------------------------- **Method** Returns the value. **Arguments** None. **Returns** Type Description `` Value. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t#get-2) GetAs --------------------------------------------------------------------------------------------------- **Method** Returns the value casted as another game class. Automatically dereferences pointers. **Arguments** Name Type Description `module` `string` The name of the module `class` `string` The name of the class **Returns** Type Description `` Casted value. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t#set) Set ------------------------------------------------------------------------------------------------ **Method** Sets the value. **Arguments** Name Type Description `value` `` Value. **Returns** Nothing. **Example** [PreviousC\_BaseEntity](https://lua2.fatality.win/api/instances/entities/c_baseentity) [NextC\_CSWeaponBaseGun](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) Last updated 4 months ago * [offset](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t#get) * [Get](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t#get-1)  * [GetAs](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t#get-2) * [Set](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t#set)  Copy local health = player.m_iHealth:Get(); Copy local collision = player.m_pCollision:GetAs('client.dll', 'CCollisionProperty'); local mins = collision.m_vecMins:Get() local maxs = collision.m_vecMaxs:Get() Copy player.m_iHealth:Set(50); -- won't really do anything with the health --- # ControlContainer | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/container/controlcontainer.md) . This type represents an abstract control with a container. This type inherits [`Control`](https://lua2.fatality.win/api/instances/gui/control) type. All of its base methods and fields are also available in this type. This type inherits [`Container`](https://lua2.fatality.win/api/instances/gui/container) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/gui/container/controlcontainer#call) customMargin ------------------------------------------------------------------------------------------------- **Field** Type: `Rect` Overrides the margin for contents inside this container. Top, left, bottom and right, respectively. * * * [](https://lua2.fatality.win/api/instances/gui/container/controlcontainer#call-1) shouldProcessChildren ------------------------------------------------------------------------------------------------------------ **Field** Type: `boolean` Specifies if the container should update the children controls inside it or not. * * * [](https://lua2.fatality.win/api/instances/gui/container/controlcontainer#set-value) RaiseFirstRenderCall -------------------------------------------------------------------------------------------------------------- **Method** Raises the first render call for this container, if it hasn't already. **Arguments** None. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/container/controlcontainer#set-value-1) ProcessQueues --------------------------------------------------------------------------------------------------------- **Method** Forces add and remove queues to be processed. This method shouldn't be called unless you're sure of what you're doing. **Arguments** None. **Returns** Nothing. **Example** [PreviousContainer](https://lua2.fatality.win/api/instances/gui/container) [NextSettings](https://lua2.fatality.win/api/instances/gui/container/controlcontainer/settings) Last updated 3 months ago * [customMargin](https://lua2.fatality.win/api/instances/gui/container/controlcontainer#call) * [shouldProcessChildren](https://lua2.fatality.win/api/instances/gui/container/controlcontainer#call-1) * [RaiseFirstRenderCall](https://lua2.fatality.win/api/instances/gui/container/controlcontainer#set-value) * [ProcessQueues](https://lua2.fatality.win/api/instances/gui/container/controlcontainer#set-value-1) Copy container:ProcessQueues() container:RaiseFirstRenderCall() Copy container:ProcessQueues() --- # C_BaseCSGrenadeProjectile | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_basecsgrenadeprojectile.md) . This type represents a grenade projectile. This type inherits [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_basecsgrenadeprojectile#get-grenade-type) GetGrenadeType -------------------------------------------------------------------------------------------------------------------------------- **Method** Returns the grenade type. **Arguments** None. **Returns** Type Description `int` Grenade type. **Example** Copy local type = gren:GetGrenadeType(); [PreviousC\_CSWeaponBase](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase) [NextCCSWeaponBaseVData](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata) Last updated 1 month ago --- # Container | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/container.md) . This type represents an abstract container. [](https://lua2.fatality.win/api/instances/gui/container#add) Add ----------------------------------------------------------------------- **Method** Adds a control to the container. Arguments Name Type Description `ctrl` [`Control`](https://lua2.fatality.win/api/instances/gui/control) Control to add. **Returns** Nothing. **Example** Copy container:Add(my_control); * * * [](https://lua2.fatality.win/api/instances/gui/container#remove) Remove ----------------------------------------------------------------------------- **Method** Removes a control from the container. **Arguments** Name Type Description `ctrl` [`Control`](https://lua2.fatality.win/api/instances/gui/control) Control to remove. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/container#find) Find ------------------------------------------------------------------------- **Method** Finds a control by ID. Arguments Name Type Description `id` `string` Control ID. Returns Type Description `<`[`Control`](https://lua2.fatality.win/api/instances/gui/control) `>?` Casted control. Returns `nil` if the control was not found, or casting failed. Example [PreviousHotkey](https://lua2.fatality.win/api/instances/gui/control/hotkey) [NextControlContainer](https://lua2.fatality.win/api/instances/gui/container/controlcontainer) Last updated 3 months ago * [Add](https://lua2.fatality.win/api/instances/gui/container#add)  * [Remove](https://lua2.fatality.win/api/instances/gui/container#remove)  * [Find](https://lua2.fatality.win/api/instances/gui/container#find)  Copy container:Remove(my_control); Copy local some_cb = container:Find('some_cb'); --- # CUserCmd | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/cusercmd.md) . Describes a user command. [](https://lua2.fatality.win/api/types/cusercmd#command-number) commandNumber ---------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `int` Current command number. * * * [](https://lua2.fatality.win/api/types/cusercmd#get-button) GetButton -------------------------------------------------------------------------- `**Method**` Returns state of the specified button. **Arguments** 1\. Button Name Type Description `button` [`InputBitMask_t`](https://lua2.fatality.win/api/enums/inputbitmask_t) Button. **Returns** Type Description `bool` Is pressed. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#set-button) SetButton -------------------------------------------------------------------------- `**Method**` Sets the specified button into the command. **Arguments** 1\. Button Name Type Description `button` [`InputBitMask_t`](https://lua2.fatality.win/api/enums/inputbitmask_t) Button. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#remove-button) RemoveButton -------------------------------------------------------------------------------- `**Method**` Removes the specified button from the command. **Arguments** 1\. Button Name Type Description `button` [`InputBitMask_t`](https://lua2.fatality.win/api/enums/inputbitmask_t) Button. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#get-viewangles) GetViewangles ---------------------------------------------------------------------------------- `**Method**` Returns the current viewangles of the command. **Arguments** None. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) Viewangles. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#set-viewangles) SetViewangles ---------------------------------------------------------------------------------- `**Method**` Sets the specified angles into the command. **Arguments** 1\. Angles Name Type Description `angles` [`Vector`](https://lua2.fatality.win/api/types/vector) Angles. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#lock-angles) LockAngles ---------------------------------------------------------------------------- `**Method**` Sets the command viewangles into the games view. **Arguments** None. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#get-forwardmove) GetForwardMove ------------------------------------------------------------------------------------ `**Method**` Returns the forwardmove of the command. (0.0 - 1.0) **Arguments** None. **Returns** Type Description `float` forwardmove. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#get-leftmove) GetLeftMove ------------------------------------------------------------------------------ `**Method**` Returns the leftmove of the command. (0.0 - 1.0) **Arguments** None. **Returns** Type Description `float` leftmove. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#set-forwardmove) SetForwardMove ------------------------------------------------------------------------------------ `**Method**` Sets the specified forwardmove into the command. (0.0 - 1.0) **Arguments** Type Description `float` forwardmove. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#set-leftmove) SetLeftMove ------------------------------------------------------------------------------ `**Method**` Sets the specified leftmove into the command. (0.0 - 1.0) **Arguments** Type Description `float` leftmove. **Example** * * * [](https://lua2.fatality.win/api/types/cusercmd#rotate-movement) RotateMovement ------------------------------------------------------------------------------------ `**Method**` Rotates the commands movement toward the specified yaw without affecting viewangles. **Arguments** Type Description `float` yaw. **Example** [PreviousCViewSetup](https://lua2.fatality.win/api/types/cviewsetup) [NextGameEvent\_t](https://lua2.fatality.win/api/types/gameevent_t) Last updated 3 months ago * [commandNumber](https://lua2.fatality.win/api/types/cusercmd#command-number) * [GetButton](https://lua2.fatality.win/api/types/cusercmd#get-button) * [SetButton](https://lua2.fatality.win/api/types/cusercmd#set-button) * [RemoveButton](https://lua2.fatality.win/api/types/cusercmd#remove-button) * [GetViewangles](https://lua2.fatality.win/api/types/cusercmd#get-viewangles) * [SetViewangles](https://lua2.fatality.win/api/types/cusercmd#set-viewangles) * [LockAngles](https://lua2.fatality.win/api/types/cusercmd#lock-angles) * [GetForwardMove](https://lua2.fatality.win/api/types/cusercmd#get-forwardmove) * [GetLeftMove](https://lua2.fatality.win/api/types/cusercmd#get-leftmove) * [SetForwardMove](https://lua2.fatality.win/api/types/cusercmd#set-forwardmove) * [SetLeftMove](https://lua2.fatality.win/api/types/cusercmd#set-leftmove) * [RotateMovement](https://lua2.fatality.win/api/types/cusercmd#rotate-movement) Copy if cmd:GetButton(InputBitMask_t.IN_USE) then -- ... end Copy cmd:SetButton(InputBitMask_t.IN_USE) Copy cmd:RemoveButton(InputBitMask_t.IN_ATTACK) Copy local ang = cmd:GetViewangles(); Copy cmd:SetViewangles(target_angles) Copy cmd:SetViewangles(target_angles) cmd:LockAngles() Copy local fmove = cmd:GetForwardMove(); Copy local lmove = cmd:GetLeftMove(); Copy cmd:SetForwardMove(1.0); Copy cmd:SetLeftMove(1.0); Copy cmd:SetLeftMove(0.0); cmd:SetForwardMove(1.0); cmd:RotateMovement(target_yaw); --- # GameEvent_t | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/gameevent_t.md) . Describes a game event. [](https://lua2.fatality.win/api/types/gameevent_t#get-name) GetName ------------------------------------------------------------------------- **Method** Returns the event name. **Arguments** None. **Returns** Type Description `string` Event name. **Example** Copy if event:GetName() == 'player_hurt' then -- ... end * * * [](https://lua2.fatality.win/api/types/gameevent_t#get-bool) GetBool ------------------------------------------------------------------------- **Method** Returns the boolean value by key. **Arguments** Name Type Description `key` `string` Entry key. **Returns** Type Description `bool` Entry value. Returns `false` if such key was not found. **Example** * * * [](https://lua2.fatality.win/api/types/gameevent_t#get-int) GetInt ----------------------------------------------------------------------- **Method** Returns the integer value by key. **Arguments** Name Type Description `key` `string` Entry key. **Returns** Type Description `int` Entry value. Returns `0` if such key was not found. **Example** * * * [](https://lua2.fatality.win/api/types/gameevent_t#get-float) GetFloat --------------------------------------------------------------------------- **Method** Returns the float value by key. **Arguments** Name Type Description `key` `string` Entry key. **Returns** Type Description `float` Entry value. Returns `0.0` if such key was not found. **Example** * * * [](https://lua2.fatality.win/api/types/gameevent_t#get-string) GetString ----------------------------------------------------------------------------- **Method** Returns the string value by key. **Arguments** Name Type Description `key` `string` Entry key. **Returns** Type Description `string` Entry value. Returns `nil` if such key was not found. **Example** * * * [](https://lua2.fatality.win/api/types/gameevent_t#get-controller) GetController ------------------------------------------------------------------------------------- **Method** If you pass a non-existent key into this function, the game might crash. Returns the controller by key. **Arguments** Name Type Description `key` `string` Entry key. **Returns** Type Description [`C_CSPlayerController`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller) Controller. **Example** * * * [](https://lua2.fatality.win/api/types/gameevent_t#get-pawn-from-id) GetPawnFromId --------------------------------------------------------------------------------------- **Method** Returns the pawn by key. **Arguments** Name Type Description `key` `string` Entry key. **Returns** Type Description [`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) Pawn. **Example** [PreviousCUserCmd](https://lua2.fatality.win/api/types/cusercmd) [NextPlayerInfoCallbackData](https://lua2.fatality.win/api/types/playerinfocallbackdata) Last updated 3 months ago * [GetName](https://lua2.fatality.win/api/types/gameevent_t#get-name) * [GetBool](https://lua2.fatality.win/api/types/gameevent_t#get-bool) * [GetInt](https://lua2.fatality.win/api/types/gameevent_t#get-int) * [GetFloat](https://lua2.fatality.win/api/types/gameevent_t#get-float) * [GetString](https://lua2.fatality.win/api/types/gameevent_t#get-string) * [GetController](https://lua2.fatality.win/api/types/gameevent_t#get-controller) * [GetPawnFromId](https://lua2.fatality.win/api/types/gameevent_t#get-pawn-from-id) Copy event:GetBool('some_key'); Copy event:GetInt('some_key'); Copy event:GetFloat('some_key'); Copy event:GetString('some_key'); Copy event:GetController('userid'); Copy event:GetPawnFromId('userid'); --- # PlayerEntryVisualData | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/playerentryvisualdata.md) . Encapsulates all of the player ESP information and additional methods. [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number) isValid ----------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `boolean` Returns `false` when ESP is disabled or entity is invalid for ESP. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-1) isPreview --------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `boolean` Returns `true` when ESP is being rendered in the menu preview. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-2) isTeammate ---------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `boolean` Whether or not the player is a teammate. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-3) isOutOfScreen ------------------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `boolean` Whether or not the player is outside of the screen. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-4) pos --------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`Vector`](https://lua2.fatality.win/api/types/vector) The player's absolute world position. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-5) top --------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) The top center position on screen. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-6) bottom ------------------------------------------------------------------------------------------ `**Field**``**Read only**` Type: [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) The bottom center position on screen. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-7) width ----------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `number` The width of the ESP bounding box. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-8) height ------------------------------------------------------------------------------------------ `**Field**``**Read only**` Type: `number` The height of the ESP bounding box. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-9) alpha ----------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: `number` The transparency of the ESP. * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#get-button) GetOffset --------------------------------------------------------------------------------------- `**Method**` Returns the current offset for an ESP anchor point. **Arguments** Name Type Description `position` `EspItemPos` The anchor point **Returns** Type Description `number` The offset in the specified position **Example** * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#get-button-1) GetBoundingBox ---------------------------------------------------------------------------------------------- `**Method**` Returns the player's ESP bounding box rectangle. Prefer this over [`C_CSPlayerPawn:GetBoundingBox`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-name-1) . **Arguments** None. **Returns** Type Description [`Rect`](https://lua2.fatality.win/api/instances/draw/types/rect) The ESP bounding box **Example** * * * [](https://lua2.fatality.win/api/types/playerentryvisualdata#get-button-2) BumpOffset ------------------------------------------------------------------------------------------ `**Method**` Increments the rendering offset on a certain ESP anchor point. Useful if you're rendering custom elements on the ESP layer. **Arguments** Name Type Description `position` `EspItemPos` The anchor point `offset` `number` The offset **Returns** Nothing. **Example** [PreviousEspItemPos](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos) [NextEnums](https://lua2.fatality.win/api/enums) Last updated 3 months ago * [isValid](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number) * [isPreview](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-1) * [isTeammate](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-2) * [isOutOfScreen](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-3) * [pos](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-4) * [top](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-5) * [bottom](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-6) * [width](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-7) * [height](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-8) * [alpha](https://lua2.fatality.win/api/types/playerentryvisualdata#command-number-9) * [GetOffset](https://lua2.fatality.win/api/types/playerentryvisualdata#get-button) * [GetBoundingBox](https://lua2.fatality.win/api/types/playerentryvisualdata#get-button-1) * [BumpOffset](https://lua2.fatality.win/api/types/playerentryvisualdata#get-button-2) Copy events.playerInfoPre:Add(function(data) local visuals = data.entry.visuals local offset = visuals:GetOffset(EspItemPos.TOP) print('The offset in the top position is', offset) end) Copy events.playerInfoPre:Add(function(data) local visuals = data.entry.visuals local rect = visuals:GetBoundingBox() data.layer:AddGlow(rect, 5, draw.Color('#ff00ffaa')) end) Copy events.playerInfoPre:Add(function(data) local visuals = data.entry.visuals data:AddText(EspItemPos.TOP, draw.Color.White(), 'First') visuals:BumpOffset(EspItemPos.TOP, 5) -- Adds an extra 5px between them data:AddText(EspItemPos.TOP, draw.Color.White(), 'Second') end) --- # ContextInput | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/contextinput.md) . This type represents the GUI input context. You can use `Cursor`, `IsMouseUp`, `IsMouseDown`, `IsKeyUp` and `IsKeyDown` methods outside [`input`](https://lua2.fatality.win/api/instances/events#input) context. Using other methods will not make any sense, as the information will be outdated. [](https://lua2.fatality.win/api/instances/gui/contextinput#cursor) Cursor -------------------------------------------------------------------------------- **Method** Returns current cursor position. **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Cursor position. **Example** Copy local cur = gui.input:Cursor(); * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#cursor-prev) CursorPrev ---------------------------------------------------------------------------------------- **Method** Returns previous cursor position. **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Previous cursor position. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#cursordelta) CursorDelta ----------------------------------------------------------------------------------------- **Method** Delta value between previous and current cursor positions. **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Cursor delta. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#didcursormove) DidCursorMove --------------------------------------------------------------------------------------------- **Method** Returns `true` if the cursor did move since the last input. **Arguments** None. **Returns** Type Description `bool` `true` if moved. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#didwheelmove) DidWheelMove ------------------------------------------------------------------------------------------- **Method** Returns `true` if mouse scroll wheel did move since the last input. **Arguments** None. **Returns** Type Description `bool` `true` if moved. **Example** * * * * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#didprocessmouse) DidProcessMouse ------------------------------------------------------------------------------------------------- **Method** Returns `true` if any mouse key's state had changed. **Arguments** None. **Returns** Type Description `bool` `true` if processed. **Example** * * * * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#buttonreleased) ButtonReleased ----------------------------------------------------------------------------------------------- **Method** Returns `true` if any key was released since the last input. **Arguments** None. **Returns** Type Description `bool` `true` if released. **Example** * * * * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#wheeldelta) WheelDelta --------------------------------------------------------------------------------------- **Method** Returns the amount of rows scrolled this input. **Arguments** None. **Returns** Type Description `float` Rows scrolled. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#ismouseup) IsMouseUp ------------------------------------------------------------------------------------- **Method** Returns `true` if the mouse key is up (depressed). **Arguments** Name Type Description `mb` [`MouseButton`](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton) Mouse button. **Returns** Type Description `bool` `true` if depressed. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#is-mouse-down) IsMouseDown ------------------------------------------------------------------------------------------- **Method** Returns `true` if the mouse key is down (pressed). **Arguments** Name Type Description `mb` [`MouseButton`](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton) Mouse button. **Returns** Type Description `bool` `true` if pressed. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#ismouseclicked) IsMouseClicked ----------------------------------------------------------------------------------------------- **Method** Returns `true` if the mouse key is clicked (switched from depressed to pressed state). **Arguments** Name Type Description `mb` [`MouseButton`](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton) Mouse button. **Returns** Type Description `bool` `true` if clicked. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#is-mouse-released) IsMouseReleased --------------------------------------------------------------------------------------------------- **Method** Returns `true` if the mouse key is released (switched from pressed to depressed state). **Arguments** Name Type Description `mb` [`MouseButton`](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton) Mouse button. **Returns** Type Description `bool` `true` if released. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#didprocesskey) DidProcessKey --------------------------------------------------------------------------------------------- **Method** Returns `true` if any key's state had changed. **Arguments** None. **Returns** Type Description `bool` `true` if state changed. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#is-key-up) IsKeyUp ----------------------------------------------------------------------------------- **Method** Returns `true` if a key is up (depressed). **Arguments** Name Type Description `k` `int` Virtual key. **Returns** Type Description `bool` `true` if depressed. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#is-key-down) IsKeyDown --------------------------------------------------------------------------------------- **Method** Returns `true` if a key is down (pressed). **Arguments** Name Type Description `k` `int` Virtual key. **Returns** Type Description `bool` `true` if pressed. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#is-key-clicked) IsKeyClicked --------------------------------------------------------------------------------------------- **Method** Returns `true` if a key is clicked (switched from depressed to pressed state). **Arguments** Name Type Description `k` `int` Virtual key. **Returns** Type Description `bool` `true` if clicked. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/contextinput#is-key-released) IsKeyReleased ----------------------------------------------------------------------------------------------- **Method** Returns `true` if a key is released (switched from pressed to depressed state). **Arguments** Name Type Description `k` `int` Virtual key. **Returns** Type Description `bool` `true` if released. **Example** [PreviousUser\_t](https://lua2.fatality.win/api/instances/gui/context/user_t) [NextMouseButton](https://lua2.fatality.win/api/instances/gui/contextinput/mousebutton) Last updated 3 months ago * [Cursor](https://lua2.fatality.win/api/instances/gui/contextinput#cursor)  * [CursorPrev](https://lua2.fatality.win/api/instances/gui/contextinput#cursor-prev) * [CursorDelta](https://lua2.fatality.win/api/instances/gui/contextinput#cursordelta) * [DidCursorMove](https://lua2.fatality.win/api/instances/gui/contextinput#didcursormove) * [DidWheelMove](https://lua2.fatality.win/api/instances/gui/contextinput#didwheelmove) * [DidProcessMouse](https://lua2.fatality.win/api/instances/gui/contextinput#didprocessmouse) * [ButtonReleased](https://lua2.fatality.win/api/instances/gui/contextinput#buttonreleased) * [WheelDelta](https://lua2.fatality.win/api/instances/gui/contextinput#wheeldelta) * [IsMouseUp](https://lua2.fatality.win/api/instances/gui/contextinput#ismouseup) * [IsMouseDown](https://lua2.fatality.win/api/instances/gui/contextinput#is-mouse-down) * [IsMouseClicked](https://lua2.fatality.win/api/instances/gui/contextinput#ismouseclicked) * [IsMouseReleased](https://lua2.fatality.win/api/instances/gui/contextinput#is-mouse-released) * [DidProcessKey](https://lua2.fatality.win/api/instances/gui/contextinput#didprocesskey) * [IsKeyUp](https://lua2.fatality.win/api/instances/gui/contextinput#is-key-up) * [IsKeyDown](https://lua2.fatality.win/api/instances/gui/contextinput#is-key-down) * [IsKeyClicked](https://lua2.fatality.win/api/instances/gui/contextinput#is-key-clicked) * [IsKeyReleased](https://lua2.fatality.win/api/instances/gui/contextinput#is-key-released) Copy local prev = gui.input:CursorPrev(); Copy local delta = gui.input:CursorDelta(); Copy if gui.input:DidCursorMove() then -- ... end Copy if gui.input:DidWheelMove() then -- ... end Copy if gui.input:DidProcessMouse() then -- ... end Copy if gui.input:button_released() then -- ... end Copy local scroll = gui.input:WheelDelta(); Copy if gui.input:IsMouseUp(gui.MouseButton.LEFT) then -- ... end Copy if gui.input:IsMouseDown(gui.MouseButton.LEFT) then -- ... end Copy if gui.input:IsMouseClicked(gui.MouseButton.LEFT) then -- ... end Copy if gui.input:IsMouseReleased(gui.MouseButton.LEFT) then -- ... end Copy if gui.input:DidProcessKey() then -- ... end Copy if gui.input:IsKeyUp(0x41) then -- 0x41 = "A" -- ... end Copy if gui.input:IsKeyDown(0x41) then -- 0x41 = "A" -- ... end Copy if gui.input:IsKeyClicked(0x41) then -- 0x41 = "A" -- ... end Copy if gui.input:IsKeyReleased(0x41) then -- 0x41 = "A" -- ... end --- # C_CSPlayerController | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller.md) . This type represents a `CCSPlayerController` class. This type inherits [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#is-enemy) IsEnemy ------------------------------------------------------------------------------------------------------------ **Method** Returns `true` if this player is an enemy to the local player. **Arguments** None. **Returns** Type Description `bool` `true` if an enemy. **Example** Copy if player:IsEnemy() then -- ... end * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-name) GetName ------------------------------------------------------------------------------------------------------------ **Method** Returns the sanitized player name. **Arguments** None. **Returns** Type Description `string` Player's name. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-pawn) GetPawn ------------------------------------------------------------------------------------------------------------ **Method** Returns the pawn attached to this controller. **Arguments** None. **Returns** Type Description [`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) Pawn instance. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-active-weapon) GetActiveWeapon ----------------------------------------------------------------------------------------------------------------------------- **Method** Returns the active weapon. **Arguments** None. **Returns** Type Description [`C_CSWeaponBaseGun`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) Weapon instance. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-observer-pawn) GetObserverPawn ----------------------------------------------------------------------------------------------------------------------------- **Method** Returns the observer pawn used for this controller. **Arguments** None. **Returns** Type Description [`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) `?` Entity. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-observer-target) GetObserverTarget --------------------------------------------------------------------------------------------------------------------------------- **Method** Returns the pawn this controller is currently observing. **Arguments** None. **Returns** Type Description [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) ? Entity. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#getobservermode) GetObserverMode --------------------------------------------------------------------------------------------------------------------------- **Method** Returns the current observer mode. **Arguments** None. **Returns** Type Description [`ObserverMode_t`](https://lua2.fatality.win/api/instances/entities/observermode_t) Observer mode. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-observer-mode) GetSteamID ------------------------------------------------------------------------------------------------------------------------ **Method** Returns this player's Steam ID64. **Arguments** None. **Returns** Type Description `table` The 64 bits of this player's steam ID, separated in two 32 bit values: `low` and `high`. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-observer-mode-1) GetStringSteamID -------------------------------------------------------------------------------------------------------------------------------- **Method** Returns this player's Steam ID64, as a string. **Arguments** None. **Returns** Type Description `string` The steam ID in string format **Example** [PreviousC\_CSPlayerPawn](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) [NextCBaseAnimGraph](https://lua2.fatality.win/api/instances/entities/c_baseentity/cbaseanimgraph) Last updated 1 month ago * [IsEnemy](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#is-enemy) * [GetName](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-name) * [GetPawn](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-pawn) * [GetActiveWeapon](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-active-weapon) * [GetObserverPawn](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-observer-pawn) * [GetObserverTarget](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-observer-target) * [GetObserverMode](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#getobservermode) * [GetSteamID](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-observer-mode) * [GetStringSteamID](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller#get-observer-mode-1) Copy local name = player:GetName(); Copy local pawn = ctrl:GetPawn(); Copy local wep = player:GetActiveWeapon(); Copy local obs_pawn = ctrl:GetObserverPawn(); Copy local obs = ctrl:GetObserverTarget(); Copy local mode = ctrl:GetObserverMode(); Copy local id = ctrl:GetSteamID(); print(id.low, id.high); Copy local id = ctrl:GetStringSteamID(); print(id); --- # Rect | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/types/rect.md) . [](https://lua2.fatality.win/api/instances/draw/types/rect#call) \_\_call ------------------------------------------------------------------------------- `**Constructor**` Creates a new rectangle. **Arguments** 1\. Default rectangle (0, 0 position; 0, 0 size). None. 2\. Single value. Name Type Description `value` `float` Mins XY, maxs XY value. 3\. Single vector. Name Type Description `value` [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Mins vector, maxs vector. 4\. Double value. Name Type Description `x` `float` Mins/maxs X coordinate. `y` `float` Mins/maxs Y coordinate. 5\. Double vector. Name Type Description `mins` [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Mins vector. `maxs` [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Maxs vector. 6\. Four values. Name Type Description `x0` `float` Mins X coordinate. `y0` `float` Mins Y coordinate. `x1` `float` Maxs X coordinate. `y1` `float` Maxs Y coordinate. **Returns** Type Description `Rect` New rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#mins) mins --------------------------------------------------------------------------- `**Field**` Type: [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Mins (top-left) vector. * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#maxs) maxs --------------------------------------------------------------------------- `**Field**` Type: [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Maxs (bottom-right) vector. * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#width) Width ---------------------------------------------------------------------------- `**Method**` Either returns rectangle's width, or sets a new width. **Arguments** 1\. Get width. None. 2\. Set width. Name Type Description `value` `float` New width. **Returns** 1\. Get width. Type Description `float` Width. 2\. Set width. Type Description `Rect` New rectangle with changed width. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#height) Height ------------------------------------------------------------------------------ `**Method**` Either returns rectangle's height, or sets a new height. **Arguments** 1\. Get height. None. 2\. Set height. Name Type Description `value` `float` New height. **Returns** 1\. Get height. Type Description `float` Height. 2\. Set height. Type Description `Rect` New rectangle with changed height. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#size) Size -------------------------------------------------------------------------- `**Method**` Either returns rectangle's size, or sets a new size. **Arguments** 1\. Get size. None. 2\. Set size. Name Type Description `value` [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) New size. **Returns** 1\. Get size. Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Size. 2\. Set size. Type Description `Rect` New rectangle with changed size. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#explode) Explode -------------------------------------------------------------------------------- `**Method**` Explodes the rectangle by given vector (increase size from center into all directions by coordinates in the vector). **Arguments** Name Type Description `value` [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Explode size. **Returns** Type Description `Rect` Exploded rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#halfwidth) HalfWidth ------------------------------------------------------------------------------------ `**Method**` Returns a rectangle with half of the width of this rectangle. **Arguments** None. **Returns** Type Description `Rect` Rectangle with halved width. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#translate) Translate ------------------------------------------------------------------------------------ `**Method**` Translates (moves) this rectangle by vector coordinates. **Arguments** Name Type Description `value` [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Translation amount. **Returns** Type Description `Rect` Translated rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#marginleft) MarginLeft -------------------------------------------------------------------------------------- `**Method**` Move rectangle from the left by given amount. **Arguments** Name Type Description `value` `float` Margin amount. **Returns** Type Description `Rect` Moved rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#marginright) MarginRight ---------------------------------------------------------------------------------------- `**Method**` Move rectangle from the right by given amount. **Arguments** Name Type Description `value` `float` Margin amount. **Returns** Type Description `Rect` Moved rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#margintop) MarginTop ------------------------------------------------------------------------------------ `**Method**` Move rectangle from the top by given amount. **Arguments** Name Type Description `value` `float` Margin amount. **Returns** Type Description `Rect` Moved rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#margin-bottom) MarginBottom ------------------------------------------------------------------------------------------- `**Method**` Move rectangle from the bottom by given amount. **Arguments** Name Type Description `value` `float` Margin amount. **Returns** Type Description `Rect` Moved rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#paddingleft) PaddingLeft ---------------------------------------------------------------------------------------- `**Method**` Adds the value to the left side of the rectangle. **Arguments** Name Type Description `value` `float` Padding amount. **Returns** Type Description `Rect` Resized rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#paddingright) PaddingRight ------------------------------------------------------------------------------------------ `**Method**` Adds the value to the right side of the rectangle. **Arguments** Name Type Description `value` `float` Padding amount. **Returns** Type Description `Rect` Resized rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#paddingtop) PaddingTop -------------------------------------------------------------------------------------- `**Method**` Adds the value to the top side of the rectangle. **Arguments** Name Type Description `value` `float` Padding amount. **Returns** Type Description `Rect` Resized rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#paddingbottom) PaddingBottom -------------------------------------------------------------------------------------------- `**Method**` Adds the value to the bottom side of the rectangle. **Arguments** Name Type Description `value` `float` Padding amount. **Returns** Type Description `Rect` Resized rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#shrink) Shrink ------------------------------------------------------------------------------ `**Method**` Shrinks (implodes) the rectangle by given amount. **Arguments** Name Type Description `value` `float` Shrink value. **Returns** Type Description `Rect` Resized rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#expand) Expand ------------------------------------------------------------------------------ `**Method**` Expands (explodes) the rectangle by given amount. **Arguments** Name Type Description `value` `float` Expand value. **Returns** Type Description `Rect` Resized rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#contains) Contains ----------------------------------------------------------------------------------- `**Method**` Returns `true` if this rectangle contains either vector or another rectangle. Rectangle overload will return `true` ONLY of entire other rectangle is within the bounds of this one. **Arguments** 1\. Vector variant. Name Type Description `other` [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Vector to check against. 2\. Rectangle variant. Name Type Description `other` `Rect` Rectangle to check against. **Returns** Type Description `bool` `true` if other object is in bounds of this rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#overlaps) Overlaps ---------------------------------------------------------------------------------- `**Method**` Returns `true` if the other rectangle overlaps with this rectangle. **Arguments** Name Type Description `other` `Rect` Rectangle to check against. **Returns** Type Description `bool` `true` if other rectangle overlaps with this rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#intersect) Intersect ------------------------------------------------------------------------------------ `**Method**` Intersects this rectangle with another rectangle. **Arguments** Name Type Description `other` `Rect` Rectangle to intersect with. **Returns** Type Description `Rect` Intersected rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#tl) TL ---------------------------------------------------------------------- `**Method**` Returns top-left vector. **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Top-left vector. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#tr) TR ---------------------------------------------------------------------- `**Method**` Returns top-right vector. **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Top-right vector. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#br) BR ---------------------------------------------------------------------- `**Method**` Returns bottom-right vector. **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Bottom-right vector. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#bl) BL ---------------------------------------------------------------------- `**Method**` Returns bottom-left vector. **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Bottom-left vector. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#center) Center ------------------------------------------------------------------------------- `**Method**` Returns center point of this rectangle. **Arguments** None. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Center point. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#circle) Circle ------------------------------------------------------------------------------- `**Method**` Treats this rectangle as an ellipsis and returns point on it. Note, that this "ellipsis" will be perfect with no modified curvature (basically if this rectangle is a box - you will get a point on a perfect circle). **Arguments** Name Type Description `r` `float` Radians value. **Returns** Type Description [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) Point on the ellipsis. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#floor) Floor ----------------------------------------------------------------------------- `**Method**` Returns floored rectangle. **Arguments** None. **Returns** Type Description `Rect` Floored rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#ceil) Ceil --------------------------------------------------------------------------- `**Method**` Returns ceiled rectangle. **Arguments** None. **Returns** Type Description `Rect` Ceiled rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#round) Round ----------------------------------------------------------------------------- `**Method**` Returns rounded rectangle. **Arguments** None. **Returns** Type Description `Rect` Rounded rectangle. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/rect#iszero) IsZero ------------------------------------------------------------------------------ `**Method**` Returns `true` if both mins and maxs are equal to 0. **Arguments** None. **Returns** Type Description `bool` `true` if this is a zero rectangle. **Example** [PreviousTypes](https://lua2.fatality.win/api/instances/draw/types) [NextVec2](https://lua2.fatality.win/api/instances/draw/types/vec2) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/draw/types/rect#call)  * [mins](https://lua2.fatality.win/api/instances/draw/types/rect#mins)  * [maxs](https://lua2.fatality.win/api/instances/draw/types/rect#maxs)  * [Width](https://lua2.fatality.win/api/instances/draw/types/rect#width) * [Height](https://lua2.fatality.win/api/instances/draw/types/rect#height) * [Size](https://lua2.fatality.win/api/instances/draw/types/rect#size) * [Explode](https://lua2.fatality.win/api/instances/draw/types/rect#explode) * [HalfWidth](https://lua2.fatality.win/api/instances/draw/types/rect#halfwidth) * [Translate](https://lua2.fatality.win/api/instances/draw/types/rect#translate) * [MarginLeft](https://lua2.fatality.win/api/instances/draw/types/rect#marginleft) * [MarginRight](https://lua2.fatality.win/api/instances/draw/types/rect#marginright) * [MarginTop](https://lua2.fatality.win/api/instances/draw/types/rect#margintop) * [MarginBottom](https://lua2.fatality.win/api/instances/draw/types/rect#margin-bottom) * [PaddingLeft](https://lua2.fatality.win/api/instances/draw/types/rect#paddingleft) * [PaddingRight](https://lua2.fatality.win/api/instances/draw/types/rect#paddingright) * [PaddingTop](https://lua2.fatality.win/api/instances/draw/types/rect#paddingtop) * [PaddingBottom](https://lua2.fatality.win/api/instances/draw/types/rect#paddingbottom) * [Shrink](https://lua2.fatality.win/api/instances/draw/types/rect#shrink) * [Expand](https://lua2.fatality.win/api/instances/draw/types/rect#expand) * [Contains](https://lua2.fatality.win/api/instances/draw/types/rect#contains)  * [Overlaps](https://lua2.fatality.win/api/instances/draw/types/rect#overlaps) * [Intersect](https://lua2.fatality.win/api/instances/draw/types/rect#intersect) * [TL](https://lua2.fatality.win/api/instances/draw/types/rect#tl) * [TR](https://lua2.fatality.win/api/instances/draw/types/rect#tr) * [BR](https://lua2.fatality.win/api/instances/draw/types/rect#br) * [BL](https://lua2.fatality.win/api/instances/draw/types/rect#bl) * [Center](https://lua2.fatality.win/api/instances/draw/types/rect#center)  * [Circle](https://lua2.fatality.win/api/instances/draw/types/rect#circle)  * [Floor](https://lua2.fatality.win/api/instances/draw/types/rect#floor)  * [Ceil](https://lua2.fatality.win/api/instances/draw/types/rect#ceil)  * [Round](https://lua2.fatality.win/api/instances/draw/types/rect#round)  * [IsZero](https://lua2.fatality.win/api/instances/draw/types/rect#iszero) Copy local my_rect = draw.Rect(50, 50, 150, 150); Copy local half_width = rect:Width(rect:Width() * 0.5); Copy local half_height = rect:Height(rect:Height() * 0.5); Copy local half_size = rect:Size(rect:Size() * draw.Vec2(0.5, 0.5)); Copy local exp = rect:Explode(draw.Vec2(6, 6)); -- will subtract -3,-3 from mins and add 3,3 to maxs Copy local half = rect:HalfWidth(); Copy local rect = draw.Rect(50, 50, 150, 150); local translated = rect:Translate(draw.Vec2(5, 5)); -- mins/maxs will be 55,55 and 155,155 Copy local new = rect:MarginLeft(5); -- moves to the right by 5px Copy local new = rect:MarginRight(5); -- moves to the left by 5px Copy local new = rect:MarginTop(5); -- moves to the bottom by 5px Copy local new = rect:MarginBottom(5); -- moves to the top by 5px Copy local new = rect:PaddingLeft(5); -- adds 5 to mins x Copy local new = rect:PaddingRight(5); -- adds 5 to maxs x Copy local new = rect:PaddingTop(5); -- adds 5 to mins y Copy local new = rect:PaddingBottom(5); -- adds 5 to maxs y Copy local shrinked = rect:Shrink(5); -- adds 5,5 to mins and subtracts 5,5 from maxs Copy local expanded = rect:Expand(5); -- subtracts 5,5 from mins and adds 5,5 to maxs Copy if rect:Contains(cursor_pos) then -- ... end Copy if rect:Overlaps(another_rect) then -- ... end Copy local intersected = rect:Intersect(another_rect); Copy local tl = rect:TL(); Copy local tr = rect:TR(); Copy local br = rect:BR(); Copy local bl = rect:BL(); Copy local center = rect:Center(); Copy local point = rect:Circle(rad(250)); -- returns point on the 250th degree Copy local floored = rect:Floor(); Copy local ceiled = rect:Ceil(); Copy local rounded = rect:Round(); Copy if rect:IsZero() then -- ... end --- # C_CSWeaponBaseGun | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun.md) . This type represents a `CCSWeaponBaseGun` class. This type inherits [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-max-speed) GetMaxSpeed ------------------------------------------------------------------------------------------------------------------ **Method** Returns the maximal player speed when holding this weapon. **Arguments** None. **Returns** Type Description `float` Max speed, in UPS. **Example** Copy local spd = wep:GetMaxSpeed(); * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#getinaccuracy) GetInaccuracy -------------------------------------------------------------------------------------------------------------------- **Method** Returns the current inaccuracy value. **Arguments** Name Type Description `mode` [`CSWeaponMode`](https://lua2.fatality.win/api/instances/entities/csweaponmode) Weapon mode. **Returns** Type Description `float` Inaccuracy value. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-spread) GetSpread ------------------------------------------------------------------------------------------------------------- **Method** Returns the current spread value. **Arguments** Name Type Description `mode` [`CSWeaponMode`](https://lua2.fatality.win/api/instances/entities/csweaponmode) Weapon mode. **Returns** Type Description `float` Inaccuracy value. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-id) GetDefIndex ----------------------------------------------------------------------------------------------------------- **Method** Returns the weapon definition index. **Arguments** None. **Returns** Type Description [`EItemDefinitionIndex`](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex) Weapon ID. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-type) GetType --------------------------------------------------------------------------------------------------------- **Method** Returns the weapon type. **Arguments** None. **Returns** Type Description [`CSWeaponType`](https://lua2.fatality.win/api/instances/entities/csweapontype) Weapon type. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-data) GetData --------------------------------------------------------------------------------------------------------- **Method** Returns the weapon static data. **Arguments** None. **Returns** Type Description [`CCSWeaponBaseVData`](https://lua2.fatality.win/api/instances/entities/ccsweaponbasevdata) Weapon data. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#is-gun) IsGun ----------------------------------------------------------------------------------------------------- **Method** Returns `true` if this weapon is a firearm. **Arguments** None. **Returns** Type Description `bool` `true` if a firearm. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#isattackable) IsAttackable ------------------------------------------------------------------------------------------------------------------ **Method** Returns `true` if you can attack with this weapon. **Arguments** None. **Returns** Type Description `bool` `true` if can attack. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#hassecondaryattack) HasSecondaryAttack ------------------------------------------------------------------------------------------------------------------------------ **Method** Returns `true` if this weapon has a secondary attack mode. **Arguments** None. **Returns** Type Description `bool` `true` if has the secondary attack mode. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#hasspread) HasSpread ------------------------------------------------------------------------------------------------------------ **Method** Returns `true` if this weapon has spread (e.g. knives do not have any spread). **Arguments** None. **Returns** Type Description `bool` `true` if has spread. **Example** [PreviousSchemaAccessor\_t](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t) [NextC\_CSPlayerPawn](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) Last updated 1 month ago * [GetMaxSpeed](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-max-speed) * [GetInaccuracy](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#getinaccuracy) * [GetSpread](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-spread) * [GetDefIndex](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-id) * [GetType](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-type) * [GetData](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#get-data) * [IsGun](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#is-gun) * [IsAttackable](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#isattackable) * [HasSecondaryAttack](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#hassecondaryattack) * [HasSpread](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun#hasspread) Copy local inacc = wep:GetInaccuracy(CSWeaponMode.PRIMARY_MODE); Copy local spread = wep:GetSpread(CSWeaponMode.PRIMARY_MODE); Copy local wep_id = wep:GetDefIndex(); Copy local type = wep:GetType(); Copy local data = wep:GetData(); Copy if wep:IsGun() then -- ... end Copy if wep:IsAttackable() then -- ... end Copy if wep:HasSecondaryAttack() then -- ... end Copy if wep:HasSpread() then -- ... end --- # EItemDefinitionIndex | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex.md) . This enum represents the unique identifier for various weapons in the game. [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#none) NONE ---------------------------------------------------------------------------------------- **Field** Represents no weapon. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#deagle) DEAGLE -------------------------------------------------------------------------------------------- **Field** Represents a Desert Eagle. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#elite) ELITE ------------------------------------------------------------------------------------------ **Field** Represents the Dual Berettas. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#fiveseven) FIVESEVEN -------------------------------------------------------------------------------------------------- **Field** Represents a Five-SeveN. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#glock) GLOCK ------------------------------------------------------------------------------------------ **Field** Represents a Glock-18. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#ak47) AK47 ---------------------------------------------------------------------------------------- **Field** Represents an AK-47. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#aug) AUG -------------------------------------------------------------------------------------- **Field** Represents an AUG. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#awp) AWP -------------------------------------------------------------------------------------- **Field** Represents an AWP. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#famas) FAMAS ------------------------------------------------------------------------------------------ **Field** Represents a FAMAS. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#g3sg1) G3SG1 ------------------------------------------------------------------------------------------ **Field** Represents a G3SG1. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#galilar) GALILAR ---------------------------------------------------------------------------------------------- **Field** Represents a Galil AR. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#m249) M249 ---------------------------------------------------------------------------------------- **Field** Represents an M249. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#m4a1) M4A1 ---------------------------------------------------------------------------------------- **Field** Represents an M4A4. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mac10) MAC10 ------------------------------------------------------------------------------------------ **Field** Represents a MAC-10. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#p90) P90 -------------------------------------------------------------------------------------- **Field** Represents a P90. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#zone-repulsor) ZONE\_REPULSOR ----------------------------------------------------------------------------------------------------------- **Field** Represents a zone repulsor device. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mp5sd) MP5SD ------------------------------------------------------------------------------------------ **Field** Represents an MP5-SD. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#ump45) UMP45 ------------------------------------------------------------------------------------------ **Field** Represents a UMP-45. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#xm1014) XM1014 -------------------------------------------------------------------------------------------- **Field** Represents an XM1014. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#bizon) BIZON ------------------------------------------------------------------------------------------ **Field** Represents a PP-Bizon. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mag7) MAG7 ---------------------------------------------------------------------------------------- **Field** Represents a MAG-7. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#negev) NEGEV ------------------------------------------------------------------------------------------ **Field** Represents a Negev. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#sawedoff) SAWEDOFF ------------------------------------------------------------------------------------------------ **Field** Represents a Sawed-Off. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#tec9) TEC9 ---------------------------------------------------------------------------------------- **Field** Represents a Tec-9. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#taser) TASER ------------------------------------------------------------------------------------------ **Field** Represents a Zeus x27 taser. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#hkp2000) HKP2000 ---------------------------------------------------------------------------------------------- **Field** Represents a P2000. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mp7) MP7 -------------------------------------------------------------------------------------- **Field** Represents an MP7. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mp9) MP9 -------------------------------------------------------------------------------------- **Field** Represents an MP9. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#nova) NOVA ---------------------------------------------------------------------------------------- **Field** Represents a Nova. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#p250) P250 ---------------------------------------------------------------------------------------- **Field** Represents a P250. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#shield) SHIELD -------------------------------------------------------------------------------------------- **Field** Represents a shield. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#scar20) SCAR20 -------------------------------------------------------------------------------------------- **Field** Represents a SCAR-20. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#sg556) SG556 ------------------------------------------------------------------------------------------ **Field** Represents an SG 553. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#ssg08) SSG08 ------------------------------------------------------------------------------------------ **Field** Represents an SSG 08. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knifegg) KNIFEGG ---------------------------------------------------------------------------------------------- **Field** Represents the Golden Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife) KNIFE ------------------------------------------------------------------------------------------ **Field** Represents the default knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#flashbang) FLASHBANG -------------------------------------------------------------------------------------------------- **Field** Represents a flashbang. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#hegrenade) HEGRENADE -------------------------------------------------------------------------------------------------- **Field** Represents an HE grenade. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#smokegrenade) SMOKEGRENADE -------------------------------------------------------------------------------------------------------- **Field** Represents a smoke grenade. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#molotov) MOLOTOV ---------------------------------------------------------------------------------------------- **Field** Represents a Molotov. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#decoy) DECOY ------------------------------------------------------------------------------------------ **Field** Represents a decoy grenade. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#incgrenade) INCGRENADE ---------------------------------------------------------------------------------------------------- **Field** Represents an incendiary grenade. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#c4) C4 ------------------------------------------------------------------------------------ **Field** Represents a C4 explosive. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#healthshot) HEALTHSHOT ---------------------------------------------------------------------------------------------------- **Field** Represents a health shot. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-t) KNIFE\_T ----------------------------------------------------------------------------------------------- **Field** Represents the Terrorist knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#m4a1-silencer) M4A1\_SILENCER ----------------------------------------------------------------------------------------------------------- **Field** Represents the M4A1-S. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#usp-silencer) USP\_SILENCER --------------------------------------------------------------------------------------------------------- **Field** Represents the USP-S. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#cz75a) CZ75A ------------------------------------------------------------------------------------------ **Field** Represents a CZ75-Auto. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#revolver) REVOLVER ------------------------------------------------------------------------------------------------ **Field** Represents an R8 Revolver. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#tagrenade) TAGRENADE -------------------------------------------------------------------------------------------------- **Field** Represents a tactical awareness grenade. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#fists) FISTS ------------------------------------------------------------------------------------------ **Field** Represents fists. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#breachcharge) BREACHCHARGE -------------------------------------------------------------------------------------------------------- **Field** Represents a breach charge. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#tablet) TABLET -------------------------------------------------------------------------------------------- **Field** Represents a tablet. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#melee) MELEE ------------------------------------------------------------------------------------------ **Field** Represents a generic melee weapon. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#axe) AXE -------------------------------------------------------------------------------------- **Field** Represents an axe. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#hammer) HAMMER -------------------------------------------------------------------------------------------- **Field** Represents a hammer. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#spanner) SPANNER ---------------------------------------------------------------------------------------------- **Field** Represents a spanner (wrench). * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-ghost) KNIFE\_GHOST ------------------------------------------------------------------------------------------------------- **Field** Represents a ghost knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#firebomb) FIREBOMB ------------------------------------------------------------------------------------------------ **Field** Represents a firebomb grenade. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#diversion) DIVERSION -------------------------------------------------------------------------------------------------- **Field** Represents a diversion device. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#fraggrenade) FRAGGRENADE ------------------------------------------------------------------------------------------------------ **Field** Represents a fragmentation grenade. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#snowball) SNOWBALL ------------------------------------------------------------------------------------------------ **Field** Represents a snowball. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#bumpmine) BUMPMINE ------------------------------------------------------------------------------------------------ **Field** Represents a bump mine. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-bayonet) KNIFE\_BAYONET ----------------------------------------------------------------------------------------------------------- **Field** Represents a Bayonet. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-css) KNIFE\_CSS --------------------------------------------------------------------------------------------------- **Field** Represents the Classic Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-flip) KNIFE\_FLIP ----------------------------------------------------------------------------------------------------- **Field** Represents a Flip Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-gut) KNIFE\_GUT --------------------------------------------------------------------------------------------------- **Field** Represents a Gut Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-karambit) KNIFE\_KARAMBIT ------------------------------------------------------------------------------------------------------------- **Field** Represents a Karambit. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-m9bayonet) KNIFE\_M9BAYONET --------------------------------------------------------------------------------------------------------------- **Field** Represents an M9 Bayonet. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-tactical) KNIFE\_TACTICAL ------------------------------------------------------------------------------------------------------------- **Field** Represents a Huntsman Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-falchion) KNIFE\_FALCHION ------------------------------------------------------------------------------------------------------------- **Field** Represents a Falchion Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-survival-bowie) KNIFE\_SURVIVAL\_BOWIE -------------------------------------------------------------------------------------------------------------------------- **Field** Represents a Bowie Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-butterfly) KNIFE\_BUTTERFLY --------------------------------------------------------------------------------------------------------------- **Field** Represents a Butterfly Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-push) KNIFE\_PUSH ----------------------------------------------------------------------------------------------------- **Field** Represents a Shadow Daggers. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-cord) KNIFE\_CORD ----------------------------------------------------------------------------------------------------- **Field** Represents a Paracord Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-canis) KNIFE\_CANIS ------------------------------------------------------------------------------------------------------- **Field** Represents a Survival Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-ursus) KNIFE\_URSUS ------------------------------------------------------------------------------------------------------- **Field** Represents an Ursus Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-gypsy-jackknife) KNIFE\_GYPSY\_JACKKNIFE ---------------------------------------------------------------------------------------------------------------------------- **Field** Represents a Navaja Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-outdoor) KNIFE\_OUTDOOR ----------------------------------------------------------------------------------------------------------- **Field** Represents a Nomad Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-stiletto) KNIFE\_STILETTO ------------------------------------------------------------------------------------------------------------- **Field** Represents a Stiletto Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-widowmaker) KNIFE\_WIDOWMAKER ----------------------------------------------------------------------------------------------------------------- **Field** Represents a Talon Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-skeleton) KNIFE\_SKELETON ------------------------------------------------------------------------------------------------------------- **Field** Represents a Skeleton Knife. * * * [](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-kukri) KNIFE\_KUKRI ------------------------------------------------------------------------------------------------------- **Field** Represents a Kukri Knife. [PreviousCSWeaponType](https://lua2.fatality.win/api/instances/entities/csweapontype) [NextCSWeaponCategory](https://lua2.fatality.win/api/instances/entities/csweaponcategory) Last updated 4 months ago * [NONE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#none) * [DEAGLE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#deagle) * [ELITE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#elite) * [FIVESEVEN](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#fiveseven) * [GLOCK](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#glock) * [AK47](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#ak47) * [AUG](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#aug) * [AWP](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#awp) * [FAMAS](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#famas) * [G3SG1](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#g3sg1) * [GALILAR](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#galilar) * [M249](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#m249) * [M4A1](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#m4a1) * [MAC10](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mac10) * [P90](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#p90) * [ZONE\_REPULSOR](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#zone-repulsor) * [MP5SD](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mp5sd) * [UMP45](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#ump45) * [XM1014](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#xm1014) * [BIZON](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#bizon) * [MAG7](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mag7) * [NEGEV](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#negev) * [SAWEDOFF](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#sawedoff) * [TEC9](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#tec9) * [TASER](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#taser) * [HKP2000](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#hkp2000) * [MP7](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mp7) * [MP9](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#mp9) * [NOVA](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#nova) * [P250](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#p250) * [SHIELD](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#shield) * [SCAR20](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#scar20) * [SG556](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#sg556) * [SSG08](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#ssg08) * [KNIFEGG](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knifegg) * [KNIFE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife) * [FLASHBANG](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#flashbang) * [HEGRENADE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#hegrenade) * [SMOKEGRENADE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#smokegrenade) * [MOLOTOV](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#molotov) * [DECOY](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#decoy) * [INCGRENADE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#incgrenade) * [C4](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#c4) * [HEALTHSHOT](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#healthshot) * [KNIFE\_T](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-t) * [M4A1\_SILENCER](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#m4a1-silencer) * [USP\_SILENCER](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#usp-silencer) * [CZ75A](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#cz75a) * [REVOLVER](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#revolver) * [TAGRENADE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#tagrenade) * [FISTS](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#fists) * [BREACHCHARGE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#breachcharge) * [TABLET](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#tablet) * [MELEE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#melee) * [AXE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#axe) * [HAMMER](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#hammer) * [SPANNER](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#spanner) * [KNIFE\_GHOST](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-ghost) * [FIREBOMB](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#firebomb) * [DIVERSION](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#diversion) * [FRAGGRENADE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#fraggrenade) * [SNOWBALL](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#snowball) * [BUMPMINE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#bumpmine) * [KNIFE\_BAYONET](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-bayonet) * [KNIFE\_CSS](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-css) * [KNIFE\_FLIP](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-flip) * [KNIFE\_GUT](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-gut) * [KNIFE\_KARAMBIT](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-karambit) * [KNIFE\_M9BAYONET](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-m9bayonet) * [KNIFE\_TACTICAL](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-tactical) * [KNIFE\_FALCHION](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-falchion) * [KNIFE\_SURVIVAL\_BOWIE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-survival-bowie) * [KNIFE\_BUTTERFLY](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-butterfly) * [KNIFE\_PUSH](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-push) * [KNIFE\_CORD](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-cord) * [KNIFE\_CANIS](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-canis) * [KNIFE\_URSUS](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-ursus) * [KNIFE\_GYPSY\_JACKKNIFE](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-gypsy-jackknife) * [KNIFE\_OUTDOOR](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-outdoor) * [KNIFE\_STILETTO](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-stiletto) * [KNIFE\_WIDOWMAKER](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-widowmaker) * [KNIFE\_SKELETON](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-skeleton) * [KNIFE\_KUKRI](https://lua2.fatality.win/api/instances/entities/eitemdefinitionindex#knife-kukri) --- # Color | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/draw/types/color.md) . [](https://lua2.fatality.win/api/instances/draw/types/color#rcolor.md) color ---------------------------------------------------------------------------------- Last modified: 03 January 2025 This type is a color used within the rendering system. Do not mistake this type with [`color`](https://lua2.fatality.win/api/types/color) that is used in game! While these types are interchangeable internally, they are NOT in the API. [](https://lua2.fatality.win/api/instances/draw/types/color#call) \_\_call -------------------------------------------------------------------------------- **Constructor** Creates a new color instance. **Arguments** 1\. Default color (translucent black). None. 2\. Integer colors. Name Type Description `r` `int` Red color (`0` to `255`). `g` `int` Green color (`0` to `255`). `b` `int` Blue color (`0` to `255`). `a` `int` Opacity (`0` to `255`). Defaults to `255`. 3\. Hex string. Name Type Description `hex` `string` Hex string. Formats are: `#rrggbbaa`, `#rrggbb`, `#rgba` and `#rgb`. **Returns** Type Description `Color` Color object. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#white) White ------------------------------------------------------------------------------ **Function** Returns a white, opaque color. **Arguments** None. **Returns** Type Description `Color` Color object. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#whitetransparent) WhiteTransparent --------------------------------------------------------------------------------------------------- **Function** Returns a white, transparent color. **Arguments** None. **Returns** Type Description `Color` Color object. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#black) Black ------------------------------------------------------------------------------ **Function** Returns a black, opaque color. **Arguments** None. **Returns** Type Description `Color` Color object. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#blacktransparent) BlackTransparent --------------------------------------------------------------------------------------------------- **Function** Returns a black, transparent color. **Arguments** None. **Returns** Type Description `Color` Color object. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#percent) Percent --------------------------------------------------------------------------------- **Function** Returns a red-to-green color, depending on the provided percent. **Arguments** Name Type Description `p` `float` Percentile (`0` to `1`). `a` `float` Opacity. Defaults to `1`. **Returns** Type Description `Color` Color object. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#gray) Gray --------------------------------------------------------------------------- **Function** Returns a black-to-white color, depending on the provided percent. **Arguments** Name Type Description `b` `float` Percentile (`0` to `1`). `a` `float` Opacity. Defaults to `1`. **Returns** Type Description `Color` Color object. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#interpolate) Interpolate ----------------------------------------------------------------------------------------- **Function** Interpolates two colors. **Arguments** Name Type Description `a` `Color` Starting color. `b` `Color` Ending color. `t` `float` Interpolation percentile. **Returns** Type Description `Color` Color object. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#rgba) RGBA --------------------------------------------------------------------------- **Method** Returns integer representation of this color (RGBA format) **Arguments** None. **Returns** Type Description `int` RGBA color. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#argb) ARGB --------------------------------------------------------------------------- **Method** Returns integer representation of this color (ARGB format) **Arguments** None. **Returns** Type Description `int` ARGB color. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#bgra) BGRA --------------------------------------------------------------------------- **Method** Returns integer representation of this color (BGRA format) **Arguments** None. **Returns** Type Description `int` BGRA color. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#abgr) ABGR --------------------------------------------------------------------------- **Method** Returns integer representation of this color (ABGR format) **Arguments** None. **Returns** Type Description `int` ABGR color. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#darken) Darken -------------------------------------------------------------------------------- **Method** Returns darker variant of this color. **Arguments** Name Type Description `value` `float` Modulation amount (`0` to `1`). **Returns** Type Description `Color` Darker color. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#darken-1) Lighten ---------------------------------------------------------------------------------- **Method** Returns saturated version of this color. Opposite of darken. **Arguments** Name Type Description `value` `float` Modulation amount (`0` to `1`). **Returns** Type Description `Color` Saturated color. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#mod-a) ModA ---------------------------------------------------------------------------- **Method** Modulate opacity of the color. This will take existing opacity, and multiply it by whatever value you provide. It is useful if you want to modulate same color in steps, instead of setting the accurate opacity number. **Arguments** 1\. Float variant. Name Type Description `value` `float` Opacity modulation (`0` to `1`). 2\. Integer variant. Name Type Description `value` `int` Opacity modulation (`0` to `255`). **Returns** Type Description `Color` Modulated color. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#r) R --------------------------------------------------------------------- **Method** Override red and return new color. **Arguments** Name Type Description `value` `float` New value. **Returns** Type Description `Color` New color. **Example** [](https://lua2.fatality.win/api/instances/draw/types/color#g) G --------------------------------------------------------------------- **Method** Override green and return new color. **Arguments** Name Type Description `value` `float` New value. **Returns** Type Description `Color` New color. **Example** [](https://lua2.fatality.win/api/instances/draw/types/color#b) B --------------------------------------------------------------------- **Method** Override blue and return new color. **Arguments** Name Type Description `value` `float` New value. **Returns** Type Description `Color` New color. **Example** [](https://lua2.fatality.win/api/instances/draw/types/color#a) A --------------------------------------------------------------------- **Method** Override opacity and return new color. **Arguments** Name Type Description `value` `float` New value. **Returns** Type Description `Color` New color. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#get-r) GetR ---------------------------------------------------------------------------- **Method** Returns red color value. **Arguments** None. **Returns** Type Description `int` Color value. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#get-g) GetG ---------------------------------------------------------------------------- **Method** Returns green color value. **Arguments** None. **Returns** Type Description `int` Color value. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#get-b) GetB ---------------------------------------------------------------------------- **Method** Returns blue color value. **Arguments** None. **Returns** Type Description `int` Color value. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#get-a) GetA ---------------------------------------------------------------------------- **Method** Returns opacity color value. **Arguments** None. **Returns** Type Description `int` Color value. **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#h) H --------------------------------------------------------------------- **Method** Return hue value of the color. **Arguments** None. **Returns** Type Description `int` Hue (`0` to `359`). **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#s) S --------------------------------------------------------------------- **Method** Returns saturation value of the color. **Arguments** None. **Returns** Type Description `float` Saturation (`0` to `1`). **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#v) V --------------------------------------------------------------------- **Method** Returns brightness value of the color. **Arguments** None. **Returns** Type Description `float` Brightness (`0` to `1`). **Example** * * * [](https://lua2.fatality.win/api/instances/draw/types/color#hsv) HSV ------------------------------------------------------------------------- **Method** Construct new color from provided HSB values. **Arguments** Name Type Description `hue` `int` Hue (`0` to `359`). `saturation` `float` Saturation (`0` to `1`). `brightness` `float` Brightness (`0` to `1`). `alpha` `float` Override opacity of the source color. Must be either left out, or provided `0` to `1` value. **Returns** Type Description `Color` New color. **Example** [PreviousVec2](https://lua2.fatality.win/api/instances/draw/types/vec2) [NextAccessor](https://lua2.fatality.win/api/instances/draw/types/accessor) Last updated 3 months ago * [color](https://lua2.fatality.win/api/instances/draw/types/color#rcolor.md)  * [\_\_call](https://lua2.fatality.win/api/instances/draw/types/color#call)  * [White](https://lua2.fatality.win/api/instances/draw/types/color#white)  * [WhiteTransparent](https://lua2.fatality.win/api/instances/draw/types/color#whitetransparent) * [Black](https://lua2.fatality.win/api/instances/draw/types/color#black)  * [BlackTransparent](https://lua2.fatality.win/api/instances/draw/types/color#blacktransparent) * [Percent](https://lua2.fatality.win/api/instances/draw/types/color#percent) * [Gray](https://lua2.fatality.win/api/instances/draw/types/color#gray) * [Interpolate](https://lua2.fatality.win/api/instances/draw/types/color#interpolate) * [RGBA](https://lua2.fatality.win/api/instances/draw/types/color#rgba) * [ARGB](https://lua2.fatality.win/api/instances/draw/types/color#argb) * [BGRA](https://lua2.fatality.win/api/instances/draw/types/color#bgra) * [ABGR](https://lua2.fatality.win/api/instances/draw/types/color#abgr) * [Darken](https://lua2.fatality.win/api/instances/draw/types/color#darken)  * [Lighten](https://lua2.fatality.win/api/instances/draw/types/color#darken-1) * [ModA](https://lua2.fatality.win/api/instances/draw/types/color#mod-a) * [R](https://lua2.fatality.win/api/instances/draw/types/color#r) * [G](https://lua2.fatality.win/api/instances/draw/types/color#g) * [B](https://lua2.fatality.win/api/instances/draw/types/color#b) * [A](https://lua2.fatality.win/api/instances/draw/types/color#a) * [GetR](https://lua2.fatality.win/api/instances/draw/types/color#get-r) * [GetG](https://lua2.fatality.win/api/instances/draw/types/color#get-g) * [GetB](https://lua2.fatality.win/api/instances/draw/types/color#get-b) * [GetA](https://lua2.fatality.win/api/instances/draw/types/color#get-a) * [H](https://lua2.fatality.win/api/instances/draw/types/color#h) * [S](https://lua2.fatality.win/api/instances/draw/types/color#s) * [V](https://lua2.fatality.win/api/instances/draw/types/color#v) * [HSV](https://lua2.fatality.win/api/instances/draw/types/color#hsv) Copy local white = draw.Color(255, 255, 255); Copy local white = draw.color.White(); Copy local white_t = draw.color.WhiteTransparent(); Copy local black = draw.color.Black(); Copy local black_t = draw.color.BlackTransparent(); Copy local yellow = draw.color.Percent(0.5); Copy local gray = draw.color.Gray(0.5); Copy local a = draw.color.White(); local b = draw.color.Black(); local i = draw.color.Interpolate(a, b, 0.5); -- gray Copy local num = col:RGBA(); Copy local num = col:argb(); Copy local num = col:BGRA(); Copy local num = col:ABGR(); Copy local darker = col:Darken(0.5); Copy local saturated = col:Lighten(0.5); Copy local half_opacity = col:ModA(0.5); Copy local full_red = col:R(1); Copy local full_green = col:G(1); Copy local full_blue = col:B(1); Copy local full_opacity = col:A(1); Copy local r = col:GetR(); Copy local g = col:GetG(); Copy local b = col:GetB(); Copy local a = col:GetA(); Copy local hue = col:H(); Copy local saturation = col:S(); Copy local brightness = col:V(); Copy local new_col = col:HSV(250, 0.5, 0.1); --- # PlayerInfoCallbackData | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/playerinfocallbackdata.md) . Encapsulates all of the player ESP interface, allowing for user modifications. [](https://lua2.fatality.win/api/types/playerinfocallbackdata#command-number) entry ---------------------------------------------------------------------------------------- `**Field**``**Read only**` Type: [`EntityEntry_t`](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t) Player entry, same as when iterating through entities via [`EntityList_t:ForEach`](https://lua2.fatality.win/api/instances/entities/entitylist_t#for-each) . You can check if you're rendering on the ESP preview by accessing the `isPreview` field in [`PlayerEntryVisualsData`](https://lua2.fatality.win/api/types/playerentryvisualdata) . Copy events.playerInfoPre:Add(function(data) if data.entry.visuals.isPreview then ... end end) * * * [](https://lua2.fatality.win/api/types/playerinfocallbackdata#command-number-1) layer ------------------------------------------------------------------------------------------ `**Field**` Type: [Layer](https://lua2.fatality.win/api/instances/draw/layer) ESP rendering layer, in case you wanna draw custom elements. * * * [](https://lua2.fatality.win/api/types/playerinfocallbackdata#get-button) AddText -------------------------------------------------------------------------------------- `**Method**` Adds a new ESP label. **Arguments** Name Type Description `position` `EspItemPos` The anchor point `color` [`Color`](https://lua2.fatality.win/api/instances/draw/types/color) The text color `text` `string` The label `useAltFont` `boolean?` Whether or not to use the alternative font, defaults to `false` . **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/types/playerinfocallbackdata#get-button-1) AddIcon ---------------------------------------------------------------------------------------- `**Method**` Adds a new ESP icon/texture. **Arguments** Name Type Description `position` `EspItemPos` The anchor point `color` [`Color`](https://lua2.fatality.win/api/instances/draw/types/color) The icon color `texture` [`Texture`](https://lua2.fatality.win/api/instances/draw/managed/texture) The texture `offset` [`Vec2`](https://lua2.fatality.win/api/instances/draw/types/vec2) `?` The rendering offset, in pixels from the top left corner. Defaults to `nil`. `height` `number?` The height override, doesn't scale the texture. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/types/playerinfocallbackdata#get-button-2) AddBar --------------------------------------------------------------------------------------- `**Method**` Adds a new ESP bar. **Arguments** Name Type Description `position` `EspItemPos` The anchor point `mainColor` [`Color`](https://lua2.fatality.win/api/instances/draw/types/color) The first color `secondaryColor` [`Color`](https://lua2.fatality.win/api/instances/draw/types/color) The second color `fraction` `number` The fill fraction, from 0 to 1. `value` `number?` The display value, defaults to `nil` . `glowColor` [`Color`](https://lua2.fatality.win/api/instances/draw/types/color) `?` The glow color, defaults to `nil` . **Returns** Nothing. **Example** [PreviousGameEvent\_t](https://lua2.fatality.win/api/types/gameevent_t) [NextEspItemPos](https://lua2.fatality.win/api/types/playerinfocallbackdata/espitempos) Last updated 3 months ago * [entry](https://lua2.fatality.win/api/types/playerinfocallbackdata#command-number) * [layer](https://lua2.fatality.win/api/types/playerinfocallbackdata#command-number-1) * [AddText](https://lua2.fatality.win/api/types/playerinfocallbackdata#get-button) * [AddIcon](https://lua2.fatality.win/api/types/playerinfocallbackdata#get-button-1) * [AddBar](https://lua2.fatality.win/api/types/playerinfocallbackdata#get-button-2) Copy events.playerInfoPre:Add(function(data) data:AddText(EspItemPos.TOP, draw.Color.White(), 'ESP Text') end) Copy local scope_texture = draw.SvgTexture([[]], 30) do scope_texture:Create() end events.playerInfoPre:Add(function(data) data:AddIcon(EspItemPos.RIGHT, draw.Color.White(), scope_texture) end) Copy events.playerInfoPre:Add(function(data) data:AddBar(EspItemPos.BOTTOM, draw.Color.White(), draw.Color.White(), 0.5) end) --- # C_BaseEntity | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity.md) . This type represents a base game entity. #### [](https://lua2.fatality.win/api/instances/entities/c_baseentity#undefined) This type may be returned for any other abstract entity class, but internally will point to the correct type. [](https://lua2.fatality.win/api/instances/entities/c_baseentity#index) \_\_index --------------------------------------------------------------------------------------- `**Function**` Attemps to search for a field in this class. **Arguments** Name Type Description `name` `string` Field name. **Returns** Type Description [`SchemaAccessor_t`](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t) Accessor instance or pointer accessor instance **Example** Copy local health = player.m_iHealth; local health = player['m_iHealth']; -- this also works * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-class-name) GetClassName -------------------------------------------------------------------------------------------------- `**Function**` Returns schema class name. **Returns** Type Description `string` Name. Returns `nil` when failed. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-class-name-1) GetHandle ------------------------------------------------------------------------------------------------- `**Function**` Returns handle for this entity. **Returns** Type Description [`CHandle`](https://lua2.fatality.win/api/instances/entities/chandle) Entity handle **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-class-name-2) GetPointer -------------------------------------------------------------------------------------------------- `**Function**` Returns a memory address for this entity, useful with FFI. **Returns** Type Description `userdata` Entity pointer **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#toweaponbasegun) ToWeaponBaseGun ------------------------------------------------------------------------------------------------------ `**Function**` Safe-casts the entity to [`C_CSWeaponBaseGun`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) , returns nil if not a [`C_CSWeaponBaseGun`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) . **Returns** Type Description [`C_CSWeaponBaseGun`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) `?` Casted entity. Returns `nil` if the cast failed. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#toweaponbase) ToWeaponBase ------------------------------------------------------------------------------------------------ `**Function**` Safe-casts the entity to [`C_CSWeaponBase`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase) , returns nil if not a [`C_CSWeaponBase`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase) . **Returns** Type Description [`C_CSWeaponBase`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbase) ? Casted entity. Returns `nil` if the cast failed. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#toplayerpawn) ToPlayerPawn ------------------------------------------------------------------------------------------------ `**Function**` Safe-casts the entity to [`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) , returns nil if not a [`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) . **Returns** Type Description [`C_CSPlayerPawn`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn) `?` Casted entity. Returns `nil` if the cast failed. Example * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#toplayercontroller) ToPlayerController ------------------------------------------------------------------------------------------------------------ `**Function**` Safe-casts the entity to [`C_CSPlayerController`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller) , returns nil if not a [`C_CSPlayerController`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller) . **Returns** Type Description [`C_CSPlayerController`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller) ? Casted entity. Returns `nil` if the cast failed. Example * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-abs-origin) GetAbsOrigin -------------------------------------------------------------------------------------------------- **Method** Returns the absolute origin (the one that is used for rendering). **Arguments** None. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) Origin. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-abs-angles) GetAbsAngles -------------------------------------------------------------------------------------------------- **Method** Returns the absolute angles (the one that is used for rendering). **Arguments** None. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) Angles. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-abs-velocity) GetAbsVelocity ------------------------------------------------------------------------------------------------------ `**Method**` Returns the absolute velocity. **Arguments** None. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) Velocity. Example * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#setabsorigin) SetAbsOrigin ------------------------------------------------------------------------------------------------ **Method** Sets the new absolute origin. **Arguments** Name Type Description `vec` [`Vector`](https://lua2.fatality.win/api/types/vector) New origin. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#set-abs-angles) SetAbsAngles -------------------------------------------------------------------------------------------------- **Method** Sets new absolute angles. **Arguments** Name Type Description `ang` [`Vector`](https://lua2.fatality.win/api/types/vector) New angles. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity#set-abs-velocity) SetAbsVelocity ------------------------------------------------------------------------------------------------------ `**Method**` Sets new absolute velocity. **Arguments** Name Type Description `vel` [`Vector`](https://lua2.fatality.win/api/types/vector) New velocity. **Returns** Nothing. **Example** [PreviousEntityEntry\_t](https://lua2.fatality.win/api/instances/entities/entitylist_t/entityentry_t) [NextSchemaAccessor\_t](https://lua2.fatality.win/api/instances/entities/c_baseentity/schemaaccessor_t) Last updated 1 month ago * [\_\_index](https://lua2.fatality.win/api/instances/entities/c_baseentity#index)  * [GetClassName](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-class-name) * [GetHandle](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-class-name-1) * [GetPointer](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-class-name-2) * [ToWeaponBaseGun](https://lua2.fatality.win/api/instances/entities/c_baseentity#toweaponbasegun) * [ToWeaponBase](https://lua2.fatality.win/api/instances/entities/c_baseentity#toweaponbase) * [ToPlayerPawn](https://lua2.fatality.win/api/instances/entities/c_baseentity#toplayerpawn) * [ToPlayerController](https://lua2.fatality.win/api/instances/entities/c_baseentity#toplayercontroller) * [GetAbsOrigin](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-abs-origin) * [GetAbsAngles](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-abs-angles) * [GetAbsVelocity](https://lua2.fatality.win/api/instances/entities/c_baseentity#get-abs-velocity) * [SetAbsOrigin](https://lua2.fatality.win/api/instances/entities/c_baseentity#setabsorigin) * [SetAbsAngles](https://lua2.fatality.win/api/instances/entities/c_baseentity#set-abs-angles) * [SetAbsVelocity](https://lua2.fatality.win/api/instances/entities/c_baseentity#set-abs-velocity) Copy local name = entity:GetClassName() Copy local name = entity:GetHandle() Copy local name = entity:GetPointer() Copy local gun = entity:ToWeaponBaseGun() Copy local wpn = entity:ToWeaponBase() Copy local pawn = entity:ToPlayerPawn() Copy local controller = entity:ToPlayerController() Copy local org = entity:GetAbsOrigin(); Copy local ang = entity:GetAbsAngles(); Copy local vel = entity:GetAbsVelocity(); Copy entity:SetAbsOrigin(my_vec); Copy entity:SetAbsAngles(my_ang); Copy entity:SetAbsVelocity(my_vel); --- # C_CSPlayerPawn | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn.md) . This type represents a `C_CSPlayerPawn` class. This type inherits [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#should-draw) ShouldDraw ------------------------------------------------------------------------------------------------------------ **Method** Returns `true` if the game will draw this player on screen. **Arguments** None. **Returns** Type Description `bool` `true` if will. **Example** Copy if player:ShouldDraw() then -- ... end * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#islefthanded) IsLeftHanded --------------------------------------------------------------------------------------------------------------- **Method** Returns `true` if left-hand mode is enabled. **Arguments** None. **Returns** Type Description `bool` `true` if left-handed. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#is-alive) IsAlive ------------------------------------------------------------------------------------------------------ **Method** Returns `true` if the player is alive. **Arguments** None. **Returns** Type Description `bool` `true` if alive. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#is-enemy) IsEnemy ------------------------------------------------------------------------------------------------------ **Method** Returns `true` if this player is an enemy to the local player. **Arguments** None. **Returns** Type Description `bool` `true` if an enemy. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#is-enemy-to) IsEnemyTo ----------------------------------------------------------------------------------------------------------- **Method** Returns whether this player is an enemy to another entity. **Arguments** Name Type Description `ent` [`C_BaseEntity`](https://lua2.fatality.win/api/instances/entities/c_baseentity) Other entity. **Returns** Type Description `bool` `true` if an enemy. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-active-weapon) GetActiveWeapon ----------------------------------------------------------------------------------------------------------------------- **Method** Returns the active weapon. **Arguments** None. **Returns** Type Description [`C_CSWeaponBaseGun`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) Weapon instance. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-active-weapon-1) GetWeapons -------------------------------------------------------------------------------------------------------------------- **Method** Returns all weapons in this player's inventory. **Arguments** None. **Returns** Type Description `table<`[`CHandle`](https://lua2.fatality.win/api/instances/entities/chandle) `<`[`C_CSWeaponBaseGun`](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) `>>` Weapon list **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-name) GetName ------------------------------------------------------------------------------------------------------ **Method** Returns the sanitized player name. **Arguments** None. **Returns** Type Description `string` Player's name. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#getviewoffset) GetViewOffset ----------------------------------------------------------------------------------------------------------------- **Method** Returns the player's view offset (eye location relative to the player's origin). **Arguments** None. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) View offset. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-eye-pos) GetEyePos ----------------------------------------------------------------------------------------------------------- **Method** Returns the player's eye position. **Arguments** None. **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) Eye position. **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-eye-pos-1) GetHitbox ------------------------------------------------------------------------------------------------------------- **Method** Returns hitbox information for a specific hitbox. Not to be confused with `GetHitboxCenter`. **Arguments** Name Type Description `index` [`EHitBox`](https://lua2.fatality.win/api/instances/entities/ehitbox) The hitbox ID **Returns** Type Description [`CHitboxInfo`](https://lua2.fatality.win/api/instances/entities/chitboxinfo) Hitbox info **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-eye-pos-2) GetHitboxCenter ------------------------------------------------------------------------------------------------------------------- **Method** Returns hitbox position for a specific hitbox. **Arguments** Name Type Description `index` [`EHitBox`](https://lua2.fatality.win/api/instances/entities/ehitbox) The hitbox ID **Returns** Type Description [`Vector`](https://lua2.fatality.win/api/types/vector) The position **Example** * * * [](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-name-1) GetBoundingBox --------------------------------------------------------------------------------------------------------------- **Method** Returns the bounding box rectangle for this player. Returns `nil` if the player is not on screen. If you wish to add new items to the built-in visuals, look at the `playerInfo` callback. **Arguments** None. **Returns** Type Description [`Rect`](https://lua2.fatality.win/api/instances/draw/types/rect) Player's bounding box, `nil` if invalid. **Example** [PreviousC\_CSWeaponBaseGun](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csweaponbasegun) [NextC\_CSPlayerController](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayercontroller) Last updated 1 month ago * [ShouldDraw](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#should-draw) * [IsLeftHanded](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#islefthanded) * [IsAlive](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#is-alive) * [IsEnemy](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#is-enemy) * [IsEnemyTo](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#is-enemy-to) * [GetActiveWeapon](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-active-weapon) * [GetWeapons](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-active-weapon-1) * [GetName](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-name) * [GetViewOffset](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#getviewoffset) * [GetEyePos](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-eye-pos) * [GetHitbox](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-eye-pos-1) * [GetHitboxCenter](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-eye-pos-2) * [GetBoundingBox](https://lua2.fatality.win/api/instances/entities/c_baseentity/c_csplayerpawn#get-name-1) Copy if player:IsLeftHanded() then -- ... end Copy if player:IsAlive() then -- ... end Copy if player:IsEnemy() then -- ... end Copy if player:IsEnemyTo(other_player) then -- ... end Copy local wep = player:GetActiveWeapon(); Copy local weapons = player:GetWeapons() for _, handle in ipairs(weapons) do local weapon = handle:Get() if weapon ~= nil then print(weapon:GetDefIndex()) end end Copy local name = player:GetName(); Copy local vo = player:GetViewOffset(); Copy local eyes = player:GetEyePos(); Copy local hbox_info = player:GetHitbox(EHitBox.HEAD); Copy local pelvis = player:GetHitboxCenter(EHitBox.PELVIS); Copy local bbox = player:GetBoundingBox(); --- # Vector | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/types/vector.md) . This type is a common 3D vector (x, y, z). This type supports operations, such as `+`, `-`, `/`, `*` and `==` [](https://lua2.fatality.win/api/types/vector#x) x -------------------------------------------------------- **Field** Type: `float` X coordinate. [](https://lua2.fatality.win/api/types/vector#y) y -------------------------------------------------------- **Field** Type: `float` Y coordinate. [](https://lua2.fatality.win/api/types/vector#z) z -------------------------------------------------------- **Field** Type: `float` Z coordinate. * * * [](https://lua2.fatality.win/api/types/vector#call) \_\_call ------------------------------------------------------------------ **Constructor** Constructs a vector. **Arguments** _1\. Default vector (0, 0, 0)._ None. _2\. Single value._ Name Type Description `value` `float` X and Y coordinates. _3\. XYZ values._ Name Type Description `x` `float` X coordinate. `y` `float` Y coordinate. `z` `float` Z coordinate. **Returns** Type Description `Vector` Vector. **Example** * * * [](https://lua2.fatality.win/api/types/vector#is-zero) IsZero ------------------------------------------------------------------ **Method** Returns `true` if this vector is within tolerance range. **Arguments** Name Type Description `tolerance` `float` Max allowed tolerance. Defaults to `0.01`. **Returns** Type Description `bool` `true` if ranges between `-tolerance` and `tolerance`. **Example** * * * [](https://lua2.fatality.win/api/types/vector#length-2d-sqr) Clone ----------------------------------------------------------------------- **Method** Returns a new copy of this vector. **Arguments** None. **Returns** Type Description `Vector` The copied vector **Example** * * * [](https://lua2.fatality.win/api/types/vector#dist) Dist -------------------------------------------------------------- **Method** Returns distance to another vector. **Arguments** Name Type Description `other` `Vector` Vector to calculate distance against. **Returns** Type Description `float` Distance to other vector. **Example** * * * [](https://lua2.fatality.win/api/types/vector#dist-sqr) DistSqr -------------------------------------------------------------------- **Method** Returns squared distance to another vector. This method is de-facto faster than the non-squared variant. Use it, if you need extra performance. **Arguments** Name Type Description `other` `Vector` Vector to calculate distance against. **Returns** Type Description `float` Squared distance to other vector. **Example** * * * [](https://lua2.fatality.win/api/types/vector#dist-2d) Dist2d ------------------------------------------------------------------ **Method** Returns 2D (only `x` and `y` values) distance to another vector. **Arguments** Name Type Description `other` `Vector` Vector to calculate distance against. **Returns** Type Description `float` Distance to other vector. **Example** * * * [](https://lua2.fatality.win/api/types/vector#dist-2d-sqr) Dist2dSqr ------------------------------------------------------------------------- **Method** Returns squared 2D (only `x` and `y` values) distance to another vector. This method is de-facto faster than the non-squared variant. Use it, if you need extra performance. **Arguments** Name Type Description `other` `Vector` Vector to calculate distance against. **Returns** Type Description `float` Squared distance to other vector. **Example** * * * [](https://lua2.fatality.win/api/types/vector#cross) Cross ---------------------------------------------------------------- **Method** Returns a cross product to another vector. **Arguments** Name Type Description `other` `Vector` Vector to calculate cross product against. **Returns** Type Description `Vector` Cross product. **Example** * * * [](https://lua2.fatality.win/api/types/vector#is-valid) IsValid -------------------------------------------------------------------- **Method** Returns `true` if all values in this vector are finite. **Arguments** None. **Returns** Type Description `bool` `true` if values are finite. **Example** * * * [](https://lua2.fatality.win/api/types/vector#length) Length ----------------------------------------------------------------- **Method** Returns length of this vector. **Arguments** None. **Returns** Type Description `float` Length of this vector. **Example** * * * [](https://lua2.fatality.win/api/types/vector#length-sqr) LengthSqr ------------------------------------------------------------------------ **Method** Returns squared length of this vector. This method is de-facto faster than the non-squared variant. Use it, if you need extra performance. **Arguments** None. **Returns** Type Description `float` Length of this vector. **Example** * * * [](https://lua2.fatality.win/api/types/vector#length2d) Length2d --------------------------------------------------------------------- **Method** Returns 2D length of this vector. **Arguments** None. **Returns** Type Description `float` Length of this vector. **Example** * * * [](https://lua2.fatality.win/api/types/vector#length2dsqr) Length2dSqr --------------------------------------------------------------------------- **Method** Returns squared 2D length of this vector. This method is de-facto faster than the non-squared variant. Use it, if you need extra performance. **Arguments** None. **Returns** Type Description `float` Length of this vector. **Example** * * * [](https://lua2.fatality.win/api/types/vector#dot) Dot ----------------------------------------------------------- **Method** Returns dot product of 2 vectors. **Arguments** Name Type Description `other` `Vector` Vector to calculate dot product against. **Returns** Type Description `float` Dot product. **Example** * * * [](https://lua2.fatality.win/api/types/vector#length-2d-sqr-1) GetForward ------------------------------------------------------------------------------ **Method** Returns the direction/forward vector of an angle. **Arguments** None. **Returns** Type Description `Vector` The forward vector **Example** * * * [](https://lua2.fatality.win/api/types/vector#length-2d-sqr-2) AngleVectors -------------------------------------------------------------------------------- **Method** Returns the forward, right and up vectors of an angle. **Arguments** None. **Returns** Type Description `Vector` The forward vector `Vector` The right vector `Vector` The up vector **Example** * * * [](https://lua2.fatality.win/api/types/vector#length-2d-sqr-3) VectorAngles -------------------------------------------------------------------------------- **Method** Returns the angle of a vector. **Arguments** None. **Returns** Type Description `Vector` The angles **Example** * * * [](https://lua2.fatality.win/api/types/vector#length-2d-sqr-4) Normalize ----------------------------------------------------------------------------- **Method** Normalizes this vector, turning it into an unit/direction vector. **Arguments** None. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/types/vector#length-2d-sqr-5) Normalized ------------------------------------------------------------------------------ **Method** Returns a normalized version of this vector, turning it into an unit/direction vector. **Arguments** None. **Returns** Type Description `Vector` The normalized vector **Example** [PreviousRefHolder\_t](https://lua2.fatality.win/api/types/refholder_t) [NextVector4D](https://lua2.fatality.win/api/types/vector4d) Last updated 3 months ago * [x](https://lua2.fatality.win/api/types/vector#x)  * [y](https://lua2.fatality.win/api/types/vector#y)  * [z](https://lua2.fatality.win/api/types/vector#z)  * [\_\_call](https://lua2.fatality.win/api/types/vector#call)  * [IsZero](https://lua2.fatality.win/api/types/vector#is-zero) * [Clone](https://lua2.fatality.win/api/types/vector#length-2d-sqr) * [Dist](https://lua2.fatality.win/api/types/vector#dist)  * [DistSqr](https://lua2.fatality.win/api/types/vector#dist-sqr) * [Dist2d](https://lua2.fatality.win/api/types/vector#dist-2d) * [Dist2dSqr](https://lua2.fatality.win/api/types/vector#dist-2d-sqr) * [Cross](https://lua2.fatality.win/api/types/vector#cross)  * [IsValid](https://lua2.fatality.win/api/types/vector#is-valid) * [Length](https://lua2.fatality.win/api/types/vector#length) * [LengthSqr](https://lua2.fatality.win/api/types/vector#length-sqr) * [Length2d](https://lua2.fatality.win/api/types/vector#length2d) * [Length2dSqr](https://lua2.fatality.win/api/types/vector#length2dsqr) * [Dot](https://lua2.fatality.win/api/types/vector#dot) * [GetForward](https://lua2.fatality.win/api/types/vector#length-2d-sqr-1) * [AngleVectors](https://lua2.fatality.win/api/types/vector#length-2d-sqr-2) * [VectorAngles](https://lua2.fatality.win/api/types/vector#length-2d-sqr-3) * [Normalize](https://lua2.fatality.win/api/types/vector#length-2d-sqr-4) * [Normalized](https://lua2.fatality.win/api/types/vector#length-2d-sqr-5) Copy local vec = Vector(5, 25, 12); Copy local vec = Vector(0, 0.1, 0.5); print(tostring(vec:IsZero(1))); -- will print 'true', because every value fits in the range of -1 and 1 Copy local a = Vector(1, 2, 3) local b = a:Clone() a.x = 0 b.x = 3 -- Changing B does not affect A print(a.x, b.x) -- Prints 0 3 Copy local vec1 = Vector(0, 0, 0); local vec2 = Vector(1, 1, 5); print(tostring(vec1:Dist(vec2))); Copy local vec1 = Vector(0, 0, 0); local vec2 = Vector(1, 1, 5); print(tostring(vec1:DistSqr(vec2))); Copy local vec1 = Vector(0, 0, 0); local vec2 = Vector(1, 1, 5); print(tostring(vec1:Dist2d(vec2))); Copy local vec1 = Vector(0, 0, 0); local vec2 = Vector(1, 1, 5); print(tostring(vec1:Dist2dSqr(vec2))); Copy local vec1 = Vector(0, 0, 0); local vec2 = Vector(1, 1, 5); local cross = vec1:Cross(vec2); Copy local vec = Vector(5, 1, 6); if vec:IsValid() then -- ... end Copy local vec = Vector(5, 1, 6); local length = vec:Length(); Copy local vec = Vector(5, 1, 6); local length = vec:LengthSqr(); Copy local vec = Vector(5, 1, 6); local length = vec:Length2d(); Copy local vec = Vector(5, 1, 6); local length = vec:Length2dSqr(); Copy local vec1 = Vector(0, 0, 0); local vec2 = Vector(1, 1, 5); local dot = vec1:Dot(vec2); Copy local view_angles = game.input:GetViewAngles() local forward = view_angles:GetForward() Copy local view_angles = game.input:GetViewAngles() local forward, right, up = view_angles:AngleVectors() Copy local velocity = entities.GetLocalPawn():GetAbsVelocity() local direction = velocity:VectorAngles() Copy local movement_dir = entities.GetLocalPawn():GetAbsVelocity() movement_dir:Normalize() Copy local movement_dir = entities.GetLocalPawn():GetAbsVelocity():Normalized() --- # ValueParam | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/control/valueparam.md) . This type represents a value data used by some control types. Note, that this part: `` is used to designate what exact type the instance of this type is holding. For example, when it says `ValueParam`, it means that `Get` will return a `bool` value, and `Set` will accept only the type `bool` as it's `val` parameter. [](https://lua2.fatality.win/api/instances/gui/control/valueparam#get) Get ------------------------------------------------------------------------------- **Method** Returns the value. **Arguments** None. **Returns** Type Description `` Value. Example Copy ctrl:GetValue():Get(); [](https://lua2.fatality.win/api/instances/gui/control/valueparam#get-1) GetDirect --------------------------------------------------------------------------------------- **Method** Returns the value disrgarding any active keybinds. **Arguments** None. **Returns** Type Description `` Value. Example [](https://lua2.fatality.win/api/instances/gui/control/valueparam#set) Set ------------------------------------------------------------------------------- **Method** Sets the value. It is advised to use `SetValue` method of the control, if any. Arguments Name Type Description `val` `` Value. **Returns** Nothing. **Example** [](https://lua2.fatality.win/api/instances/gui/control/valueparam#get-hotkey-state) GetHotkeyState ------------------------------------------------------------------------------------------------------- **Method** Returns `true` if there's any active hotkeys. **Arguments** None. **Returns** Type Description `bool` `true` if any hotkey is active. **Example** [](https://lua2.fatality.win/api/instances/gui/control/valueparam#disable-hotkeys) DisableHotkeys ------------------------------------------------------------------------------------------------------ **Method** Disables all active hotkeys. This allows you to override the value. **Arguments** None. **Returns** Nothing. **Example** [PreviousControlType](https://lua2.fatality.win/api/instances/gui/control/controltype) [NextCheckbox](https://lua2.fatality.win/api/instances/gui/control/checkbox) Last updated 3 months ago * [Get](https://lua2.fatality.win/api/instances/gui/control/valueparam#get) * [GetDirect](https://lua2.fatality.win/api/instances/gui/control/valueparam#get-1) * [Set](https://lua2.fatality.win/api/instances/gui/control/valueparam#set) * [GetHotkeyState](https://lua2.fatality.win/api/instances/gui/control/valueparam#get-hotkey-state) * [DisableHotkeys](https://lua2.fatality.win/api/instances/gui/control/valueparam#disable-hotkeys) Copy ctrl:GetValue():GetDirect(); Copy ctrl:GetValue():Set(123); Copy if ctrl:GetValue():GetHotkeyState() then -- ... end Copy ctrl:GetValue():DisableHotkeys(); --- # Button | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/control/button.md) . This type represents a button control. This type inherits [`Control`](https://lua2.fatality.win/api/instances/gui/control) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/gui/control/button#call) \_\_call ---------------------------------------------------------------------------------- **Constructor** Constructs the button. **Arguments** Name Type Description `id` [`ControlID`](https://lua2.fatality.win/api/instances/gui/types/controlid) `|string` Control ID. `str` `string` Text string. **Returns** Type Description `Button` Button object. **Example** Copy local btn = gui.Button(id, 'Hello!'); * * * [](https://lua2.fatality.win/api/instances/gui/control/button#text) text ----------------------------------------------------------------------------- **Field** Type: `string` [PreviousSelectable](https://lua2.fatality.win/api/instances/gui/control/selectable) [NextColorPicker](https://lua2.fatality.win/api/instances/gui/control/colorpicker) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/gui/control/button#call)  * [text](https://lua2.fatality.win/api/instances/gui/control/button#text) --- # Selectable | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/control/selectable.md) . This type represents a selectable control. This type inherits [`Control`](https://lua2.fatality.win/api/instances/gui/control) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/gui/control/selectable#call) \_\_call -------------------------------------------------------------------------------------- **Constructor** Constructs the selectable. **Arguments** Name Type Description `id` [`ControlID`](https://lua2.fatality.win/api/instances/gui/types/controlid) `|string` Control ID. `str` `string` Text string. **Returns** Type Description `Selectable` Selectable object. **Example** Copy local sel = gui.Selectable(id, 'Hello!'); * * * [](https://lua2.fatality.win/api/instances/gui/control/selectable#text) text --------------------------------------------------------------------------------- **Field** Type: `string` [PreviousLabel](https://lua2.fatality.win/api/instances/gui/control/label) [NextButton](https://lua2.fatality.win/api/instances/gui/control/button) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/gui/control/selectable#call)  * [text](https://lua2.fatality.win/api/instances/gui/control/selectable#text) --- # Spacer | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/control/spacer.md) . This type represents a spacer control. This type inherits [`Control`](https://lua2.fatality.win/api/instances/gui/control) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/gui/control/spacer#call) \_\_call ---------------------------------------------------------------------------------- **Constructor** Constructs the spacer. **Arguments** Name Type Description `id` [`ControlID`](https://lua2.fatality.win/api/instances/gui/types/controlid) `|string` ID. `size` `number` Size, in pixels **Returns** Type Description `Spacer` Spacer instance. **Example** Copy local sp = gui.Spacer(id, 20); [PreviousColorPicker](https://lua2.fatality.win/api/instances/gui/control/colorpicker) [NextTextInput](https://lua2.fatality.win/api/instances/gui/control/textinput) Last updated 3 months ago --- # ControlType | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/control/controltype.md) . This enum determines the current control's type. You can only construct types that are listed below in the navigation, and only if those have a constructor. [](https://lua2.fatality.win/api/instances/gui/control/controltype#default) DEFAULT ---------------------------------------------------------------------------------------- **Field** Default control. You are very unlikely to ever stumble upon this type. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#button) BUTTON -------------------------------------------------------------------------------------- **Field** Button control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#checkbox) CHECKBOX ------------------------------------------------------------------------------------------ **Field** Checkbox control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#child-tab) CHILD\_TAB --------------------------------------------------------------------------------------------- **Field** Child tab control. Only possible to find within `tab_layout` controls. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#color-picker) COLOR\_PICKER --------------------------------------------------------------------------------------------------- **Field** Color picker control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#combo-box) COMBO\_BOX --------------------------------------------------------------------------------------------- **Field** Combo box control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#control-container) CONTROL\_CONTAINER ------------------------------------------------------------------------------------------------------------- **Field** Default control with a container. You are very unlikely to ever stumble upon this type. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#group) GROUP ------------------------------------------------------------------------------------ **Field** Groupbox control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#hotkey) HOTKEY -------------------------------------------------------------------------------------- **Field** Hotkey input control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#hsv-slider) HSV\_SLIDER ----------------------------------------------------------------------------------------------- **Field** HSB slider (Saturation/Brightness box, Hue slider and Opacity slider). * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#label) LABEL ------------------------------------------------------------------------------------ **Field** Label control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#layout) LAYOUT -------------------------------------------------------------------------------------- **Field** Layout control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#list) LIST ---------------------------------------------------------------------------------- **Field** Listbox control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#loading) LOADING ---------------------------------------------------------------------------------------- **Field** Loading spinner. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#notification-control) NOTIFICATION\_CONTROL ------------------------------------------------------------------------------------------------------------------- **Field** Notification item control. One of the types in the core UI framework, never actually used within Fatality. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#popup) POPUP ------------------------------------------------------------------------------------ **Field** Basic popup window. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#selectable) SELECTABLE ---------------------------------------------------------------------------------------------- **Field** Basic selectable item. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#slider) SLIDER -------------------------------------------------------------------------------------- **Field** Slider item. This type doesn't tell the internal value type used. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#spacer) SPACER -------------------------------------------------------------------------------------- **Field** Spacer control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#tab) TAB -------------------------------------------------------------------------------- **Field** Horizontal or vertical tab. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#tabs-layout) TABS\_LAYOUT ------------------------------------------------------------------------------------------------- **Field** A variant of `layout` that is used specifically to operate tabs. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#weapon-tabs-layout) WEAPON\_TABS\_LAYOUT ---------------------------------------------------------------------------------------------------------------- **Field** A variant of `layout` that is used specifically to operate weapon tabs. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#text-input) TEXT\_INPUT ----------------------------------------------------------------------------------------------- **Field** Text input control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#toggle-button) TOGGLE\_BUTTON ----------------------------------------------------------------------------------------------------- **Field** A variant of button that looks like button, but works like a checkbox. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#window) WINDOW -------------------------------------------------------------------------------------- **Field** Basic window control. * * * **Field** Basic widget control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#settings) SETTINGS ------------------------------------------------------------------------------------------ **Field** Settings control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#image) IMAGE ------------------------------------------------------------------------------------ **Field** Image control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#settings-1) LUA --------------------------------------------------------------------------------------- **Field** Lua control. * * * [](https://lua2.fatality.win/api/instances/gui/control/controltype#settings-2) LUA\_CONTAINER -------------------------------------------------------------------------------------------------- **Field** Lua container control. * * * [PreviousControl](https://lua2.fatality.win/api/instances/gui/control) [NextValueParam](https://lua2.fatality.win/api/instances/gui/control/valueparam) Last updated 3 months ago * [DEFAULT](https://lua2.fatality.win/api/instances/gui/control/controltype#default) * [BUTTON](https://lua2.fatality.win/api/instances/gui/control/controltype#button) * [CHECKBOX](https://lua2.fatality.win/api/instances/gui/control/controltype#checkbox) * [CHILD\_TAB](https://lua2.fatality.win/api/instances/gui/control/controltype#child-tab) * [COLOR\_PICKER](https://lua2.fatality.win/api/instances/gui/control/controltype#color-picker) * [COMBO\_BOX](https://lua2.fatality.win/api/instances/gui/control/controltype#combo-box) * [CONTROL\_CONTAINER](https://lua2.fatality.win/api/instances/gui/control/controltype#control-container) * [GROUP](https://lua2.fatality.win/api/instances/gui/control/controltype#group) * [HOTKEY](https://lua2.fatality.win/api/instances/gui/control/controltype#hotkey) * [HSV\_SLIDER](https://lua2.fatality.win/api/instances/gui/control/controltype#hsv-slider) * [LABEL](https://lua2.fatality.win/api/instances/gui/control/controltype#label) * [LAYOUT](https://lua2.fatality.win/api/instances/gui/control/controltype#layout) * [LIST](https://lua2.fatality.win/api/instances/gui/control/controltype#list) * [LOADING](https://lua2.fatality.win/api/instances/gui/control/controltype#loading) * [NOTIFICATION\_CONTROL](https://lua2.fatality.win/api/instances/gui/control/controltype#notification-control) * [POPUP](https://lua2.fatality.win/api/instances/gui/control/controltype#popup) * [SELECTABLE](https://lua2.fatality.win/api/instances/gui/control/controltype#selectable) * [SLIDER](https://lua2.fatality.win/api/instances/gui/control/controltype#slider) * [SPACER](https://lua2.fatality.win/api/instances/gui/control/controltype#spacer) * [TAB](https://lua2.fatality.win/api/instances/gui/control/controltype#tab) * [TABS\_LAYOUT](https://lua2.fatality.win/api/instances/gui/control/controltype#tabs-layout) * [WEAPON\_TABS\_LAYOUT](https://lua2.fatality.win/api/instances/gui/control/controltype#weapon-tabs-layout) * [TEXT\_INPUT](https://lua2.fatality.win/api/instances/gui/control/controltype#text-input) * [TOGGLE\_BUTTON](https://lua2.fatality.win/api/instances/gui/control/controltype#toggle-button) * [WINDOW](https://lua2.fatality.win/api/instances/gui/control/controltype#window) * [WIDGET](https://lua2.fatality.win/api/instances/gui/control/controltype#widget) * [SETTINGS](https://lua2.fatality.win/api/instances/gui/control/controltype#settings) * [IMAGE](https://lua2.fatality.win/api/instances/gui/control/controltype#image) * [LUA](https://lua2.fatality.win/api/instances/gui/control/controltype#settings-1) * [LUA\_CONTAINER](https://lua2.fatality.win/api/instances/gui/control/controltype#settings-2) --- # utils | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/utils.md) . Usage: `utils.{function}` This table exposes various utility functions. * * * [](https://lua2.fatality.win/api/instances/utils#base64-encode) Base64Encode --------------------------------------------------------------------------------- **Function** Encode a string to Base64 format. **Arguments** Name Type Description `str` `string` Source string. **Returns** Type Description `string` Base64-encoded string. **Example** Copy local enc = utils.Base64Encode('Hello!'); -- SGVsbG8h * * * [](https://lua2.fatality.win/api/instances/utils#base64-decode) Base64Decode --------------------------------------------------------------------------------- **Function** Decode Base64-encoded string. **Arguments** Name Type Description `str` `string` Base64-encoded string. **Returns** Type Description `string` Source string. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#get-unix-time) GetUnixTime -------------------------------------------------------------------------------- **Function** Returns current time as UNIX timestamp. **Arguments** None. **Returns** Type Description `int` Timestamp. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#get-unix-time-1) GetDate ------------------------------------------------------------------------------ **Function** Returns current system date and time. **Arguments** None. **Returns** Type Description `table` The date object. Fields are `year`, `month`, `day`, `hour`, `minute`, `second` and `daylightSavings` **Example** * * * [](https://lua2.fatality.win/api/instances/utils#murmur2) Murmur2 ---------------------------------------------------------------------- **Function** Returns MURMUR2-hashed string. **Arguments** Name Type Description `str` `string` Source string. **Returns** Type Description `int` Hash. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#fnv1a) Fnv1a ------------------------------------------------------------------ **Function** Returns FNV1A-hashed string. **Arguments** Name Type Description `str` `string` Source string. **Returns** Type Description `int` Hash. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#find-export) FindExport ----------------------------------------------------------------------------- **Function**Insecure only Returns an address to an export in an image. **Arguments** Name Type Description `mod` `string` Image to look in. `exp` `string` Export symbol. **Returns** Type Description `int` Address, or `0` on failure. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#find-pattern) FindPattern ------------------------------------------------------------------------------- **Function**Insecure only Searches for a code pattern in an image. **Arguments** Name Type Description `mod` `string` Image to search in. `pattern` `string` Code pattern. **Returns** Type Description `int` Address, or `0` on failure. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-get) ClipboardGet --------------------------------------------------------------------------------- **Function**Insecure only Returns current clipboard content. **Arguments** None. **Returns** Type Description `string` Clipboard content. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set) ClipboardSet --------------------------------------------------------------------------------- **Function**Insecure only Sets new clipboard content. **Arguments** Name Type Description `str` `string` New content. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-1) ArrayToString ------------------------------------------------------------------------------------ **Function** Converts an array of bytes into a string. **Arguments** Name Type Description `bytes` `table` Array of bytes **Returns** Type Description `string` The converted string **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-2) StringToArray ------------------------------------------------------------------------------------ **Function** Converts a string into an array of bytes (ASCII representation). **Arguments** Name Type Description `str` `string` Text to be converted **Returns** Type Description `table` The converted table **Example** * * * [](https://lua2.fatality.win/api/instances/utils#jsonencode) JsonEncode ---------------------------------------------------------------------------- **Function** Encodes a lua table into JSON. **Arguments** Name Type Description `obj` `table` Table to be converted **Returns** Type Description `string` The JSON-encoded string **Example** * * * [](https://lua2.fatality.win/api/instances/utils#jsondecode) JsonDecode ---------------------------------------------------------------------------- **Function** Decodes a JSON string into a Lua table, returns `nil` if invalid. **Arguments** Name Type Description `str` `string` The JSON string **Returns** Type Description `table?` The decoded JSON object, or `nil` if invalid **Example** * * * [](https://lua2.fatality.win/api/instances/utils#fileexists) FileExists ---------------------------------------------------------------------------- **Function**Insecure only Returns whether a file exists or not. It is relative to your `game/csgo` folder. **Arguments** Name Type Description `path` `string` Path to the file. **Returns** Type Description `boolean` Whether the file exists or not **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-3) FileRead ------------------------------------------------------------------------------- **Function**Insecure only Reads the contents of a file. It is relative to your `game/csgo` folder. **Arguments** Name Type Description `path` `string` Path to the file. **Returns** Type Description `table` Contents of the file, in bytes **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-4) FileWrite -------------------------------------------------------------------------------- **Function**Insecure only Writes any contents to a file. It is relative to your `game/csgo` folder. **Arguments** Name Type Description `path` `string` Path to the file. `contents` `table` Contents of the file, in bytes **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-5) FileRemove --------------------------------------------------------------------------------- **Function**Insecure only Removes a file. It is relative to your `game/csgo` folder. **Arguments** Name Type Description `path` `string` Path to the file. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-6) FileRename --------------------------------------------------------------------------------- **Function**Insecure only Renames a file, also allows to move files. It is relative to your `game/csgo` folder. **Arguments** Name Type Description `path` `string` Path to the file. `newPath` `string` Path to the new file. **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-7) FileEnumerate ------------------------------------------------------------------------------------ **Function**Insecure only Finds all files with a certain wildcard or name. It is relative to your `game/csgo` folder. **Arguments** Name Type Description `wildcard` `string` File name or wildcard **Returns** Type Description `table` All found files, if any. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-8) FileCreateDirectories -------------------------------------------------------------------------------------------- **Function**Insecure only Creates one or multiple directories. It is relative to your `game/csgo` folder. **Arguments** Name Type Description `path` `string` Path to the new directories **Returns** Nothing. **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-9) DbSave ----------------------------------------------------------------------------- **Function** Saves any data in a Lua table to a local database. This method internally converts data into JSON using the same logic as `JsonEncode` . **Arguments** Name Type Description `data` `table` The table containing desired data `path` `string` The path or identifier for this data **Returns** Type Description `boolean` `true` if successfully saved **Example** * * * [](https://lua2.fatality.win/api/instances/utils#clipboard-set-10) DbLoad ------------------------------------------------------------------------------ **Function** Loads any data from a local database. **Arguments** Name Type Description `path` `string` Path to the file. `default` `table` The default data if path is empty, defaults to `nil` . **Returns** Type Description `table?` The saved LUA table, `nil` if not found and no default value is passed **Example** [Previouspanorama](https://lua2.fatality.win/api/instances/panorama) [NextTypes](https://lua2.fatality.win/api/types) Last updated 3 months ago * [Base64Encode](https://lua2.fatality.win/api/instances/utils#base64-encode) * [Base64Decode](https://lua2.fatality.win/api/instances/utils#base64-decode) * [GetUnixTime](https://lua2.fatality.win/api/instances/utils#get-unix-time) * [GetDate](https://lua2.fatality.win/api/instances/utils#get-unix-time-1) * [Murmur2](https://lua2.fatality.win/api/instances/utils#murmur2) * [Fnv1a](https://lua2.fatality.win/api/instances/utils#fnv1a) * [FindExport](https://lua2.fatality.win/api/instances/utils#find-export) * [FindPattern](https://lua2.fatality.win/api/instances/utils#find-pattern) * [ClipboardGet](https://lua2.fatality.win/api/instances/utils#clipboard-get) * [ClipboardSet](https://lua2.fatality.win/api/instances/utils#clipboard-set) * [ArrayToString](https://lua2.fatality.win/api/instances/utils#clipboard-set-1) * [StringToArray](https://lua2.fatality.win/api/instances/utils#clipboard-set-2) * [JsonEncode](https://lua2.fatality.win/api/instances/utils#jsonencode) * [JsonDecode](https://lua2.fatality.win/api/instances/utils#jsondecode) * [FileExists](https://lua2.fatality.win/api/instances/utils#fileexists) * [FileRead](https://lua2.fatality.win/api/instances/utils#clipboard-set-3) * [FileWrite](https://lua2.fatality.win/api/instances/utils#clipboard-set-4) * [FileRemove](https://lua2.fatality.win/api/instances/utils#clipboard-set-5) * [FileRename](https://lua2.fatality.win/api/instances/utils#clipboard-set-6) * [FileEnumerate](https://lua2.fatality.win/api/instances/utils#clipboard-set-7) * [FileCreateDirectories](https://lua2.fatality.win/api/instances/utils#clipboard-set-8) * [DbSave](https://lua2.fatality.win/api/instances/utils#clipboard-set-9) * [DbLoad](https://lua2.fatality.win/api/instances/utils#clipboard-set-10) Copy local dec = utils.Base64Decode('SGVsbG8h'); -- Hello! Copy local ts = utils.GetUnixTime(); Copy local dnt = utils.GetDate(); print(dnt.hour, dnt.minute, dnt.second) Copy local hash = utils.murmur2('Hello'); Copy local hash = utils.Fnv1a('Hello'); Copy local message_box = utils.FindExport('user32.dll', 'MessageBoxA'); Copy local something = utils.FindPattern('engine2.dll', 'DE AD ? ? ? ? BE EF'); Copy local clip = utils.ClipboardGet(); Copy utils.ClipboardSet('Hello!'); Copy -- Prints 'Hello world' print(utils.ArrayToString({72, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100})) Copy -- Prints '72 105' for _, v in ipairs(utils.StringToArray('Hi')) do print(v) end Copy -- Prints '{"text": "abc"}' print(utils.JsonEncode({['text'] = 'abc'})) Copy local obj = utils.JsonDecode("[1.0, \"Hello\", false]") -- Prints '1 Hello false' print(obj[1], obj[2], obj[3]) Copy if utils.FileExists('fatality/my_config.txt') then print('My custom configuration exists') end Copy if utils.FileRead('file.txt') then local contents = utils.ArrayToString(utils.FileRead('file.txt')) print(contents) end Copy utils.FileWrite('file.txt', utils.StringToArray('Hello world')) Copy utils.FileRemove('oh-no.txt') Copy utils.FileRename('old.txt', 'new.txt') Copy local configs = utils.FileEnumerate('fatality/myscript/*.cfg') Copy utils.FileCreateDirectories('fatality/myscript') Copy if utils.DbSave({ my_text = 'hello!' }, 'my_data') then print('Successfully saved!') end Copy local my_data = utils.DbLoad('my_data') if my_data then for k, v in pairs(my_data) do print(k, v) end end --- # Label | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/control/label.md) . This type represents a label control. This type inherits [`Control`](https://lua2.fatality.win/api/instances/gui/control) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/gui/control/label#call) \_\_call --------------------------------------------------------------------------------- **Constructor** Constructs the label. **Arguments** Name Type Description `id` [`ControlID`](https://lua2.fatality.win/api/instances/gui/types/controlid) `|string` Control ID. `str` `string` Label string. `col` [`Color`](https://lua2.fatality.win/api/instances/draw/types/color) Label color. Defaults to `nil`. `bold` `bool` Whether to use bold font. Defaults to `false`. **Returns** Type Description `Label` Label object. **Example** Copy local lab = gui.Label(id, 'Hello!'); * * * [](https://lua2.fatality.win/api/instances/gui/control/label#call-1) text ------------------------------------------------------------------------------ **Field** Text for this label * * * ### [](https://lua2.fatality.win/api/instances/gui/control/label#set-text) SetText **Method** Sets the new text. **Arguments** Name Type Description `str` `string` New text. **Returns** Nothing. **Example** [PreviousSlider](https://lua2.fatality.win/api/instances/gui/control/slider) [NextSelectable](https://lua2.fatality.win/api/instances/gui/control/selectable) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/gui/control/label#call)  * [text](https://lua2.fatality.win/api/instances/gui/control/label#call-1) * [SetText](https://lua2.fatality.win/api/instances/gui/control/label#set-text) Copy lab:SetText('New hello!'); --- # Checkbox | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/control/checkbox.md) . This type represents a checkbox control. This type inherits [`Control`](https://lua2.fatality.win/api/instances/gui/control) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/gui/control/checkbox#call) \_\_call ------------------------------------------------------------------------------------ **Constructor** Constructs the checkbox. **Arguments** Name Type Description `id` [`ControlID`](https://lua2.fatality.win/api/instances/gui/types/controlid) `|string` ID. **Returns** Type Description `Checkbox` Checkbox instance. **Example** Copy local cb = gui.Checkbox('my_id'); * * * [](https://lua2.fatality.win/api/instances/gui/control/checkbox#get-value) GetValue ---------------------------------------------------------------------------------------- **Method** Returns checkbox' value. **Arguments** None. **Returns** Type Description [`ValueParam`](https://lua2.fatality.win/api/instances/gui/control/valueparam) [``](https://lua2.fatality.win/api/instances/gui/control/valueparam) Value data. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/control/checkbox#get-value-1) Get ------------------------------------------------------------------------------------- **Method** Returns value directly. Alias for `GetValue():Get()` . **Arguments** None. **Returns** Type Description `boolean` Value. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/control/checkbox#set-value) SetValue ---------------------------------------------------------------------------------------- **Method** Sets checkbox' value. It is advised to use this method instead of [`ValueParam`](https://lua2.fatality.win/api/instances/gui/control/valueparam) 's [`Set`](https://lua2.fatality.win/api/instances/gui/control/valueparam#set) method. **Arguments** Name Type Description `val` `bool` New value. **Returns** Nothing. **Example** [PreviousValueParam](https://lua2.fatality.win/api/instances/gui/control/valueparam) [NextSlider](https://lua2.fatality.win/api/instances/gui/control/slider) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/gui/control/checkbox#call)  * [GetValue](https://lua2.fatality.win/api/instances/gui/control/checkbox#get-value) * [Get](https://lua2.fatality.win/api/instances/gui/control/checkbox#get-value-1) * [SetValue](https://lua2.fatality.win/api/instances/gui/control/checkbox#set-value) Copy local val = cb:GetValue():Get(); Copy local val = cb:GetValueRaw() Copy cb:SetValue(true); --- # TextInput | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/control/textinput.md) . This type represents a text input control. This type inherits [`Control`](https://lua2.fatality.win/api/instances/gui/control) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/gui/control/textinput#call) \_\_call ------------------------------------------------------------------------------------- **Constructor** Constructs the text input. **Arguments** Name Type Description `id` [`ControlID`](https://lua2.fatality.win/api/instances/gui/types/controlid) `|string` ID. **Returns** Type Description `TextInput` Text input instance. **Example** Copy local sp = gui.text_input(id); * * * [](https://lua2.fatality.win/api/instances/gui/control/textinput#placeholder) placeholder ----------------------------------------------------------------------------------------------- **Field** Type: `string` Placeholder text. * * * [](https://lua2.fatality.win/api/instances/gui/control/textinput#value) value ----------------------------------------------------------------------------------- **Field****Read only** Type: `string` Value. * * * [](https://lua2.fatality.win/api/instances/gui/control/textinput#set-value) SetValue ----------------------------------------------------------------------------------------- **Method** Sets the new text. **Arguments** Name Type Description `str` `string` New value. **Returns** Nothing. **Example** [PreviousSpacer](https://lua2.fatality.win/api/instances/gui/control/spacer) [NextComboBox](https://lua2.fatality.win/api/instances/gui/control/combobox) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/gui/control/textinput#call)  * [placeholder](https://lua2.fatality.win/api/instances/gui/control/textinput#placeholder)  * [value](https://lua2.fatality.win/api/instances/gui/control/textinput#value)  * [SetValue](https://lua2.fatality.win/api/instances/gui/control/textinput#set-value) Copy input:SetValue('Hello!'); --- # ColorPicker | Lua API For the complete documentation index, see [llms.txt](https://lua2.fatality.win/llms.txt) . This page is also available as [Markdown](https://lua2.fatality.win/api/instances/gui/control/colorpicker.md) . This type represents a color picker control. This type inherits [`Control`](https://lua2.fatality.win/api/instances/gui/control) type. All of its base methods and fields are also available in this type. [](https://lua2.fatality.win/api/instances/gui/control/colorpicker#call) \_\_call --------------------------------------------------------------------------------------- **Constructor** Constructs the color picker. **Arguments** Name Type Description `id` [`ControlID`](https://lua2.fatality.win/api/instances/gui/types/controlid) `|string` Control ID. `allow_alpha` `bool` Whether to enable alpha channel. Defaults to `true`. **Returns** Type Description `ColorPicker` Color picker object. **Example** Copy local picker = gui.ColorPicker(id); * * * ### [](https://lua2.fatality.win/api/instances/gui/control/colorpicker#get-value) GetValue **Method** Returns color picker' value. **Arguments** None. **Returns** Type Description [`ValueParam`](https://lua2.fatality.win/api/instances/gui/control/valueparam) [``](https://lua2.fatality.win/api/instances/gui/control/valueparam) Value data. **Example** * * * [](https://lua2.fatality.win/api/instances/gui/control/colorpicker#get-value-1) Get ---------------------------------------------------------------------------------------- **Method** Returns value directly. Alias for `GetValue():Get()` . **Arguments** None. **Returns** Type Description [`Color`](https://lua2.fatality.win/api/instances/draw/types/color) Value. **Example** [PreviousButton](https://lua2.fatality.win/api/instances/gui/control/button) [NextSpacer](https://lua2.fatality.win/api/instances/gui/control/spacer) Last updated 3 months ago * [\_\_call](https://lua2.fatality.win/api/instances/gui/control/colorpicker#call)  * [GetValue](https://lua2.fatality.win/api/instances/gui/control/colorpicker#get-value) * [Get](https://lua2.fatality.win/api/instances/gui/control/colorpicker#get-value-1) Copy local val = picker:GetValue():Get(); Copy local val = color_picker:Get() ---