JS-скрипт Skeet indicators v3

XO-YAW Innovations LLC
Участник
Статус
Оффлайн
Регистрация
23 Дек 2018
Сообщения
492
Реакции[?]
156
Поинты[?]
20K
покупать за 20$ а потом ликать на югейм, жалко что плохо компильнул, а так у челика с мозгом видимо не все хорошо :3
 
♡。✧|3ㄴ¥∆ㅜ✧。* °*: — Дал Дал Ушёл +| nightcore
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
374
Реакции[?]
121
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
покупать за 20$ а потом ликать на югейм, жалко что плохо компильнул, а так у челика с мозгом видимо не все хорошо :3
бабки есть почему бы и нет мне похуй
 
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
62
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
можеж скинуть на ФЕЙК ИНДИКАТОР ПЛЕЗ ЧТОБЫ ЛЦ БЫЛ РЯДОМ С ФЕЙК И ДТ
 
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
62
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
♡。✧|3ㄴ¥∆ㅜ✧。* °*: — Дал Дал Ушёл +| nightcore
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
374
Реакции[?]
121
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
62
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Последнее редактирование:
♡。✧|3ㄴ¥∆ㅜ✧。* °*: — Дал Дал Ушёл +| nightcore
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
374
Реакции[?]
121
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
62
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
floopa boy
Забаненный
Статус
Оффлайн
Регистрация
13 Апр 2020
Сообщения
93
Реакции[?]
13
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
♡。✧|3ㄴ¥∆ㅜ✧。* °*: — Дал Дал Ушёл +| nightcore
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
374
Реакции[?]
121
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
62
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
♡。✧|3ㄴ¥∆ㅜ✧。* °*: — Дал Дал Ушёл +| nightcore
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
374
Реакции[?]
121
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
62
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
var menu = {};
var menu_elements = {};
const menu_spacer = " ";

/**
* Concats two elements into an array without increasing the array length.
* Prevents the memory leak in 2.0.0 from happening
*
* @param a {array}
* @param b {any}
*/
menu.concat = function(a, b)
{
// Creates a new array.
var arr = [];

// Push all items from the array 'a' into our array.
for (var c in a)
{
arr.push(a[c]);
}

// Push the value 'b' into our array.
arr.push(b);

// Return the new array.
return arr;
}

/**
* Creates a new menu label
*
* @param label {string}
*/
menu.label = function(label)
{
// Creates the label
UI.AddLabel(label);
};

/**
* Creates a new menu element
*
* @param func {function}
* @param name {string}
* @param label {string},
* @param properties {array}
*/
menu.new = function(func, name, label, properties, initial_value)
{
// Fix values
properties = properties || [];
initial_value = initial_value || undefined;

// Get properties
const final_name = name + menu_spacer + label;
var final_props = [final_name];

const element_info_t = {
path: ["Misc", "JAVASCRIPT", "Script items", final_name],
cache: initial_value,
func: func
};

// If our properties aren't null, then pack them together.
if (properties != null)
{
for (var i = 0; i < properties.length; i++)
{
final_props.push(properties);
}
}

// Create our menu element and return properties
func.apply(null, final_props);

// Initialize our menu element if it has an initializer.
if (initial_value)
{
switch (func)
{
case UI.AddColorPicker:
UI.SetColor.apply(null, this.concat(element_info_t.path, initial_value));
break;

case UI.AddHotkey:
break;

default:
UI.SetValue.apply(this, this.concat(element_info_t.path, initial_value));
break;
}
}

menu_elements[label] = element_info_t;

return element_info_t;
};

/**
* Creates a new menu reference
*
* @param path {array}
*/
menu.reference = function(path, func)
{
return {
path: path,
func: func
};
};

/**
* Gets the value of a menu element
*
* @param elem {array}
* ReturN {*}
*/
menu.get = function(elem)
{
// If the element doesn't exist
if (!(elem.path))
throw new Error("[Menu] This element doesn't exist!");

// Returns the element's value
switch (elem.func)
{
case UI.AddColorPicker:
return UI.GetColor.apply(null, elem.path);

case UI.AddHotkey:
return UI.IsHotkeyActive.apply(null, elem.path);

default:
return UI.GetValue.apply(null, elem.path);
}
};

/**
* Sets the value of a menu element
*
* @param elem {array}
* @param value {*}
*/
menu.set = function(elem, value)
{
// If the label doesn't exist
if (!(elem.path))
throw new Error("[Menu] This element doesn't exist!");

// Set the element's value
switch (elem.func)
{
case UI.AddColorPicker:
UI.SetColor.apply(null, this.concat(elem.path, value));
break;

case UI.AddHotkey:
if (menu.get(elem) !== value)
UI.ToggleHotkey.apply(null, elem.path);
break;

default:
UI.SetValue.apply(null, this.concat(elem.path, value));
break;
}
};

/**
* Changes the visibility of a menu elements
*
* @param elem {array}
* @param visible {boolean}
*/
menu.visibility = function(elem, visible)
{
// If the label doesn't exist
if (!(elem.path))
throw new Error("[Menu] This element doesn't exist!");

// Change the element's visibility
UI.SetEnabled.apply(null, this.concat(elem.path, visible));
};

/**
* Adds an event to a menu element which is triggered everytime this element's value is changed.
*
* @param elem {array}
* @param func {function}
*/
menu.add_event = function(elem, func)
{
if (!elem.path)
throw new Error("[Menu] This element doesn't exist!");

if (!elem.func)
throw new Errror("[Menu] This element does not have a valid type. Please, specify one.");

elem.callback = func;
}

/**
* Handles the menu elements' events. Call this inside a Draw or FSN callback.
*/
menu.handle_events = function()
{
for (var label in menu_elements)
{
const elem = menu_elements[label];

if (!elem.path || !elem.callback)
continue;

const value = menu.get(elem);

if (elem.cache === undefined)
elem.cache = value;

if (elem.cache !== value)
{
elem.callback.apply(null, [elem]);
elem.cache = value;
}
}
}

