SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] Desenvolver um Plugin(Windows)

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031977
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Desenvolver um Plugin(Windows) Empty [Tutorial] Desenvolver um Plugin(Windows)

    Mensagem por Weslley_Script Sáb 13 maio 2023 - 7:57

    [size=32]Topicos:

    [/size]
    [list="box-sizing: border-box; margin-top: 0px; margin-bottom: 10px; list-style-type: decimal;"][*]Introduзгo
    • c/c++


    [*]Requerimentos
    • Download

      • Code::Blocks


      • SampGdk





    [*]Configuraзгo.

    • Code::Blocks


    • SampGdk



    [*]Teste
    • Source


    [*]Crйditos
    [/list]

    [list="box-sizing: border-box; margin-bottom: 10px; color: rgb(51, 51, 51); font-family:"][*]Tуpico foi criado com o intuito de ajudar no desenvolvimento de projetos em IDE diferentes do Visual Studio. PS: O foco atual deste tutorial й para Linux. Porйm poderб haver uma versгo windows se alguйm quiser contribuir.

    • Neste tуpico nгo irei ajudar pessoas sobre c/c++/etc.



    [*]IDE Code::Blocks,Sampgdk e conhecimento bбsico em c/c++.



    [*]Configuraзгo

    [list="box-sizing: border-box;"][*]CodeBlocks:


    [list="box-sizing: border-box;"][*]File->New->Project.
    [*]Selecione: Shared Library na aba projects.
    [*]Clique em next -> escolha a linguagem c ou c++ -> escolha o titulo e etc. -> escolha o compilador, deixe GNU GCC COMPILER.(ou pule essa parte.)

    [*]Quase Tudo pronto, Apenas precisamos configurar o compilador e fazer um link com o sampgdk. Vб em projetcs-> build options ->

    [*]Nesta aba "Compile Setting", vб para "Compile Flags", lб existem vбrias opзхes para o compilador. Apenas irei mencionar as que eu uso para evitar ao mбximo o desnecessбrio. Marque a caixinha destas.

    Aba Debug:
    Produce debugging symbols [-g]


    Aba Release:
    Produce debugging symbols [-g]


    [*]Pronto feito. O compilador estб pronto. Agora vamos fazer o link.
    Neste mesmo lugar, terб uma aba "linker settings". Clique em "add" e apenas adicione isto "sampgdk". sem aspas.

    [*]Terminamos a parte do IDE.
    [/list]

    [*]Sampgdk:
    [list="box-sizing: border-box;"][*]Baixe a ultima versгo normal(Nгo baixe static.) do tipo .sh.
    [*]Abra o terminal. use o comando cd e vб atй o diretуrio onde estб o .sh.
    [*]Faзa o login como sudo. (comando -> "sudo su", depois a senha)
    [*]Agora digite isso -> "sh sampgdk-x.y.z-Linux.sh --prefix=/usr/local" onde x.y.z й a versгo.(coloque para qual versгo vocк baixou.). Apуs isso aperte enter.
    [*]Aceite as condiзхes por apertando "y" + enter, Depois pressione "Q" e por fim, aperte "y" + enter para instalar na pasta default.

    [/list]

    [/list]

    [*]Teste:
    Source helloworld.cpp by Zeex.

    PHP код:
    Código:
    #include <sampgdk/a_players.h>
    #include <sampgdk/a_samp.h>
    #include <sampgdk/core.h>
    #include <sampgdk/plugin.h>
    #include <cstdio>
    static ThisPlugin teste;
    PLUGIN_EXPORT bool PLUGIN_CALL OnGameModeInit() {
      ServerLog::Printf("------------------------------------------\n");
      ServerLog::Printf("      Plugin Carregado com sucesso.     \n");
      ServerLog::Printf("------------------------------------------\n");
      return true;
    }
    PLUGIN_EXPORT unsigned int PLUGIN_CALL Supports() {
      return SUPPORTS_VERSION | SUPPORTS_PROCESS_TICK;
    }
    PLUGIN_EXPORT bool PLUGIN_CALL Load(void **ppData) {
      return teste.Load(ppData) >= 0;
    }
    PLUGIN_EXPORT void PLUGIN_CALL Unload() {
      teste.Unload();
    }
    PLUGIN_EXPORT void PLUGIN_CALL ProcessTick() {
      teste.ProcessTimers();

    • Volte para o code::blocks, copie e cole este source no seu source(".cpp"). Apуs isso, apenas apertar "ctrl" + "f9" para construir o plugin (.so). Agora estб pronto, basta configurar na pasta do seu servidor e o server.cfg que ele irб carregar e funcionar perfeitamente.




    [*]Notas Finais:

    - Como foi dito no comeзo, este tutorial apenas foi feito para linux. Porque? Linux й foda, sу isso.
    - Bom... mas vai ter outro para windows? Nгo sei. se eu conseguir emular o compilador + ide eu poderia atй fazer a versгo windows, ou atй mesmo se alguйm quiser colaborar com alguma coisa. Enfim, para quem quiser tentar no windows, bastar instalar o compilador MinGW, definir como compilador principal no code::blocks e ao invйs de baixar o sampgdk .sh que й para linux, baixe o .exe e instale na pasta do sistema. feito isso, na criaзгo do projeto, mude, escolha "DLL" e depois й apenas seguir os outros passos que deve funcionar.

    - Alguns devem estar se perguntando sobre o porque de nгo usar o ".def". No linux, nгo й necessбrio. pois o GCC/G++ funciona de forma diferente do VC++. Isto й bom, pois nгo deverб precisar do ".def" caso tentar usar o "MinGW", como explicado acima.
    - Ultima nota, Eu tentarei adicionar hoje a noite outro IDE, Geany. Programa й em portuguкs, simples e direto.

    [*]Crйditos:
    - Todos os direitos estгo reservados aos seus devidos criadores.


    [/list]

    PSS: Aceito sugestхes/erros/crнticas e etc.


    Creditos: Leonardo1434 (Zuriki)



    [Tutorial] Desenvolver um Plugin(Windows) D07Xwqb
    [Tutorial] Desenvolver um Plugin(Windows) Yjab9HN

      Data/hora atual: Qua 8 maio 2024 - 16:59