Всем привет господа.
Ниже код, подскажите, как сделать ну хоть что-то?)) Прошу вас.
PHP код:
#include "dll.h"
#include <windows.h>
#include "SDK/amxplugin.cpp"
#include "SDK/amx/amx.h" // хоть и есть ссылка на этот плагин в plugin.h, но почему то работает лучше когда прописан сразу здесь
#include "SDK/plugin.h"
typedef DLLIMPORT void (*logprintf_t)(char* format, ...);
logprintf_t logprintf;
DLLIMPORT void **ppPluginData;
BOOL Copys(char indir[128],char outdir[128]);
extern DLLIMPORT void *pAMXFunctions;
static char *pcCreateAndFillStringFromCell(AMX *amx, cell params)
{
char *szDest;
int nLen;
cell *pString;
amx_GetAddr(amx,params,&pString);
amx_StrLen(pString, &nLen);
szDest = new char[nLen+1];
amx_GetString(szDest, pString, 0, UNLIMITED);
return szDest;
}
typedef DLLIMPORT struct assoc_array assoc_array;
PLUGIN_EXPORT DLLIMPORT unsigned int PLUGIN_CALL Supports()
{
return SUPPORTS_VERSION | SUPPORTS_AMX_NATIVES;
}
PLUGIN_EXPORT DLLIMPORT bool PLUGIN_CALL Load(void **ppData)
{
pAMXFunctions = ppData[PLUGIN_DATA_AMX_EXPORTS];
logprintf = (logprintf_t)ppData[PLUGIN_DATA_LOGPRINTF];
logprintf("Плагин загружен.");
return 1;
}
PLUGIN_EXPORT DLLIMPORT void PLUGIN_CALL Unload()
{
logprintf("Плагин не загружен.");
}
static cell AMX_NATIVE_CALL callback_helloworld(AMX *amx, cell *params)
{
logprintf("Привет мир.");
return 1;
}
AMX_NATIVE_INFO Natives[] =
{
{ "HelloWorld", callback_helloworld }
};
PLUGIN_EXPORT DLLIMPORT int PLUGIN_CALL AmxLoad(AMX *amx)
{
return amx_Register(amx, Natives, -1);
}
PLUGIN_EXPORT DLLIMPORT int PLUGIN_CALL AmxUnload(AMX *amx)
{
return AMX_ERR_NONE;
}
BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved)
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}