/
dllmain.cpp
63 lines (59 loc) · 1.39 KB
/
dllmain.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// dllmain.cpp : Определяет точку входа для приложения DLL.
#include "File\FileOutput.h"
#include "File\FileInput.h"
#include "CRadio\CRadio.h"
#include "GUI.h"
constexpr auto DELAY_TIME = 30;
void check()
{
CSamp::setBaseAddres();
if (!CSamp::checkBaseAddress()) return;//Exit if no samp.dll
while (!CSamp::isGameReady())//Very bad. Bydlo code, GOVNO
{
Sleep(150);
}
//Sleep(5000);
CSamp::RakPatch();
CSamp::patchConnectDelayTimer();//Patches delay
CRadio::init();
CRadio::loadAllInstances();
GUI::init();
bool alreadyPressed1 = false;
while (true)
{
if (!CSamp::isInPause())
{
if (!alreadyPressed1 && GetKeyState(VK_F3) & 0x8000)
{
GUI::switchShowMenu();
}
if (GetKeyState(VK_F12))
{
CSamp::sendMessage("Exiting from plugin");
break;
}
alreadyPressed1 = GetKeyState(VK_F3) & 0x8000;
}
Sleep(DELAY_TIME);
}
CRadio::stop();
GUI::clean();
}
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
CreateThread(0, 0, LPTHREAD_START_ROUTINE(check), 0, 0, 0);
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
if(!CRadio::getAllInstances().empty())
CRadio::saveAllInstances();
break;
}
return TRUE;
}