/**
* @brief Normalizes an yaw angle.
* @param angle {number}
* @returns {number}
*/
function normalize_yaw(angle)
{
var adjusted_yaw = angle;

if (adjusted_yaw < -180)
adjusted_yaw += 360;

if (adjusted_yaw > 180)
adjusted_yaw -= 360;

return adjusted_yaw;
}

Render.Arc = function(x, y, r1, r2, s, d, col)
{
for (var i = s; i < s + d; i++)
{
const rad = i * Math.PI / 180;

Render.Line(x + Math.cos(rad) * r1, y + Math.sin(rad) * r1, x + Math.cos(rad) * r2, y + Math.sin(rad) * r2, col);
}
}
//endregion

//region menu
const voffset = menu.new(UI.AddSliderInt, "| Indicators vertical offset", "", [0, 1000]);

const ref_antiaim_enabled = menu.reference(["Anti-Aim", "Fake angles", "Enabled"]);
const ref_fakelag_enabled = menu.reference(["Anti-Aim", "Fake-Lag", "Enabled"]);
const ref_doubletap = menu.reference(["Rage", "GENERAL", "Exploits", "Doubletap"]);
const ref_doubletap_hk = menu.reference(["Rage", "GENERAL", "Exploits", "Doubletap"], UI.AddHotkey);
const ref_hideshots_hk = menu.reference(["Rage", "GENERAL", "Exploits", "Hide shots"], UI.AddHotkey);
//endregion

//region locals
var last_time = 0;
var planted = false;
var bombsite = -1;
var offset = 0;

const modules = [
{
label: "DSY",
condition: function() {
return menu.get(ref_antiaim_enabled);
},
colors: {
dormant: [186, 0, 16, 225],
active: [154, 205, 50, 255]
},
logic: function() {
const self = modules[0];

const real = Local.GetRealYaw(), fake = Local.GetFakeYaw();
const delta = Math.abs(normalize_yaw(real % 360 - fake % 360)) / 2;

return delta / 60;
},
extra: function(x, y, color) {
const real = Local.GetRealYaw(), fake = Local.GetFakeYaw();
const delta = Math.abs(normalize_yaw(real % 360 - fake % 360)) / 2;

const frac = delta / 60;

Render.Arc(x+5, y, 6, 13, 0, 360, [10, 10, 10, 60]);
Render.Arc(x+5, y, 7, 11, 0, 360 * frac, color);
}
},
{
label: "LC",
condition: function() {
const me = Entity.GetLocalPlayer();
const on_ground = Entity.GetProp(me, "CBasePlayer", "m_fFlags") & 1;

return menu.get(ref_fakelag_enabled) & (!on_ground || Input.IsKeyPressed(0x20)) & !menu.get(ref_doubletap_hk) & !menu.get(ref_hideshots_hk);
},
colors: {
dormant: [186, 0, 16, 225],
active: [163, 232, 44, 255]
},
logic: function() {
const self = modules[1];

const me = Entity.GetLocalPlayer();
const vec = Entity.GetProp(me, "CBasePlayer", "m_vecVelocity[0]");
const vel = Math.sqrt(vec[0] ** 2 + vec[1] ** 2 + vec[2] ** 2);

if (vel > 370)
return 1;

return 0;
}
},
{
label: "DT",
condition: function() {
return menu.get(ref_doubletap) & menu.get(ref_doubletap_hk);
},
colors: {
dormant: [235, 235, 235, 255],
active: [235, 235, 235, 255]
},
logic: function() {
const self = modules[2];

const charge = Exploit.GetCharge();

self.colors.active = charge === 1 ? [235, 235, 235, 255] : [186, 0, 16, 225];

return 1;
}
},
{
label: "Bombsite A",
condition: function() {
return bombsite % 2 == 1;
},
colors: {
dormant: [240, 235, 60, 255],
active: [240, 235, 60, 255]
},
logic: function() {
return 1;
},
extra: function(x, y) {
const self = modules[3];

const frac = (Globals.Curtime() - last_time) / 3.125;

Render.Arc(x, y, 6, 11, 0, 360, [10, 10, 10, 25]);
Render.Arc(x, y, 7, 10, -90, 360 * frac, [232, 232, 232, 255]);
}
},
{
label: "Bombsite B",
condition: function() {
return bombsite % 2 == 0;
},
colors: {
dormant: [240, 235, 60, 255],
active: [240, 235, 60, 255]
},
logic: function() {
return 1;
},
extra: function(x, y, color) {
const self = modules[4];

const frac = (Globals.Curtime() - last_time) / 3.125;

Render.Arc(x, y, 6, 11, 0, 360, [10, 10, 10, 25]);
Render.Arc(x, y, 7, 10, -90, 360 * frac, [232, 232, 232, 255]);
}
},
{
label: "",
condition: function() {
return planted;
},
colors: {
dormant: [235, 235, 235, 255],
active: [235, 235, 235, 255]
},
logic: function() {
const self = modules[5];

var c4 = Entity.GetEntitiesByClassID(128)[0];

if (!c4)
return 0;

var timer = (Entity.GetProp(c4, "CPlantedC4", "m_flC4Blow") - Globals.Curtime());


return 1;
}
},
{
label: "",
condition: function() {
return planted;
},
colors: {
dormant: [135, 15, 15, 255],
active: [195, 255, 0, 255]
},
logic: function() {
const self = modules[6];

const me = Entity.GetLocalPlayer();

if (!me || !Entity.IsAlive(me))
return 0;

const c4 = Entity.GetEntitiesByClassID(128)[0];

if (!c4)
return 0;

const armor = Entity.GetProp(me, "CCSPlayerResource", "m_iArmor");
const health = Entity.GetProp(me, "CBasePlayer", "m_iHealth");

const origin = Entity.GetRenderOrigin(c4);
const my_origin = Entity.GetRenderOrigin(me);

const distance = Math.sqrt((origin[0] - my_origin[0]) ** 2 + (origin[1] - my_origin[1]) ** 2 + (origin[2] - my_origin[2]) ** 2);

// Ultranite
const a = 450.7;
const b = 75.68;
const c = 789.2;

const d = (distance - b) / c;

var damage = a * Math.exp(-d * d);

if (armor > 0) {
var newDmg = damage * 0.5;
var armorDmg = (damage - newDmg) * 0.5;

if (armorDmg > armor) {
armor = armor * (1 / .5);
newDmg = damage - armorDmg;
}

damage = Math.round(newDmg);
}



return Math.max(1 -damage / health, 0);
}
}
];
//endregion

