Scripts are AngelScript files the cheat runs inside the game. They add their own menu, draw on screen and read the game, and they live in your account's library, not on your PC.
// crosshair.as
toggle_t@ g_show;
slider_float_t@ g_size;
void load() {
@g_show = menu::add_toggle("show crosshair", true);
@g_size = menu::add_slider_float("size", 2.f, 20.f, 6.f);
cheat::add_log("crosshair loaded");
}
void unload() {
cheat::add_log("crosshair unloaded");
}
void render() {
if (g_show is null || !g_show.get_value()) return;
vec2_t c = render::get_display_size() * 0.5f;
float s = g_size.get_value();
color_t white(255, 255, 255, 255);
render::add_rect_filled(vec2_t(c.x - s, c.y - 1), vec2_t(s * 2, 2), white);
render::add_rect_filled(vec2_t(c.x - 1, c.y - s), vec2_t(2, s * 2), white);
}
void update() {
}Define any of these at the top level of your script. Leave out the ones you do not need.
void load()once, when the script startsadd your menu elements, create fonts, set up state.
void render()every frameall drawing goes here: boxes, text, lines with render::. runs on the render thread.
void update()every game tickgame logic: read and write game state here. runs on the game thread, at the game's rate, which can differ from render.
void unload()once, when the script stopsruns when the script is turned off or replaced.
render:: draws, menu:: adds elements to your script's menu, game:: reads the game and cheat:: talks to the cheat. Call them with the prefix: render::add_text(...).
Types ending in @ point at objects the cheat owns. Assign with @x = ... and check x is null before you use one.
Paste a script in-game and it saves to your account, or add one from a share link. It follows you to any PC you play on.
Highlighting and autocomplete for this exact API, kept in step with this page.
Only install it from the official marketplace link. Copies from anywhere else are not ours.
globalfloatabs(float)floatacos(float)floatasin(float)floatatan(float)floatatan2(float, float)floatceil(float)boolcloseTo(float, float, float = 0.00001f)boolcloseTo(double, double, double = 0.0000000001)floatcos(float)floatcosh(float)floatfloor(float)stringformat(const string&in fmt, const ?&in...)stringformatFloat(double val, const string&in options = "", uint width = 0, uint precision = 0)stringformatInt(int64 val, const string&in options = "", uint width = 0)stringformatUInt(uint64 val, const string&in options = "", uint width = 0)doublefpFromIEEE(uint64)floatfpFromIEEE(uint)uintfpToIEEE(float)uint64fpToIEEE(double)floatfraction(float)floatlog(float)floatlog10(float)doubleparseFloat(const string&in, uint&out byteCount = 0)int64parseInt(const string&in, uint base = 10, uint&out byteCount = 0)uint64parseUInt(const string&in, uint base = 10, uint&out byteCount = 0)floatpow(float, float)uintscan(const string&in str, ?&out...)floatsin(float)floatsinh(float)floatsqrt(float)floattan(float)floattanh(float)cheat::voidadd_log(string text)game::vec3_tget_camera_position()uint64get_module_base(string name)vec3_tget_transform_position(uint64 transform)voidmove_mouse(const vec2_t&in pos)boolread_bool(uint64 address)doubleread_double(uint64 address)floatread_float(uint64 address)int16read_int16(uint64 address)intread_int32(uint64 address)int64read_int64(uint64 address)int8read_int8(uint64 address)stringread_string(uint64 address)uint16read_uint16(uint64 address)uintread_uint32(uint64 address)uint64read_uint64(uint64 address)uint8read_uint8(uint64 address)vec3_tread_vec3(uint64 address)voidwrite_bool(uint64 address, bool value)voidwrite_double(uint64 address, double value)voidwrite_float(uint64 address, float value)voidwrite_int16(uint64 address, int16 value)voidwrite_int32(uint64 address, int value)voidwrite_int64(uint64 address, int64 value)voidwrite_int8(uint64 address, int8 value)voidwrite_uint16(uint64 address, uint16 value)voidwrite_uint32(uint64 address, uint value)voidwrite_uint64(uint64 address, uint64 value)voidwrite_uint8(uint64 address, uint8 value)voidwrite_vec3(uint64 address, vec3_t value)render::voidadd_circle(vec2_t pos, color_t color, float radius)voidadd_circle_filled(vec2_t pos, color_t color, float radius)voidadd_rect(vec2_t pos, vec2_t size, color_t color, float rounding = 0.f)voidadd_rect_filled(vec2_t pos, vec2_t size, color_t color, float rounding = 0.f)voidadd_rect_outlined(vec2_t pos, vec2_t size, color_t color, float rounding = 0.f)voidadd_text(vec2_t pos, string text, color_t color, int font)voidadd_text(vec2_t pos, string text, color_t color, font_t@ font)voidadd_text_shadowed(vec2_t pos, string text, color_t color, font_t@ font)voidadd_text_shadowed(vec2_t pos, string text, color_t color, int font)boolarea_contains(vec2_t pos, vec2_t size, vec2_t test_pos)font_t@create_font(string file_name, float size)vec2_tget_click_pos()vec2_tget_cursor_pos()floatget_delta_time()vec2_tget_display_size()boolget_key_state(int key)doubleget_time()vec2_tto_screen(vec3_t pos)arrayarray value = { repeat T };const T&opForValue0(uint index) constuintopForValue1(uint index) constvoidinsertAt(uint index, const T&in value)voidinsertAt(uint index, const array<T>&inout arr)voidinsertLast(const T&in value)voidremoveAt(uint index)voidremoveLast()voidremoveRange(uint start, uint count)uintlength() constvoidreserve(uint length)voidresize(uint length)voidsortAsc()voidsortAsc(uint startAt, uint count)voidsortDesc()voidsortDesc(uint startAt, uint count)voidreverse()intfind(const T&in value) constintfind(uint startAt, const T&in value) constintfindByRef(const T&in value) constintfindByRef(uint startAt, const T&in value) constboolisEmpty() constvoidsort(array<T>::less&in, uint startAt = 0, uint count = uint(-1))bind_tbind_t(const bind_t&in)bind_t(string, int = 1, INTERACTION_TYPE = INTERACTION_TYPE::HELD)stringget_key()stringget_name()stringget_type_name()INTERACTION_TYPEget_type()boolget_enabled()color_tcolor_t value = { int, int, int, int };color_t(int, int, int, int)floatrfloatgfloatbfloataboolrainbowfloatrainbow_speedcombo_tintget_value()voidset_value(int value)stringget_label()voidset_label(string value)voidset_interaction_callback(interaction_callback_fn@ fn)voidset_visible(bool value)boolget_visible()voidset_tooltip(string value)voidset_position(vec2_t value)ELEMENT_TYPEget_type()element_t@opImplCast()divider_tstringget_label()voidset_label(string value)voidset_interaction_callback(interaction_callback_fn@ fn)voidset_visible(bool value)boolget_visible()voidset_tooltip(string value)voidset_position(vec2_t value)ELEMENT_TYPEget_type()element_t@opImplCast()element_tstringget_label()voidset_label(string value)voidset_interaction_callback(interaction_callback_fn@ fn)voidset_visible(bool value)boolget_visible()voidset_tooltip(string value)voidset_position(vec2_t value)ELEMENT_TYPEget_type()font_tAn opaque handle: get one from the functions that return it and pass it back to the ones that take it.
label_divider_tstringget_label()voidset_label(string value)voidset_interaction_callback(interaction_callback_fn@ fn)voidset_visible(bool value)boolget_visible()voidset_tooltip(string value)voidset_position(vec2_t value)ELEMENT_TYPEget_type()element_t@opImplCast()label_tstringget_label()voidset_label(string value)voidset_interaction_callback(interaction_callback_fn@ fn)voidset_visible(bool value)boolget_visible()voidset_tooltip(string value)voidset_position(vec2_t value)ELEMENT_TYPEget_type()element_t@opImplCast()multi_combo_tuint8get_value()uint8get_value(int idx)voidset_value(int idx, uint8 value)stringget_label()voidset_label(string value)voidset_interaction_callback(interaction_callback_fn@ fn)voidset_visible(bool value)boolget_visible()voidset_tooltip(string value)voidset_position(vec2_t value)ELEMENT_TYPEget_type()element_t@opImplCast()slider_float_tfloatget_value()voidset_value(float value)stringget_label()voidset_label(string value)voidset_interaction_callback(interaction_callback_fn@ fn)voidset_visible(bool value)boolget_visible()voidset_tooltip(string value)voidset_position(vec2_t value)ELEMENT_TYPEget_type()element_t@opImplCast()slider_int_tintget_value()voidset_value(int value)stringget_label()voidset_label(string value)voidset_interaction_callback(interaction_callback_fn@ fn)voidset_visible(bool value)boolget_visible()voidset_tooltip(string value)voidset_position(vec2_t value)ELEMENT_TYPEget_type()element_t@opImplCast()stringstring()string(const string&in)uintlength() constvoidresize(uint)boolisEmpty() conststringopAdd_r(double) conststringopAdd_r(float) conststringopAdd_r(int64) conststringopAdd_r(uint64) conststringopAdd_r(bool) conststringsubstr(uint start = 0, int count = -1) constintfindFirst(const string&in, uint start = 0) constintfindFirstOf(const string&in, uint start = 0) constintfindFirstNotOf(const string&in, uint start = 0) constintfindLast(const string&in, int start = -1) constintfindLastOf(const string&in, int start = -1) constintfindLastNotOf(const string&in, int start = -1) constvoidinsert(uint pos, const string&in other)voiderase(uint pos, int count = -1)intregexFind(const string&in regex, uint start = 0, uint&out lengthOfMatch = void) conststring&opAssign(const string&in)string&opAddAssign(const string&in)boolopEquals(const string&in) constintopCmp(const string&in) conststringopAdd(const string&in) constuint8&opIndex(uint)const uint8&opIndex(uint) conststring&opAssign(double)string&opAddAssign(double)stringopAdd(double) conststring&opAssign(float)string&opAddAssign(float)stringopAdd(float) conststring&opAssign(int64)string&opAddAssign(int64)stringopAdd(int64) conststring&opAssign(uint64)string&opAddAssign(uint64)stringopAdd(uint64) conststring&opAssign(bool)string&opAddAssign(bool)stringopAdd(bool) consttoggle_tboolget_value()voidset_value(bool value)stringget_label()voidset_label(string value)voidset_interaction_callback(interaction_callback_fn@ fn)voidset_visible(bool value)boolget_visible()voidset_tooltip(string value)voidset_position(vec2_t value)ELEMENT_TYPEget_type()element_t@opImplCast()vec2_tvec2_t value = { float, float };vec2_t(float, float)floatxfloatyfloatdistance(const vec2_t&in to)floatlength()vec2_topAdd(const vec2_t&in) constvec2_topSub(const vec2_t&in) constvec2_topMul(const vec2_t&in) constvec2_topDiv(const vec2_t&in) constvec2_topMul(float) constvec2_topDiv(float) constvec2_t&opAddAssign(const vec2_t&in)vec2_t&opSubAssign(const vec2_t&in)vec2_t&opMulAssign(const vec2_t&in)vec2_t&opDivAssign(const vec2_t&in)vec2_t&opMulAssign(float)vec2_t&opDivAssign(float)vec3_tvec3_t value = { float, float, float };vec3_t(float, float, float)floatxfloatyfloatzboolopEquals(const vec3_t&in) constboolopNotEquals(const vec3_t&in) constvec3_topAdd(const vec3_t&in) constvec3_topSub(const vec3_t&in) constvec3_topMul(float) constvec3_t&opDiv(float)vec3_t&opAddAssign(const vec3_t&in)vec3_t&opSubAssign(const vec3_t&in)vec3_t&opMulAssign(float)vec3_t&opDivAssign(float)ELEMENT_TYPEELEMENT_TYPE::LABEL0ELEMENT_TYPE::CHECKBOX1ELEMENT_TYPE::SLIDER_INT2ELEMENT_TYPE::SLIDER_FLOAT3ELEMENT_TYPE::SINGLE_COMBO4ELEMENT_TYPE::MULTI_COMBO5ELEMENT_TYPE::BUTTON6ELEMENT_TYPE::DIVIDER7ELEMENT_TYPE::LABEL_DIVIDER8ELEMENT_TYPE::SINGLE_LISTBOX9ELEMENT_TYPE::MULTI_LISTBOX10ELEMENT_TYPE::COLORPICKER11ELEMENT_TYPE::KEYBIND12ELEMENT_TYPE::TAB13ELEMENT_TYPE::SUBTAB14ELEMENT_TYPE::GROUP15ELEMENT_TYPE::SWITCH16ELEMENT_TYPE::INPUT_TEXT17ELEMENT_TYPE::CLICK_LABEL18INTERACTION_TYPEINTERACTION_TYPE::TOGGLE0INTERACTION_TYPE::HELD1INTERACTION_TYPE::ALWAYS2INTERACTION_TYPE::NEVER3