[Tutorial] Cуmo crear un plugin
#1

Introducion

Mucha gente quiere saber cуmo crear un plugin utilizando Microsoft Visual C++ 2008/2010. Algunas personas piensan que es difнcil, pero en realidad es bastante simple.
A continuaciуn voy a explicarles paso a paso cуmo crear su primer nativo.

Cosas que usted debe saber antes de empezar
Como
  1. Ejecutar Visual C++ (2008/2010 version).
  2. Ir a "File" luego en "New" y seleccionar "Project".

  3. Verбs el siguiente cuadro:

  4. Selecciona "Win32 Project", he introduce un nombre al Proyecto y presiona "OK".
  5. Luego te aparecera el siguiente cuadro:

  6. Solo presionas el boton "Next" para continuar.
  7. En el siguiente cuadro debes marcar la opcion "DLL" en Application type y "Empty project" en additional options luego presionar el boton "Finish".

  8. Ahora lo unico que vas a ver es el solution explorer(Explorador de Soluciones) en la parte izquierda.(Si no puede ver el solution explorer, presione la pestaсa "View" y seleccione "Other Windows" y haga click en "Solution Explorer")

  9. Como veran yo llame "Test" a mi proyecto, ustedes pueden llamarlo como quieran. Haga click derecho en "Test" en el Solution Explorer y seleccione la opcion "Properties".
  10. Luego les aparecera el siguiente cuadro:

  11. En el lado izquierdo, has click en "Linker" luego seleccionar "Input" y escribir al lado de "Module Definition File" el nombre del proyecto o el que tu quieras, aсadiendo la extensiуn ".def" y luego presionas "OK".

  12. Ahora te llevara al solution explorer. Has click derecho en el nombre del proyecto y seleccionas "Add", luego has clik en "New Item".
  13. En el cuadro que te aparece, selecciona "C++ File (.cpp)" y a continuacion de "Name" escribe lo que has escrito junto a "Module Definition File" (en el paso 11). Y presiona "Add".

  14. Has click derecho en el nombre del proyecto. selecciona la opciуn "Add" y click en "New Item", de nuevo.
  15. Esta ves tienes que hacer lo mismo, Seleccionar "C++ File (.cpp)" pero ahora, escribe juento a "Name" el nombre elegido anteriormente, con la extensiуn ".cpp". Y presionar "Add".

  16. Ahora podras ver 2 pestaсas abiertas: "NombreDeTuProyecto.def" y "NombreDeTuProyecto.cpp".
  17. Abre "NombreDeTuProyecto.def" y pega lo siguiente:
    Код:
    EXPORTS
    	Supports
    	Load
    	Unload
    	AmxLoad
    	AmxUnload
  18. Ahora abre "NombreDeTuProyecto.cpp" y pega lo siguiente:
    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;
    }
  19. Ahora ve al Solution explorer y has click derecho en el nombre del proyecto, selecciona la opciуn "Add", y has click en "New Filter". Ahora veras que se ha creado una nueva carpeta. Le cambias el nombre a "SDK".
  20. Extraes el archivo "SDK" que descargaste en "Documents/Visual Studio 2010/Projects/NombreDeTuProyecto/".
  21. volver al solution explorer y hacer click derecho en la carpeta "SDK" que creaste y selecciona "Add", luego has click en "Existing Item".
  22. Te aparecera un cuadro. Ahora busca el archivo "amxplugin.cpp", lo seleccionas y le das a "Add".
  23. Ahora lo mas lindo. Presiona F7 para compilarlo.
  24. Ahora si seguiste bien los pasos, podras encontrar el .dll en la carpeta debug.