//region functions

function draw_timer()
{
if (!planted)
return;

const me = Entity.GetLocalPlayer();

if (!me)
return;

if (!Entity.IsAlive(me))
{
if (Entity.GetProp(me, "CBasePlayer", "m_iObserverMode") < 4)
return;

me = Entity.GetProp(me, "CBasePlayer", "m_hObserverTarget");
}

var c4 = Entity.GetEntitiesByClassID(128)[0];

if (!c4)
return;

const y = Render.GetScreenSize()[1];
const color = [235, 235, 235, 255];

var bombsite_label = bombsite % 2 == 0 ? "" : "";

var timer = (Entity.GetProp(c4, "CPlantedC4", "m_flC4Blow") - Globals.Curtime());


Render.FilledRect(0, y - bar_length, 10, bar_length, color);
}

function draw_indicators()
{
const offset_y = menu.get(voffset);
const y = Render.GetScreenSize()[1] - offset_y;
const drawn = 0;

for (var i = 0; i < modules.length; i++)
{
const mod = modules;

if (!mod.condition()) continue;

const result = mod.logic();
const label_width = Render.TextSize(mod.label, 4)[0];
const color = [
mod.colors.dormant[0] + (mod.colors.active[0] - mod.colors.dormant[0]) * result,
mod.colors.dormant[1] + (mod.colors.active[1] - mod.colors.dormant[1]) * result,
mod.colors.dormant[2] + (mod.colors.active[2] - mod.colors.dormant[2]) * result,
255
];

Render.GradientRect(15 + offset, y - 130 - 55 * drawn, label_width + 15, 45, 1, [10, 10, 10, 50], [10, 10, 10, 0]);
Render.String(25 + offset, y - 125 - 55 * drawn, 0, mod.label, color, 4);

if (mod.extra)
mod.extra(40 + offset + label_width, y - 106 - 55 * drawn, color);

drawn++;
}
}

function on_draw() {
const me = Entity.GetLocalPlayer();

if (!me || !Entity.IsAlive(me))
return;

draw_indicators();
draw_timer();
}

function on_bomb_beginplant()
{
bombsite = Event.GetInt("site");
last_time = Globals.Curtime();
}

function on_bomb_planted()
{
planted = true;
bombsite = -1;
offset = 15;
}

function on_bomb_abortplant()
{
bombsite = -1;
}

function on_bomb_exploded()
{
planted = false;
offset = 0;
}

function on_round_prestart()
{
planted = false;
offset = 0;
bombsite = -1;
last_time = 0;
}

function on_player_connect()
{
var c4 = Entity.GetEntitiesByClassID(128)[0];

last_time = 0;

if (!c4)
{
planted = false;
offset = 0;
bombsite = -1;
return;
}

planted = true;
offset = 15;
bombsite = Entity.GetProp(c4, "CPlantedC4", "m_nBombSite");
}

Cheat.RegisterCallback("Draw", "on_draw");
Cheat.RegisterCallback("bomb_beginplant", "on_bomb_beginplant");
Cheat.RegisterCallback("bomb_planted", "on_bomb_planted");
Cheat.RegisterCallback("bomb_abortplant", "on_bomb_abortplant");
Cheat.RegisterCallback("bomb_exploded", "on_bomb_exploded");
Cheat.RegisterCallback("round_prestart", "on_round_prestart");
Cheat.RegisterCallback("player_connect_full", "on_player_connect");
//endregion
там крч уберешь бомб сайтее б и дсу и лц и сделай индикаторы фейк как в реалный ските как эти а не как у княза

var menu = {};
var menu_elements = {};
const menu_spacer = " ";

/**
* Concats two elements into an array without increasing the array length.
* Prevents the memory leak in 2.0.0 from happening
*
* @param a {array}
* @param b {any}
*/
menu.concat = function(a, b)
{
// Creates a new array.
var arr = [];

// Push all items from the array 'a' into our array.
for (var c in a)
{
arr.push(a[c]);
}

// Push the value 'b' into our array.
arr.push(b);

// Return the new array.
return arr;
}

/**
* Creates a new menu label
*
* @param label {string}
*/
menu.label = function(label)
{
// Creates the label
UI.AddLabel(label);
};

/**
* Creates a new menu element
*
* @param func {function}
* @param name {string}
* @param label {string},
* @param properties {array}
*/
menu.new = function(func, name, label, properties, initial_value)
{
// Fix values
properties = properties || [];
initial_value = initial_value || undefined;

// Get properties
const final_name = name + menu_spacer + label;
var final_props = [final_name];

const element_info_t = {
path: ["Misc", "JAVASCRIPT", "Script items", final_name],
cache: initial_value,
func: func
};

// If our properties aren't null, then pack them together.
if (properties != null)
{
for (var i = 0; i < properties.length; i++)
{
final_props.push(properties);
}
}

// Create our menu element and return properties
func.apply(null, final_props);

// Initialize our menu element if it has an initializer.
if (initial_value)
{
switch (func)
{
case UI.AddColorPicker:
UI.SetColor.apply(null, this.concat(element_info_t.path, initial_value));
break;

case UI.AddHotkey:
break;

default:
UI.SetValue.apply(this, this.concat(element_info_t.path, initial_value));
break;
}
}

menu_elements[label] = element_info_t;

return element_info_t;
};

