Bu nedir?
Bu anlatacagimin sayesinde artik basit plugin(.dll formatinda) yapabilirsiniz. Mesela Streamer gibi seyler.

Lazim olan seyler nedir?
Microsoft Visual 2008 C++ Express edition
Bos pawno scripti
Pawno bilgi
Az cok C++ bilgi
SDK include

Nasil yapicam ben bunu?
Microsoft Visual 2008 C++ Express edition'u ac
Yukarda 'File >> New >> Project'e basiniz
Ekrana ciktigi an Win32 Console Application seciniz
OK'e basin
Win32 Application Wizard ekrani cikicak karsiniza. Next'e tiklayiniz
Oradan DLL seciniz ve onun altina Additional Options'da Emty Project sonra Finish'e basiniz
Simdi Solution Explorer cikmasi lazim karsiniza(Cikmadiysa: View >> Solution Explorer e tiklayiniz)
Solution explorer ekraninda en baste sizin Projeniz var. Maus'da sag tusa basiniz
Oradan Configuration Properties >> Linker >> Input'a basiniz
Modula definition yazili olan yere main.def yaziniz
Tekrar solution explorer ekranina geciniz ve tekrar en bastakine sag maus tusu yapiniz
Oradan Add >> New Item seciniz
Yeni ekran karsiniza geldigi an Module Definition seciniz ve isim olarak main veriniz (Bu yazdigim orada yoksa C++ sec ve isim olarak main.def ver-
Simdi Source yazisinin altinda main.def yazisi gelmesi lazim.
main.def'in uzerine iki kere tiklayiniz ve karsiniza bos bir sayfa gelmesi lazim. Oraya sunu kopyalayiniz


Kod:

EXPORTS Supports Load Unload AmxLoad AmxUnload
Simdi Solution explorer ekranina tekrar en bastakini secip Add >> New Item seciniz
Yeni ekran karsiniza geldigi an C++ sec ve isim olarak main.cpp ver-
Simdi main.def altina main.cpp gelmesi lazim. Uzerine iki kere tiklayiniz ve karsiniza bos sayfa gelir
Acilan kagidin uzerine bunu kopyalayiniz


Kod:

#include "./SDK/plugin.h"typedef **** (*logprintf_t)(char* format, ...);logprintf_t logprintf;**** **ppPluginData;extern **** *pAMXFunctions;PLUGIN_EXPORT unsigned int PLUGIN_CALL Supports() { return SUPPORTS_VERSION | SUPPORTS_AMX_NATIVES;}PLUGIN_EXPORT bool PLUGIN_CALL Load( **** **ppData ) { pAMXFunctions = ppData[PLUGIN_DATA_AMX_EXPORTS]; logprintf = (logprintf_t)ppData[PLUGIN_DATA_LOGPRINTF]; logprintf( "Pluginim Hazirlandi." ); return true;}PLUGIN_EXPORT **** PLUGIN_CALL Unload( ){ logprintf( "Pluginim Durduruldu" );}AMX_NATIVE_INFO MyProjectNatives[ ] ={ { 0, 0 }};PLUGIN_EXPORT int PLUGIN_CALL AmxLoad( AMX *amx ) { return amx_Register( amx, MyProjectNatives, -1 );}PLUGIN_EXPORT int PLUGIN_CALL AmxUnload( AMX *amx ) { return AMX_ERR_NONE;}
SDK dosyasini simdi Belgelerim >> Visual Studio 2008 >> Projects >> Project%d >> ProjectIsimi >> ProjectIsimi >> Ve bunun icine kopyalayiniz
Simdi terkrar solution explorer ekranina gecip en bastakine sag tus ile tikliyoruz ve Add >> New Filter seciyoruz ve isim olarak SDK veriyoruz
Simdi gelen dosyanin uzerine sag maus tusu ve Add >> Existing Item seciyoruz
Simdi SDK'i attiginiz yere gidip amxplugin.cpp seciyoruz
Ve son olarak F5 tusuna basarak basari ile hatasiz compile ediyoruz.
DLL dosyasi burada bulunuyor: Belgelerim >> Visual Studio 2008 >> Projects >> Project%d >> ProjectIsimi >> Debug


Nerden orgendin?
Bir Sitede Öğrendim.
Onemli:
SDK sayesinde DLL'de bulunan nativeleri pawnoda native olarak kullanabiliyoruz.
C++'de new; int olarak yaziliyor;
F
loat: float olarak;
Karakter [] formatinda.


Nasil callback yaparim?

Kod:

static cell AMX_NATIVE_CALL sdk_Callbackisimi( AMX* amx, cell* params ){ //int playerid = params[1]; // mesela //float x = params[2]]; // istersen bunu ekliyebilirsin. Pawnoda ozaman native Isim(playerid, Float:x); olucak ve boyle devam.. return 1;}
Bu kod sayesinde pawnoda bu yaptiginizi cagirabilirsiniz timer olarak veya komut icinde native olarak.

Pawnoda nasil olucak lan bu?

Dur simdi panik yapma, önce main.cpp'i ac ve 'AMX_NATIVE_INFO MyProjectNatives[ ] =' arat; bulduktan sonra oraya {0, 0}, 'in yukarsina bunu ekle
Kod:

{"PawnodaOlucakIsim", sdk_Callbackisimi},
Simdi pawnoda bos scripti ac ve modun basina
Kod:

native PawnodaOlucakIsimi(playerid, bilmemne, kac params olduguna bagli, ekle);
Son soz:
SDK plugini bana ait degildir, daha fazla bilgi icin plugin hakkinda(Plugini buradan indirebilirsiniz icinde invoke'de varn o include sayesinde pawno functionlari kullanabilirsiniz 'GetPlayerPos' gibi daha fazla seyler) : SA-MP Forums - Powered by vBulletin
Sorulariniz olursa elimden gelesiye kadar yardim edicem, bende daha yeni baslayan biriyim. Yakinda ogrenip güzel pluginler sunmaya dusunuyorum.
Hoşcakalın