Извиняюсь за дубляж в разделе вопросов по pawn, просто мне довольно к спеху
Дело в том, что я и сам не знаю, какая у меня ошибка, компилятор со мной этим не делится
Код на данный момент выглядит примерно так:
PHP код:
#include "edlg.h"
cell AMX_NATIVE_CALL FNC1(AMX *amx, cell *params)
{
/*
*/
return true;
}
PLUGIN_EXPORT unsigned int PLUGIN_CALL Supports()
{
return SUPPORTS_VERSION | SUPPORTS_AMX_NATIVES;
}
PLUGIN_EXPORT bool PLUGIN_CALL Load(void **ppData)
{
pAMXFunctions = ppData[PLUGIN_DATA_AMX_EXPORTS];
logprintf = (logprintf_t) ppData[PLUGIN_DATA_LOGPRINTF];
logprintf("Success");
return true;
}
PLUGIN_EXPORT void PLUGIN_CALL Unload()
{
logprintf(" * unloaded.");
}
AMX_NATIVE_INFO PluginNatives[] =
{
{"plug_func1", FNC1},
{0, 0}
};
PLUGIN_EXPORT int PLUGIN_CALL AmxLoad( AMX *amx )
{
return amx_Register(amx, PluginNatives, -1);
}
PLUGIN_EXPORT int PLUGIN_CALL AmxUnload( AMX *amx )
{
return AMX_ERR_NONE;
}
PHP код:
// edlg.h
#include "SDK/amx/amx.h"
#include "SDK/plugincommon.h"
typedef void(*logprintf_t)(char* format, ...);
extern void *pAMXFunctions;
logprintf_t logprintf;
#define PLUGIN_FUNCTION cell AMX_NATIVE_CALL
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;
}