- 170
- 125
Привет всем! Возможно я не в нужную тему написал, но вот короче(Не компилирует):
C++:
#include <windows.h>
#include <string>
#include <assert.h>
#include <process.h>
#include "SAMPFUNCS_API.h"
#include "game_api\game_api.h"
SAMPFUNCS *SF = new SAMPFUNCS();
void CALLBACK weather(std::string param) //Каллбэк который вызывает команда
{
if (param.empty()) return; //Похоже у меня тут что то не правильно
int w = std::string(param); //И тут
SF->getCLEO()->callOpcode("01B6: set_weather %d", w); //Меняю погоду на w
};
void CALLBACK mainloop()
{
static bool init = false;
if (!init)
{
if (GAME == nullptr)
return;
if (GAME->GetSystemState() != eSystemState::GS_PLAYING_GAME)
return;
if (!SF->getSAMP()->IsInitialized())
return;
SF->getSAMP()->registerConsoleCommand("setweather", weather); //Регистрирую консольную команду
init = true;
}
}
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReasonForCall, LPVOID lpReserved)
{
switch (dwReasonForCall)
{
case DLL_PROCESS_ATTACH:
SF->initPlugin(mainloop, hModule);
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}