insert l33t h4ck3r title
- User ID
- 12177
- Messages
- 59
- Reactions
- 22
- Level
- 10
Decided to post how I do particle shit in my supremacy cheat, pretty simple.
First you need the IEffects class
Make an IEffects.h file
class IEffects
{
public :
virtual ~ IEffects () {} ;
virtual void Beam (const vec3_t & Start, const vec3_t & End, int nModelIndex ,
int nHaloIndex, unsigned char frameStart, unsigned char frameRate,
float flLife, unsigned char width, unsigned char endWidth, unsigned char fadeLength,
unsigned char noise, unsigned char red, unsigned char green,
unsigned char blue, unsigned char brightness, unsigned char speed) = 0 ;
// ---------------------------------------------------------------------------------------
// Purpose: Emits smoke sprites.
// Input: origin - Where to emit the sprites.
// scale - Sprite scale * 10.
// framerate - Framerate at which to animate the smoke sprites.
// ---------------------------------------------------------------------------------------
virtual void Smoke (const vec3_t & origin, int modelIndex, float scale, float framerate) = 0 ;
virtual void Sparks (const vec3_t & position, int nMagnitude = 1, int nTrailLength = 1, const vec3_t * pvecDir = NULL) = 0 ;
virtual void Dust (const vec3_t & pos, const vec3_t & dir, float size, float speed) = 0 ;
virtual void MuzzleFlash (const vec3_t & vecOrigin, const vec3_t & vecAngles, float flScale, int iType) = 0 ;
// like ricochet, but no sound
virtual void MetalSparks (const vec3_t & position, const vec3_t & direction) = 0 ;
virtual void EnergySplash (const vec3_t & position, const vec3_t & direction, bool bExplosive = false) = 0 ;
virtual void Ricochet (const vec3_t & position, const vec3_t & direction) = 0 ;
// FIXME: Should these methods remain in this interface? Or go in some
// other client-server neutral interface?
virtual float Time () = 0 ;
virtual bool IsServer () = 0 ;
// Used by the playback system to suppress sounds
virtual void SuppressEffectsSounds (bool bSuppress) = 0 ;
};
Then you just need to get the interface ptr, in this case I call my mine m_effects
m_effects = interfaces.get< IEffects* >(HASH("IEffects")); <- this goes in csgo.cpp
Now I won't walk through every single step, because this shouldn't take but 5 minutes to do and I'm sure you can manage to add m_effects to csgo.h
But once all that magic is done, you can use that noggin' of yours to make all the eye cancer you want, calling it like g_csgo.m_effect->WhateverEffect();
There's other things you can do as well, here's a post that goes over it more including blood and tesla effects like vader.tech uses:
(Hopefully I'm allowed to post external links, if not feel free to just delete the link.)
First you need the IEffects class
Make an IEffects.h file
class IEffects
{
public :
virtual ~ IEffects () {} ;
virtual void Beam (const vec3_t & Start, const vec3_t & End, int nModelIndex ,
int nHaloIndex, unsigned char frameStart, unsigned char frameRate,
float flLife, unsigned char width, unsigned char endWidth, unsigned char fadeLength,
unsigned char noise, unsigned char red, unsigned char green,
unsigned char blue, unsigned char brightness, unsigned char speed) = 0 ;
// ---------------------------------------------------------------------------------------
// Purpose: Emits smoke sprites.
// Input: origin - Where to emit the sprites.
// scale - Sprite scale * 10.
// framerate - Framerate at which to animate the smoke sprites.
// ---------------------------------------------------------------------------------------
virtual void Smoke (const vec3_t & origin, int modelIndex, float scale, float framerate) = 0 ;
virtual void Sparks (const vec3_t & position, int nMagnitude = 1, int nTrailLength = 1, const vec3_t * pvecDir = NULL) = 0 ;
virtual void Dust (const vec3_t & pos, const vec3_t & dir, float size, float speed) = 0 ;
virtual void MuzzleFlash (const vec3_t & vecOrigin, const vec3_t & vecAngles, float flScale, int iType) = 0 ;
// like ricochet, but no sound
virtual void MetalSparks (const vec3_t & position, const vec3_t & direction) = 0 ;
virtual void EnergySplash (const vec3_t & position, const vec3_t & direction, bool bExplosive = false) = 0 ;
virtual void Ricochet (const vec3_t & position, const vec3_t & direction) = 0 ;
// FIXME: Should these methods remain in this interface? Or go in some
// other client-server neutral interface?
virtual float Time () = 0 ;
virtual bool IsServer () = 0 ;
// Used by the playback system to suppress sounds
virtual void SuppressEffectsSounds (bool bSuppress) = 0 ;
};
Then you just need to get the interface ptr, in this case I call my mine m_effects
m_effects = interfaces.get< IEffects* >(HASH("IEffects")); <- this goes in csgo.cpp
Now I won't walk through every single step, because this shouldn't take but 5 minutes to do and I'm sure you can manage to add m_effects to csgo.h
But once all that magic is done, you can use that noggin' of yours to make all the eye cancer you want, calling it like g_csgo.m_effect->WhateverEffect();
There's other things you can do as well, here's a post that goes over it more including blood and tesla effects like vader.tech uses:
You must be registered for see links
(Hopefully I'm allowed to post external links, if not feel free to just delete the link.)