Post: Exelo Wallhack - Overflow Issues
12-12-2017, 02:50 AM #1
(adsbygoogle = window.adsbygoogle || []).push({}); Hey Guys, I have rewritten the ESP function I think Exelo created? I am having issues with overflow though. Has anyone experienced this or would like to help me out?

    gettargets()
{
self endon( "esp_end" );
for(;Winky Winky
{
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(;Winky Winky
{
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;
}
(adsbygoogle = window.adsbygoogle || []).push({});
12-25-2017, 07:23 PM #11
Thanks all who have commented, this has actually given me some thought as to how I can resolve the issue. Some of you seem to understand the workflow really well, albeit I do not see any real low level stuff out here? I reached out to Patrick about maybe collaboration or learning from them.. Does anyone have spare time to do a video call so i can pick your brain for a few?? I have not been much of a gamer, but I do get my hands dirty programming often, but this is pretty foreign for me.
12-25-2017, 07:27 PM #12
Originally posted by Patrick View Post
could you post a screenshot of the exact error you're getting?

try this:
    //ESP - 08/02/2017 ~ Extinct
ToggleESP()
{
if(!isDefined(self.esp))
{
self.esp = true;
self thread getTargets();
}
else self.esp = undefined;
}

getTargets()
{
level endon("game_ended");
self endon("disconnect");

espTargets = [];

while(isDefined(self.esp))
{
foreach(player in level.players)
{
if(!isDefined(espTargets[ player getEntityNumber() ]) && isAlive(player))
{
if(level.teamBased && self.team != player.team || !level.teamBased)
espTargets[ player getEntityNumber() ] = self createBox(player.origin, level.espBox, (1,0,0));
}
else if(isDefined(espTargets[ player getEntityNumber() ]))
{
fixHeight = 0;
target = espTargets[ player getEntityNumber() ];
if(distance(self.origin, player.origin) >= 900) fixHeight = -15;
target.x = (player.origin[0]); target.y = (player.origin[1]);
target.z = (player GetTagOrigin("j_spinelower")[2] + fixHeight);

if(bulletTracePassed(self getTagOrigin("j_spine4"), player getTagOrigin("j_spine4"), false, self))
{
if(level.teamBased && player.team != self.team || !level.teamBased)
target.color = (0,1,0);
}
else target.color = (1,0,0);

if(!isAlive(player))
{
target setShader("headicon_dead", 6, 6);
target setWaypoint(true, true);
}
else
{
target setShader("hud_remote_missile_target", 6, 6);
target setWaypoint(true, true);
}
}
}
wait .05;
}
}


I will look this over after the holidays and implement it to test. Thanks for your insight! Can you please elaborate on why you think the way my original code was poorly coded? If i am doing something wrong for GSC I would like to solve it.
12-25-2017, 07:29 PM #13
Also, you asked me to post an error, of which I do not have. I just freeze mid game. Is there a way to debug on PS3 so that i can get an error stack?
12-26-2017, 05:53 AM #14
anthonything
Space Ninja
Originally posted by thagh05t View Post
Also, you asked me to post an error, of which I do not have. I just freeze mid game. Is there a way to debug on PS3 so that i can get an error stack?


There is an sprx (by shark i think) that reports gsc errors. Might help you. If you are freezing mid game you can just debug the old fashioned way: line by line. Comment out the major stuff that you think is the issue, then slowly move down till you freeze up. Probs something simple, because GSC isnt exactly the most stable thing in the world.
12-26-2017, 05:57 AM #15
anthonything
Space Ninja
Originally posted by thagh05t View Post
Hey Guys, I have rewritten the ESP function I think Exelo created? I am having issues with overflow though. Has anyone experienced this or would like to help me out?

    gettargets()
{
self endon( "esp_end" );
for(;Winky Winky
{
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(;Winky Winky
{
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;
}


Think the issue is most likely creating and destroying a hud element in the same frame multiple times. Run with extincts code, or to fix your own, create a hud element and instead of destroying and re-creating every x seconds, create outside of the loop and hide or destroy when the target no longer exists.

The following user thanked anthonything for this useful post:

Patrick
12-27-2017, 11:21 PM #16
Can you link me to or paste n extincts code so I can look at the mechanics?
12-28-2017, 02:14 AM #17
Patrick
League Champion
Originally posted by thagh05t View Post
Can you link me to or paste n extincts code so I can look at the mechanics?


I'm Extinct, I posted the code before.
12-28-2017, 01:22 PM #18
Originally posted by Patrick View Post
could you post a screenshot of the exact error you're getting?

try this:
    //ESP - 08/02/2017 ~ Extinct
ToggleESP()
{
if(!isDefined(self.esp))
{
self.esp = true;
self thread getTargets();
}
else self.esp = undefined;
}

getTargets()
{
level endon("game_ended");
self endon("disconnect");

espTargets = [];

while(isDefined(self.esp))
{
foreach(player in level.players)
{
if(!isDefined(espTargets[ player getEntityNumber() ]) && isAlive(player))
{
if(level.teamBased && self.team != player.team || !level.teamBased)
espTargets[ player getEntityNumber() ] = self createBox(player.origin, level.espBox, (1,0,0));
}
else if(isDefined(espTargets[ player getEntityNumber() ]))
{
fixHeight = 0;
target = espTargets[ player getEntityNumber() ];
if(distance(self.origin, player.origin) >= 900) fixHeight = -15;
target.x = (player.origin[0]); target.y = (player.origin[1]);
target.z = (player GetTagOrigin("j_spinelower")[2] + fixHeight);

if(bulletTracePassed(self getTagOrigin("j_spine4"), player getTagOrigin("j_spine4"), false, self))
{
if(level.teamBased && player.team != self.team || !level.teamBased)
target.color = (0,1,0);
}
else target.color = (1,0,0);

if(!isAlive(player))
{
target setShader("headicon_dead", 6, 6);
target setWaypoint(true, true);
}
else
{
target setShader("hud_remote_missile_target", 6, 6);
target setWaypoint(true, true);
}
}
}
wait .05;
}
}


Nice, I tried to do something like this last night, but wasn't tracking properly. I am a bit stubborn and try to do things on my own, I hate copying and pasting because I dont learn anything from it. Compared to the above i can agree what I did was poorly coded. Could you please also share your createBox function? Also, am i to assume you are passing in level.espBox as an argument because it is a level variable of the shader element? If so then I need to likely precache the two elements used (headicon_dead and hud_remote_missile_target) and define them as level variables. I had an issue trying to use headicon_dead before, the icon was not showing up, did I forget to include this somehow?

I really appreciate the assistance, glad i have a place to actually talk to folks about this.
12-28-2017, 02:39 PM #19
Patrick
League Champion
Originally posted by thagh05t View Post
Nice, I tried to do something like this last night, but wasn't tracking properly. I am a bit stubborn and try to do things on my own, I hate copying and pasting because I dont learn anything from it. Compared to the above i can agree what I did was poorly coded. Could you please also share your createBox function? Also, am i to assume you are passing in level.espBox as an argument because it is a level variable of the shader element? If so then I need to likely precache the two elements used (headicon_dead and hud_remote_missile_target) and define them as level variables. I had an issue trying to use headicon_dead before, the icon was not showing up, did I forget to include this somehow?

I really appreciate the assistance, glad i have a place to actually talk to folks about this.


Yeah i forgot to change 'level.espbox' to 'hud_remote_missile_target' for you, but yes you need to precache the two shaders.

here is the 'createBox' function but its terribly done.
    createbox( pos, type, color )
{
shader = newclienthudelem( self );
shader.sort = 0;
shader.archived = false;
shader.x = pos[0];
shader.y = pos[1];
shader.z = pos[2];
shader setshader( type, 6, 6 );
shader setwaypoint( 1, 1 );
shader.alpha = 0.8;
shader.color = color;
return shader;
}

The following user thanked Patrick for this useful post:

thagh05t

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo