gettargets()
{
self endon( "esp_end" );
for(;
{
self.esp = spawnstruct();
self.esp.targets = [];
a = 0;
i = 0;
while(i < level.players.size)
{
go_create = 0;
if(self != level.players[i])
{
if(level.teambased && getdvar("g_gametype") != "dm" && self.pers["team"] != level.players[i].pers["team"])
{
go_create = 1;
}
else if(!(level.teambased) && getdvar("g_gametype") == "dm")
{
go_create = 1;
}
if(go_create == 1)
{
self.esp.targets[a] = spawnstruct();
self.esp.targets[a].player = level.players[i];
self.esp.targets[a].hudbox = self createbox(self.esp.targets[a].player.origin);
self thread monitortarget(self.esp.targets[a]);
self thread waitdestroy_espbox(self.esp.targets[a]);
a++;
}
}
wait .05;
i++;
}
level waittill("connected", player);
self notify("UpdateTarget_ESPWallHack");
}
}
monitortarget(target)
{
self endon("UpdateTarget_ESPWallHack");
self endon("esp_end");
for(;
{
target.hudbox destroy();
h_pos = target.player.origin;
if((bullettracepassed(self gettagorigin("j_head"), target.player gettagorigin("j_head"), 0, self)) && (distance(self.origin, target.player.origin) <= 999999))
{
target.hudbox = self createbox(h_pos);
target.hudbox.color = (1, 0, 0);
}
else
{
target.hudbox = self createbox(h_pos);
}
if(!(isalive(target.player)))
{
target.hudbox destroy();
}
wait 0.01;
}
}
waitdestroy_espbox(target)
{
self waittill("UpdateTarget_ESPWallHack");
target.hudbox destroy();
}
disableesp()
{
self notify("esp_end");
i = 0;
while(i < self.esp.targets.size)
{
self.esp.targets[i].hudbox destroy();
i++;
}
}
createBox(pos) {
shader = newClientHudElem(self);
shader.sort = 0;
shader.archived = false;
shader.x = pos[0];
shader.y = pos[1];
shader.z = pos[2] + 30;
shader setShader(level.esps, 6, 6);
shader setWaypoint(true, true);
shader.alpha = 0.80;
shader.color = (0.302, 0.035, 0.373);
return shader;
}
CreateBox( target )
{
headicon = newClientHudElem(self);
headicon.archived = 1;
headicon.x = 8;
headicon.y = 8;
headicon.z = 8;
headicon.alpha = 0.8;
headicon setshader( "hud_remote_missile_target", 10, 10 );
headicon setwaypoint( 1 );
headicon settargetent( target );
return headicon;
}
ToggleRedboxes()
{
self.redboxes = !(isdefined(self.redboxes) && self.redboxes);
if(self.redboxes)
self thread RedBoxThread();
}
RedBoxThread()
{
self endon("disconnect");
while(self.redboxes)
{
foreach(player in level.players)
{
if(player == self || level.teambased && player.team == self.team)
continue;
player thread MakeRedBox( self );
}
wait 1;
}
self notify("rbx_off");
}
MakeRedBox( owner )
{
if(!isdefined(self.rboxes))
self.rboxes = [];
Index = owner GetEntityNumber();
if(isdefined( self.rboxes[ Index ] ))
return;
self.rboxes[ Index ] = owner CreateBox( self );
self.rboxes[ Index ] thread OnDisconnectedRBFix( owner );
while( isdefined(owner.redboxes) && owner.redboxes && isAlive(self))
wait .0125;
self.rboxes[ Index ] Destroy();
self.rboxes[ Index ] = undefined;
}
OnDisconnectedRBFix( owner )
{
owner endon("rbx_off");
owner waittill("disconnect");
self Destroy();
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.