/**
* Creates a new menu reference
*
* @param path {array}
*/
menu.reference = function(path, func)
{
return {
path: path,
func: func
};
};

/**
* Gets the value of a menu element
*
* @param elem {array}
* ReturN {*}
*/
menu.get = function(elem)
{
// If the element doesn't exist
if (!(elem.path))
throw new Error("[Menu] This element doesn't exist!");

// Returns the element's value
switch (elem.func)
{
case UI.AddColorPicker:
return UI.GetColor.apply(null, elem.path);

case UI.AddHotkey:
return UI.IsHotkeyActive.apply(null, elem.path);

default:
return UI.GetValue.apply(null, elem.path);
}
};

/**
* Sets the value of a menu element
*
* @param elem {array}
* @param value {*}
*/
menu.set = function(elem, value)
{
// If the label doesn't exist
if (!(elem.path))
throw new Error("[Menu] This element doesn't exist!");

// Set the element's value
switch (elem.func)
{
case UI.AddColorPicker:
UI.SetColor.apply(null, this.concat(elem.path, value));
break;

case UI.AddHotkey:
if (menu.get(elem) !== value)
UI.ToggleHotkey.apply(null, elem.path);
break;

default:
UI.SetValue.apply(null, this.concat(elem.path, value));
break;
}
};

/**
* Changes the visibility of a menu elements
*
* @param elem {array}
* @param visible {boolean}
*/
menu.visibility = function(elem, visible)
{
// If the label doesn't exist
if (!(elem.path))
throw new Error("[Menu] This element doesn't exist!");

// Change the element's visibility
UI.SetEnabled.apply(null, this.concat(elem.path, visible));
};

/**
* Adds an event to a menu element which is triggered everytime this element's value is changed.
*
* @param elem {array}
* @param func {function}
*/
menu.add_event = function(elem, func)
{
if (!elem.path)
throw new Error("[Menu] This element doesn't exist!");

if (!elem.func)
throw new Errror("[Menu] This element does not have a valid type. Please, specify one.");

elem.callback = func;
}

/**
* Handles the menu elements' events. Call this inside a Draw or FSN callback.
*/
menu.handle_events = function()
{
for (var label in menu_elements)
{
const elem = menu_elements[label];

if (!elem.path || !elem.callback)
continue;

const value = menu.get(elem);

if (elem.cache === undefined)
elem.cache = value;

if (elem.cache !== value)
{
elem.callback.apply(null, [elem]);
elem.cache = value;
}
}
}

/**
* @brief Normalizes an yaw angle.
* @param angle {number}
* @returns {number}
*/
function normalize_yaw(angle)
{
var adjusted_yaw = angle;

if (adjusted_yaw < -180)
adjusted_yaw += 360;

if (adjusted_yaw > 180)
adjusted_yaw -= 360;

return adjusted_yaw;
}

Render.Arc = function(x, y, r1, r2, s, d, col)
{
for (var i = s; i < s + d; i++)
{
const rad = i * Math.PI / 180;

Render.Line(x + Math.cos(rad) * r1, y + Math.sin(rad) * r1, x + Math.cos(rad) * r2, y + Math.sin(rad) * r2, col);
}
}
//endregion

//region menu
const voffset = menu.new(UI.AddSliderInt, "| Indicators vertical offset", "", [0, 1000]);

const ref_antiaim_enabled = menu.reference(["Anti-Aim", "Fake angles", "Enabled"]);
const ref_fakelag_enabled = menu.reference(["Anti-Aim", "Fake-Lag", "Enabled"]);
const ref_doubletap = menu.reference(["Rage", "GENERAL", "Exploits", "Doubletap"]);
const ref_doubletap_hk = menu.reference(["Rage", "GENERAL", "Exploits", "Doubletap"], UI.AddHotkey);
const ref_hideshots_hk = menu.reference(["Rage", "GENERAL", "Exploits", "Hide shots"], UI.AddHotkey);
//endregion

//region locals
var last_time = 0;
var planted = false;
var bombsite = -1;
var offset = 0;

