JS-скрипт Skeet hitlogs for otv4

Nike.lua
Олдфаг
Статус
Оффлайн
Регистрация
13 Окт 2020
Сообщения
2,747
Реакции[?]
1,465
Поинты[?]
2K
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");
Спиздил из какой-то паблик JS и переделал под вантап в4
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
26 Май 2019
Сообщения
203
Реакции[?]
27
Поинты[?]
0
Сверху Снизу