{"id":16985492,"url":"https://github.com/zausera/onetap-v3-js","last_synced_at":"2025-10-30T03:40:57.662Z","repository":{"id":133143096,"uuid":"304276923","full_name":"ZaUserA/OneTap-v3-Js","owner":"ZaUserA","description":null,"archived":false,"fork":false,"pushed_at":"2020-11-11T11:41:12.000Z","size":49,"stargazers_count":16,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-26T19:34:13.999Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZaUserA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-15T09:34:32.000Z","updated_at":"2024-09-29T00:48:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"dfc86f21-db90-424e-b672-0c0e2ac3f312","html_url":"https://github.com/ZaUserA/OneTap-v3-Js","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZaUserA%2FOneTap-v3-Js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZaUserA%2FOneTap-v3-Js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZaUserA%2FOneTap-v3-Js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZaUserA%2FOneTap-v3-Js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZaUserA","download_url":"https://codeload.github.com/ZaUserA/OneTap-v3-Js/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244891830,"owners_count":20527329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T02:43:35.763Z","updated_at":"2025-10-30T03:40:57.585Z","avatar_url":"https://github.com/ZaUserA.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# OneTap-v3-Js\n\nOneTap v3 API. vaultcore \u003e ALL\n\n\u003ca name=\"-1\"\u003e\u003c/a\u003e\n\n|Contents|\n|--------|\n|[Globals](#0)|\n|[UI](#1)|\n|[Entity](#2)|\n|[Render](#3)|\n|[Convar](#4)|\n|[Event](#5)|\n|[Trace](#6)|\n|[User CMD](#7)|\n|[Sound](#8)|\n|[Local](#9)|\n|[Cheat](#q)|\n|[Input](#w)|\n|[World](#e)|\n|[AntiAim](#r)|\n|[Exploit](#a)|\n|[RageBot](#s)|\n|[Material](#d)|\n\n---\n\n## \u003ca name=\"0\"\u003e\u003c/a\u003eGlobals\n|-------------------------------|\n\n**IN OT V3 CRACK NOT WORKS** [ **ChokedCommands** ]\nSyntax: Globals.ChokedCommands()  \n**Returns** amount of choked commands.\n```java\nfunction choked_commands()\n{\n    var choked = Globals.ChokedCommands();\n    Cheat.Print(choked+'\\n');\n\n}\nCheat.RegisterCallback(\"CreateMove\", \"choked_commands\")\n```\n\n[ **REALTIME** ]\nSyntax: Globals.Realtime()  \n**Returns** time in seconds since CS:GO was started.\n```java\nrealtime = Globals.Realtime();\n```\n\n[ **FRAMETIME** ]\nSyntax: Globals.Frametime()  \n**Returns** time in seconds it took to render the frame.\n```java\nframetime = Globals.Frametime();\n```\n\n[ **CURTIME** ]\nSyntax: Globals.Curtime()  \n**Returns** the game time in seconds.\n```java\nvar curTime = Globals.Curtime();\nCheat.Print(\"Current game time in seconds: \" + curTime);\n```\n[ **TICKINTERVAL** ]\nSyntax: Globals.TickInterval()  \n**Returns** the game time in seconds.\n```java\nvar tickInterval = Globals.TickInterval();\nCheat.Print(\"Tick interval: \" + tickInterval);\n```\n\n[ **TICKRATE** ]\nSyntax: Globals.Tickrate()  \n**Returns** server tick settings, usually 64 or 128.\n```java\nvar tickrate = Globals.Tickrate();\nCheat.Print(\"Server tickrate: \" + tickrate);\n```\n[ **TICKCOUNT** ]\nSyntax: Globals.Tickcount()  \n**Returns** amount of ticks elapsed on the server.\n```java\nvar tickcount = Globals.Tickcount();\nCheat.Print(\"Ticks elapsed on server: \" + tickcount);\n```\n\n[ **TICKCOUNT** ]\nSyntax: Globals.FrameStage()  \nUsed to get current frame stage\n\n**Returns**  \n0 = FRAME_START  \n1 = FRAME_NET_UPDATE_START  \n2 = FRAME_NET_UPDATE_POSTDATAUPDATE_START  \n3 = FRAME_NET_UPDATE_POSTDATAUPDATE_END  \n4 = FRAME_NET_UPDATE_END  \n5 = FRAME_RENDER_START  \n6 = FRAME_RENDER_END  \n\n```java\nvar current_stage = Globals.FrameStage();\nCheat.Print(current_stage);\n// Prints current stage.\n```\n\n[back to Contents](#-1)\n\n## \u003ca name=\"1\"\u003e\u003c/a\u003eUI\n|-------------------------------|\n\n  [ **ADDLABEL** ]\nstring text.\n```java\nUI.AddLabel(\"Test\");\n```\n\n  [ **TOGGLEHOTKEY** ]\nSyntax: UI.ToggleHotkey(...item)  \nCan be used to toggle a hotkey or simulate key press.  \n**Return Values:** 1 is key is active, 0 if the key is inactive  \n```java\nUI.ToggleHotkey(\"Rage\", \"GENERAL\", \"Exploits\", \"Doubletap\");\nfunction toggleDoubletap()\n{\n   \n    var isKeyActive = UI.IsHotkeyActive( \"Rage\", \"GENERAL\", \"Exploits\", \"Doubletap\" );\n    Cheat.Print( \"Key is: \" + isKeyActive + \"\\n\");\n   \n}\nGlobal.RegisterCallback(\"CreateMove\", \"toggleDoubletap\");\n```\n\n  [ **ADDTEXTBOX** ]\nSyntax: UI.AddTextbox(\"string\")  \nAdds a textbox in which you can input text and read it later on.  \n**Returns** an array of strings.  \n```java\nvar textbox;\n\nfunction test( ) {\n    var test = UI.GetString.apply( this, textbox );\n  \n    Cheat.Print( test + \"\\n\" );\n}\n\nfunction init( ) {\n    checkbox = UI.AddTextbox( \"Test\" );\n    Cheat.RegisterCallback( \"Draw\", \"test\" );\n}\n\ninit( );\n```\n\n  [ **SETCOLOR** ]\nSyntax: UI.SetColor(...item)  \nUsed to set precise RGBA color codes in color picker.  \n```java\nfunction HSVtoRGB(h, s, v) {\n    var r, g, b, i, f, p, q, t;\n    if (arguments.length === 1) {\n        s = h.s, v = h.v, h = h.h;\n    }\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n    switch (i % 6) {\n        case 0: r = v, g = t, b = p; break;\n        case 1: r = q, g = v, b = p; break;\n        case 2: r = p, g = v, b = t; break;\n        case 3: r = p, g = q, b = v; break;\n        case 4: r = t, g = p, b = v; break;\n        case 5: r = v, g = p, b = q; break;\n    }\n    return {\n        r: Math.round(r * 255),\n        g: Math.round(g * 255),\n        b: Math.round(b * 255)\n    };\n}\n\nfunction rainbowColors( )\n{\n    tickcount = Globals.Tickcount();\n    color = HSVtoRGB(tickcount % 350 / 350, 1, 1, 1, 255);\n    UI.SetColor(\"Visual\", \"ENEMIES\", \"ESP\", \"Glow\", [color.r, color.g, color.b, 255]);\n\n}\nCheat.RegisterCallback(\"Draw\", \"rainbowColors\");\n```\n\n\n  [ **ADDCOLORPICKER** ]\nSyntax: UI.AddColorPicker(string name)  \nAdds a color picker.  \n```java\ncolorpicker = UI.AddColorPicker(\"example\");\n```\n\n  [ **ADDMULTIDROPDOWN** ]\nSyntax: UI.AddMultiDropdown(name, items)  \nWill create a dropdown in which you can select more items under Misc - JAVASCRIPT - Script items.  \n```java\nUI.AddMultiDropdown( \"Test\", [ \"one\", \"two\", \"three\", \"four\" ] );\n```\n\n  [ **ISMENUOPEN** ]\nSyntax: UI.IsMenuOpen()  \n**Returns** true if the menu is open, false otherwise.  \n```java\nif (UI.IsMenuOpen( ) == true)\n{\n    Cheat.Print(\"Menu is open\");\n}\n```\n\n  [ **ADDDROPDOWN** ]\nSyntax: UI.AddHotkey(name)  \nWill create a dropdown with items under Misc - JAVASCRIPT - Script items.  \n```java\nUI.AddDropdown( \"Test\", [ \"one\", \"two\", \"three\", \"four\" ] );\n```\n\n  [ **ADDHOTKEY** ]\nSyntax: UI.AddHotkey(name)  \nCreate a label with a key picker control under Misc - JAVASCRIPT - Script items.    \n```java\nUI.AddHotkey( \"Test\" );\n```\n\n  [ **ADDSLIDERFLOAT** ]\nSyntax: UI.AddSliderFloat(name, min_value, max_value)    \nCreate a floating point slider under Misc - JAVASCRIPT - Script items.  \n```java\nUI.AddSliderFloat( \"Test\", 0.0, 2.5 );\n```\n\n  [ **ADDSLIDERINT** ]\nSyntax: UI.AddSliderInt(name, min_value, max_value)  \nCreate a integer slider under Misc - JAVASCRIPT - Script items.  \n```java\nUI.AddSliderInt( \"Test\", 0, 100 );\n```\n\n  [ **ADDCHECKBOX** ]\nSyntax: UI.AddSliderInt(name, min_value, max_value)  \nCreate a checkbox control under Misc - JAVASCRIPT - Script items.    \n```java\nUI.AddCheckbox( \"Test\" );\n```\n\n  [ **ISHOTKEYACTIVE** ]\nSyntax: UI.AddSliderInt(name, min_value, max_value)  \nCan be used to determine whether or not hotkey is active.  \n**Return values**\tundefined if an item could not be found, or if the item doesn't contain a key picker; otherwise 1 if the key is active, 0 if the key is inactive.  \n```java\nfunction isKeyActive()\n{\n    var isKeyActive = UI.IsHotkeyActive( \"Legit\", \"GENERAL\", \"General\", \"Enabled\" );\n    Cheat.Print( \"Key is: \" + isKeyActive + \"\\n\" );\n    // Above line will print 0 or 1 depending whether the hotkey is active or not.\n}\n```\n\n  [ **GETCOLOR** ]\nSyntax: UI.GetColor(...item)  \nCan be used to get precise RGBA color codes from color picker.  \n**Return values**\tundefined if an item could not be found, or if the item doesn't contain a color picker  \n```java\nfunction ammoColor()\n{\n    var ammo_color = UI.GetColor( \"Visuals\", \"SELF\", \"ESP\", \"Ammo\" );\n    Cheat.Print( \"Ammo color is: \" + ammo_color + \"\\n\" );\n    // Above line will print RGBA value of ammo color picker.\n}\n```\n\n  [ **GETSTRING** ]\nSyntax: UI.GetString (...item)  \n**Returns** a string representation of an item's current value.\n\nUI item searches are not explicit: the search will return the first found item. This means that **UI.GetValue( \"Legit\", \"Triggerbot\", \"Enabled\" )** will return the same value as **UI.GetValue( \"Legit\", \"GENERAL\", \"Triggerbot\", \"Enabled\" ).  **\n\nAll script-added items are located in a groupbox within the misc tab, under javascript group called \"Script items\". Searching for ( \"Script Items\", *item name* ) is certain to return a script control.  \n```java\nfunction hitboxesEnabled()\n{\n    var hb = UI.GetString( \"Legit\", \"GENERAL\", \"Default config\", \"Hitboxes\" );\n    Cheat.Print( \"enabled hitboxes: \" + hb + \"\\n\" );\n    // Above line will print enabled hitboxes in default legit config into in-game console when this script is loaded.\n}\n```\n\n  [ **SETENABLED** ]\nSyntax: UI.SetEnabled (...item)  \nChanges menu item(s) visibility.  \n\nUI item searches are not explicit: the search will return the first found item. This means that **UI.GetValue( \"Legit\", \"Triggerbot\", \"Enabled\" )** will return the same value as **UI.GetValue( \"Legit\", \"GENERAL\", \"Triggerbot\", \"Enabled\" )**.  \n\nAll script-added items are located in a groupbox within the misc tab, under javascript group called \"Script items\". Searching for ( \"Script Items\", *item name* ) is certain to return a script control.  \nUI.SetEnabled does not work on tabs/subtabs.  \n\n\n```java\nfunction hideTriggerbotCheckbox()\n{\n    UI.SetEnabled( \"Legit\", \"GENERAL\", \"Triggerbot\", \"Enabled\", false );\n    // Above line will hide the triggerbot \"Enabled\" checkbox however, its value can still be changed and accessed.\n}\n```  \n\n  [ **SETVALUE** ]\nSyntax: UI.SetValue (...item, value)  \nSets the value of an UI item's setting.  \n**Return values**\tundefined if an item could not be found, setting value otherwise\nUI item searches are not explicit: the search will return the first found item. This means that **UI.GetValue( \"Legit\", \"Triggerbot\", \"Enabled\" )** will return the same value as **UI.GetValue( \"Legit\", \"GENERAL\", \"Triggerbot\", \"Enabled\" ). ** \n\nAll script-added items are located in a groupbox within the misc tab, under javascript group called \"Script items\". Searching for ( \"Script Items\", *item name* ) is certain to return a script control.  \n\n```java\nfunction enableMagnet()\n{\n   UI.SetValue( \"Legit\", \"GENERAL\", \"Triggerbot\", \"Magnet\", true );\n   UI.SetValue( \"Legit\", \"GENERAL\", \"General\", \"Reaction time\", 0.2 );\n}\n// This function will enable triggerbot magnet option and set aimbot reaction time to 0.2\n```\n\n  [ **GETVALUE** ]\nSyntax: UI.GetValue (...item)\nReturns the value of UI item's setting.  \n\nUI item searches are not explicit: the search will return the first found item. This means that **UI.GetValue( \"Legit\", \"Triggerbot\", \"Enabled\" )** will return the same value as **UI.GetValue( \"Legit\", \"GENERAL\", \"Triggerbot\", \"Enabled\" )**.\n\nAll script-added items are located in a groupbox within the misc tab, under javascript group called \"Script items\". Searching for ( \"Script Items\", *item name* ) is certain to return a script control.\n```java\nfunction enableMagnet()\n{\n   UI.SetValue( \"Legit\", \"GENERAL\", \"Triggerbot\", \"Magnet\", true );\n   UI.SetValue( \"Legit\", \"GENERAL\", \"General\", \"Reaction time\", 0.2 );\n}\n// This function will enable triggerbot magnet option and set aimbot reaction time to 0.2\n```\n\n[back to Contents](#-1)\n\n\n## \u003ca name=\"2\"\u003e\u003c/a\u003eEntity\n|-------------------------------|\n\n  [ **GETRENDERBOX** ]\nSyntax: Entity.GetRenderBox(entity_index)  \n**Returns** an array object with state (valid/invalid), min X, min Y, max X, max Y    \n```java\nvar target = 0\nfunction onCM(){\n    target = Ragebot.GetTarget()\n}\nfunction onDraw(){\n    var pos = Entity.GetRenderBox(target)\n    var font = Render.AddFont(\"Verdana\", 8, 400)\n    var a = pos[3] - pos[1]\n    a /= 2\n    a += pos[1]\n    Render.StringCustom(a,pos[2] - 30,1,\"TARGET\", [255,255,255,255], font)\n}\nCheat.RegisterCallback(\"CreateMove\", \"onCM\")\nCheat.RegisterCallback(\"Draw\", \"onDraw\")\n```\n\n  [ **GETWEAPONS** ]\nSyntax: Entity.GetWeapons( entity_index )  \n**Returns** an array of weapons of the entity.  \n```java\nlocalplayer_weapons = Entity.GetWeapons(Entity.GetLocalPlayer())\n```\n\n\n  [ **GETENTITIESBYCLASSID** ]\nSyntax: Entity.GetEntitiesByClassID( int classid )  \n**Returns** entities of given Class ID.  \n```java\n entities = Entity.GetEntities();\n    cEnt = Entity.GetEntitiesByClassID(131);\n    for ( i = 0; i \u003c cEnt.length; i++)\n    {\n    cName = Entity.GetName(cEnt[i]);\n  \n    Cheat.Print(\"Entity class: \" + cName + \"\\n\");\n```\n\n\n  [ **GETHITBOXPOSITION** ]\nSyntax: Entity.GetHitboxPosition(int ent_index, int hitbox_index)\n**Returns** an array object with X, Y, Z for hitbox position.  \n\n**Hitbox indexes:**\nHITBOX_HEAD = 0  \nHITBOX_NECK = 1  \nHITBOX_PELVIS = 2  \nHITBOX_BODY = 3  \nHITBOX_THORAX = 4  \nHITBOX_CHEST = 5  \nHITBOX_UPPER_CHEST = 6  \nHITBOX_LEFT_THIGH = 7  \nHITBOX_RIGHT_THIGH = 8  \nHITBOX_LEFT_CALF = 9  \nHITBOX_RIGHT_CALF = 10  \nHITBOX_LEFT_FOOT = 11  \nHITBOX_RIGHT_FOOT = 12  \nHITBOX_LEFT_HAND = 13  \nHITBOX_RIGHT_HAND = 14  \nHITBOX_LEFT_UPPER_ARM = 15  \nHITBOX_LEFT_FOREARM = 16  \nHITBOX_RIGHT_UPPER_ARM = 17  \nHITBOX_RIGHT_FOREARM = 18  \n\n```java\n    enemies = Entity.GetEnemies();\n    for (i=0; i\u003cenemies.length; i++)\n    {\n        hitbox_pos = Entity.GetHitboxPosition( enemies[i], 0 );\n        enemyName = Entity.GetName(enemies[i]);\n        Cheat.Print(enemyName + \"'s HEAD hitbox position is X: \" + hitbox_pos[0] + \" Y: \" + hitbox_pos[1] + \" Z: \" + hitbox_pos[2] + \" \\n\");\n    }\n```\n\n  [ **GETEYEPOSITION** ]\nSyntax: Entity.GetEyePosition(int ent_index).  \n**Returns**  an array object with X, Y, Z for eye position.  \n```java\n localplayer_eyepos = Entity.GetEyePosition( Entity.GetLocalPlayer( ) );\n Cheat.Print(\"Local player eye pos X: \" + localplayer_eyepos[0] + \" Y: \" + localplayer_eyepos[1] + \" Z: \" + localplayer_eyepos[2] + \" \\n\");\n```\n\n  [ **GETGAMERULESPROXY** ]\nSyntax: Entity.GetGameRulesProxy()  \n**Returns** entity index of game rules entity.  \n```java\n function valveServer( )\n{\n    gamerules = Entity.GetGameRulesProxy();\n    is_valve_server = Entity.GetProp( gamerules, \"CCSGameRulesProxy\", \"m_bIsValveDS\" );\n    Cheat.Print(\"Is this Valve Dedicated server: \" + is_valve_server + \"\\n\");\n}\n\nCheat.RegisterCallback(\"Draw\", \"valveServer\");\n```\n\n\n  [ **ISBOT** ]\nSyntax:Entity.IsBot(ent_index)  \nEntity.IsBot can be used to check whether passed entity index is a bot or not.  \n```java\n players = Entity.GetPlayers();\n        for ( i = 0; i \u003c players.length; i++)\n        {\n            if (Entity.IsBot(players[i]))\n            {\n                name = Entity.GetName(players[i]);\n                Cheat.Print(\"Player: \" + name + \" is bot\\n\");\n            }\n        }\n```\n\n\n  [ **GETWEAPON** ]\nSyntax:Entity.GetWeapon(ent_index)  \nEntity.GetWeapon returns weapon name of entity index passed as argument.  \n**returns** weapon index of entity index passed as argument.  \n```java\n        localplayer_index = Entity.GetLocalPlayer( );\n        localplayer_weapon = Entity.GetWeapon(localplayer_index);\n        weapon_name = Entity.GetName(localplayer_weapon);\n        Cheat.Print(\"Localplayer weapon is: \" + weapon_name + \"\\n\");\n```\n\n  [ **SETPROP** ]\nEntity.SetProp(player_entity_index, table_name, prop_name, new_value)  \nCan be used to override property values.  \n```java\nfunction ragdollForce( )\n{\n    framestage = Cheat.FrameStage();\n    if (framestage == 3)\n    {\n        entities = Entity.GetEntities();\n        for (i = 0; i \u003c entities.length; i++)\n        {\n            classID = Entity.GetClassID(entities[i]);\n            if (classID == 42)\n            {\n                dir = Entity.GetProp(entities[i], \"CCSRagdoll\", \"m_vecRagdollVelocity\");\n                dir[0] = dir[0] * 100;\n                dir[1] = dir[1] * 100;\n                dir[2] = dir[2] * 100;\n                dir1 = Entity.GetProp(entities[i], \"CBaseAnimating\", \"m_vecForce\");\n                dir1[0] = dir1[0] * 100;\n                dir1[1] = dir1[1] * 100;\n                dir1[2] = dir1[2] * 100;\n                Entity.SetProp(entities[i], \"CCSRagdoll\", \"m_vecRagdollVelocity\", dir);\n                Entity.SetProp(entities[i], \"CBaseAnimating\", \"m_vecForce\", dir1);\n            }\n        }\n    }\n}\n\nCheat.RegisterCallback(\"FrameStageNotify\", \"ragdollForce\");\n```\n\n\n  [ **GETPROP** ]\nSyntax:Entity.GetProp(player_entity_index, table_name, prop_name)  \n**Returns** the value of the property.  \n```java\nfunction onRender( )\n{\n    entities = Entity.GetEntities();\n    for ( i = 0; i \u003c entities.length; i++ )\n    {\n     if ( Entity.IsLocalPlayer( entities[i] ) )\n        {\n          duckamount = Entity.GetProp( entities[i], \"CBasePlayer\", \"m_flDuckAmount\" );\n          Cheat.Print( duckamount + \"\\n\" );\n        }\n    }\n}\nCheat.RegisterCallback(\"Draw\", \"onRender\");\n```\n\n  [ **GETRENDERORIGIN** ]\nSyntax:Entity.GetRenderOrigin()  \nEntity.GetRenderOrigin **returns** an array of x, y, z.  \n```java\nfunction drawPlayerLines( )\n{\n    players = Entity.GetEnemies( );\n\n    for ( i = 0; i \u003c players.length; i++ )\n    {\n      if ( Entity.IsAlive( players[i] ) )\n      {\n        world = Entity.GetRenderOrigin( players[i] );\n\n        screen_bot = Render.WorldToScreen( world );\n\n        world_top = world;\n        world_top[2] = world_top[2] + 64;\n\n        screen_top = Render.WorldToScreen( world_top );\n       \n        Render.Line( screen_bot[0], screen_bot[1], screen_top[0], screen_top[1], [ 0, 0, 255, 255 ] );\n\n    }\n  }\n}\nCheat.RegisterCallback(\"Draw\", \"drawPlayerLines\");\n```\n\n  [ **GETNAME** ]\nSyntax:Entity.GetName(entity_index)  \n**Returns** a string that is the player name..  \n```java\n        players = Entity.GetPlayers();\n        for ( i = 0; i \u003c players.length; i++)\n        {\n            playerName = Entity.GetName(players[i]);\n            Cheat.Print(\"Players: \" + playerName + \" \\n\");\n        }\n```\n\n  [ **GETCLASSNAME** ]\nSyntax:Entity.GetClassName()  \n**Returns** a string that represents the class name instead of the class ID.  \n```java\nfunction onRender( )\n{\n\n    entities = Entity.GetEntities();\n\n    for ( i = 0; i \u003c entities.length; i++ )\n    {\n        world_pos = Entity.GetRenderOrigin( entities[i] );\n        name = Entity.GetClassName( entities[i] );\n\n        screen_pos = Render.WorldToScreen( world_pos );      \n        Render.String( screen_pos[0], screen_pos[1], 1, name, [ 255, 255, 255, 255 ] );\n        Render.Line( screen_pos[0], screen_pos[1], screen_pos[0], screen_pos[1] + 50, [ 0, 0, 255, 255 ] );\n   \n  }\n}\nCheat.RegisterCallback(\"Draw\", \"onRender\");\n```\n\n  [ **GETCLASSNAME** ]\nSyntax:Entity.GetClassID(entity_index)  \n**Returns** a number that is the class ID, lists of class IDs can be found HERE: https://pastebin.com/jyx5sGyC  \n```java\n        entities = Entity.GetEntities();\n        for ( i = 0; i \u003c entities.length; i++)\n        {\n        cID = Entity.GetClassID(entities[i]);\n        Cheat.Print(\"Entity class ID: \" + cID + \"\\n\");\n        }\n```\n\n\n  [ **ISDORMANT** ]\nSyntax:Entity.IsDormant(entity_index)  \nFinds out whether an entity is dormant.  \n```java\n        players = Entity.GetPlayers();\n        for ( i = 0; i \u003c players.length; i++)\n        {\n            if ( Entity.IsDormant(players[i]))\n            {\n            plrName = Entity.GetName(players[i]);\n            Cheat.Print(\"Dormant player name is: \" + plrName + \" \\n\");\n            }\n        }\n```\n\n  [ **ISALIVE** ]\nSyntax:Entity.IsAlive(entity_index)  \nFinds out whether an entity is alive.  \n```java\n    localplayer_index = Entity.GetLocalPlayer( );\n    localplayer_alive = Entity.IsAlive( localplayer_index );\n    if (localplayer_alive == true)\n    {\n        Cheat.Print(\"Local player is alive\\n\");\n    }\n    else\n    {\n        Cheat.Print(\"Local player is not alive\\n\");\n    }\n```\n\n  [ **ISVALID** ]\nSyntax:Entity.IsValid(entity index)  \nFinds out whether an entity is valid.  \n```java\nplayers = Entity.GetPlayers();\n \n    for (i=0; i \u003c players.length; i++);\n    {\n        if (Entity.IsValid(players[i]))\n        {\n        Cheat.Print(\"Amount of valid players: \" + players + \"\\n\");\n        }\n    }\n```\n\n\n  [ **ISLOCALPLAYER** ]\nSyntax:Entity.IsLocalPlayer(entity_index)  \nFinds out whether an entity is the local player.  \n```java\n        players = Entity.GetPlayers();\n        for ( i = 0; i \u003c players.length; i++)\n        {\n            if ( Entity.IsLocalPlayer(players[i]))\n            {\n                plrName = Entity.GetName(players[i]);\n                Cheat.Print(\"LocalPlayer name is: \" + plrName + \" \\n\");\n            }\n        }\n```\n\n  [ **ISENEMY** ]\nSyntax:Entity.IsEnemy(entity index)  \nFinds out whether an entity is an enemy.  \n```java\n        players = Entity.GetPlayers();\n        for ( i = 0; i \u003c players.length; i++)\n        {\n            if ( Entity.IsEnemy(players[i]))\n            {\n                plrName = Entity.GetName(players[i]);\n                Cheat.Print(\"Player: \" + plrName + \" is enemy\\n\");\n            }\n        }\n```\n\n\n  [ **ISTEAMMATE** ]\nSyntax:Entity.IsTeammate(entity_index)  \nFinds out whether an entity is a teammate.  \n```java\n        players = Entity.GetPlayers();\n        for ( i = 0; i \u003c players.length; i++)\n        {\n            if ( Entity.IsTeammate(players[i]))\n            {\n                plrName = Entity.GetName(players[i]);\n                Cheat.Print(\"Player: \" + plrName + \" is teammate\\n\");\n            }\n        }\n```\n\n\n\n  [ **GETENTITYFROMUSERID** ]\nSyntax:Entity.GetEntityFromUserID(userid)  \nFinds the entity of the given user id.  \n```java\nfunction on_player_death( )\n{\n       \n        attacker = Event.GetInt(\"attacker\");\n        attacker_index = Entity.GetEntityFromUserID(attacker);\n        victim = Event.GetInt(\"userid\");\n        victim_index = Entity.GetEntityFromUserID(victim);\n        attacker_name = Entity.GetName(attacker_index);\n        victim_name = Entity.GetName(victim_index);\n        Cheat.Print(attacker_name + \" just killed \" + victim_name + \"\\n\");\n \n     \n}\nCheat.RegisterCallback(\"player_death\", \"on_player_death\");\n```\n\n  [ **GETLOCALPLAYER** ]\nSyntax:Entity.GetLocalPlayer()  \n**Returns** the entity index of local the player.  \n```java\n    localplayer_index = Entity.GetLocalPlayer( );\n    localplayer_alive = Entity.IsAlive( localplayer_index );\n    if (localplayer_alive == true)\n    {\n        Cheat.Print(\"Local player is alive\\n\");\n    }\n    else\n    {\n        Cheat.Print(\"Local player is not alive\\n\");\n    }\n```\n\n\n  [ **GETTEAMMATES** ]\nSyntax:Entity.GetTeammates()  \n**Returns** an array of teammate entity indexes.    \n```java\n    localplayer_index = Entity.GetLocalPlayer( );\n    localplayer_alive = Entity.IsAlive( localplayer_index );\n    if (localplayer_alive == true)\n    {\n        Cheat.Print(\"Local player is alive\\n\");\n    }\n    else\n    {\n        Cheat.Print(\"Local player is not alive\\n\");\n    }\n```\n\n  [ **GETENEMIES** ]\nSyntax:Entity.GetEnemies()  \n**Returns** an array of enemy entity indexes.  \n```java\n    players = Entity.GetEnemies();\n    for (i=0; i \u003c players.length; i++)\n    {\n        Cheat.Print(\"Enemy entity index: \" + players[i] + \"\\n\");\n    }\n```\n\n  [ **GETPLAYERS** ]\nSyntax:Entity.GetPlayers()  \n**Returns** an array of player entity indexes.  \n```java\n    players = Entity.GetPlayers()\n    for (i=0; i \u003c players.length; i++)\n    {\n        Cheat.Print(\"Player number: \" + players[i] + \"\\n\");\n    }\n```\n\n\n  [ **GETPLAYERS** ]\nSyntax:Entity.GetEntities()  \n**Returns** an array of entity indexes.  \n```java\nfunction onRender( )\n{\n\n    entities = Entity.GetEntities();\n\n    for ( i = 0; i \u003c entities.length; i++ )\n    {\n        world_pos = Entity.GetRenderOrigin( entities[i] );\n        name = Entity.GetClassName( entities[i] );\n\n        screen_pos = Render.WorldToScreen( world_pos );      \n        Render.String( screen_pos[0], screen_pos[1], 1, name, [ 255, 255, 255, 255 ] );\n        Render.Line( screen_pos[0], screen_pos[1], screen_pos[0], screen_pos[1] + 50, [ 0, 0, 255, 255 ] );\n   \n  }\n}\nCheat.RegisterCallback(\"Draw\", \"onRender\");\n```\n\n[back to Contents](#-1)\n\n## \u003ca name=\"3\"\u003e\u003c/a\u003eRENDER\n|-------------------------------|\n\n  [ **FILLEDCIRCLE** ]\nSyntax:Render.FilledCircle(x, y, r, color)  \nDraws a filled circle with the given position, radius, and RGBA color.  \n**Returns**  true on success or false on failure.  \n```java\nfunction drawCircle()\n{\n   Render.FilledCircle( 150, 150, 50, [ 255, 255, 255, 255 ] );\n}\n\nCheat.RegisterCallback(\"Draw\", \"drawCircle\")\n// This function will draw filled circle on screen.\n```\n\n  [ **TEXTUREDRECT** ]\nSyntax:Render.TexturedRect( x, y, width, height, texture );    \nDraws a textured rectangle with the given position, size, and texture.  \n**Returns**  true on success or false on failure.  \n```java\nfunction drawTexture()\n{\n    forumBG = Render.AddTexture(\"ot/scripts/forumclr.png\");\n    Render.TexturedRect( 300, 300, 100, 100, forumBG );\n}\nCheat.RegisterCallback(\"Draw\", \"drawTexture\");\n```\n\n  [ **TEXTUREDRECT** ]\nSyntax:Render.TexturedRect( x, y, width, height, texture );    \nDraws a textured rectangle with the given position, size, and texture.  \n**Returns**  true on success or false on failure.  \n```java\nfunction drawTexture()\n{\n    forumBG = Render.AddTexture(\"ot/scripts/forumclr.png\");\n    Render.TexturedRect( 300, 300, 100, 100, forumBG );\n}\nCheat.RegisterCallback(\"Draw\", \"drawTexture\");\n```\n\n  [ **ADDTEXTURE** ]\nSyntax:Render.AddTexture( path );    \nAdds a texture.  \n**Returns** texture identifier.  \n\n**Notes:**\n- Path is relative to CSGO folder, so you don't need full path.  \n- Supports the following formats:  \n.bmp  \n.dds  \n.dib  \n.hdr  \n.jpg  \n.pfm  \n.png  \n.ppm  \n.tga  \n\n```java\nfunction drawTexture()\n{\n    forumBG = Render.AddTexture(\"ot/scripts/forumclr.png\");\n    Render.TexturedRect( 300, 300, 100, 100, forumBG );\n}\nCheat.RegisterCallback(\"Draw\", \"drawTexture\");\n```\n\n\n  [ **TEXTSIZECUSTOM** ]\nSyntax:Render.TextSizeCustom( string text, font );  \nFinds the text width size of the given string with custom font.  \n**Returns** given text height and width.  \n```java\nfunction getTextSize()\n{\n    font = Render.AddFont( \"Comic Sans MS\", 15, 400);\n    textSize = Render.TextSizeCustom(\"Hello\", font);\n    Cheat.Print(\"Text width: \" + textSize[0] + \"height: \" + textSize[1] + \"\\n\");\n}\n\nCheat.RegisterCallback(\"Draw\", \"getTextSize\")\n```\n\n  [ **STRINGCUSTOM** ]\nSyntax:Render.StringCustom( int x, int y, int align, string text, [ color ], font )  \nDraws a string with custom font.  \n**Returns** true on success or false on failure.  \n```java\nfunction comicSans()\n{\n    font = Render.AddFont( \"Comic Sans MS\", 15, 100);\n    Render.StringCustom( 100, 100, 0, \"This is Comic Sans Text\", [ 255, 255, 255, 255 ], font );\n   \n}\nCheat.RegisterCallback(\"Draw\", \"comicSans\")\n```\n  [ **FINDFONT** ]\nSyntax:Render.FindFont( string name, int size, int weight );  \nSearches for custom font.  \n**Returns** font identifier.  \n```java\nfunction getIdentifier()\n{\n    font = Render.AddFont( \"Comic Sans MS\", 15, 100);\n    identifier = Render.FindFont( \"Comic Sans MS\", 15, 100 );\n    Cheat.Print(\"Font identifier is: \" + identifier + \"\\n\");\n   \n}\nCheat.RegisterCallback(\"Draw\", \"getIdentifier\")\n```\n\n  [ **ADDFONT** ]\nSyntax:Render.AddFont( string name, int size, int weight );  \nAdds a custom font.  \n**Returns** font identifier.  \n\nArgument weight defines from thickness.\n100\tLightest.\n200\tBolder than 100, lighter than 300.\n300\tBolder than 200, lighter than 400.\n400\tBolder than 300, lighter than 500. Equivalent of normal.\n500\tBolder than 400, lighter than 600.\n600\tBolder than 500, lighter than 700.\n700\tBolder than 600, lighter than 800. Equivalent of bold.\n800\tBolder than 700, lighter than 900.\n900\tBoldest.\n\n```java\nfunction comicSans()\n{\n    font = Render.AddFont( \"Comic Sans MS\", 15, 100);\n    Render.StringCustom( 100, 100, 0, \"This is Comic Sans Text\", [ 255, 255, 255, 255 ], font );\n   \n}\nCheat.RegisterCallback(\"Draw\", \"comicSans\")\n```\n\n  [ **FINDFONT** ]\nSyntax:Render.FindFont( string name, int size, int weight );  \nSearches for custom font.  \n**Returns** font identifier.  \n```java\nfunction getIdentifier()\n{\n    font = Render.AddFont( \"Comic Sans MS\", 15, 100);\n    identifier = Render.FindFont( \"Comic Sans MS\", 15, 100 );\n    Cheat.Print(\"Font identifier is: \" + identifier + \"\\n\");\n   \n}\nCheat.RegisterCallback(\"Draw\", \"getIdentifier\")\n```\n\n\n  [ **POLYGON** ]\nSyntax:Render.Polygon( [ [ x, y ], [ x1, y1 ], [ x2, y2 ] ], [ R, G, B, A ] );  \nDraws a polygon with shape based on arguments passed.  \n```java\nfunction drawPolygon()\n{\n    Render.Polygon( [ [ 10.0, 200.0 ], [ 100.0, 10.0 ], [ 200.0, 160.0 ] ], [ 255, 0, 0, 255 ] );\n}\nCheat.RegisterCallback(\"Draw\", \"drawPolygon\");\n```\n\n  [ **GRADIENTRECT** ]\nSyntax:Render.GradientRect( x, y, w, h, dir, [ col1 ], [ col2 ] );  \nDraws a gradient rectangle with the given position, size, and RGBA color.  \n**Returns** true on success or false on failure.  \n```java\nfunction drawGradient()\n{\n\n    Render.GradientRect( 100, 100, 100, 100, 0, [ 255, 0, 0, 255 ], [ 255, 255, 255, 255 ]);\n    Render.GradientRect( 210, 100, 100, 100, 1, [ 255, 0, 0, 255 ], [ 255, 255, 255, 255 ]);\n}\nCheat.RegisterCallback(\"Draw\", \"drawGradient\")\n```\n\n  [ **TEXTSIZE** ]\nSyntax:Render.TextSize(string, int size [optional]);  \nFinds the text width size of the given string.  \n**Returns** 0 - default, 1 - bold, 2 - small, 3 - small bold, 4 - large, 5 - icon, 6 - small icon, 8 to 48 regular font with specific size.  \n```java\nvar text_width = Render.TextSize(\"Hello\");\nvar screen_size = Global.GetScreenSize();\nvar screen_height = screen_size[0];\nvar screen_width = screen_size[1];\n\nRender.String( screen_width - text_width[1], 100, 0, \"Hello\", [255, 255, 255, 255], 4 );\n```\n\n  [ **GETSCREENSIZE** ]\nSyntax:Render.GetScreenSize()  \nReturns width and height of your screen.  \n```java\nfunction getScreenSize()\n{\n    var screen_size = Render.GetScreenSize();\n    Cheat.Print( \"Height of screen is: \" + screen_size[0] + \"\\n\");\n    Cheat.Print( \"Width of screen is: \" + screen_size[1] + \"\\n\");\n}\nCheat.RegisterCallback(\"Draw\", \"getScreenSize\")\n// This function will print your screen height and width in in-game console.\n```\n\n  [ **WORLDTOSCREEN** ]\nSyntax:Render.WorldToScreen([x, y, z])  \nFinds the world position for the given screen position.  \nReturns the value of the parameter or false.  \n```java\nfunction drawDuckAmount( )\n{\n    players = Entity.GetEnemies( );\n\n    for ( i = 0; i \u003c players.length; i++ )\n    {\n      if ( Entity.IsAlive( players[i] ) )\n      {\n        world = Entity.GetRenderOrigin( players[i] );\n\n        screen_bot = Render.WorldToScreen( world );\n\n        duckamount = Entity.GetProp( players[i], \"DT_BasePlayer\", \"m_flDuckAmount\" );\n    \n        world_top = world;\n        world_top[2] = world_top[2] + ( 64 * ( 1 - duckamount ) );\n\n        screen_top = Render.WorldToScreen( world_top );\n      \n        if ( screen_bot[2] == 1 \u0026\u0026 screen_top[2] == 1 )\n        {\n            Render.Line( screen_bot[0], screen_bot[1], screen_top[0], screen_top[1], [ 0, 0, 255, 255 ] );\n        }\n    }\n  }\n}\nCheat.RegisterCallback(\"Draw\", \"drawDuckAmount\");\n// This script will draw a line on enemy players which represents their duck amount.\n```\n\n\n  [ **CIRCLE** ]\nSyntax:Render.Circle(x, y, r, color)  \nDraws a circle with the given position, radius, and RGBA color.  \n**Returns** true on success or false on failure.  \n```java\nfunction drawCircle()\n{\n   Render.Circle( 150, 150, 50, [ 255, 255, 255, 255 ] );\n}\n\nCheat.RegisterCallback(\"Draw\", \"drawCircle\")\n// This function will draw a circle on screen.\n```\n\n  [ **FILLEDRECT** ]\nSyntax:Render.FilledRect(x, y, width, height, color)  \nDraws a circle with the given position, radius, and RGBA color.  \n**Returns** true on success or false on failure.   \n```java\nfunction drawFilledRect()\n{\nRender.FilledRect( 100, 100, 150, 150, [ 255, 0, 0, 180 ] );\n}\n\nCheat.RegisterCallback(\"Draw\", \"drawFilledRect\")\n// This function will draw a filled rectangle on screen.\n```\n\n  [ **RECT** ]\nSyntax:Render.Rect(x, y, width, height, color)  \nDraws a rectangle with the given position, size, and RGBA color.    \n**Returns** true on success or false on failure.  \n```java\nfunction drawRect()\n{\nRender.Rect( 100, 100, 150, 150, [ 255, 0, 0, 255 ] );\n}\n\nCheat.RegisterCallback(\"Draw\", \"drawRect\")\n// This function will draw a rectangle on screen.\n```\n\n  [ **LINE** ]\nSyntax:Render.Line(x, y, x1, y1, color)  \nDraws a line with the given position RGBA color.    \n**Returns** true on success or false on failure.  \n```java\nfunction drawLine()\n{\nRender.Line( 100, 200, 300, 200, [ 255, 0, 0, 255 ] );\n}\n\nCheat.RegisterCallback(\"Draw\", \"drawLine\")\n// This function will draw a line on your screen.\n```\n\n  [ **STRING** ]\nSyntax:Render.String(x, y, align, message, color, int size [optional])  \nDraws a string with the given position, align, RGBA color, and size.  \n**Returns** true on success or false on failure.  \n\n**Size values**  \n0 - default font  \n1 - bold font  \n2 - small font  \n3 - small bold font  \n4 - BIG font  \n5 - icons  \n6 - small icons  \neven numbers from 8 to 48 are regular font with a more specific size  \n\n\n```java\nfunction drawString()\n{\nRender.String( 100, 100, 0, \"Hello\", [ 255, 255, 255, 255 ] );\n}\n\nCheat.RegisterCallback(\"Draw\", \"drawString\")\n// This script will draw a string Hello on your screen\n```\n\n[back to Contents](#-1)\n\n\n## \u003ca name=\"4\"\u003e\u003c/a\u003eConvar\n|-------------------------------|\n\n  [ **SETSTRING** ]\nSyntax:Convar.SetString(\"cmd\", string)  \nSets the string value of the given console command.      \n**Returns** true on success or false on failure.  \n```java\nConvar.SetString (\"r_aspectratio\", \"1\");\n```\n\n  [ **GETSTRING** ]\nSyntax:Convar.GetString(\"cmd\")  \nFinds the string value of the given console command.   \n**Returns** the value of the parameter or false.   \n```java\nvar name = Convar.GetString(\"name\");\nCheat.Print(name);\n```\n\n  [ **SETFLOAT** ]\nSyntax:Convar.SetFloat (\"cmd\", value)  \nSets the float value of the given console command.  \n**Returns** true on success or false on failure.  \n```java\nConvar.SetFloat(\"cl_ragdoll_gravity\", 100.00);\n```\n\n  [ **GETFLOAT** ]\nSyntax:Convar.GetFloat(\"cmd\")   \nFinds the float value of the given console command.  \n**Returns** the value of the parameter or false.  \n```java\nvar sv_gravity_value = Convar.GetFloat(\"cl_ragdoll_gravity\");\nCheat.Print(sv_gravity_value);\n```\n\n  [ **SETINT** ]\nSyntax:Convar.SetInt(\"cmd\", value)  \nSets the integer value of the given console command.  \n**Returns** true on success or false on failure.  \n```java\nConvar.SetInt(\"cl_ragdoll_gravity\", 100);\n```\n\n  [ **GETINT** ]\nSyntax:Convar.GetInt(\"cmd\")\nFinds the integer value of the given console command.  \n**Returns** the value of the parameter or false.   \n```java\nvar sv_gravity_value = Convar.GetInt(\"cl_ragdoll_gravity\");\nCheat.Print(sv_gravity_value);\n```\n\n[back to Contents](#-1)\n\n## \u003ca name=\"5\"\u003e\u003c/a\u003eEvent\n|-------------------------------|\n\n  [ **RAGEBOT_FIRE** ]\nSyntax:ragebot_fire  \n**Returns** information on ragebot_fire event.  \n\nFollowing arguments can be used with Event.GetInt for the ragebot_fire event  \ntarget_index  \nhitbox  \nhitchance  \nsafepoint  \nexploit  \n0 = no exploit    \n1 = hide shots/1st shot from doubletap  \n2 = second shot from doubletap  \n\n```java\nfunction getHitboxName(index)\n{\n    var hitboxName = \"\";\n    switch (index)\n    {\n        case 0:\n            hitboxName = \"Head\";\n            break;\n        case 1:\n            hitboxName = \"Neck\";\n            break;\n        case 2:\n            hitboxName = \"Pelvis\";\n            break;\n        case 3:\n            hitboxName = \"Body\";\n            break;\n        case 4:\n            hitboxName = \"Thorax\";\n            break;\n        case 5:\n            hitboxName = \"Chest\";\n            break;\n        case 6:\n            hitboxName = \"Upper chest\";\n            break;\n        case 7:\n            hitboxName = \"Left thigh\";\n            break;\n        case 8:\n            hitboxName = \"Right thigh\";\n            break;\n        case 9:\n            hitboxName = \"Left calf\";\n            break;\n        case 10:\n            hitboxName = \"Right calf\";\n            break;\n        case 11:\n            hitboxName = \"Left foot\";\n            break;\n        case 12:\n            hitboxName = \"Right foot\";\n            break;\n        case 13:\n            hitboxName = \"Left hand\";\n            break;\n        case 14:\n            hitboxName = \"Right hand\";\n            break;\n        case 15:\n            hitboxName = \"Left upper arm\";\n            break;\n        case 16:\n            hitboxName = \"Left forearm\";\n            break;\n        case 17:\n            hitboxName = \"Right upper arm\";\n            break;\n        case 18:\n            hitboxName = \"Right forearm\";\n            break;\n        default:\n            hitboxName = \"Generic\";\n    }\n\n    return hitboxName;\n}\nfunction ragebotLogs()\n{\n  \n    ragebot_target = Event.GetInt(\"target_index\");\n    ragebot_target_hitbox = Event.GetInt(\"hitbox\");\n    ragebot_target_hitchance = Event.GetInt(\"hitchance\");\n    ragebot_target_safepoint = Event.GetInt(\"safepoint\");\n    ragebot_target_exploit = Event.GetInt(\"exploit\");\n    targetName = Entity.GetName(ragebot_target);\n  \n    Cheat.Print(\"[onetap] TARGET: \" + targetName + \" HITBOX: \" + getHitboxName(ragebot_target_hitbox) + \" HC: \" + ragebot_target_hitchance + \" SAFEPOINT: \" + ragebot_target_safepoint + \" EXPLOIT: \" + ragebot_target_exploit + \" \\n\");\n\n}\n\nCheat.RegisterCallback(\"ragebot_fire\", \"ragebotLogs\");\n```\n\n  [ **GETSTRING** ]\nSyntax:Event.GetString(string)\nFinds the string value of the given game event.  \n**Returns** the value of the parameter or false.   \n```java\nvar weapon_name = Event.GetString(\"weaponname\");\n```\n\n  [ **GETFLOAT** ]\nSyntax:Event.GetFloat(float)  \nFinds the float value of the given game event.  \n**Returns** the value of the parameter or false.  \n```java\npos_x = Event.GetFloat(\"x\");\n```\n\n  [ **GETINT** ]\nSyntax:Event.GetInt(int)  \nFinds the int value of the given game event.  \n**Returns** the value of the parameter or false.  \n```java\nuserid = Event.GetInt(\"userid\");\n```\n\n[back to Contents](#-1)\n\n## \u003ca name=\"6\"\u003e\u003c/a\u003eTrace\n|-------------------------------|\n\n  [ **RAWLINE** ]\nSyntax:Trace.RawLine( int skip_index, vec3 start, vec3 end, unsigned int mask, int type )  \nUsed for advanced line tracing.  \n**Returns** entity index and number fraction.  \n**Fraction info:**  \n1.0 means it didnt hit anything, 0.5 means it hit something half way through, 0.1 is hit  \n**Skip index:**  \nskips a certain entity, can be 0 to not skip any entity.  \n**Mask:**  \nfilters what should and shouldn't be taken into consideration when tracing  \nmasks can be combined, example below:  \nA bullet would be 0x4600400b ( CONTENTS_SOLID + CONTENTS_WINDOW + CONTENTS_GRATE + CONTENTS_MOVEABLE + CONTENTS_MONSTER + CONTENTS_DEBRIS + CONTENTS_HITBOX )  \n**Type:**  \n0 = TRACE_EVERYTHING  \n1 = TRACE_WORLD_ONLY  \n2 = TRACE_ENTITIES_ONLY  \n```java\n  CONTENTS_SOLID                    0x1\n        CONTENTS_WINDOW                       0x2\n        CONTENTS_AUX                      0x4\n        CONTENTS_GRATE                      0x8\n        CONTENTS_SLIME                      0x10\n        CONTENTS_WATER                      0x20\n        CONTENTS_BLOCKLOS                  0x40\n        CONTENTS_OPAQUE                      0x80\n        CONTENTS_TESTFOGVOLUME              0x100\n        CONTENTS_UNUSED                      0x200\n        CONTENTS_BLOCKLIGHT                  0x400\n        CONTENTS_TEAM1                      0x800\n        CONTENTS_TEAM2                      0x1000\n        CONTENTS_IGNORE_NODRAW_OPAQUE     0x2000\n        CONTENTS_MOVEABLE                  0x4000\n        CONTENTS_AREAPORTAL                  0x8000\n        CONTENTS_PLAYERCLIP                  0x10000\n        CONTENTS_MONSTERCLIP              0x20000\n        CONTENTS_ORIGIN                      0x1000000\n        CONTENTS_MONSTER                  0x2000000\n        CONTENTS_DEBRIS                      0x4000000\n        CONTENTS_DETAIL                      0x8000000\n        CONTENTS_TRANSLUCENT              0x10000000\n        CONTENTS_LADDER                      0x20000000\n        CONTENTS_HITBOX                      0x40000000\n```\n\n\n **IN OT V3 CRACK NOT WORKS** [ **SMOKE** ]\nSyntax:Trace.Smoke(array start, array end)  \nUsed to check if smoke is between two points.  \n**Returns** 1 if there was smoke.  \n```java\nfunction isBehindSmoke(entity_index)\n{\n    eyepos = Entity.GetEyePosition(Entity.GetLocalPlayer());\n        if (Entity.IsValid(entity_index) \u0026\u0026 Entity.IsAlive(entity_index) \u0026\u0026 !Entity.IsDormant(entity_index)){\n            hitbox_pos = Entity.GetHitboxPosition(entity_index, 0);\n            result = Trace.Smoke(eyepos, hitbox_pos);\n                if (result == 1)\n                {\n                    return true\n                }\n                else\n                {\n                    return false\n                }\n        }       \n}\nfunction main()\n{\n    enemies = Entity.GetEnemies()\n    for (i=0; i \u003c enemies.length; i++)\n    {\n        if (isBehindSmoke(enemies[i]))\n        {\n            Cheat.Print(\"Enemy: \" + Entity.GetName(enemies[i])+ \" is behind smoke\\n\")\n        }\n    }\n}\nCheat.RegisterCallback(\"CreateMove\", \"main\");\n```\n\n\n  [ **BULLET** ]\nSyntax:Trace.Bullet(int ent_index, int target, array start, array end);  \nUsed to trace bullet between two entities.  \n**Returns** entity index, damage, visibility, and hitbox.  \n```java\nfunction isVisible()\n{\n\n    localPlayer_index = Entity.GetLocalPlayer();\n    localPlayer_eyepos = Entity.GetEyePosition(localPlayer_index);\n    enemies = Entity.GetEnemies();\n    for ( i = 0; i \u003c enemies.length; i++)\n    {\n        if (Entity.IsValid(enemies[i]) == true \u0026\u0026 Entity.IsAlive(enemies[i]) \u0026\u0026 Entity.IsDormant(enemies[i]) == false)\n        {\n        hitbox_pos = Entity.GetHitboxPosition(localPlayer_index, 0);\n        bot_eyepos = Entity.GetEyePosition(enemies[i])\n        \n        w2s_s = Render.WorldToScreen(bot_eyepos)\n        w2s_e = Render.WorldToScreen(hitbox_pos)\n        Render.Line(w2s_s[0], w2s_s[1], w2s_e[0], w2s_e[1], [255, 255, 255, 255])\n        Render.String(w2s_s[0], w2s_s[1], 0, \"START\", [255, 0, 0, 255])\n        Render.String(w2s_e[0], w2s_e[1], 0, \"END\", [255, 0, 0, 255])\n        }\n    }\n}\n\nfunction cm()\n{\n    localPlayer_index = Entity.GetLocalPlayer();\n    localPlayer_eyepos = Entity.GetEyePosition(localPlayer_index);\n    enemies = Entity.GetEnemies();\n    for ( i = 0; i \u003c enemies.length; i++)\n    {\n       if (Entity.IsValid(enemies[i]) == true \u0026\u0026 Entity.IsAlive(enemies[i]) \u0026\u0026 Entity.IsDormant(enemies[i]) == false)\n        {\n        hitbox_pos = Entity.GetHitboxPosition(localPlayer_index, 0);\n        bot_eyepos = Entity.GetEyePosition(enemies[i])\n        result = Trace.Bullet(enemies[i], localPlayer_index, bot_eyepos, hitbox_pos);\n        Cheat.Print(\"Trace result:: \" + Entity.GetName(enemies[i]) + \" can see player: \" + Entity.GetName(result[0]) + \" damage:: \" + result[1] + \" visible:: \" + result[2] + \" hitbox :: \" + result[3] + \"\\n\")\n        }\n    }\n\n}\nCheat.RegisterCallback(\"Draw\", \"isVisible\");\nCheat.RegisterCallback(\"CreateMove\", \"cm\");\n```\n\n  [ **LINE** ]\nSyntax:Trace.Line(int ent_index, array start, array end);  \nUsed to trace line between point A and B.  \n**Returns** entity index and number fraction.  \nFraction info: 1.0 means it didnt hit anything, 0.5 means it hit something half way through, 0.1 is hit  \n```java\nfunction isVisible()\n{\n\n    localPlayer_index = Entity.GetLocalPlayer();\n    localPlayer_eyepos = Entity.GetEyePosition(localPlayer_index);\n    enemies = Entity.GetEnemies();\n    for ( i = 0; i \u003c enemies.length; i++)\n    {\n        hitbox_pos = Entity.GetHitboxPosition(enemies[i], 0);\n        result = Trace.Line(localPlayer_index, localPlayer_eyepos, hitbox_pos);\n        Cheat.Print(\"Entity: \" + Entity.GetName(result[0]) + \" fraction: \" + result[1] + \"\\n\");\n    }\n\n}\n\nCheat.RegisterCallback(\"Draw\", \"isVisible\");\n// This function will trace line from localplayer eye position to enemy head hitbox position and return whether the enemy is visible or not.\n```\n\n\n[back to Contents](#-1)\n\n## \u003ca name=\"7\"\u003e\u003c/a\u003eUserCMD\n|-------------------------------|\n\n\n  [ **GETMOVEMENT** ]\nSyntax:UserCMD.GetMovement();  \nUsed to obtain movement values.  \n**Returns** an array object with forward move, side move, and up move.  \n```java\nfunction onCreateMove()\n{\n    var movement = UserCMD.GetMovement();\n\n    forward = movement[0];\n    side = movement[1];\n    up = movement[2];\n\n    Cheat.Print(\"Forward: \" + forward + \"\\nSide: \" + side + \"\\nUp: \" +  up + \"\\n\");\n}\nCheat.RegisterCallback(\"CreateMove\", \"onCreateMove\");\n```\n\n\n**IN OT V3 CRACK NOT WORKS**  [ **SETVIEWANGLES** ]\nSyntax:UserCMD.SetViewAngles( [x,y,z], bool silent );  \nControl user angles.  \n```java\nfunction setAngle()\n{\n    curAngle = Local.GetViewAngles();\n    UserCMD.SetViewAngles([curAngle[0], 180, curAngle[2]], true) ;\n}\nCheat.RegisterCallback(\"CreateMove\", \"setAngle\");\n```\n\n**IN OT V3 CRACK NOT WORKS**  [ **SEND** ]\nSyntax:UserCMD.Send()  \nPlease note that this function may be overruled by internal processing related to, but not limited to, shot handling, anti-aim, and exploits.\n\n**IN OT V3 CRACK NOT WORKS**  [ **CHOKE** ]\nSyntax:UserCMD.Choke()  \nPlease note that this function may be overruled by internal processing related to, but not limited to, shot handling, anti-aim, and exploits.\n\n\n**IN OT V3 CRACK NOT WORKS**  [ **SETBUTTONS** ]\nSyntax:UUserCMD.SetButtons();  \nUsed to set buttons.  \n```java\nfunction forceJump()\n{\n    var buttons = UserCMD.GetButtons();\n    UserCMD.SetButtons(buttons | (1 \u003c\u003c 1));\n    \n}\nCheat.RegisterCallback(\"CreateMove\", \"forceJump\")\n```\n\n\n**IN OT V3 CRACK NOT WORKS**  [ **SETBUTTONS** ]\nSyntax:UserCMD.GetButtons();  \nUsed to set buttons.  \n**Returns** buttons.  \n```java\nfunction forceJump()\n{\n    var buttons = UserCMD.GetButtons();\n    UserCMD.SetButtons(buttons | (1 \u003c\u003c 1));\n    \n}\nCheat.RegisterCallback(\"CreateMove\", \"forceJump\")\n```\n\n  [ **SETMOVEMENT** ]\nSyntax:UserCMD.SetMovement([forwardmove, sidemove, upmove]);  \nControl user movement.  \n```java\nfunction moveForward()\n{\n    UserCMD.SetMovement( [ 450, 0, 0 ] );\n}\nCheat.RegisterCallback(\"CreateMove\", \"moveForward\");\n```\n\n[back to Contents](#-1)\n\n## \u003ca name=\"8\"\u003e\u003c/a\u003eSound\n|-------------------------------|\n\n  [ **STOPMICROPHONE** ]\nSyntax:Sound.StopMicrophone( );  \nUsed to stop Sound.PlayMicrophone  \n```java\nSound.StopMicrophone( );\n```\n\n  [ **PLAYMICROPHONE** ]\nSyntax:Sound.PlayMicrophone(path)  \nPlays a sound on microphone.  \n```java\nSound.PlayMicrophone(path);\n```\n\n  [ **PLAY** ]\nSyntax:Sound.Play( string path )  \nPlays a sound.  \n```java\nfunction playSoundOnKill()\n{\n    localplayer_index = Entity.GetLocalPlayer();\n    attacker = Event.GetInt(\"attacker\");\n    attacker_index = Entity.GetEntityFromUserID(attacker);\n\n    if (attacker_index == localplayer_index)\n    {\n        Sound.Play(\"C:\\\\Program Files (x86)\\\\Steam\\\\steamapps\\\\common\\\\Counter-Strike Global Offensive\\\\ot\\\\scripts\\\\headshot.wav\");\n    }\n\n}\n\nCheat.RegisterCallback(\"player_death\", \"playSoundOnKill\");\n```\n\n\n[back to Contents](#-1)\n\n## \u003ca name=\"9\"\u003e\u003c/a\u003eLocal\n|-------------------------------|\n\n\n  [ **GETINACCURACY** ]\nSyntax:Local.GetInaccuracy();  \n**Returns** inaccuracy.  \n```java\ninaccuracy = Local.GetInaccuracy();\nCheat.Print(inaccuracy + \"\\n\");\n```\n\n  [ **GETSPREAD** ]\nSyntax:Local.GetSpread();  \n**Returns** spread.  \n```java\nspread = Local.GetSpread();\nCheat.Print(spread + \"\\n\");\n```\n\n  [ **GETFAKEYAW** ]\nSyntax:Local.GetFakeYaw();   \n**Returns** fake yaw angle.  \n```java\nfakeyaw = Local.GetFakeYaw();\nCheat.Print(fakeyaw + \"\\n\");\n```\n\n  [ **GETREALYAW** ]\nSyntax:Local.GetRealYaw();  \n**Returns** real yaw angle.   \n```java\nrealyaw = Local.GetRealYaw();\nCheat.Print(realyaw + \"\\n\");\n```\n\n  [ **SETCLANTAG** ]\nSyntax:Local.SetClanTag(string text);    \n```java\nLocal.SetClanTag(\"onetap.su\");\n```\n\n  [ **SETVIEWANGLES** ]\nSyntax:Local.SetViewAngles(array)  \nSets user-defined view angles.  \n```java\n    viewAngles = Local.GetViewAngles();\n    Cheat.Print(\"PITCH: \" + viewAngles[0] + \" YAW: \" + viewAngles[1] + \" ROLL: \" + viewAngles[2] + \"\\n\");\n    Local.SetViewAngles([ 89, 180, 0 ]);\n    newAngles = Local.GetViewAngles();\n    Cheat.Print(\"PITCH: \" + newAngles[0] + \" YAW: \" + newAngles[1] + \" ROLL: \" + newAngles[2] + \"\\n\")\n```\n\n\n  [ **GETVIEWANGLES** ]\nSyntax:Local.GetViewAngles();  \n**Returns** array object with pitch, yaw and roll of your local view.  \n```java\nvar viewAngles = Local.GetViewAngles();\nCheat.Print(\"Current view angles: \" + viewAngles);\n```\n\n\n  [ **LATENCY** ]\nSyntax:Local.Latency()  \n**Returns** local player ping to the server.  \n```java\nvar myPing = Local.Latency();\nCheat.Print(\"Your ping is : \" + myPing);\n```\n\n\n[back to Contents](#-1)\n\n\n## \u003ca name=\"q\"\u003e\u003c/a\u003eCheat\n|-------------------------------|\n\n  [ **GETUSERNAME** ]\nSyntax:Cheat.GetUsername()  \n**Returns** forum username.  \n```java\nusername = Cheat.GetUsername();\nCheat.Print(username + \"\\n\");\n```\n\n  [ **PRINTCHAT** ]\nSyntax:Cheat.PrintChat(string text)  \nPrints a message in in-game chat.  \n```java\nCheat.PrintChat(\"printing in chat :-)\" + \"\\n\");\n```\n\n  [ **REGISTERCALLBACK** ]\nSyntax:Cheat.RegisterCallback(callback, function)  \nCallback: any function/event listed below  \nFunction: function to be invoked  \n\n**Currently available**  \n\"CreateMove\" useful for adjusting antiaim/ragebot settings with a script before antiaim/ragebot runs  \n\"Draw\" the only place in a script u can call Render functions, is inside a \"Draw\" callbacks  \n\"Unload\" called when script is unloaded  \n\"Material\" called before materials are applied. Material functions (except Create and Destroy) must be called in this callback  \n\"ragebot_fire\"  \nFRAME_START  \nFRAME_RENDER_START  \nFRAME_RENDER_END  \nFRAME_NET_UPDATE_START  \nFRAME_NET_UPDATE_END  \nFRAME_NET_UPDATE_POSTDATAUPDATE_START  \nFRAME_NET_UPDATE_POSTDATAUPDATE_END  \nOther game events  \nlist can be found HERE  https://wiki.alliedmods.net/Counter-Strike:_Global_Offensive_Events\n```java\nfunction test()\n{\n    Cheat.Print(\"hi from test function\\n\");\n}\n\nCheat.RegisterCallback(\"round_start\", \"test\");\n// This function prints the text to the in-game console every time \"round_start\" event is called.\n```\n\n\n  [ **EXECUTECOMMAND** ]\nSyntax:Cheat.ExecuteCommand(cmd)  \nPrints a message in in-game chat.  \n```java\nCheat.ExecuteCommand( \"say hello\" );\n// This function will say hello in chat when script is loaded.\n```\n\n  [ **PRINTCOLOR** ]\nSyntax:Cheat.PrintColor([ r, g, b, a ], \"Text\")  \nCheat.PrintColor is used for same purpose(s) as Cheat.Print, in addition you can make your console outputs in different colors.  \n```java\nCheat.PrintColor( [ 255, 0, 0, 255 ], \"This is red text\" );\n```\n\n  [ **PRINT** ]\nSyntax:Cheat.Print(message)  \nUsed to print out wide ranges of information to your console, as well as simple messages.  \n```java\nCheat.Print( 'hello' );\n```\n\n[back to Contents](#-1)\n\n\n## \u003ca name=\"w\"\u003e\u003c/a\u003eInput\n|-------------------------------|\n\n\n  [ **GETCURSORPOSITION** ]\nSyntax:Input.GetCursorPosition()  \n**Returns** an array object with X, Y for cursor position.  \n```java\nfunction getCursorPosition()\n{\n    var cursor_pos = Input.GetCursorPosition();\n    Cheat.Print( \"Cursor pos X is: \" + cursor_pos[0] + \"\\n\");\n    Cheat.Print( \"Cursor pos Y is: \" + cursor_pos[1] + \"\\n\");\n}\nCheat.RegisterCallback(\"Draw\", \"getCursorPosition\")\n// This function will print your cursor position x and y in in-game console.\n```\n\n\n  [ **ISKEYPRESSED** ]\nSyntax:Input.IsKeyPressed(VK_KEY)  \n**Returns** boolean value whether or not a key was pressed.  \n```java\nif (Input.IsKeyPressed(0x01))\n{\n   Cheat.ExecuteCommand(\"say hello\");\n}\n```\nA full list of virtual keys can be found HERE. https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes  \n\n[back to Contents](#-1)\n\n## \u003ca name=\"e\"\u003e\u003c/a\u003eWorld\n|-------------------------------|\n\n  [ **GETCURSORPOSITION** ]\nSyntax:World.GetServerString();  \n**Returns** server IP.  \n```java\nserver = World.GetServerString();\nCheat.Print(server + '\\n')\n```\n\n  [ **GETMAPNAME** ]\nSyntax:World.GetMapName();  \n**Returns** current map name.  \n```java\ncurrent_map = World.GetMapName();\n```\n\n\n[back to Contents](#-1)\n\n## \u003ca name=\"r\"\u003e\u003c/a\u003eAntiAim\n|-------------------------------|\n\n  [ **SETLBYOFFSET** ]\nSyntax:AntiAim.SetLBYOffset(int degree);  \nSets the LBY offset of your fake angle.  \n```java\n// The following code-block will put your real to the left, your fake backwards, and create an LBY similar to the \"opposite\" option.\n\nAntiAim.SetOverride(1);\nAntiAim.SetFakeOffset(30);\nAntiAim.SetRealOffset(-30);\nAntiAim.SetLBYOffset(90); // \u003c----- This will offset your Fake LBY similar to the \"opposite\" setting.\n```\n\n  [ **SETREALOFFSET** ]\nSyntax:AntiAim.SetRealOffset(int degree);  \nSets the offset of your Real angle. Your Real angle is relative to your Fake.  \n```java\n// The following code-block will put your real to the left, your fake backwards, and create an LBY similar to the \"opposite\" option.\n\nAntiAim.SetOverride(1);\nAntiAim.SetFakeOffset(30);\nAntiAim.SetRealOffset(-30); // \u003c----- This will set your real to -30 degrees (RELATIVE TO YOUR FAKE OFFSET OF 30 THAT WAS SETUP ABOVE).\nAntiAim.SetLBYOffset(90);\n```\n\n  [ **SETFAKEOFFSET** ]\nSyntax:AntiAim.SetFakeOffset(int degree);  \nSets the offset of your Fake angle. Fake is the master offset of the AntiAim functions, your Real and LBY are relative to the fake offset.  \n```java\n// The following code-block will put your real to the left, your fake backwards, and create an LBY similar to the \"opposite\" option.\n\nAntiAim.SetOverride(1);\nAntiAim.SetFakeOffset(30); // \u003c----- This will setup your fake offset.\nAntiAim.SetRealOffset(-30);\nAntiAim.SetLBYOffset(90);\n```\n\n  [ **GETOVERRIDE** ]\nSyntax:AntiAim.GetOverride();  \n**Returns** the anti-aim override state.  \n```java\n// The following code-block will print true.\n\nAntiAim.SetOverride(1);\n\nCheat.Print(AntiAim.GetOverride() + \"\\n\");\n```\n\n  [ **GETOVERRIDE** ]\nSyntax:AntiAim.SetOverride(int state);  \nEnables/disables anti-aim overriding.  \nThe values used by AA are updated AFTER each send to the server, you can edit them mid cycle, but they wont apply until the next.  \nIt is recommended to update values in CreateMove callback.  \nSpamming SetOverride with alternating values is undefined behavior, just spamming it with 1 or 0 is totally fine though.  \nAfter disabling a script that uses SetOverride, it will not revert back to the original state, you need to change it before the script is disabled.  \nThe values are offsets to your base yaw, base yaw is affected by the following settings.  \nYaw offset  \nJitter offset (and thus jitter)  \nAt targets  \nAuto direction  \nManual direction  \nIt is therefor recommended to pay attention and handle this accordingly, disable these settings if your script takes control of it.  \n**Understanding Anti-Aim** \nYour fake will be used as a master angle, every other setting is relative to your fake angle.  \nThe maximum possible angle between your final fake angle and final real angle is 60°.  \nSetFakeOffset's default value (0) will set your head backwards, angles are based off 0° being your origin angle.  \n\n```java\n// The following code-block will put your real to the left, your fake backwards, and create an LBY similar to the \"opposite\" setting.\n\nAntiAim.SetOverride(1); // \u003c----- This will enable anti-aim overriding.\nAntiAim.SetFakeOffset(30);\nAntiAim.SetRealOffset(-30);\nAntiAim.SetLBYOffset(90);\n```\n\n[back to Contents](#-1)\n\n## \u003ca name=\"a\"\u003e\u003c/a\u003eExploit\n|-------------------------------|\n\n\n**IN OT V3 CRACK NOT WORKS**  [ **OVERRIDETOLERANCE** ]\nSyntax:Exploit.OverrideTolerance(int value);  \nLower value results in faster double-tap.   \nDefault value: 2  \nMaximum value is clamped to 8.  \n```java\nUI.AddSliderInt(\"Shift\", 0, 14)\nUI.AddSliderInt(\"Tolerance\", 0, 8)\nfunction on_createmove()\n{\n    Exploit.OverrideShift(UI.GetValue(\"Script items\", \"Shift\"))\n    Exploit.OverrideTolerance(UI.GetValue(\"Script items\", \"Tolerance\"))\n}\nCheat.RegisterCallback(\"CreateMove\", \"on_createmove\")\n```\n\n**IN OT V3 CRACK NOT WORKS**  [ **OVERRIDESHIFT** ]\nSyntax:Exploit.OverrideShift(int value);  \nHigher value results in faster double-tap.  \nDefault value: 12  \nMaximum value is clamped to 14.  \n```java\nUI.AddSliderInt(\"Shift\", 0, 14)\nUI.AddSliderInt(\"Tolerance\", 0, 8)\nfunction on_createmove()\n{\n    Exploit.OverrideShift(UI.GetValue(\"Script items\", \"Shift\"))\n    Exploit.OverrideTolerance(UI.GetValue(\"Script items\", \"Tolerance\"))\n}\nCheat.RegisterCallback(\"CreateMove\", \"on_createmove\")\n```\n\n  [ **ENABLERECHARGE** ]\nSyntax:Exploit.EnableRecharge();  \nEnable automatic recharge  \n```java\nfunction on_cm()\n{\n    Exploit.EnableRecharge()\n}\nCheat.RegisterCallback(\"CreateMove\", \"on_cm\")\n```\n\n  [ **DISABLERECHARGE** ]\nSyntax:Exploit.DisableRecharge();  \nDisables automatic recharging  \n```java\nfunction on_cm()\n{\n    Exploit.DisableRecharge()\n}\nCheat.RegisterCallback(\"CreateMove\", \"on_cm\")\n```\n\n  [ **RECHARGE** ]\nSyntax:Exploit.Recharge();  \nForces a recharge.  \n```java\nfunction on_cm()\n{\n    Exploit.Recharge()\n}\nCheat.RegisterCallback(\"CreateMove\", \"on_cm\")\n```\n\n  [ **GETCHARGE** ]\nSyntax:Exploit.GetCharge();   \n**Returns** a fraction (0 to 1).  \n```java\nfunction on_cm()\n{\n    chargestate = Exploit.GetCharge()\n    Cheat.Print(chargestate + \"\\n\")\n}\nCheat.RegisterCallback(\"CreateMove\", \"on_cm\")\n```\n\n[back to Contents](#-1)\n\n\n## \u003ca name=\"s\"\u003e\u003c/a\u003eRagebot\n|-------------------------------|\n\n  [ **IGNORETARGET** ]\nSyntax:Ragebot.IgnoreTarget( entity_index );  \nIgnores a target for 1 tick  \n\nThis example will force ragebot to ignore target player with name \"llama\" if possible.  \nYou can change the name in code and use this as a whitelist for your friends on HVH servers.  \n\n**Note:** ForceTarget is only active for 1 tick and must be called on CreateMove callback.  \n```java\nvar target = 0\nfunction cm()\n{\n    target = Ragebot.GetTarget()\n    if (Entity.GetName(target) == \"llama\")\n    {\n        Ragebot.IgnoreTarget(target)\n    }\n}\n\nCheat.RegisterCallback(\"CreateMove\", \"cm\")\n```\n\n  [ **FORCEHITBOXSAFETY** ]\nSyntax:Ragebot.ForceHitboxSafety( hitbox_index );  \nForces safety on a specific hitbox  \n\n**Hitboxes:**\n0 = head ( 4x damage )  \n1 = neck ( legacy in CSGO, does not actually register damage )  \n2 = pelvis ( 1.25x damage )  \n3 = body ( 1.25x damage )  \n4 = thorax  \n5 = chest  \n6 = upper chest  \n7 = left thigh  \n8 = right thigh  \n9 = left calf  \n10 = right calf  \n11 = left foot  \n12 = right foot  \n\nThis example will force ragebot to target only safe point of the hitbox if target velocity is less or equal to 90.  \n**Note:** ForceHitboxSafety is only active for 1 tick and must be called on CreateMove callback.  \n\n```java\nvar target = 0\nfunction cm()\n{\n    target = Ragebot.GetTarget()\n    if (GetVelocity(target) \u003c= 90)\n    {\n        Ragebot.ForceHitboxSafety(0)\n    }\n}\nfunction GetVelocity(index) {\n    var velocity = Entity.GetProp(index, \"CBasePlayer\", \"m_vecVelocity[0]\");\n    return Math.sqrt(velocity[0] * velocity[0] + velocity[1] * velocity[1]);\n}\nCheat.RegisterCallback(\"CreateMove\", \"cm\")\n```\n\n  [ **FORCETARGETMINIMUMDAMAGE** ]\nSyntax:Ragebot.ForceTargetMinimumDamage(entity_index, value);  \nOverrides minimum damage on a specific target  \nThis example will force ragebot's minimum damage to 80 if target velocity is less or equal to 90.  \n**Note:** ForceTargetMinimumDamage is only active for 1 tick and must be called on CreateMove callback.  \n\n```java\nvar target = 0\nfunction cm()\n{\n    target = Ragebot.GetTarget()\n    if (GetVelocity(target) \u003c= 90)\n    {\n        Ragebot.ForceTargetMinimumDamage(target, 80)\n    }\n}\nfunction GetVelocity(index) {\n    var velocity = Entity.GetProp(index, \"CBasePlayer\", \"m_vecVelocity[0]\");\n    return Math.sqrt(velocity[0] * velocity[0] + velocity[1] * velocity[1]);\n}\nCheat.RegisterCallback(\"CreateMove\", \"cm\")\n```\n\n  [ **FORCETARGETHITCHANCE** ]\nSyntax:Ragebot.ForceTargetHitchance( entity_index, value);  \nOverrides hitchance on a specific target  \nThis example will force ragebot's hitchance to 80 if target velocity is less or equal to 90.  \n**Note:** ForceTargetHitchance is only active for 1 tick and must be called on CreateMove callback.  \n\n```java\nvar target = 0\nfunction cm()\n{\n    target = Ragebot.GetTarget()\n    if (GetVelocity(target) \u003c= 90)\n    {\n        Ragebot.ForceTargetHitchance(target, 80)\n    }\n}\nfunction GetVelocity(index) {\n    var velocity = Entity.GetProp(index, \"CBasePlayer\", \"m_vecVelocity[0]\");\n    return Math.sqrt(velocity[0] * velocity[0] + velocity[1] * velocity[1]);\n}\nCheat.RegisterCallback(\"CreateMove\", \"cm\")\n```\n\n  [ **FORCETARGETSAFETY** ]\nSyntax:Ragebot.ForceTargetSafety(entity_index);  \nForces safety on a specific target.  \nThis example will force ragebot safety on target if the target's name is \"edeen\".  \n**Note:** ForceTargetSafety is only active for 1 tick and must be called on CreateMove callback.   \n\n```java\nvar target = 0\nfunction cm()\n{\n    target = Ragebot.GetTarget()\n    if (Entity.GetName(target) == \"edeen\")\n    {\n        Ragebot.ForceTargetSafety(target)\n    }\n}\nCheat.RegisterCallback(\"CreateMove\", \"cm\")\n```\n\n  [ **FORCETARGET** ]\nSyntax:Ragebot.ForceTarget(entity_index);  \nForces the rage-bot to target a specific entity.  \nThis example will force ragebot to target player with name \"edeen\" if possible.  \n**Note:** ForceTarget is only active for 1 tick and must be called on CreateMove callback.  \n \n\n```java\nvar target = 0\nfunction cm()\n{\n    target = Ragebot.GetTarget()\n    if (Entity.GetName(target) == \"edeen\")\n    {\n        Ragebot.ForceTargetSafety(target)\n    }\n}\nCheat.RegisterCallback(\"CreateMove\", \"cm\")\n```\n\n  [ **GETTARGET** ]\nSyntax:Ragebot.GetTarget();  \nUsed to get ragebot target.  \n\n\n```java\nvar target = 0\nfunction onCM(){\n    target = Ragebot.GetTarget()\n}\nfunction onDraw(){\n    var pos = Entity.GetRenderBox(target)\n    var font = Render.AddFont(\"Verdana\", 8, 400)\n    var a = pos[3] - pos[1]\n    a /= 2\n    a += pos[1]\n    Render.StringCustom(a,pos[2] - 30,1,\"TARGET\", [255,255,255,255], font)\n}\nCheat.RegisterCallback(\"CreateMove\", \"onCM\")\nCheat.RegisterCallback(\"Draw\", \"onDraw\")\n```\n\n\n\n\n[back to Contents](#-1)\n\n\n## \u003ca name=\"d\"\u003e\u003c/a\u003eMaterial\n|-------------------------------|\n\n\n  [ **REFRESH** ]\nSyntax:Material.Refresh( material_index );  \nUsed to apply new set key values.  \n**Returns** if the operation succeeded.  \nNote: This function can only be used in functions with Material callback.  \nMore keys and values can be found below:  \nhttps://developer.valvesoftware.com/wiki/Category:List_of_Shader_Parameters  \nhttps://developer.valvesoftware.com/wiki/VertexLitGeneric  \n```java\nMaterial.Create(\"testmaterial\");\nfunction updateMaterials()\n{\n    mat_index = Material.Get(\"testmaterial\");\n    if (mat_index \u003e 0)\n    {\n        Material.SetKeyValue(mat_index, \"$baseTexture\", \"vgui/white\");\n        Material.SetKeyValue(mat_index, \"$envmap\", \"models/effects/cube_white\");\n        Material.SetKeyValue(mat_index, \"$envmapfresnel\", \"1\");\n        Material.SetKeyValue(mat_index, \"$envmapfresnelminmaxexp\", \"[0 1 2]\");\n        Material.SetKeyValue(mat_index, \"$color\", \"[1.0 1.0 1.0]\");\n        Material.SetKeyValue(mat_index, \"$envmaptint\", \"[1.0 1.0 1.0]\");\n        Material.Refresh(mat_index);\n    }\n}\nCheat.RegisterCallback(\"Material\", \"updateMaterials\")\n```\n\n  [ **SETKEYVALUE** ]\nSyntax:Material.SetKeyValue( material_index, key, value );  \nUsed to set key values.    \n**Returns** if the operation succeeded.  \nNote: This function can only be used in functions with Material callback.  \nMore keys and values can be found below:  \nhttps://developer.valvesoftware.com/wiki/Category:List_of_Shader_Parameters  \nhttps://developer.valvesoftware.com/wiki/VertexLitGeneric  \n```java\nMaterial.Create(\"testmaterial\");\nfunction updateMaterials()\n{\n    mat_index = Material.Get(\"testmaterial\");\n    if (mat_index \u003e 0)\n    {\n        Material.SetKeyValue(mat_index, \"$baseTexture\", \"vgui/white\");\n        Material.SetKeyValue(mat_index, \"$envmap\", \"models/effects/cube_white\");\n        Material.SetKeyValue(mat_index, \"$envmapfresnel\", \"1\");\n        Material.SetKeyValue(mat_index, \"$envmapfresnelminmaxexp\", \"[0 1 2]\");\n        Material.SetKeyValue(mat_index, \"$color\", \"[1.0 1.0 1.0]\");\n        Material.SetKeyValue(mat_index, \"$envmaptint\", \"[1.0 1.0 1.0]\");\n        Material.Refresh(mat_index);\n    }\n}\nCheat.RegisterCallback(\"Material\", \"updateMaterials\")\n```\n\n  [ **GET** ]\nSyntax:Material.Get( name );  \nUsed to get material index.  \n**Returns** 0 if material doesn't exist.  \n**Note:** This function can only be used in functions with Material callback.  \n```java\nMaterial.Create(\"testmaterial\");\nfunction updateMaterials()\n{\n    mat_index = Material.Get(\"testmaterial\");\n    if (mat_index \u003e 0)\n    {\n        Material.SetKeyValue(mat_index, \"$baseTexture\", \"vgui/white\");\n        Material.SetKeyValue(mat_index, \"$envmap\", \"models/effects/cube_white\");\n        Material.SetKeyValue(mat_index, \"$envmapfresnel\", \"1\");\n        Material.SetKeyValue(mat_index, \"$envmapfresnelminmaxexp\", \"[0 1 2]\");\n        Material.SetKeyValue(mat_index, \"$color\", \"[1.0 1.0 1.0]\");\n        Material.SetKeyValue(mat_index, \"$envmaptint\", \"[1.0 1.0 1.0]\");\n        Material.Refresh(mat_index);\n    }\n}\nCheat.RegisterCallback(\"Material\", \"updateMaterials\")\n```\n\n  [ **DESTROY** ]\nSyntax:Material.Destroy( name );    \n**Returns** true if material was destroyed successfully.  \n```java\nMaterial.Destroy(\"cool material\")\n```\n\n  [ **CREATE** ]\nSyntax:Material.Create( name );  \n**Returns** true if material was created successfully or false otherwise.   \n```java\nMaterial.Create(\"cool material\")\n```\n\n\n\n[back to Contents](#-1)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzausera%2Fonetap-v3-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzausera%2Fonetap-v3-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzausera%2Fonetap-v3-js/lists"}