const modules = [
{
label: "DSY",
condition: function() {
return menu.get(ref_antiaim_enabled);
},
colors: {
dormant: [186, 0, 16, 225],
active: [154, 205, 50, 255]
},
logic: function() {
const self = modules[0];

const real = Local.GetRealYaw(), fake = Local.GetFakeYaw();
const delta = Math.abs(normalize_yaw(real % 360 - fake % 360)) / 2;

return delta / 60;
},
extra: function(x, y, color) {
const real = Local.GetRealYaw(), fake = Local.GetFakeYaw();
const delta = Math.abs(normalize_yaw(real % 360 - fake % 360)) / 2;

const frac = delta / 60;

Render.Arc(x+5, y, 6, 13, 0, 360, [10, 10, 10, 60]);
Render.Arc(x+5, y, 7, 11, 0, 360 * frac, color);
}
},
{
label: "LC",
condition: function() {
const me = Entity.GetLocalPlayer();
const on_ground = Entity.GetProp(me, "CBasePlayer", "m_fFlags") & 1;

return menu.get(ref_fakelag_enabled) & (!on_ground || Input.IsKeyPressed(0x20)) & !menu.get(ref_doubletap_hk) & !menu.get(ref_hideshots_hk);
},
colors: {
dormant: [186, 0, 16, 225],
active: [163, 232, 44, 255]
},
logic: function() {
const self = modules[1];

const me = Entity.GetLocalPlayer();
const vec = Entity.GetProp(me, "CBasePlayer", "m_vecVelocity[0]");
const vel = Math.sqrt(vec[0] ** 2 + vec[1] ** 2 + vec[2] ** 2);

if (vel > 370)
return 1;

return 0;
}
},
{
label: "DT",
condition: function() {
return menu.get(ref_doubletap) & menu.get(ref_doubletap_hk);
},
colors: {
dormant: [235, 235, 235, 255],
active: [235, 235, 235, 255]
},
logic: function() {
const self = modules[2];

const charge = Exploit.GetCharge();

self.colors.active = charge === 1 ? [235, 235, 235, 255] : [186, 0, 16, 225];

return 1;
}
},
{
label: "Bombsite A",
condition: function() {
return bombsite % 2 == 1;
},
colors: {
dormant: [240, 235, 60, 255],
active: [240, 235, 60, 255]
},
logic: function() {
return 1;
},
extra: function(x, y) {
const self = modules[3];

const frac = (Globals.Curtime() - last_time) / 3.125;

Render.Arc(x, y, 6, 11, 0, 360, [10, 10, 10, 25]);
Render.Arc(x, y, 7, 10, -90, 360 * frac, [232, 232, 232, 255]);
}
},
{
label: "Bombsite B",
condition: function() {
return bombsite % 2 == 0;
},
colors: {
dormant: [240, 235, 60, 255],
active: [240, 235, 60, 255]
},
logic: function() {
return 1;
},
extra: function(x, y, color) {
const self = modules[4];

const frac = (Globals.Curtime() - last_time) / 3.125;

Render.Arc(x, y, 6, 11, 0, 360, [10, 10, 10, 25]);
Render.Arc(x, y, 7, 10, -90, 360 * frac, [232, 232, 232, 255]);
}
},
{
label: "",
condition: function() {
return planted;
},
colors: {
dormant: [235, 235, 235, 255],
active: [235, 235, 235, 255]
},
logic: function() {
const self = modules[5];

var c4 = Entity.GetEntitiesByClassID(128)[0];

if (!c4)
return 0;

var timer = (Entity.GetProp(c4, "CPlantedC4", "m_flC4Blow") - Globals.Curtime());


return 1;
}
},
{
label: "",
condition: function() {
return planted;
},
colors: {
dormant: [135, 15, 15, 255],
active: [195, 255, 0, 255]
},
logic: function() {
const self = modules[6];

const me = Entity.GetLocalPlayer();

if (!me || !Entity.IsAlive(me))
return 0;

const c4 = Entity.GetEntitiesByClassID(128)[0];

if (!c4)
return 0;

const armor = Entity.GetProp(me, "CCSPlayerResource", "m_iArmor");
const health = Entity.GetProp(me, "CBasePlayer", "m_iHealth");

const origin = Entity.GetRenderOrigin(c4);
const my_origin = Entity.GetRenderOrigin(me);

const distance = Math.sqrt((origin[0] - my_origin[0]) ** 2 + (origin[1] - my_origin[1]) ** 2 + (origin[2] - my_origin[2]) ** 2);

// Ultranite
const a = 450.7;
const b = 75.68;
const c = 789.2;

const d = (distance - b) / c;

var damage = a * Math.exp(-d * d);

if (armor > 0) {
var newDmg = damage * 0.5;
var armorDmg = (damage - newDmg) * 0.5;

if (armorDmg > armor) {
armor = armor * (1 / .5);
newDmg = damage - armorDmg;
}

damage = Math.round(newDmg);
}



return Math.max(1 -damage / health, 0);
}
}
];
//endregion

//region functions

function draw_timer()
{
if (!planted)
return;

const me = Entity.GetLocalPlayer();

if (!me)
return;

if (!Entity.IsAlive(me))
{
if (Entity.GetProp(me, "CBasePlayer", "m_iObserverMode") < 4)
return;

me = Entity.GetProp(me, "CBasePlayer", "m_hObserverTarget");
}

var c4 = Entity.GetEntitiesByClassID(128)[0];

if (!c4)
return;

const y = Render.GetScreenSize()[1];
const color = [235, 235, 235, 255];

var bombsite_label = bombsite % 2 == 0 ? "" : "";

var timer = (Entity.GetProp(c4, "CPlantedC4", "m_flC4Blow") - Globals.Curtime());


Render.FilledRect(0, y - bar_length, 10, bar_length, color);
}

function draw_indicators()
{
const offset_y = menu.get(voffset);
const y = Render.GetScreenSize()[1] - offset_y;
const drawn = 0;

for (var i = 0; i < modules.length; i++)
{
const mod = modules;

if (!mod.condition()) continue;

const result = mod.logic();
const label_width = Render.TextSize(mod.label, 4)[0];
const color = [
mod.colors.dormant[0] + (mod.colors.active[0] - mod.colors.dormant[0]) * result,
mod.colors.dormant[1] + (mod.colors.active[1] - mod.colors.dormant[1]) * result,
mod.colors.dormant[2] + (mod.colors.active[2] - mod.colors.dormant[2]) * result,
255
];

Render.GradientRect(15 + offset, y - 130 - 55 * drawn, label_width + 15, 45, 1, [10, 10, 10, 50], [10, 10, 10, 0]);
Render.String(25 + offset, y - 125 - 55 * drawn, 0, mod.label, color, 4);

if (mod.extra)
mod.extra(40 + offset + label_width, y - 106 - 55 * drawn, color);

drawn++;
}
}

function on_draw() {
const me = Entity.GetLocalPlayer();

if (!me || !Entity.IsAlive(me))
return;

draw_indicators();
draw_timer();
}

function on_bomb_beginplant()
{
bombsite = Event.GetInt("site");
last_time = Globals.Curtime();
}

function on_bomb_planted()
{
planted = true;
bombsite = -1;
offset = 15;
}

function on_bomb_abortplant()
{
bombsite = -1;
}

function on_bomb_exploded()
{
planted = false;
offset = 0;
}

function on_round_prestart()
{
planted = false;
offset = 0;
bombsite = -1;
last_time = 0;
}

function on_player_connect()
{
var c4 = Entity.GetEntitiesByClassID(128)[0];

last_time = 0;

if (!c4)
{
planted = false;
offset = 0;
bombsite = -1;
return;
}

planted = true;
offset = 15;
bombsite = Entity.GetProp(c4, "CPlantedC4", "m_nBombSite");
}

Cheat.RegisterCallback("Draw", "on_draw");
Cheat.RegisterCallback("bomb_beginplant", "on_bomb_beginplant");
Cheat.RegisterCallback("bomb_planted", "on_bomb_planted");
Cheat.RegisterCallback("bomb_abortplant", "on_bomb_abortplant");
Cheat.RegisterCallback("bomb_exploded", "on_bomb_exploded");
Cheat.RegisterCallback("round_prestart", "on_round_prestart");
Cheat.RegisterCallback("player_connect_full", "on_player_connect");
//endregion

там крч уберешь бомб сайт и дсу и лц и сделай фейк инидкаторы как в реалнйм в ските а не как у княза
 
Забаненный
Статус
Оффлайн
Регистрация
24 Янв 2020
Сообщения
62
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
♡。✧|3ㄴ¥∆ㅜ✧。* °*: — Дал Дал Ушёл +| nightcore
Забаненный
Статус
Оффлайн
Регистрация
30 Май 2020
Сообщения
374
Реакции[?]
121
Поинты[?]
3K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Not bad
Пользователь
Статус
Оффлайн
Регистрация
30 Мар 2018
Сообщения
182
Реакции[?]
30
Поинты[?]
3K
Можно было как код записать - что бы не на пол сайта код был.
JavaScript:
/**

var menu = {};
var menu_elements = {};
const menu_spacer = "   

* Concats two elements into an array without increasing the array length.

* Prevents the memory leak in 2.0.0 from happening

*

* @param a {array}

* @param b {any}

*/

menu.concat = function(a, b)

{

    // Creates a new array.

    var arr = [];



    // Push all items from the array 'a' into our array.

    for (var c in a)

    {

        arr.push(a[c]);

    }



    // Push the value 'b' into our array.

    arr.push(b);



    // Return the new array.

    return arr;

}



/**

* Creates a new menu label

*

* @param label {string}

*/

menu.label = function(label)

{

    // Creates the label

    UI.AddLabel(label);

};



/**

* Creates a new menu element

*

* @param func {function}

* @param name {string}

* @param label {string},

* @param properties {array}

*/

menu.new = function(func, name, label, properties, initial_value)

{

    // Fix values

    properties = properties || [];

    initial_value = initial_value || undefined;



    // Get properties

    const final_name = name + menu_spacer + label;

    var final_props = [final_name];



    const element_info_t = {

        path: ["Misc", "JAVASCRIPT", "Script items", final_name],

        cache: initial_value,

        func: func

    };



    // If our properties aren't null, then pack them together.

    if (properties != null)

    {

        for (var i = 0; i < properties.length; i++)

        {

            final_props.push(properties);

        }

    }



    // Create our menu element and return properties

    func.apply(null, final_props);



    // Initialize our menu element if it has an initializer.

    if (initial_value)

    {

        switch (func)

        {

            case UI.AddColorPicker:

                UI.SetColor.apply(null, this.concat(element_info_t.path, initial_value));

                break;



            case UI.AddHotkey:

                break;



            default:

                UI.SetValue.apply(this, this.concat(element_info_t.path, initial_value));

                break;

        }

    }



    menu_elements[label] = element_info_t;



    return element_info_t;

};



/**

* Creates a new menu reference

*

* @param path {array}

*/

menu.reference = function(path, func)

{

    return {

        path: path,

        func: func

    };

};



/**

* Gets the value of a menu element

*

* @param elem {array}

* [USER=46448]@ReturN[/USER] {*}

*/

menu.get = function(elem)

{

    // If the element doesn't exist

    if (!(elem.path))

        throw new Error("[Menu] This element doesn't exist!");



    // Returns the element's value

    switch (elem.func)

    {

        case UI.AddColorPicker:

            return UI.GetColor.apply(null, elem.path);



        case UI.AddHotkey:

            return UI.IsHotkeyActive.apply(null, elem.path);



        default:

            return UI.GetValue.apply(null, elem.path);

    }

};



/**

* Sets the value of a menu element

*

* @param elem {array}

* @param value {*}

*/

menu.set = function(elem, value)

{

    // If the label doesn't exist

    if (!(elem.path))

        throw new Error("[Menu] This element doesn't exist!");



    // Set the element's value

    switch (elem.func)

    {

        case UI.AddColorPicker:

            UI.SetColor.apply(null, this.concat(elem.path, value));

            break;



        case UI.AddHotkey:

            if (menu.get(elem) !== value)

                UI.ToggleHotkey.apply(null, elem.path);

            break;



        default:

            UI.SetValue.apply(null, this.concat(elem.path, value));

            break;

    }

};



/**

* Changes the visibility of a menu elements

*

* @param elem {array}

* @param visible {boolean}

*/

menu.visibility = function(elem, visible)

{

    // If the label doesn't exist

    if (!(elem.path))

        throw new Error("[Menu] This element doesn't exist!");



    // Change the element's visibility

    UI.SetEnabled.apply(null, this.concat(elem.path, visible));

};



/**

* Adds an event to a menu element which is triggered everytime this element's value is changed.

*

* @param elem {array}

* @param func {function}

*/

menu.add_event = function(elem, func)

{

    if (!elem.path)

        throw new Error("[Menu] This element doesn't exist!");



    if (!elem.func)

        throw new Errror("[Menu] This element does not have a valid type. Please, specify one.");



    elem.callback = func;

}



/**

* Handles the menu elements' events. Call this inside a Draw or FSN callback.

*/

menu.handle_events = function()

{

    for (var label in menu_elements)

    {

        const elem = menu_elements[label];



        if (!elem.path || !elem.callback)

            continue;



        const value = menu.get(elem);



        if (elem.cache === undefined)

            elem.cache = value;



        if (elem.cache !== value)

        {

            elem.callback.apply(null, [elem]);

            elem.cache = value;

        }

    }

}



/**

* @brief Normalizes an yaw angle.

* @param angle {number}

* @returns {number}

*/

function normalize_yaw(angle)

{

    var adjusted_yaw = angle;



    if (adjusted_yaw < -180)

        adjusted_yaw += 360;



    if (adjusted_yaw > 180)

        adjusted_yaw -= 360;



    return adjusted_yaw;

}



Render.Arc = function(x, y, r1, r2, s, d, col)

{

    for (var i = s; i < s + d; i++)

    {

        const rad = i * Math.PI / 180;



        Render.Line(x + Math.cos(rad) * r1, y + Math.sin(rad) * r1, x + Math.cos(rad) * r2, y + Math.sin(rad) * r2, col);

    }

}

//endregion



//region menu

const voffset = menu.new(UI.AddSliderInt, "| Indicators vertical offset", "", [0, 1000]);



const ref_antiaim_enabled = menu.reference(["Anti-Aim", "Fake angles", "Enabled"]);

const ref_fakelag_enabled = menu.reference(["Anti-Aim", "Fake-Lag", "Enabled"]);

const ref_doubletap = menu.reference(["Rage", "GENERAL", "Exploits", "Doubletap"]);

const ref_doubletap_hk = menu.reference(["Rage", "GENERAL", "Exploits", "Doubletap"], UI.AddHotkey);

const ref_hideshots_hk = menu.reference(["Rage", "GENERAL", "Exploits", "Hide shots"], UI.AddHotkey);

//endregion



//region locals

var last_time = 0;

var planted = false;

var bombsite = -1;

var offset = 0;



const modules = [

    {

        label: "DSY",

        condition: function() {

            return menu.get(ref_antiaim_enabled);

        },

        colors: {

            dormant: [186, 0, 16, 225],

            active: [154, 205, 50, 255]

        },

        logic: function() {

            const self = modules[0];



            const real = Local.GetRealYaw(), fake = Local.GetFakeYaw();

            const delta = Math.abs(normalize_yaw(real % 360 - fake % 360)) / 2;



            return delta / 60;

        },

        extra: function(x, y, color) {

            const real = Local.GetRealYaw(), fake = Local.GetFakeYaw();

            const delta = Math.abs(normalize_yaw(real % 360 - fake % 360)) / 2;



            const frac = delta / 60;



            Render.Arc(x+5, y, 6, 13, 0, 360, [10, 10, 10, 60]);

            Render.Arc(x+5, y, 7, 11, 0, 360 * frac, color);

        }

    },

    {

        label: "LC",

        condition: function() {

            const me = Entity.GetLocalPlayer();

            const on_ground = Entity.GetProp(me, "CBasePlayer", "m_fFlags") & 1;



            return menu.get(ref_fakelag_enabled) & (!on_ground || Input.IsKeyPressed(0x20)) & !menu.get(ref_doubletap_hk) & !menu.get(ref_hideshots_hk);

        },

        colors: {

            dormant: [186, 0, 16, 225],

            active: [163, 232, 44, 255]

        },

        logic: function() {

            const self = modules[1];



            const me = Entity.GetLocalPlayer();

            const vec = Entity.GetProp(me, "CBasePlayer", "m_vecVelocity[0]");

            const vel = Math.sqrt(vec[0] ** 2 + vec[1] ** 2 + vec[2] ** 2);



            if (vel > 370)

                return 1;



            return 0;

        }

    },

    {

        label: "DT",

        condition: function() {

            return menu.get(ref_doubletap) & menu.get(ref_doubletap_hk);

        },

        colors: {

            dormant: [235, 235, 235, 255],

            active: [235, 235, 235, 255]

        },

        logic: function() {

            const self = modules[2];



            const charge = Exploit.GetCharge();



            self.colors.active = charge === 1 ? [235, 235, 235, 255] : [186, 0, 16, 225];



            return 1;

        }

    },

    {

        label: "Bombsite A",

        condition: function() {

            return bombsite % 2 == 1;

        },

        colors: {

            dormant: [240, 235, 60, 255],

            active: [240, 235, 60, 255]

        },

        logic: function() {

            return 1;

        },

        extra: function(x, y) {

            const self = modules[3];



            const frac = (Globals.Curtime() - last_time) / 3.125;



            Render.Arc(x, y, 6, 11, 0, 360, [10, 10, 10, 25]);

            Render.Arc(x, y, 7, 10, -90, 360 * frac, [232, 232, 232, 255]);

        }

    },

    {

        label: "Bombsite B",

        condition: function() {

            return bombsite % 2 == 0;

        },

        colors: {

            dormant: [240, 235, 60, 255],

            active: [240, 235, 60, 255]

        },

        logic: function() {

            return 1;

        },

        extra: function(x, y, color) {

            const self = modules[4];



            const frac = (Globals.Curtime() - last_time) / 3.125;



            Render.Arc(x, y, 6, 11, 0, 360, [10, 10, 10, 25]);

            Render.Arc(x, y, 7, 10, -90, 360 * frac, [232, 232, 232, 255]);

        }

    },

    {

        label: "",

        condition: function() {

            return planted;

        },

        colors: {

            dormant: [235, 235, 235, 255],

            active: [235, 235, 235, 255]

        },

        logic: function() {

            const self = modules[5];



            var c4 = Entity.GetEntitiesByClassID(128)[0];



            if (!c4)

                return 0;



            var timer = (Entity.GetProp(c4, "CPlantedC4", "m_flC4Blow") - Globals.Curtime());





            return 1;

        }

    },

    {

        label: "",

        condition: function() {

            return planted;

        },

        colors: {

            dormant: [135, 15, 15, 255],

            active: [195, 255, 0, 255]

        },

        logic: function() {

            const self = modules[6];



            const me = Entity.GetLocalPlayer();



            if (!me || !Entity.IsAlive(me))

                return 0;



            const c4 = Entity.GetEntitiesByClassID(128)[0];



            if (!c4)

                return 0;



            const armor = Entity.GetProp(me, "CCSPlayerResource", "m_iArmor");

            const health = Entity.GetProp(me, "CBasePlayer", "m_iHealth");



            const origin = Entity.GetRenderOrigin(c4);

            const my_origin = Entity.GetRenderOrigin(me);



            const distance = Math.sqrt((origin[0] - my_origin[0]) ** 2 + (origin[1] - my_origin[1]) ** 2 + (origin[2] - my_origin[2]) ** 2);



            // Ultranite

            const a = 450.7;

            const b = 75.68;

            const c = 789.2;

     

            const d = (distance - b) / c;

     

            var damage = a * Math.exp(-d * d);

     

            if (armor > 0) {

                var newDmg = damage * 0.5;

                var armorDmg = (damage - newDmg) * 0.5;

     

                if (armorDmg > armor) {

                    armor = armor * (1 / .5);

                    newDmg = damage - armorDmg;

                }



                damage = Math.round(newDmg);

            }







            return Math.max(1 -damage / health, 0);

        }

    }

];

