Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › Programming › C++/C Programming › [AssaultCube]Getting TraceLine

[AssaultCube]Getting TraceLine

Posts 1–3 of 3 · Page 1 of 1
Retoxified
Retoxified
[AssaultCube]Getting TraceLine
This one was slightly harder to find.
I know bots made use of CBot::IsVisible, but none of those contained strings.
So I wen't to look for TraceLine itself, after finding it, I chose to do Find all references

One of the references was
Code:
TraceLine(player1->o, dest, player1, true, &tr);
in BotManager, it uses player1, so it would give us a way to confirm we have the right function once we find it in olly.

So I double clicked it, and WHT THE FUCK!! YAY! ITS A COMMAND! =D
telebot!
Knowing from past usage of COMMAND, its a define takes two arguments, the first one is the name of the command and at the same time the name of the function it's calling, the second argument is what amount of arguments it has.
the define calls a function with 3 arguments, the first one being the text string, 2nd being the pointer to the function, and the third being the paramcount.

COMMAND(telebot, ARG_NONE);

"telebot" is what we will search for with olly!
it was quite easy to find, since its the only telebot command

Code:
00491BE0   . 6A 04          PUSH 4
00491BE2   . 68 90524700    PUSH ac_clien.00475290
00491BE7   . 68 0CDF4900    PUSH ac_clien.0049DF0C                   ;  ASCII "telebot"
00491BEC   . E8 8FDEFBFF    CALL ac_clien.0044FA80
00491BF1   . 83C4 0C        ADD ESP,0C
00491BF4   . A2 A0084E00    MOV BYTE PTR DS:[4E08A0],AL
00491BF9   . C3             RETN
ARG_NONE is 4(push 4, last param).
PUSH ac_clien.00475290 is the pointer to the telebot function.

Control+G in olly and go to 00475290

Code:
TraceLine(player1->o, dest, player1, true, &tr);
     if (!tr.collided)
!tr.collided = !true = false = 0

Code:
...lots of arguments...
00475368  |. E8 A365FFFF    CALL ac_clien.0046B910                   ; \ac_clien.0046B910
0047536D  |. 83C4 24        ADD ESP,24
00475370  |. 807C24 3C 00   CMP BYTE PTR SS:[ESP+3C],0 ;<-- compared to 0 ;)
00475375  |. 0F85 96000000  JNZ ac_clien.00475411
So 0x0046B910 is traceline!
Code:
void (*TraceLine)(vec from, vec to, dynent *pTracer, bool CheckPlayers, traceresult_s *tr, bool SkipTags) = (void (__cdecl *)(vec,vec,dynent *,bool,traceresult_s *,bool))0x0046B910;

bool IsVisible(vec v1, vec v2, dynent *tracer, bool SkipTags)
{
     traceresult_s tr;
     TraceLine(v1, v2, tracer, (tracer!=NULL), &tr, SkipTags);
     return !tr.collided;
}
usage:
Code:
bool bEnemyVisible = IsVisible(player1->o, players[i]->o, NULL, false);
Now you have everyting to make a fully functional aimbot
#1 · 16y ago
LA
lalakijilp
ÜB3RN3RDP0WN4G3
#2 · 16y ago
shooterman80
shooterman80
assault cube is so old It's so complicated!
#3 · 16y ago
Posts 1–3 of 3 · Page 1 of 1

Post a Reply

Similar Threads

  • [AssaultCube]Get player entities(external)By Retoxified in C++/C Programming
    1Last post 16y ago
  • [AssaultCube]Get local player entityBy Retoxified in C++/C Programming
    1Last post 16y ago
  • Plz I Want Maple Global Hacks And Where Do I Get Game Engine 2 Make The Hacks Work???By mattinthehat in MapleStory Hacks, Cheats & Trainers
    3Last post 20y ago
  • Get Avatars and Sigs!By Dave84311 in General
    25Last post 20y ago
  • Free Infantry Gets Owned By MPGHBy Super-Man in General Game Hacking
    34Last post 20y ago

Tags for this Thread

None