:)
-
Автор темы
- #1
JavaScript:
Render.AddFont = function(name, size, _) {
if (name.indexOf('.ttf') === -1) name = name + '.ttf';
return Render.GetFont(name, size, true);
}
hitboxes = [
'generic',
'head',
'chest',
'stomach',
'pelvis',
'left arm',
'right arm',
'left leg',
'right leg',
'?'
];
var shots = 0;
var predicthc = 0;
var safety = 0;
var hitboxName = "";
var choked = 0;
var exploit = 0;
var logs = [];
var logsct = [];
var logsalpha = [];
function getHitboxName(index) {
switch (index) {
case 0:
hitboxName = "head";
break;
case 1:
hitboxName = "head";
break;
case 2:
hitboxName = "stomach";
break;
case 3:
hitboxName = "stomach";
break;
case 4:
hitboxName = "stomach";
break;
case 5:
hitboxName = "chest";
break;
case 6:
hitboxName = "chest";
break;
case 7:
hitboxName = "left leg";
break;
case 8:
hitboxName = "right leg";
break;
case 9:
hitboxName = "left leg";
break;
case 10:
hitboxName = "right leg";
break;
case 11:
hitboxName = "left leg";
break;
case 12:
hitboxName = "right leg";
break;
case 13:
hitboxName = "left arm";
break;
case 14:
hitboxName = "right arm";
break;
case 15:
hitboxName = "left arm";
break;
case 16:
hitboxName = "left arm";
break;
case 17:
hitboxName = "right arm";
break;
case 18:
hitboxName = "right arm";
break;
default:
hitboxName = "body";
}
return hitboxName;
}
function HitgroupName(index) {
return hitboxes[index] || 'body';
}
var target = -1;
var shots_fired = 0;
var hits = 0;
var lastUpdate = 0;
var logged = false;
function ragebot_fire() {
predicthc = Event.GetInt("hitchance");
safety = Event.GetInt("safepoint");
hitboxName = getHitboxName(Event.GetInt("hitbox"));
exploit = (Event.GetInt("exploit") + 1).toString();
target = Event.GetInt("target_index");
shots_fired++;
logged = false;
lastUpdate = Globals.Curtime();
}
function hitlog() {
var hit = Entity.GetEntityFromUserID(Event.GetInt("userid"));
var attacker = Entity.GetEntityFromUserID(Event.GetInt("attacker"));
if (attacker == Entity.GetLocalPlayer() && hit == target) hits++;
var hittype = "Hit ";
me = Entity.GetLocalPlayer();
hitbox = Event.GetInt('hitgroup');
target_damage = Event.GetInt("dmg_health");
target_health = Event.GetInt("health");
victim = Event.GetInt('userid');
attacker = Event.GetInt('attacker');
weapon = Event.GetString('weapon');
victimIndex = Entity.GetEntityFromUserID(victim);
attackerIndex = Entity.GetEntityFromUserID(attacker);
name = Entity.GetName(victimIndex);
var simtime = Globals.Tickcount() % 17;
var flags = "";
if (exploit == 2)
flags += "T";
flags += "B";
if (hitbox == 1)
flags += "H";
if (safety == 1) {
safety = "true";
} else {
safety = "false";
}
if (weapon == "hegrenade")
hittype = "[ NADE DAMAGE ] ";
else if (weapon == "inferno")
hittype = "[ FIRE DAMAGE ] ";
else if (weapon == "knife")
hittype = "[ KNIFE DAMAGE ] ";
if (me == attackerIndex && me != victimIndex) {
Cheat.PrintColor([224, 176, 255, 255], "[ HIT ] ");
if (hittype == "Hit ") {
Cheat.PrintColor([255, 255, 255, 255], "[" + shots.toString() + "] " + hittype + name + "'s " + HitgroupName(hitbox) + " for " + target_damage.toString() + " (" + target_health.toString() + " remaining) aimed=" + hitboxName + "(" + predicthc.toString() + "%%) safety=" + safety + " (" + flags + ") (" + simtime + ":" + exploit + ")\n");
logs.push("[" + shots.toString() + "] " + hittype + name + "'s " + HitgroupName(hitbox) + " for " + target_damage.toString() + " (" + target_health.toString() + " remaining) aimed=" + hitboxName + "(" + predicthc.toString() + "%%) safety=" + safety + " (" + flags + ") (" + simtime + ":" + exploit + ")");
} else {
Cheat.PrintColor([255, 255, 255, 255], "[" + shots.toString() + "] " + hittype + name + "'s " + HitgroupName(hitbox) + " for " + target_damage.toString() + " (" + target_health.toString() + " remaining) \n");
logs.push("[" + shots.toString() + "] " + hittype + name + "'s " + HitgroupName(hitbox) + " for " + target_damage.toString() + " (" + target_health.toString() + " remaining)");
}
logsct.push(Globals.Curtime());
logsalpha.push(255);
}
if (shots == 99)
shots = 0;
else
shots++;
}
function removelogs() {
if (logs.length > 6) {
logs.shift();
logsct.shift();
logsalpha.shift();
}
if (logsct[0] + 6.5 < Globals.Curtime()) {
logsalpha[0] -= Globals.Frametime() * 1000;
if (logsalpha[0] < 0) {
logs.shift();
logsct.shift();
logsalpha.shift();
}
}
}
function item_purchase() {
Cheat.PrintColor([224, 176, 255, 255], "[ BUY ] ");
Cheat.PrintColor([255, 255, 255, 255], Entity.GetName(Entity.GetEntityFromUserID(Event.GetInt("userid"))) + " bought " + Event.GetString("weapon") + "\n");
logs.push(Entity.GetName(Entity.GetEntityFromUserID(Event.GetInt("userid"))) + " bought " + Event.GetString("weapon") + "");
logsct.push(Globals.Curtime());
logsalpha.push(255);
}
function onDraw() {
const draw_outline_text = function(x, y, align, string, color, fontname) {
Render.String(x - 1, y - 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x - 1, y, align, string, [0, 0, 0, 255], fontname);
Render.String(x - 1, y + 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x, y + 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x, y - 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x + 1, y - 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x + 1, y, align, string, [0, 0, 0, 255], fontname);
Render.String(x + 1, y + 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x, y, align, string, color, fontname);
}
if (!World.GetServerString()) return;
var font = Render.GetFont("NotoSans-Bold.ttf", 16, true)
for (i = 0; i < logs.length; i++) {
draw_outline_text(6, 6 + 20 * i, 0, logs[i], [255, 255, 255, logsalpha[i]], font);
}
if (shots_fired > hits && (Globals.Curtime() - lastUpdate > 0.33)) {
if (Globals.Curtime() - lastUpdate > 1) {
shots_fired = 0;
hits = 0;
}
if (!logged) {
var simtime = Globals.Tickcount() % 16;
logged = true;
var issafe = "true";
var reason = "?";
if (safety == 0) {
issafe = "false";
}
if (Entity.IsAlive(target) == false)
reason = "death ( backtrack)";
else if (Entity.IsAlive(Entity.GetLocalPlayer()) == false)
reason = "dead (ping)";
else if (safety == true && predicthc < 76)
reason = "spread";
else if (safety == true && predicthc > 76)
reason = "prediction error";
var flags = "";
if (exploit == 2)
flags += "T";
flags += "B";
Cheat.PrintColor([224, 176, 255, 255], "[ MISS ] ");
Cheat.PrintColor([255, 255, 255, 255], "[" + shots.toString() + "] " + "Missed " + Entity.GetName(target) + "'s " + hitboxName + "(" + predicthc.toString() + "%) due to " + reason + ", safety=" + issafe + " (" + flags + ") (" + simtime + ":" + exploit + ")\n");
logs.push("[" + shots.toString() + "] " + "Missed " + Entity.GetName(target) + "'s " + hitboxName + "(" + predicthc.toString() + "%) due to " + reason + ", safety=" + issafe + " (" + flags + ") (" + simtime + ":" + exploit + ")");
logsct.push(Globals.Curtime());
logsalpha.push(255);
if (shots == 99)
shots = 0;
else
shots++;
}
}
}
Global.RegisterCallback("ragebot_fire", "ragebot_fire");
Global.RegisterCallback("item_purchase", "item_purchase");
Global.RegisterCallback("player_hurt", "hitlog");
Global.RegisterCallback("Draw", "onDraw");
Global.RegisterCallback("Draw", "removelogs");
//indicators
Cheat.PrintColor([255, 255, 255, 255], "\n|------------------------|\n");
Cheat.PrintColor([255, 255, 255, 255], "|");
Cheat.PrintColor([224, 176, 255, 255], " UZZI REMAKE");
Cheat.PrintColor([255, 255, 255, 255], " |");
Cheat.PrintColor([255, 255, 255, 255], "\n|------------------------|\n");
UI.AddSubTab(["Visuals", "SUBTAB_MGR"], "Indicators");
UI.AddColorPicker(["Visuals", "Indicators", "SHEET_MGR", "Indicators"], "Selected arrow color");
UI.AddSliderFloat(["Visuals", "Indicators", "SHEET_MGR", "Indicators"], "arrow fade speed", 0, 1);
var screen_size = Global.GetScreenSize();
var isInverted;
LPx = [(screen_size[0] / 2) - 43, (screen_size[1] / 2) + 13];
LPy = [(screen_size[0] / 2) - 43, (screen_size[1] / 2) - 7];
LPz = [(screen_size[0] / 2) - 63, (screen_size[1] / 2) + 3];
RPx = [(screen_size[0] / 2) + 42, (screen_size[1] / 2) + 13];
RPy = [(screen_size[0] / 2) + 42, (screen_size[1] / 2) - 7];
RPz = [(screen_size[0] / 2) + 62, (screen_size[1] / 2) + 3];
LPxx = [(screen_size[0] / 2) - 42, (screen_size[1] / 2) + 14];
LPyy = [(screen_size[0] / 2) - 42, (screen_size[1] / 2) - 6];
LPzz = [(screen_size[0] / 2) - 62, (screen_size[1] / 2) + 4];
RPxx = [(screen_size[0] / 2) + 42, (screen_size[1] / 2) + 14];
RPyy = [(screen_size[0] / 2) + 42, (screen_size[1] / 2) - 6];
RPzz = [(screen_size[0] / 2) + 62, (screen_size[1] / 2) + 4];
function render_arc(x, y, radius, radius_inner, start_angle, end_angle, segments, color) {
while (360 % segments != 0) {
segments++;
}
segments = 360 / segments;
for (var i = start_angle; i < start_angle + end_angle; i = i + segments) {
var rad = i * Math.PI / 180;
var rad2 = (i + segments) * Math.PI / 180;
var rad_cos = Math.cos(rad)
var rad_sin = Math.sin(rad)
var rad2_cos = Math.cos(rad2);
var rad2_sin = Math.sin(rad2);
var x1_outer = x + rad_cos * radius;
var y1_outer = y + rad_sin * radius;
var x2_outer = x + rad2_cos * radius;
var y2_outer = y + rad2_sin * radius;
var x1_inner = x + rad_cos * radius_inner;
var y1_inner = y + rad_sin * radius_inner;
var x2_inner = x + rad2_cos * radius_inner;
var y2_inner = y + rad2_sin * radius_inner;
Render.Polygon([
[x1_outer, y1_outer],
[x2_outer, y2_outer],
[x1_inner, y1_inner]
],
color
);
Render.Polygon([
[x1_inner, y1_inner],
[x2_outer, y2_outer],
[x2_inner, y2_inner]
],
color
);
}
}
function drawString() {
const draw_outline_text = function(x, y, align, string, color, fontname) {
Render.String(x - 1, y - 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x - 1, y, align, string, [0, 0, 0, 255], fontname);
Render.String(x - 1, y + 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x, y + 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x, y - 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x + 1, y - 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x + 1, y, align, string, [0, 0, 0, 255], fontname);
Render.String(x + 1, y + 1, align, string, [0, 0, 0, 255], fontname);
Render.String(x, y, align, string, color, fontname);
}
var font = Render.GetFont("Calibri.ttf", 18, true)
fadesp = UI.GetValue((["Visuals", "Indicators", "SHEET_MGR", "Indicators", "arrow fade speed"]))
selectedcp = UI.GetColor((["Visuals", "Indicators", "SHEET_MGR", "Indicators", "Selected arrow color"]))
selected_red = selectedcp[0];
selected_green = selectedcp[1];
selected_blue = selectedcp[2];
selected_alpha = selectedcp[3];
const alpha = Math.sin(Math.abs(-Math.PI + (Globals.Curtime() * (1 / fadesp)) % (Math.PI * 2))) * 255;
const alphaa = Math.sin(Math.abs(-Math.PI + (Globals.Curtime() * (1 / fadesp)) % (Math.PI * 2))) * 255;
isHideshots = UI.GetValue(["Rage", "Exploits", "Keys", "Hide shots"]);
isFakeduck = UI.GetValue(["Rage", "Anti Aim", "General", "Key assignment", "Fake duck"]);
isDoubletap = UI.GetValue(["Rage", "Exploits", "Keys", "Double tap"]);
isInverted = UI.GetValue(["Rage", "Anti Aim", "General", "Key assignment", "AA Direction inverter"]);
isLbyMode = UI.GetValue(["Rage", "Anti Aim", "Fake", "Lower body yaw mode"]);
isDesyncMode = UI.GetValue(["Rage", "Anti Aim", "Fake", "Fake desync"]);
isPeek = UI.GetValue(["Misc.", "Keys", "Key assignment", "Auto peek"])
localplayer_index = Entity.GetLocalPlayer();
localplayer_alive = Entity.IsAlive(localplayer_index);
charge = Exploit.GetCharge();
max_angle = 360 * Exploit.GetCharge();
center = Render.GetScreenSize();
X = center[0] / 2
Y = center[1] / 2
if (UI.GetValue((["Visuals", "Indicators", "SHEET_MGR", "Indicators", "arrow fade speed"])) == 0) {
alpha = 255
}
if (localplayer_alive == true) {
//Shadows
Render.Polygon([LPxx, LPzz, LPyy], [0, 0, 0, 150]);
Render.Polygon([RPyy, RPzz, RPxx], [0, 0, 0, 150]);
//indicators
if (isDoubletap) {
if (charge >= 1) {
draw_outline_text(screen_size[0] / 2, screen_size[1] / 2 + 85, 1, isDoubletap ? "DT" : "DT", isDoubletap ? [57, 255, 20, 255] : [255, 0, 0, 255], font);
}
if (charge < 1) {
draw_outline_text(screen_size[0] / 2, screen_size[1] / 2 + 85, 1, isDoubletap ? "DT" : "DT", isDoubletap ? [248, 223, 112, 255, alphaa] : [255, 0, 0, 255], font);
render_arc(X + 15, Y + 93, 5, 2.5, -90, 360, 360, [120, 120, 120, 190]);
render_arc(X + 15, Y + 93, 5, 2.5, -90, max_angle, 360, [248, 223, 112, 255]);
}
}
if (!isDoubletap) {
draw_outline_text(screen_size[0] / 2, screen_size[1] / 2 + 85, 1, isDoubletap ? "DT" : "DT", isDoubletap ? [57, 255, 20, 255] : [255, 0, 0, 255], font);
}
draw_outline_text(screen_size[0] / 2, screen_size[1] / 2 + 101, 1, isHideshots ? "HIDE" : "ANIM", isHideshots ? [145, 120, 229, 255] : [255, 153, 0, 255], font);
draw_outline_text(screen_size[0] / 2, screen_size[1] / 2 + 115, 1, isPeek ? "AutoPeek" : "", isPeek ? [57, 255, 20, 255] : [0, 0, 0, 0], font);
//inverter indicators
if (isDesyncMode == 0) {
draw_outline_text(screen_size[0] / 2, screen_size[1] / 2 + 70, 1, isInverted ? "LEFT" : "RIGHT", isInverted ? [255, 255, 255, 255] : [255, 255, 255, 255], font);
if (isInverted) {
Render.Polygon([LPxx, LPyy, LPzz], [selected_red, selected_green, selected_blue, alpha]);
} else {
Render.Polygon([RPyy, RPxx, RPzz], [selected_red, selected_green, selected_blue, alpha]);
}
} else if (isDesyncMode == 1) {
draw_outline_text(screen_size[0] / 2, screen_size[1] / 2 + 70, 1, isInverted ? "RIGHT" : "LEFT", isInverted ? [255, 255, 255, alphaa] : [255, 255, 255, alphaa], font);
if (isInverted) {
Render.Polygon([RPxx, RPzz, RPyy], [selected_red, selected_green, selected_blue, alpha]);
} else {
Render.Polygon([LPxx, LPyy, LPzz], [selected_red, selected_green, selected_blue, alpha]);
}
}
if (isInverted == 0) {
Render.Polygon([RPy, RPz, RPx], [selected_red, selected_green, selected_blue, alpha]);
} else if (isInverted == 1) {
Render.Polygon([LPx, LPz, LPy], [selected_red, selected_green, selected_blue, alpha]);
}
}
}
function onCreateMove() {
isFakeduck = UI.GetValue(["Rage", "Anti Aim", "General", "Key assignment", "Fake duck"]);
}
function getVal(valueName) {
return UI.GetValue(["Visuals", "Indicators", "SHEET_MGR", "Indicators", valueName]);
}
function Main() {
Global.RegisterCallback("Draw", "drawString");
Global.RegisterCallback("CreateMove", "onCreateMove");
}
Main();
Есть маленькая не доработка. Этот скрипт лучше юзать со вторым моим скриптом - https://yougame.biz/threads/186941/ ( что бы было видно какой у вас тип десинка )
Вложения
-
747.6 KB Просмотры: 37
Последнее редактирование: