L4D code
Sticky Threads
pCmd->viewangles.y = RandomFloat(-180,180); Tested against a bot jockey, works pretty good and it must be fun to watch by other survivors :) EDIT: Might as well flip your view angles, makes you stand perfectly still QAngle angMove; VectorAngles( *GenDT< GenDT_TerrorPlayer >(...
Should make haxing l4d2 a tad easier. I'll add to this post when I feel like it. Because I replaced a bunch of functions with Unknownn some parts of the sdk may complain, I just commented those out. IClientEntity related...
g_pInput->GetUserCmd now takes 2 params as Badster pointed out, but the offset in the vtable is the same. Pass either -1 or 0 as the first arg (passing -1 will cause it to call some other functions outside client.dll but that seems to return 0 anyway), second arg is the sequence number. The...
Before you say wav's already done this and posted it (which he has), he uses a tracefilter which is prone to error as it will consider props valid (CTraceFilterWorldOnly, certain props are not considered world thus it will shoot thru them). The reason the game uses that tracefilter is because some...
enum ClientClassIDs { CIDBoomer = 0, CIDCAssaultRifle = 1, CIDCAutoShotgun = 2, CIDCBaseDoor = 11, CIDCBaseEntity = 12, CIDCBasePropDoor = 17, CIDCBeamSpotlight = 25, CIDCBoomerClaw = 27,
Is the 2nd function in IClientNetworkable's vtable. So edit the sdk accordingly. Should save you some trouble. Though this is easily found by looking at a random entity's IClientNetworkable vtable.
0 -> Init 3 -> GetAllClasses 9 -> HUD_Update 49 -> CreateMove
Offsets for every networked var in the game...enjoy? 30 megabytes unzipped
118C434F D986 14120000 FLD DWORD PTR DS: 118C4355 D807 FADD DWORD PTR DS: 118C4357 D91F FSTP DWORD PTR DS: 118C4359 D986 18120000 FLD DWORD PTR DS: 118C435F D847 04 FADD DWORD PTR DS: 118C4362 D95F 04 FSTP DWORD PTR DS: 118C4365 ...
vgui_controls.lib http://www.usaupload.net/d/fw48o8b0xaz tier1.lib http://www.usaupload.net/d/7trslctnj8a
I know some of you are hacking L4D now and notice that if you try to create panels you will fail. In the effort to alleviate this and with a lot of sweat on my part I present to you the solution, a modified vgui_controls.lib for L4D. http://www.usaupload.net/d/qq1t5qo69vb It took me a while...
-> CreateFont 0 arguments Located at ISurface + 0x100 -> SetFontGlyphSet 9 arguments Located at ISurface + 0x104 -> DrawColoredText 8+ arguments
120A5DF9 8B06 MOV EAX, DWORD PTR DS: 120A5DFB 8B90 80040000 MOV EDX, DWORD PTR DS: 120A5E01 8BCE MOV ECX, ESI 120A5E03 FFD2 CALL EDX C_BaseCombatWeapon* __stdcall GetBaseCombatWeapon ( C_BaseEntity *pBaseEntity ) { C_BaseCombatWeapon...
cmp ecx, yourid // physical steamid from status -> reference code below jnz crap mov dword ptr ds:, steam_id_to_spoof mov dword ptr ds:, 0x01100001 jmp end crap mov dword ptr ds:, ecx mov dword ptr ds:, edx end mov esp, ebp
Old ass code since they added melee fatigue in versus bool __stdcall bIsFatigued ( CBasePlayer *pPlayer ) { if ( bIsSurvival == false || bIsVersus == false ) return false; PFLOAT pflNextShoveTime = ( PFLOAT )( ( DWORD )pPlayer + m_flNextShoveTimeOffset );
bool __stdcall bPathFree ( Vector vecStart, Vector vecEnd, C_BaseEntity *pBaseEntity ) // NON MINIGUN { Ray_t ray; trace_t tr; float flLength; Vector vecDir;
RandomSeed ( iSeed ); flSpreadHorizontal = RandomFloat ( 0, 6.283185f ); flSpreadVertical = RandomFloat ( 0, 3.5f ); dblCosine = cos ( flSpreadHorizontal ); dblCosine *= flSpreadVertical; dblSine = sin ( flSpreadHorizontal );
This is mainly for competent people only who can fill in the rest. Doesn't include the scan sigs, the take damage function I reversed which iterates the entities along the ray determining if damage can be dealt. The texture information, etc. You will need to also fix a few rare cases where...
Something I did a long time ago but never got around to releasing. if ( cvars::manager.get<bool>(&cvars::aim_prediction) ) { VectorCopy ( g_pBaseClient->m_vecEyePosition, g_pBaseClient->m_vecBackupEyePosition ); g_pBaseClient->m_vecEyePosition += ( ( g_pBaseClient->m_vecEyePosition -...
void __stdcall L4D_BaseNoRecoil::GetNewAngles ( CUserCmd *pCmd ) { pCmd->viewangles -= g_pBaseClient->m_fPunchAngles; pCmd->viewangles -= g_pBaseClient->m_fPunchAngles; pCmd->viewangles -= g_pBaseClient->m_fPunchAngles; } void __stdcall L4D_BaseNoRecoil::GetPunchAngles ( C_BaseEntity...
void __stdcall L4D_BaseNoSpread::GetNewAngles ( CUserCmd *pCmd ) { DWORD dwSeed; DWORD dwOldSeed; float flMax, flMin; float flSpreadHorizontal, flSpreadVertical; PCHAR pszHorizSpread = "CTerrorGun::FireBullet HorizSpread"; PCHAR pszVertSpread = "CTerrorGun::FireBullet VertSpread";
I was lazy to actually fix CBaseAnimating class. bool __stdcall SetupBones ( matrix3x4_t *pBoneToWorldOut, int nMaxBones, int boneMask, float currentTime ) { bool bRet; __asm { PUSH currentTime
I stole pato's words because I could. This is my first attempt at l4d awall sometime ago. It's pretty decent but doesn't take into account texture multipliers or the gain range of the rifle or other factors. bool __stdcall L4D_CanPenetrate ( Vector vecStart, Vector vecEnd ) { float...
void CBaseL4DWeaponData::SetupWeaponData ( int iWeaponID ) { switch ( iWeaponID ) { case weapon_pistol: { m_fCharacterPenetrationMaxDistance = 0; m_fDamage = 36; m_fGainRange = 0; m_fPenetrationMaxDistance = 0;
abstract_class IGameEventListener2 { public: virtual ~IGameEventListener2( void ) {}; // FireEvent is called by EventManager if event just occured // KeyValue memory will be freed by manager if not needed anymore // virtual void FireGameEvent( IGameEvent *event ) = 0;
Normal Threads
Alright here's the secret weapons tutorial http://www.youtube.com/watch?v=oU_SWRUZViQ "it works like baseball bat preorder. everytime you are in the server, there will be a chance that the german weapons spawn, and everyone else can use them as well." Now, I'm just wondering but does anyone...
As some of you may know, there is protection in L4D2 that prevents sv_cheats from being changed when you're not running a server (usually when you do this, the console will be spammed with "can't set sv_cheats now"). The code that controls the protection is (as of 12/21/2009) ; sv_cheats...
Since the interfaces have changed for the most part, I decided to look for g_pEngine->GetLocalPlayer, but from what it is in other games (returns a move from a dword and then add 1), I couldn't find it in the vtable. I suppose I could GetPlayerInfo, but that isn't very cool. ...
Hey, http://hg.alliedmods.net/hl2sdks/hl2sdk-l4d2/file/c0023ab42fba Credits: SourceMod's Dev Team Cheers EDIT: Not sure how accurate it is, just posting because I thought it would be helpful.
The function which is used for spread calculation, etc. #define SHAREDRANDOMFLOAT_SIG "51 A1 ?? ?? ?? ?? 53 8B 5C 24 18 56 8B 74 24 10 57 53 50 E8" float SharedRandomFloat( char* arg1, float Min, float Max, int arg4 ) { using namespace L4DSDK; typedef float (__cdecl* SRF_t) (...
Sigscan for the call to clientdll->init (which is in engine.dll), then this ( assuming that the address you have is to the beginning of the call ). g_pGlobals = reinterpret_cast<CGlobalVarsBase*> ( *reinterpret_cast<PUINT_PTR*>( ( ClientDLL_Init + 0x3B ) ) );
static UINT_PTR TraceFilterAdd = 0; if( !TraceFilterAdd ) { TraceFilterAdd = reinterpret_cast<UINT_PTR> ( GetModuleHandleA("client") ) + 0x3BD1C8; } The game actually just (well at least seems) to use a CTraceFilterWorldOnly, so you could probably just use one of those.
I can do panels in TF2, but I am not bright enough to use wav's work to create panels in L4D2 (I did try). I would prefer panels either way. As for hooking PaintTraverse, (which SHOULD be vfunc 40 in the panel class), TF2 yields: //TF2 PaintTraverse /* .text:0E7CBC90 ; =============== S U B R...
Can be gotten in the same way with an extra parameter. g_pInput->GetUserCmd( unknown, sequence_number ); That is for both L4D1/2. Also L4D has no cmd protection whereas L4D2 does.
If you are too dumb to find this you probably shouldn't be attempting to hack L4D anyway, but if you are too lazy to find it (O_O) then here you are... static DWORD address = NULL; if( !address ) { address = GetModuleHandleA("client") + 0x1E0750; } typedef char* (__cdecl* GWA_t) ( int...
Might happen that I'm just retarded here but.. What has happened to this class compared to TF2? The functions seem to have changed index ALOT in the virtual table.. Con_IsVisible in TF2 is index 11, in L4D2 seems to be 176 ? /* TF2 - engine.dll - Con_IsVisible - Table = 0CEFB450 0CEFB44F ...
Someone know stride for infected / tank / smoker / Hunter/ witch adn players?
class L4DBaseEntity { public: const char* GetSequenceName(void) { char* pszResult; DWORD* dwSequenceName = L4DImports::GetSequenceName; __asm
Hi all i bought this game yesterday... How can i start making hacks for L4D? i need an SDK? thank you
So after about a month or two I fired L4D up again and loaded up my hook, just to realize that Player names are now no longer showing on my ESP. I've checked everything, and was wondering if it was something changed with the virtual function (Just Engine->GetPlayerInfo(...)) and if it's...
Dunno if anyone would want/use this, don't really think it's all that useful but what the hell: //----- (101D6FF0) -------------------------------------------------------- char *__cdecl sub_101D6FF0() { return "d7NSuLq2"; }
Hey, this is my code: Vector* GetAbsOrigin( IClientEntity* pEntity ) { Vector* vReturn; _asm {
At the moment I have a basic L4D ESP, which works fine, apart from, when the infected die, like the standard infected and also the special infected, my ESP still shows on them during the death animation. I have attempted to use m_lifeState checks, which I found at Entity + 0x11F. However this...
hey.. downloaded the orangebox sdk .. tf2 works with my simple hook .. l4d crashes. if i remove the engine hook it doesnt crash and my speedhack works. so wav or someone else please help me :) and does l4d have IsDrawingLoadingImage? greetz
Here you go. It's not all that useful, but hopefully someone will be able to use it. I've included the survivors' info as well, although it's not entirely necessary. There are a few odd animation sequences that aren't detected, but these work most of the time. It must get the job done...
There are currently 1 users browsing this forum. (0 members & 1 guests)
Use this control to limit the display of threads to those newer than the specified time frame.
Allows you to choose the data by which the thread list will be sorted.
Order threads in...
Note: when sorting by date, 'descending order' will show the newest results first.
Forum Rules