Nike.lua
-
Автор темы
- #1
JavaScript:
var hitboxes = [
'generic',
'head',
'chest',
'stomach',
'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 = 0;
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 = "Naded ";
else if (weapon == "inferno")
hittype = "Burned ";
else if (weapon == "knife")
hittype = "Knifed ";
if (me == attackerIndex && me != victimIndex) {
Cheat.PrintColor([45, 245, 10, 1], "[gamesense] ");
if (hittype == "Hit ") {
Cheat.Print("["+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.Print("["+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() * 600;
if (logsalpha[0] < 0) {
logs.shift();
logsct.shift();
logsalpha.shift();
}
}
}
function onDraw() {
if (!World.GetServerString()) return;
var font = Render.AddFont("Verdana", 8, 0);
for (i = 0; i < logs.length; i++) {
Render.String(4, 4 + 13*i, 0, logs[i], [0, 0, 0, logsalpha[i]], font);
Render.String(3, 3 + 13*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 = "bad resolve";
if (safety == 0) {
issafe = "false";
}
if (Entity.IsAlive(target) == false) {
reason = "death";
}
if (Entity.IsAlive(Entity.GetLocalPlayer()) == false) {
reason = "unregistred";
}
if (safety == true && predicthc < 76) {
reason = "spread";
}
if (safety == true && predicthc > 76) {
reason = "prediction error";
}
var flags = "";
if (exploit == 2)
flags += "T";
flags += "B";
Cheat.PrintColor([45, 245, 10, 1], "[gamesense] ");
Cheat.Print("["+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("player_hurt", "hitlog");
Global.RegisterCallback("Draw", "onDraw");
Global.RegisterCallback("Draw", "removelogs");
Последнее редактирование: