[Tutorial] Desenvolver um Plugin(Windows)
#1

Нndice:

  1. Introduзгo
    • c/c++

  2. Requisitos
    • Download
      • Visual Studio
      • sampgdk-3.5
    • Conhecimento
      • C/C++
      • AMX

  3. Configuraзгo.
    • Visual Studio
    • sampgdk-3.5

  4. Teste
    • Source utilizado

  5. Notas Finais

  6. Crйditos



  1. Interesses a abordar: Se vocк estб com dъvidas de como comeзar seu plug-in, se vocк estб com problemas na manipulaзгo do Visual Studio, se vocк tem interesses em comeзar a estudar plug-ins, se vocк jб viu plug-ins e se interessou pelo sampgdk.

    • Interessados em tirar dъvidas: Mata dъvidas(Plug-ins)
    • Interessados em Linux: Desenvolver um Plugin(Linux)
    • Nгo serб tratado diretamente sobre linguagem(C/C++) neste tуpico. A ideia principal й iniciar seu plug-in e conseguir compilar ele, visto que esta parte gera muitos problemas...

  2. Requisitos

    • Conhecimento: essa parte atй entгo deve vir do interesse prуprio de cada um, como jб foi citado vбrias e vбrias vezes, isto aqui nгo й fуrum para C++ ou seja, ajudas desse tipo devem vir de outro lugar(Nгo й querendo fazer propaganda, mas jб fazendo, a CODE.ME relaciona C++ e contйm tutoriais bбsicos a respeito.), e sobre C++ encontra-se tudo na internet hoje em dia, basta procurar(www.******.com).

  3. Configuraзгo
    • nota importante: o vнdeo tem um atraso dos 4:10 aos 4:46(para quem quiser pular essa parte), porque o VS demora um pouco para fazer a primeira compilaзгo, e eu obtive um erro de conversгo COFF, porque eu atualizei meu VS para o 2012, mas eu uso o 2010, ou seja toda-vida que eu crio um projeto novo tenho de desabilitar o incremental linking(isso nгo aconterб com vocкs, mas se acontecer, tб ai uma soluзгo simples.).
    [ame]http://www.youtube.com/watch?v=eHRVWKxqOVc[/ame]

  4. Cуdigo utilizado:

    PHP код:
    #include <sampgdk/a_players.h>
    #include <sampgdk/a_samp.h>
    #include <sampgdk/core.h>
    #include <sampgdk/plugin.h>
    #include <cstdio>
    #pragma comment(lib, "sampgdk3")
    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();

    • O cуdigo acima й de autoria do Zeex, sу teve uma modificaзгo feita por mim que eu expliquei no vнdeo, a respeito do sampgdk3.lib

  5. Notas Finais:
  6. Crйditos:
    - Todos os direitos estгo reservados aos seus devidos criadores.
    - Estruturaзгo do tуpico: Leonardo1434

OBS: Futuros tutoriais para plug-ins mais completos podem ser criados dependendo do interesse da galera.

Abraзos.
Reply
#2

FIRST, Bom tutorial

@off

que voz sexsy rsrs
Reply
#3

Willian por isso eu te amo cara -q

Percebi que vocк adaptou o tutorial do Linux, mas mesmo assim obrigado

Me assustei com a voz do Will '-'
Reply
#4

PAU NO CU DO FIRST KKKK, zoa sу pra descontrair...

Estudando
Reply
#5

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
Percebi que vocк adaptou o tutorial do Linux, mas mesmo assim obrigado
Eu falei pro Leonardo que eu iria fazer isso, eu jб tinha a ideia de fazer o tutorial, sу que como ele tomou a frente e postou um versгo pra Linux, eu dei continuidade e postei esse para Windows...

Atй botei o link direto para o tutorial dele ai, para se alguйm procurar.
Reply
#6

Boa !!
Reply
#7

@duvida

Eu sei que tem como usar o Notepad++ com C++, eu to muito interessado, e vejo os tutoriais todos com Virtual Basic. Й possнvel usar o Notepad++?
Reply
#8

Willian estou tendo problemas na hora do Debug.

1>------ Build started: Project: Plugin_04, Configuration: Debug Win32 ------
1> Plugin04.cpp
1> amxplugin.cpp
1> Generating Code...
1>LINK : fatal error LNK1104: cannot open file 'sampgdk3.obj'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

No caso ele nгo estб achando o .obj do .lib, como posso resolver?
Reply
#9

Belo tutorial!

@Edit:
Reputado.
Reply
#10

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
Willian estou tendo problemas na hora do Debug.

1>------ Build started: Project: Plugin_04, Configuration: Debug Win32 ------
1> Plugin04.cpp
1> amxplugin.cpp
1> Generating Code...
1>LINK : fatal error LNK1104: cannot open file 'sampgdk3.obj'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

No caso ele nгo estб achando o .obj do .lib, como posso resolver?
Vocк tem de copiar o arquivo sampgdk3.lib, que tб na pasta lib do sampgdk e colocar dentro da pasta do teu plug-in, junto com os arquivos dos cуdigos.

E no plug-in tu inseri:
pawn Код:
#pragma comment(lib, "sampgdk3.lib")
Nгo tem erro, tб explicado no vнdeo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)