Multi oameni vor sa stie cum creezi un plugin folosind Microsoft Visual C++ 2008/2010. Unii oameni cred ca este greu dar defapt este simplu Voi explica pas cu pas cum se creeaza un plugin. Lucruri de stiut inainte sa incepi [*]Trebuie sa instalezi Microsoft Visual C++. [*]Trebuie sa ai experienta in pawno pentru a intelege unele lucruri. [*]SA-MP Software Development Kit (SDK). Cum? [*]Deschide Microsoft Visual C++ (2008/2010 version). [*]Dute la "File" apasa pe "New" si alege "Project". [*]Vei vedea urmatorul dialog. [img width=500 height=345]http://img215.imageshack.us/img215/9831/10213722.jpg [*]Alege "Win32 Project", scrie un nume si apoi apasa "OK" pentru a continua. [*]Va aparea urmatorul dialog [img width=500 height=423]http://img823.imageshack.us/img823/3038/20612685.jpg [*]Apasa "Next" pentru a continua. [*]In urmatorul dialog trebuie sa selectezi "DLL" apoi apasa butonul "Finish". [*]Apasa pe "View" si alege "Other windows" apoi apasa "Solution explorer") [*]Dupa cum vezi am numit proiectul "Test". Apasa click pe "Test" la "Solution explorer" si alege "Properties". [*]Vei vedea urmatorul dialog. [*]In dreapta, click pe "Linker" apoi alege "Input" . "Module Definition File" este numele proiectului apoi apasa "OK". [img width=500 height=355]http://img828.imageshack.us/img828/6793/31736483.png [*]Dute inapoi la "solution explorer" si apasa click dreapta pe pe numele proiectului tau apoi alege "Add", si apoi apasa click "New Item". [*]In urmatorul dialog, alege "C++ File (.cpp)" si jos la "Name" scrii ce scrii la "Module Definition File" (in step 11). apoi apasa "Add". [*]Apasa click dreapta pe numele proiectului tau, alege "Add" si apasa "New Item" iar. [*]Apoi faci la fel, alegi"C++ File (.cpp)" dar acum, scrii la "Name" numele care lai ales inainte dar acu cu extensia ".cpp" . Apoi apasa "Add". [img width=500 height=345]http://img23.imageshack.us/img23/522/21321823.jpg [*]Acum vei vedea 2 tabele: "YourProjectName.def" si "YourProjectName.cpp". [*]Deschide"YourProjectName.def" si da paste paste la urmatorul cod:
EXPORTS
Supports
Load
Unload
AmxLoad
AmxUnload
[*]Acum deschide "YourProjectName.cpp" si copie urmatorul cod: [pawn] #include "../SDK/plugin.h" typedef void (*logprintf_t)(char* format, ...) ; logprintf_t logprintf ; void **ppPluginData ; extern void *pAMXFunctions ; PLUGIN_EXPORT bool PLUGIN_CALL Load(void **ppData) { pAMXFunctions = ppData[PLUGIN_DATA_AMX_EXPORTS]; logprintf = (logprintf_t)ppData[PLUGIN_DATA_LOGPRINTF]; return 1; } PLUGIN_EXPORT void PLUGIN_CALL Unload() { } AMX_NATIVE_INFO projectNatives[] = { { 0, 0 } }; PLUGIN_EXPORT unsigned int PLUGIN_CALL Supports() { return SUPPORTS_VERSION | SUPPORTS_AMX_NATIVES; } PLUGIN_EXPORT int PLUGIN_CALL AmxLoad(AMX *amx) { return amx_Register(amx, projectNatives, -1); } PLUGIN_EXPORT int PLUGIN_CALL AmxUnload(AMX *amx) { return AMX_ERR_NONE; } [/pawn] [*]Dute inapoi la " Solution explorer" si apasa click dreapta pe numele proiectului tau , alege "Add", si da click pe "New Filter". Acum vei vedea ca s-a creat un nou fisiel. Schimbai numele cu "SDK". [*]Da extract la fisierul "SDK" si il downloadezi in "Documents/Visual Studio 2010/Projects/YourProjectName/". [*]Dute la "Solution explorer" si da click dreapta pe "SDK" pe care l-ai creat si apasa"Add", apoi da click pe "Existing Item". [*]un dialog va aparea, acum cauta folderul in care ai descarcat "SDK" si alege "amxplugin.cpp". [*]Acum apasa F7 pentru compilare. [*]Vei gasi fisierul .dll in folderul de Degug. Crearea unui native [*]Adauga asta undeva prin scriptul tau .cpp: [pawn] static cell AMX_NATIVE_CALL YourNativeNameHere(AMX *amx, cell *params) { logprintf("Mi-am creat primul meu plugin )"); return 1; }[/pawn] [*]Dute la: [pawn] AMX_NATIVE_INFO projectNatives[] = { { 0, 0 } }; [/pawn] Adauga "{ "YourNativeNameHere", YourNativeNameHere }", asa: [pawn] AMX_NATIVE_INFO projectNatives[] = { { "YourNativeNameHere", YourNativeNameHere } // In primul array, scrii numele native-ului care il vei folosi in PAWN. In prima parte, scrii numele in fisierul .cpp . }; [/pawn] [*]Compileaza si dute la folderul Debug-ului. [*]Alege fisierul .dll si scrie asta in fisierul serverului tau (.pwn). [*]Creaza un .pwn si adauga "native YourNativeNameHere();" in script. Si folosestel sub "OnFilterScriptInit". [pawn] #include <a_samp> native YourNativeNameHere(); public OnFilterScriptInit() { YourNativeNameHere(); return 1; } [/pawn] [*]Iti deschizi serverul, si ar trebui sa se printeze ca: "Mi-am facut primul plugin ". [*]Asta este doar baza. Acum iti poti crea propriile pluginuri! NOTE: Daca vrei sa creezi un native cu parametri, poti folosi "params[]" incepand de la index 1. P.S:Acest tutorial nu este facut de mine , dar de aici am invatat eu cat de cat Sursa