





* Microsoft Visual Studio 2010 veya daha üstü bir sürüm
* SA:MP Plugin SDK dosyaları








LIBRARY "Yazdığınız Plugin İsmi"
EXPORTS
Supports
Load
Unload
AmxLoad
AmxUnload




#include "..\SDK\amx\amx.h"
#include "..\SDK\plugincommon.h"
typedef void(*logprintf_t)(char* format, ...);
logprintf_t logprintf;
extern void *pAMXFunctions;
cell AMX_NATIVE_CALL Topla(AMX* amx, cell* params)
{
return params[1] + params[2];
}
cell AMX_NATIVE_CALL Cikar(AMX* amx, cell* params)
{
return params[1] - params[2];
}
cell AMX_NATIVE_CALL Bol(AMX* amx, cell* params)
{
return params[1] / params[2];
}
cell AMX_NATIVE_CALL Carp(AMX* amx, cell* params)
{
return params[1] * params[2];
}
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("\n ========================\n");
logprintf(" Plugin Açıldı ! \n");
logprintf(" ========================\n");
return true;
}
PLUGIN_EXPORT void PLUGIN_CALL Unload()
{
logprintf("\n ========================\n");
logprintf(" Plugin Kapatıldı \n");
logprintf(" ========================\n");
}
AMX_NATIVE_INFO PluginNatives[] =
{
{ "Topla", Topla },
{ "Cikar", Cikar },
{ "Bol", Bol },
{ "Carp", Carp },
{ 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;
}



native Topla(nTopla1, nTopla2);
native Cikar(ncikar1, ncikar2);
native Bol(nBol1, nBol2);
native Carp(nCarp1, nCarp2);
main()
{
printf("\n========== PLUGIN TEST ========== \n");
printf(" Toplama: %d", Topla(10, 10));
printf(" Çıkar: %d", Cikar(10, 5));
printf(" Böl: %d", Bol(10, 2));
printf(" Çarp: %d\n", Carp(20, 2));
printf("========== PLUGIN TEST ========== \n");
}



Sayfa 0.037 saniyede 12 sorgu ile oluşturuldu.