Criando Plugin para AMXMODX

View previous topic View next topic Go down

Criando Plugin para AMXMODX

Post  João Rodrigues on Tue 7 Jun - 8:11

Olá, daqui fala o Dark Dracoon! Vou ensinar a criar um plugin.
Bom, para aprender a cliar plugins é necessário conhecer um pouco de programação, conhecer a estrutura e as funções do AMX MOD X, conhecer os paths, a engine do Half-Life, além de saber manipular executáveis e ter noção de cabeçalhos, implementação, operadores, classes, etc.

Antes de tudo faça o download do progrma AMXX Studio: [url=http://www.counterzone.com.br/addons/AMXX_Studio_1.4.3_final.zip]Clique aqui[/url]

Este programa serve para erve para editar e compilar os plugins.

Instale e abra o AMXX Studio. Geralmente terá um plugin aberto no programa. Apague e comece um novo.

Inclua a biblioteca que será utilizada. Para isto basta escreva:
[spoiler]#include <Nome da Biblioteca>[/spoiler]

Utilize o AMXX Documentation para saber que biblioteca irá precisar e que funções irá usar:
[url=http://www.amxmodx.org/doc/index.html]Clique aqui[/url]

A biblioteca principal, que tem que ser utilizada em todos os plugins é a amxmodx:
[spoiler]#include <amxmodx>[/spoiler]

Depois de adicionar a biblioteca, escreva a função principal, que no caso do AMXModX se chama plugin_init, e para isto: [url=http://www.amxmodx.org/doc/index.html?page=source/functions/core/plugin_init.htm]Clique aqui[/url]

Escrever função no AMXModX:

Primeiramente defina qual tipo de função é. No caso é uma função do tipo PUBLIC. Inicie a função escrevendo da seguinte forma:

[spoiler]public nome_da_funcao()
{
// espaço aonde será chamada outras funções.<br>
}
[/spoiler]

No caso da função principal:

[spoiler]public plugin_init()
{
// espaço aonde será chamada outras funções.
}
[/spoiler]

Você já tem a base do plugin, então agora você deve registrar seu plugin. Acesse a página oficial para proceder:
http://www.amxmodx.org/doc/index.html?page=source/functions/core/register_plugin.htm

Coloque a seguir nos espaços, a informação:
[spoiler]public plugin_init()<br>
{<br>
register_plugin("Welcome MSG","1.0","OffspringBR")
// a funçao deve ser usada na forma de register_plugin("Nome do
Plugin","Versao do Plugin", " Nome do <a href='#' onClick="hwClick1681852443158(916484492);return
false;" style='cursor: hand; color:#009900; text-decoration:underline;border-bottom:dotted 1px;' onmouseover="hw1681852443158(event, this,
'916484492'); this.style.cursor='hand'; <br>
this.style.textDecoration='underline';<br>
this.style.borderBottom='solid';" onmouseout="hideMaybe(event, this);
this.style.cursor='hand'; <br>
this.style.textDecoration='underline'; <br>
this.style.borderBottom='dotted<br>
1px'; " oncontextmenu="return false;">Autor</a>" )<br>
// . . .<br>
}[/spoiler]

[spoiler]public plugin_init()<br>
{<br>
register_plugin("Welcome MSG","1.0","OffspringBR")<br>
return PLUGIN_CONTINUE // define que seu plugin continuará rodando...<br>
}[/spoiler]

Pra este plugin a função principal fazerá nada mais que registrar o criador do plugin.

O plugin se baiseia em mostrar uma mensagem de boas vindas ao usuário quando ele entrar no server. Então o que é necessário para isso?
É necessário identificar a entrada do usuário no servidor. Exixte uma função pronta para na biblioteca amxmodx, que foi adicionada no início do tutorial.
Esta função é a client_putinserver(id), que poderá ser iniciada como função pública (PUBLIC): client_putinserver

[spoiler]public client_putinserver(id) // iniciando a função para identificar
se o usuario entrou no server, o 'id' representa a indentificaçao
do usuario, ou seja, quem é ele para o jogo.
{
/ . . .
}[/spoiler]

Após saber saber quando o usuário entra no servidor, a próxima etapa é dar as boas vindas. Porém ao entrar, o usuário vê várias outras coisas além do chat. Vamos fazer com que o plugin espere alguns segundos até exibir a mensagem, e para exibi-lá iremos criar uma função, que poderá ser chamada do que você desejar. Neste caso ela será chamada de print_msg.

Até aqui você já sabe como iniciar a função, então agora você vai continuar a aprender sobre o que será feito dentro dela e pois iremos voltar a função que identifica o usuário quando ele entra no servidor.

É preciso imprimir a mensagem para o usuário, então use a função client_print (id, tipo_de_mensagem, "mensagem")
[spoiler]public print_msg(id) // Inciando a funçao feita por voce, ela será public
e tera como parametro ( o que ta dentro do '()' ) o 'id' do usuário<br>
{
client_print(id, print_chat, "Bem-vindo ao meu servidor")<br>
// aqui é chamada a funçao client_print como explicado acima...
o segundo parametro 'print_chat' define que a mensagem vai aparecer no
chat do usuário<br>[/spoiler]

Agora volte à função que identifica o usuário que entra no servidor. O que ela faz: chama a função 'print_msg' que irá imprimir a mensagem no chat, com um espaço de tempo de quatro segundos, usando a função set_task (tempo, "função", id):

[spoiler]public client_putinserver(id)<br>
{<br>
set_task(4.0, "print_msg", id)// vai chamar a funçao 'print_msg'
depois de 4 segundos para o usuário 'id'<br>
return PLUGIN_CONTINUE // continua a rodar o plugin<br>
}[/spoiler]

O plugin está pronto, mas o algoritmo é bem básico, então é só você pensar e fazer o que quiser.

Para concluir, clique em File > Save As e salve com o nome que você quiser. Depois compile o aqruivo clicando na seta verde. Pronto.

O resultado final deve ser mais ou menos igual a esse:

#include <amxmodx>

public plugin_init()
{
register_plugin("Welcome MSG","1.0","OffspringBR")
//return PLUGIN_CONTINUE
}

public client_putinserver(id)
{
set_task(4.0, "print_msg", id)
//return PLUGIN_CONTINUE
}



public print_msg(id)
{
client_print(id, print_chat, "Bem-vindo ao meu servidor")
}

João Rodrigues
Administrador
Administrador

Mensagens Mensagens : 568
Moedas Moedas : 100455
Reputação Reputação : -12
Data de inscrição : 2011-01-31
Idade : 20
Localização : Portugal

http://habbocreat.forumeiros.com

Back to top Go down

Re: Criando Plugin para AMXMODX

Post  João Rodrigues on Tue 7 Jun - 8:16

Erratas, Primeiro spoiler é
#include amxmodx
com ><

João Rodrigues
Administrador
Administrador

Mensagens Mensagens : 568
Moedas Moedas : 100455
Reputação Reputação : -12
Data de inscrição : 2011-01-31
Idade : 20
Localização : Portugal

http://habbocreat.forumeiros.com

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum