Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <process.h>
- DWORD samp_addr;
- DWORD *input;
- void Say(char *msg)
- {
- DWORD stSampPointer = (DWORD)GetModuleHandleA("samp.dll") + 0x21A0F8;
- DWORD stSampPoolsAddr = *(DWORD*)(*(DWORD*)stSampPointer + 0x3CD);
- DWORD stPlayerPool = *(DWORD*)(stSampPoolsAddr + 0x18);
- DWORD LocalPlayerPointer = *(DWORD*)(stPlayerPool + 0x22);
- if (msg[0] == '/') ((void(__thiscall *) (void *_this, char *message)) (samp_addr + 0x65C60))(input, msg);
- else ((void(__thiscall *) (void *_this, char *message)) (samp_addr + 0x57F0)) ((void*)LocalPlayerPointer, msg);
- }
- void __cdecl Init(void*)
- {
- while (true)
- {
- Sleep(100);
- samp_addr = (DWORD)GetModuleHandleA("samp.dll");
- if (samp_addr == 0)
- continue;
- input = (DWORD*)(samp_addr + 0x21A0E8);
- if (input == nullptr)
- continue;
- Say("test");
- break;
- }
- }
- BOOL APIENTRY DllMain(HMODULE hModule, DWORD ReasonForCall, LPVOID lpReserved)
- {
- if (ReasonForCall == DLL_PROCESS_ATTACH)
- _beginthread(Init, 0, nullptr);
- return TRUE;
- }
Advertisement
Add Comment
Please, Sign In to add comment