c++ ile pano icin plugin yapabilirim

Rıdvan Akgün

Yeni Üye
Katılım
17 Nis 2011
Mesajlar
903
Tepki
0
Puan
0
Yaş
25
Konum
34 İSTANBUL
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: [Seç]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: [Seç]#include "./SDK/plugin.h"

typedef void (*logprintf_t)(char* format, ...);

logprintf_t logprintf;
void **ppPluginData;
extern void *pAMXFunctions;

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( "Pluginim Hazirlandi." );
return true;
}

PLUGIN_EXPORT void 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?
SA:MP'de bir arkadasim anlatti. Yani anlatim ona ait.

Onemli:
SDK sayesinde DLL'de bulunan nativeleri pawnoda native olarak kullanabiliyoruz.
C++'de new; int olarak yaziliyor;
Float: float olarak;
Karakter [] formatinda.

Nasil callback yaparim?

Kod: [Seç]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
Sorulariniz olursa elimden gelesiye kadar yardim edicem, bende daha yeni baslayan biriyim. Yakinda ogrenip güzel pluginler sunmaya dusunuyorum. Iyi bilmemneler :D(aksamlar, gunler..)


alıntıdır..
 

Sagopa Kajmer

Yeni Üye
Katılım
8 Haz 2011
Mesajlar
99
Tepki
0
Puan
0
Yaş
27
Konum
45 MANİSA
Teşekkürler.İşe yarar bilgiler var.
 

Şu anda bu konu'yu okuyan kullanıcılar

forum bahis uc hilesi bursa escort istanbul escort instagram takipçi satın al tiktok takipçi satın al instagram takipçi satın al instagram takipçi satın al bahis siteleri deneme bonusu veren siteler deneme bonusu deneme bonusu iku orion deneme bonusu veren siteler instagram takipçi satın al tiktok takipçi satın al instagram takipçi satın al instagram takipçi satın al