Crear un native
  1. Aсadir esto en algъn lugar de la secuencia de comandos .cpp:
    pawn Код:
    static cell AMX_NATIVE_CALL NombreDeTuNativeAqui(AMX *amx, cell *params)
    {  
            logprintf("He echo mi primer plugin.! :)");
            // Aqui colocas tus codigos
            return 1; // Cambia el valor de return si se necesita
    }
  2. Ir a:
    pawn Код:
    AMX_NATIVE_INFO projectNatives[] =
    {
            { 0, 0 }
    };
    Y Agregar "{ "NombreDeTuNativeAqui", NombreDeTuNativeAqui }", Ejemplo:
    pawn Код:
    AMX_NATIVE_INFO projectNatives[] =
    {
            { "NombreDeTuNativeAqui", NombreDeTuNativeAqui } // En la dimensiуn del array, se escribe el nombre de los nativos que vas a llamar en PAWN. En la segunda, se escribe el nombre en .Cpp En este caso, son lo mismo!
    };
  3. Compilar(F7) he ir a la carpeta debug.
  4. Selecciona su archivo .dll y copia dentro de la carpeta plugins de tu servidor
  5. Crear un nuevo script .pwn y aсadi "native NombreDeTuNativeAqui()" En la parte superior. Y asн lo llaman en "OnFilterScriptInit". Ejemplo:
    pawn Код:
    #include <a_samp>

    native NombreDeTuNativeAqui();

    public OnFilterScriptInit()
    {
        NombreDeTuNativeAqui();
        return 1;
    }
  6. Cuando se ejecuta el servidor, se debe imprimir esto: "He echo mi primer plugin.! ".
  7. Esto es sуlo lo bбsico. Usted puede crear otras cosas ъnicas!

    NOTA: Si desea native's con parбmetros, puedes utilizar "params []" a partir del нndice(Index) 1.
Nota(s)
  • Trate de encontrar la manera de hacer otras cosas. Yo sуlo te estoy enseсando lo bбsico sobre cуmo empezar.
  • A continuaciуn puedes hacer preguntas, pero yo no voy a contestar a todos(por que yo no soy RyDeR` xD).

    Creditos
  • Post creado por RyDeR`.(Post Original)
  • Traducido por Dreyfuz.
Reply


Messages In This Thread
Cуmo crear un plugin - by Dreyfuz - 22.02.2013, 17:47
Respuesta: Cуmo crear un plugin - by godoy32 - 22.02.2013, 17:49
Respuesta: Cуmo crear un plugin - by Dreyfuz - 22.02.2013, 17:52
Respuesta: Cуmo crear un plugin - by JustBored - 22.02.2013, 18:07
Respuesta: Cуmo crear un plugin - by Dreyfuz - 22.02.2013, 18:15
Respuesta: Cуmo crear un plugin - by CrossOv3r - 22.02.2013, 18:24
Re: Cуmo crear un plugin - by Daniel-92 - 22.02.2013, 18:25
Respuesta: Re: Cуmo crear un plugin - by Dreyfuz - 22.02.2013, 18:29
Respuesta: Cуmo crear un plugin - by xSDx - 22.02.2013, 19:53
Respuesta: Cуmo crear un plugin - by JustBored - 23.02.2013, 01:06
Respuesta: Cуmo crear un plugin - by Dreyfuz - 23.02.2013, 01:23
Respuesta: Cуmo crear un plugin - by oOFotherOo - 23.02.2013, 01:36
Respuesta: Cуmo crear un plugin - by Glimma - 23.02.2013, 02:12
Respuesta: Cуmo crear un plugin - by oOFotherOo - 23.02.2013, 05:17
Respuesta: Cуmo crear un plugin - by JustBored - 23.02.2013, 10:34
Respuesta: Cуmo crear un plugin - by oOFotherOo - 23.02.2013, 13:08
Respuesta: Cуmo crear un plugin - by OTACON - 23.02.2013, 13:22
Respuesta: Cуmo crear un plugin - by JustBored - 23.02.2013, 15:12
Respuesta: Cуmo crear un plugin - by xSDx - 01.03.2013, 14:22
Respuesta: Cуmo crear un plugin - by Glimma - 01.03.2013, 14:33
Respuesta: Cуmo crear un plugin - by Fluid016 - 01.03.2013, 14:43
Respuesta: Cуmo crear un plugin - by Dreyfuz - 01.03.2013, 20:35
Respuesta: Cуmo crear un plugin - by Swedky - 24.10.2013, 00:12
Respuesta: Cуmo crear un plugin - by oOFotherOo - 24.10.2013, 00:41
Respuesta: Cуmo crear un plugin - by Jovazxc - 24.10.2013, 02:26
Respuesta: Cуmo crear un plugin - by MugiwaraNoLuffy - 29.10.2013, 03:23
Respuesta: Cуmo crear un plugin - by Swedky - 16.06.2014, 00:14
Respuesta: Cуmo crear un plugin - by MugiwaraNoLuffy - 16.06.2014, 03:50
Respuesta: Cуmo crear un plugin - by Swedky - 16.06.2014, 17:40
Respuesta: Cуmo crear un plugin - by OTACON - 16.06.2014, 23:05
Re: Respuesta: Cуmo crear un plugin - by 0xB7CE50 - 19.06.2014, 00:37

Forum Jump:


Users browsing this thread: 3 Guest(s)