Quake 4 Development
Sticky Threads
Open the Q4 sdk and change the project settings for game.dll to compile as a lib. Build the game.lib and link that with your project. You don't need idlib.lib if you do this. I'm sure you can get the rest from here. Yes you need to set these pointers otherwise if you use game code, ie CalcFov...
Umm not sure when I made this but it's pretty old. It was for the demo and incomplete. XHook.cpp #include "../XEngine/XEngine.h" #define FONT_WIDTH 7.0f/1.2f #define FONT_HEIGHT 12.0f/1.2f #define MAX_CLIENTS 32
I only wrote this up because it's a much better alternative to the r_showSkel CVar hack which silverfish mentioned; and which also invades your screen (which can be really annoying). void CGui::DrawHitboxes( renderEntity_t *pRenderEntity ) { if ( !pRenderEntity ) return; ...
Ahhh Quake 4, a fun engine to play with. If you're messing around with it and haven't figured out how to do player effects etc. well here it is, hopefully people will start playing with Quake 4 if i post a few things. void CGui::DrawBeams( idPlayer *m_pPlayer ) { if ( !m_pPlayer )...
idVec4 CGui::GetTeamColour( int m_iTeam ) { switch ( m_iTeam ) { case TEAM_STROGG: { return idVec4( 1.00f, 0.50f, 0.00f, 1.00f ); } case TEAM_GDF: {
DEFVFUNC( oldLocalUpdateEmitter, void, ( idSoundEmitter *soundEmitter, const idVec3 &origin, const idVec3 &velocity, int listenerId, const soundShaderParms_t *parms ) ); void __stdcall newLocalUpdateEmitter( idSoundEmitter *soundEmitter, const idVec3 &origin, const idVec3 &velocity, int...
Well this is probably the easiest thing to figure out so far, idCVar *idCVar::staticVars; idCVar aids( "aids", "1", CVAR_GAME | CVAR_INTEGER | CVAR_NOCHEAT, "lol k owned 1/0\n" ); idCVar pm_thirdPerson( "pm_thirdPerson", "1", CVAR_GAME | CVAR_INTEGER | CVAR_NOCHEAT, "pm_thirdPerson" ); ...
Hmmm well here's a pretty neat feature, it's basically the equivalent of sprite ESP in HL2 except alot easier. I'll try and get a screenshot up soon of all the features. const idMaterial *pMaterial = gameEngine.declManager->FindMaterial( pWeapon->spawnArgs.GetString( "inv_icon" ), false...
Well here's how to find whether a player is visible or not, I don't know what it is about the Quake 4 engine but it just doesn't like certain functions, so I've reverted to using this strange function. bool CAimbot::GetPlayerVisible( idPlayer *m_pPlayer ) { idPlayer *m_pLocal =...
Here's how to do a spycam for Q4, it's virtually the same as the Q3 spycam technique, except that it's not necessarily called in R_RenderScene, you can call this where you call your ESP. void CGui::DrawSpycam( idPlayer *m_pPlayer ) { if ( !m_pPlayer ) return; renderView_t renderView;...
And another post, If you're a bit lost check out the other posts. Here's how to do a simple name weapon ESP struct weaponModelStruct_t { char *pszName; char *pszModelName;
Well here's another thread for Q4, a neato engine to say the least. And this is how you register fonts within the game, If you look in q4base/pak001.pk4 simply with WinRAR archiver you'll be able to grab the rest of the fonts. chain lowpixel marine profont r_strogg
Well here's how to validate "idPlayer" in the id4 Engine used by Q4, ET:QW and Doom III. bool CAimbot::GetPlayerValid( idPlayer *m_pPlayer, bool m_bIsLocal ) { if ( !m_pPlayer ) return false; if ( m_pPlayer->fl.hidden ) return false;
Well Q4 is notorious for it's shaders, and it hasn't changed much over the years from Q2-Q4. Here's how to do it in Q4 anyway. The Quake 4 SDK is hopeless and I didn't manage to find the "SetMaterialFlags()" so I just chose a random value, I'm pretty sure 5 gives you translucent player models...
bool GetJointTransform( renderEntity_t *renderEntity, const char *jointName, idVec3 &vecPosition, idMat3 &vecAxis ) { if ( !renderEntity ) return false; idRenderModel *modelHandle = renderEntity->hModel; if ( modelHandle && ( modelHandle->IsLoaded() ) ) { jointHandle_t jointHandle...
bool IsValidPlayer( idPlayer *pLocal, idPlayer *pPlayer ) { if(pPlayer && pPlayer != pLocal && pPlayer->IsActive() && !pPlayer->fl.isDormant && !pPlayer->fl.networkStale && pPlayer->health > 0) return true; return false; } bool IsValidEnt( idEntity *pEnt )
Easy way to sorta glowshell your weapon or color players maybe for CTF or smth team based. pMe->powerUpOverlay = pMe->regenerationOverlay; // red pMe->powerUpOverlay = pMe->quadOverlay; // blue http://70.86.55.186/tetsuo/images/Quake4/shot000013.jpg a ss with the regen overlay. For...
This was a pain to figure out so I hope you appreciate this. This is actually kind of like adminmod fonts for HL where you draw strings char by char. // returns pixel len w/o esc codes float DrawStringLen( const char *str, fontInfoEx_t &font ) { float flLen = 0.0f; int iEsc = 0; for(...
This is simple as shit. Here's a ss: http://tetsuo.gamedeception.net/images/Quake4/shot00012.jpg renderView_t *view = pPlayer->GetRenderView(); if(view) { view->x = 0; view->y = -1200;
To use cheat cvars online. bool VFUNC GetCVarBool( idCVarSystem *cvarSys, const char *name ) { if(!idStr::Icmp(name, "net_allowCheats")) return true; return pGetCVarBool(cvarSys, name); }
Normal Threads
Hiya faggots, This is a little bit of code I wrote up to show items on the map in a standard text ESP sort of format, it's pretty neato because it won't draw unless the item is available. It's pretty basic but it does the job quite well, feel free to improve upon it. void static bool int...
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