//endregion



//region functions



function draw_timer()

{

    if (!planted)

        return;



    const me = Entity.GetLocalPlayer();



    if (!me)

        return;



    if (!Entity.IsAlive(me))

    {

        if (Entity.GetProp(me, "CBasePlayer", "m_iObserverMode") < 4)

            return;



        me = Entity.GetProp(me, "CBasePlayer", "m_hObserverTarget");

    }



    var c4 = Entity.GetEntitiesByClassID(128)[0];



    if (!c4)

        return;



    const y = Render.GetScreenSize()[1];

    const color = [235, 235, 235, 255];



    var bombsite_label = bombsite % 2 == 0 ? "" : "";



    var timer = (Entity.GetProp(c4, "CPlantedC4", "m_flC4Blow") - Globals.Curtime());





    Render.FilledRect(0, y - bar_length, 10, bar_length, color);

}



function draw_indicators()

{

    const offset_y = menu.get(voffset);

    const y = Render.GetScreenSize()[1] - offset_y;

    const drawn = 0;



    for (var i = 0; i < modules.length; i++)

    {

        const mod = modules;



        if (!mod.condition()) continue;



        const result = mod.logic();

        const label_width = Render.TextSize(mod.label, 4)[0];

        const color = [

            mod.colors.dormant[0] + (mod.colors.active[0] - mod.colors.dormant[0]) * result,

            mod.colors.dormant[1] + (mod.colors.active[1] - mod.colors.dormant[1]) * result,

            mod.colors.dormant[2] + (mod.colors.active[2] - mod.colors.dormant[2]) * result,

            255

        ];



        Render.GradientRect(15 + offset, y - 130 - 55 * drawn, label_width + 15, 45, 1, [10, 10, 10, 50], [10, 10, 10, 0]);

        Render.String(25 + offset, y - 125 - 55 * drawn, 0, mod.label, color, 4);



        if (mod.extra)

            mod.extra(40 + offset + label_width, y - 106 - 55 * drawn, color);



        drawn++;

    }

}



function on_draw() {

    const me = Entity.GetLocalPlayer();



    if (!me || !Entity.IsAlive(me))

        return;



    draw_indicators();

    draw_timer();

}



function on_bomb_beginplant()

{

    bombsite = Event.GetInt("site");

    last_time = Globals.Curtime();

}



function on_bomb_planted()

{

    planted = true;

    bombsite = -1;

    offset = 15;

}



function on_bomb_abortplant()

{

    bombsite = -1;

}



function on_bomb_exploded()

{

    planted = false;

    offset = 0;

}



function on_round_prestart()

{

    planted = false;

    offset = 0;

    bombsite = -1;

    last_time = 0;

}



function on_player_connect()

{

    var c4 = Entity.GetEntitiesByClassID(128)[0];



    last_time = 0;



    if (!c4)

    {

        planted = false;

        offset = 0;

        bombsite = -1;

        return;

    }



    planted = true;

    offset = 15;

    bombsite = Entity.GetProp(c4, "CPlantedC4", "m_nBombSite");

}



Cheat.RegisterCallback("Draw", "on_draw");

Cheat.RegisterCallback("bomb_beginplant", "on_bomb_beginplant");

Cheat.RegisterCallback("bomb_planted", "on_bomb_planted");

Cheat.RegisterCallback("bomb_abortplant", "on_bomb_abortplant");

Cheat.RegisterCallback("bomb_exploded", "on_bomb_exploded");

Cheat.RegisterCallback("round_prestart", "on_round_prestart");

Cheat.RegisterCallback("player_connect_full", "on_player_connect");

//endregion
там крч уберешь бомб сайтее б и дсу и лц и сделай индикаторы фейк как в реалный ските как эти а не как у княза
 
Последнее редактирование:
Сверху Снизу