@@ -32,7 +32,7 @@ PBYTE PatternScan(HMODULE hModule, LPCSTR _szPattern) {
32
32
struct TAGConfig {
33
33
BOOLEAN bBunnyHop , bAutoStrafe ; // Movement
34
34
BOOLEAN bAutoPistol , bHitSound , bHitEffect ; // Aimbot and related
35
- BOOLEAN bAutoAccept , bVoteRevealer , bAntiPopup ; // Game UI-related things
35
+ BOOLEAN bAutoAccept , bVoteRevealer , bAntiPopup , bRankRevealer ; // Game UI-related things
36
36
}Config ;
37
37
struct vec3 {
38
38
FLOAT x , y , z ;
@@ -56,8 +56,9 @@ struct CEnginePlayerInformation {
56
56
INT nUserID ;
57
57
}* PlayerInfo ; // Constant pointer, to avoid redefinition.
58
58
METHOD (LPCSTR , LPCSTR (__fastcall * )(LPVOID , PVOID , ULONG32 ), GetPanelName , (ULONG32 luPanelID ), Panel , 36 , luPanelID ); // VGUIPanel Block
59
+ METHOD (LPCSTR , LPCSTR (__fastcall * )(LPVOID , PVOID , ULONG32 , BOOLEAN ), SetMouseInput , (ULONG32 luPanel , BOOLEAN bState ), Panel , 32 , luPanel , bState );
59
60
METHOD (VOID , VOID (__fastcall * )(LPVOID , PVOID , WORD , WORD , WORD , WORD ), SetColor , (WORD r , WORD g , WORD b , WORD a ), Surface , 15 , r , g , b , a ); // CMatSystemSurface Block
60
- METHOD (VOID , VOID (__fastcall * )(LPVOID , PVOID , INT , INT , INT , INT ), DrawFilledRect , (INT x , INT y , INT w , INT h ), Surface , 16 , x , y , x + w , y + h );
61
+ METHOD (VOID , VOID (__fastcall * )(LPVOID , PVOID , INT , INT , INT , INT ), DrawFilledRect , (INT x , INT y , INT w , INT h ), Surface , 16 , x , y , x + w , y + h );
61
62
METHOD (VOID , VOID (__fastcall * )(LPVOID , PVOID , WORD , WORD , WORD , WORD ), SetTextColor , (WORD r , WORD g , WORD b , WORD a ), Surface , 25 , r , g , b , a );
62
63
METHOD (VOID , VOID (__fastcall * )(LPVOID , PVOID , ULONG32 , ULONG32 ), SetTextPosition , (ULONG32 x , ULONG32 y ), Surface , 26 , x , y );
63
64
METHOD (VOID , VOID (__fastcall * )(LPVOID , PVOID , LPCWSTR , ULONG32 ), DrawText , (LPCWSTR StringPointer ), Surface , 28 , StringPointer , WideStringLength (StringPointer ));
@@ -78,6 +79,7 @@ VMETHOD(INT, INT(__fastcall*)(LPVOID, PVOID), CBaseCombatWeapon, GetWeaponType,
78
79
VMETHOD (LPCSTR , LPCSTR (__fastcall * )(LPVOID , PVOID ), IGameEvent , GetEventName , (PVOID Interface ), 1 ); // IGameEvent Block
79
80
VAMETHOD (INT , INT (__fastcall * )(LPVOID , PVOID , LPCSTR ), IGameEvent , GetInteger , (PVOID Interface , LPCSTR szKeyName ), 6 , szKeyName );
80
81
VAMETHOD (BOOLEAN , BOOLEAN (__fastcall * )(LPVOID , PVOID , LPCSTR ), IGameEvent , GetBoolean , (PVOID Interface , LPCSTR szKeyName ), 5 , szKeyName )
82
+ METHOD (BOOLEAN , BOOLEAN (__fastcall * )(LPVOID , PVOID , INT , INT , INT , PVOID ), DispatchUserMessage , (INT nMessage , INT nArgument1 , INT nArgument2 , PVOID pMessage ), Client , 38 , nMessage , nArgument1 , nArgument2 , pMessage ); // IVClient Block
81
83
BOOLEAN bMenuActive , bClicked , bInMove , bDragging , bItem , bWasClicked ; ULONG32 MenuX , MenuY , ActiveX , ActiveY , LastX , LastY ; WORD ActiveElement ; // ActiveX CS:GO Hackage Package
82
84
BOOLEAN __fastcall Utils_InRange (WORD x , WORD y , WORD w , WORD h ) {
83
85
return (LastX >= x && LastY >= y && LastX <= x + w && LastY <= y + h );
@@ -170,7 +172,28 @@ VOID Features_AutoPistol(struct CUserCmd* Command) {
170
172
if (CBaseCombatWeapon_NextAttack (ActiveWeapon ) > Globals -> m_flCurrentTime )
171
173
Command -> Buttons &= ~(1 << 0 ); // IN_ATTACK
172
174
}
173
- VOID Features_HitEffects (PVOID Event ) {
175
+ VOID (__fastcall * PaintTraverseOriginal )(LPVOID , PVOID , DWORD , BOOLEAN , BOOLEAN );
176
+ BOOLEAN (WINAPI * CreateMoveOriginal )(FLOAT , struct CUserCmd * );
177
+ BOOLEAN (__fastcall * GameEventsOriginal )(LPVOID , PVOID , PVOID );
178
+ VOID (WINAPI * EmitSoundOriginal )(PVOID , INT , INT , LPCSTR , DWORD , LPCSTR , FLOAT , INT , INT , INT , INT , struct vec3 , struct vec3 , PVOID , BOOLEAN , FLOAT , INT , PVOID );
179
+ BOOLEAN (__fastcall * DispatchUserMessageOriginal )(LPVOID , PVOID , INT , INT , INT , PVOID );
180
+ BOOLEAN __fastcall _DispatchUserMessage (INT nMessage , INT nArgument1 , INT nArgument2 , PVOID pMessage ) {
181
+ if (nMessage == 47 && Config .bVoteRevealer ) {
182
+ ConsoleMsg (0x00FF00FF , "[SingleFile] Vote Passed!\n" );
183
+ Beep (440 , 250 );
184
+ }
185
+ else if (nMessage == 48 && Config .bVoteRevealer ) {
186
+ ConsoleMsg (0xFF0000FF , "[SingleFile] Vote Failed!\n" );
187
+ Beep (384 , 250 );
188
+ }
189
+ return DispatchUserMessageOriginal (Client , 0 , nMessage , nArgument1 , nArgument2 , pMessage );
190
+ }
191
+ VOID WINAPI _EmitSound (PVOID pFilter , INT nEntityIndex , INT nChannel , LPCSTR szSoundEntry , DWORD dwSoundEntryHash , LPCSTR szSample , FLOAT flVolume , INT nSeed , INT nSoundLevel , INT nFlags , INT nPitch , struct vec3 Origin , struct vec3 Direction , PVOID vecOrigins , BOOLEAN bUpdatePosition , FLOAT flAudioLength , INT nSpeakingEntity , PVOID pUnknown ) {
192
+ if (StringFindString (szSoundEntry , "UIPanorama.popup_accept_match_beep" ) && Config .bAutoAccept )
193
+ ((BOOLEAN (WINAPI * )(LPCSTR ))PatternScan (GetModuleHandleA ("client.dll" ), "55 8B EC 83 E4 F8 8B 4D 08 BA ? ? ? ? E8 ? ? ? ? 85 C0 75 12" ))("" );
194
+ return EmitSoundOriginal (pFilter , nEntityIndex , nChannel , szSoundEntry , dwSoundEntryHash , szSample , flVolume , nSeed , nSoundLevel , nFlags , nPitch , Origin , Direction , vecOrigins , bUpdatePosition , flAudioLength , nSpeakingEntity , pUnknown );
195
+ }
196
+ BOOLEAN WINAPI _GameEvents (PVOID Event ) {
174
197
if (StringFindString (IGameEvent_GetEventName (Event ), "player_hurt" )) {
175
198
Engine_GetPlayerInfo (Engine_GetLocalPlayer (), PlayerInfo );
176
199
if (IGameEvent_GetInteger (Event , "attacker" ) == PlayerInfo -> nUserID ) {
@@ -182,28 +205,18 @@ VOID Features_HitEffects(PVOID Event) {
182
205
PVOID Entity = EntityList_GetEntity (IGameEvent_GetInteger (Event , "entityid" ));
183
206
BOOLEAN Vote = !(IGameEvent_GetBoolean (Event , "vote_option" ));
184
207
Engine_GetPlayerInfo (IGameEvent_GetInteger (Event , "entityid" ), PlayerInfo );
185
- ConsoleMsg (Vote ? 0x11CC11 : 0xCC1111 , "[SingleFile]: %s voted %s.\n" , 3 , PlayerInfo -> szPlayerName , Vote ? "Yes" : "No" );
208
+ ConsoleMsg (Vote ? 0x11CC11FF : 0xCC1111FF , "[SingleFile]: %s voted %s.\n" , 3 , PlayerInfo -> szPlayerName , Vote ? "Yes" : "No" );
186
209
Beep (Vote ? 486 : 347 , 200 );
187
210
}
188
- }
189
- VOID (__fastcall * PaintTraverseOriginal )(LPVOID , PVOID , DWORD , BOOLEAN , BOOLEAN );
190
- BOOLEAN (WINAPI * CreateMoveOriginal )(FLOAT , struct CUserCmd * );
191
- BOOLEAN (__fastcall * GameEventsOriginal )(LPVOID , PVOID , PVOID );
192
- VOID (WINAPI * EmitSoundOriginal )(PVOID , INT , INT , LPCSTR , DWORD , LPCSTR , FLOAT , INT , INT , INT , INT , struct vec3 , struct vec3 , PVOID , BOOLEAN , FLOAT , INT , PVOID );
193
- VOID WINAPI _EmitSound (PVOID pFilter , INT nEntityIndex , INT nChannel , LPCSTR szSoundEntry , DWORD dwSoundEntryHash , LPCSTR szSample , FLOAT flVolume , INT nSeed , INT nSoundLevel , INT nFlags , INT nPitch , struct vec3 Origin , struct vec3 Direction , PVOID vecOrigins , BOOLEAN bUpdatePosition , FLOAT flAudioLength , INT nSpeakingEntity , PVOID pUnknown ) {
194
- if (StringFindString (szSoundEntry , "UIPanorama.popup_accept_match_beep" ) && Config .bAutoAccept )
195
- ((BOOLEAN (WINAPI * )(LPCSTR ))PatternScan (GetModuleHandleA ("client.dll" ), "55 8B EC 83 E4 F8 8B 4D 08 BA ? ? ? ? E8 ? ? ? ? 85 C0 75 12" ))("" );
196
- return EmitSoundOriginal (pFilter , nEntityIndex , nChannel , szSoundEntry , dwSoundEntryHash , szSample , flVolume , nSeed , nSoundLevel , nFlags , nPitch , Origin , Direction , vecOrigins , bUpdatePosition , flAudioLength , nSpeakingEntity , pUnknown );
197
- }
198
- BOOLEAN WINAPI _GameEvents (PVOID Event ) {
199
- Features_HitEffects (Event );
200
211
return GameEventsOriginal (Events , 0 , Event );
201
212
}
202
213
BOOLEAN WINAPI _CreateMove (FLOAT flInputTime , struct CUserCmd * Command ) {
203
214
BOOLEAN bSetAngles = CreateMoveOriginal (flInputTime , Command );
204
215
Features_Bhop (Command );
205
216
Features_AutoStrafe (Command );
206
217
Features_AutoPistol (Command );
218
+ if (Config .bRankRevealer && Command -> Buttons & (1 << 16 ))
219
+ Client_DispatchUserMessage (50 , 0 , 0 , NULL );
207
220
return bSetAngles ;
208
221
}
209
222
VOID WINAPI _PaintTraverse (DWORD dwPanel , BOOLEAN bForceRepaint , BOOLEAN bAllowRepaint ) {
@@ -216,8 +229,10 @@ VOID WINAPI _PaintTraverse(DWORD dwPanel, BOOLEAN bForceRepaint, BOOLEAN bAllowR
216
229
Menu_Checkbox (L"Hit Effect" , & Config .bHitEffect );
217
230
Menu_Checkbox (L"Hit Sound" , & Config .bHitSound );
218
231
Menu_Checkbox (L"Vote revealer" , & Config .bVoteRevealer );
232
+ Menu_Checkbox (L"Rank revealer" , & Config .bRankRevealer );
219
233
}
220
234
}
235
+ Panel_SetMouseInput (dwPanel , !bMenuActive );
221
236
return PaintTraverseOriginal (Panel , 0 , dwPanel , bForceRepaint , bAllowRepaint );
222
237
}
223
238
LPVOID CreateInterface (HANDLE hModule , LPCSTR szName ) {
@@ -251,12 +266,13 @@ BOOL APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) {
251
266
Events = CreateInterface (GetModuleHandleA ("engine.dll" ), "GAMEEVENTSMANANGER002" );
252
267
ClientMode = * * (VOID * * * )((* (PDWORD * )(Client ))[0xA ] + 0x5 );
253
268
Globals = * * (struct CGlobalVarsClientBase * * * )((* (PDWORD * )(Client ))[0xB ] + 0xA );
254
- ConsoleMsg = GetProcAddress (GetModuleHandleA ("tier0.dll" ), "?ConColorMsg@@YAXABVColor@@PBDZZ" ); // I sure love me some mangled names!
269
+ ConsoleMsg = ( VOID ( * )( DWORD , LPCSTR , ...)) GetProcAddress (GetModuleHandleA ("tier0.dll" ), "?ConColorMsg@@YAXABVColor@@PBDZZ" ); // I sure love me some mangled names!
255
270
MenuX = 200 ; MenuY = 200 ;
256
271
MH_Initialize ();
257
272
MH_CreateHook ((* (PVOID * * )(Panel ))[41 ], & _PaintTraverse , (PVOID * )& PaintTraverseOriginal );
258
273
MH_CreateHook ((* (PVOID * * )(ClientMode ))[24 ], & _CreateMove , (PVOID * )& CreateMoveOriginal );
259
274
MH_CreateHook ((* (PVOID * * )(Events ))[9 ], & _GameEvents , (PVOID * )& GameEventsOriginal );
275
+ MH_CreateHook ((* (PVOID * * )(Client ))[38 ], & _DispatchUserMessage , (PVOID * )& DispatchUserMessageOriginal );
260
276
MH_EnableHook (NULL );
261
277
WriteConsoleA (GetStdHandle ((ULONG32 )- 11 ), "SingleFile v2.0 Alpha Loaded\n" , 29 , NULL , NULL );
262
278
}
0 commit comments