UI.AddLabel(" skeet logs");
hitboxes = [
'generic',
'head',
'chest',
'stomach',
'left arm',
'right arm',
'left leg',
'right leg',
'?'
];
var scriptitems = ("Misc", "JAVASCRIPT", "Script items");
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 = "Naded ";
else if (weapon == "inferno")
hittype = "Burned ";
else if (weapon == "knife")
hittype = "Knifed ";
if (me == attackerIndex && me != victimIndex) {
Cheat.PrintColor([173, 255, 47, 255], "[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");
}
else {
Cheat.Print("["+shots.toString()+"] "+hittype+name+"'s "+HitgroupName(hitbox)+" for "+target_damage.toString()+" ("+target_health.toString()+" remaining) \n");
}
}
if (shots == 99)
shots = 0;
else
shots++;
}
function item_purchase() {
Cheat.PrintColor([173, 255, 47, 255], "[gamesense] ");
Cheat.Print(Entity.GetName(Entity.GetEntityFromUserID(Event.GetInt("userid")))+" bought "+Event.GetString("weapon")+"\n");
}
function onDraw() {
if (!World.GetServerString()) return;
var font = Render.AddFont("Lucida Console", 8, 0);
for (i = 0; i < logs.length; i++) {
Render.StringCustom(4, 4 + 13*i, 0, logs[i], [0, 0, 0, logsalpha[i]], font);
Render.StringCustom(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 = "?";
if (safety == 0) {
issafe = "false";
}
else if (Entity.IsAlive(Entity.GetLocalPlayer()) == false)
reason = "unregistred";
else if (safety == true && predicthc < 81)
reason = "spread";
else if (safety == true && predicthc > 80)
reason = "resolver";
if (exploit == 2)
var flags = "";
if (exploit == 2)
flags += "T";
flags += "B";
Cheat.PrintColor([173, 255, 47, 255], "[gamesense] ");
Cheat.Print("["+shots.toString()+"] "+"Missed "+Entity.GetName(target)+"'s "+hitboxName+"("+predicthc.toString()+"%) due to "+reason+", safety="+issafe+" ("+flags+") ("+simtime+":"+exploit+")\n");
if (shots == 99)
shots = 0;
else
shots++;
}
}
}
function main() {
Global.RegisterCallback("ragebot_fire", "ragebot_fire");
Global.RegisterCallback("item_purchase", "item_purchase");
Global.RegisterCallback("player_hurt", "hitlog");
Global.RegisterCallback("Draw", "onDraw");
}
main();