Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Criando Plugins amxx


InSuPoRtAVeL
 Compartilhar

Posts Recomendados

Requisitos para a aprendizagem:

- Ter conhecimento pelo menos de alguma linguagem (recomendável C ou C++);

- Saber a estrutura do AMX MOD X;

- Noções de cabeçalhos, funções, implementações, operadores, clases, etc;

- Dominar lógica;

- Conhecer em profundo todas as funções do AMX MOD X.

- Conhecer os Paths.

- Saber manipular os executáveis;

- Conhecer a engine do Half-Life.

Tutorial:

Primeiro você vai precisar do programa AMXX Studio, para baixá-lo

É necessário se cadastrar para acessar o conteúdo.

 

Ele é um utilitário, que serve para editar e compilar seus plugins, estilo um DEV-C++.

Após o termino do

É necessário se cadastrar para acessar o conteúdo.
, execute-o e instale a onde desejar;

Após a instalação ele vai querer instalar outra coisa, você deve clicar em não;

Pronto, seu AMXX Studio está instalado e com um ícone no seu desktop.

 

Agora sim podemos começar a escrever plugins

 

Abra seu AMXX Studio, provavelmente ele vai ter um 'plugin' já aberto, que é um exemplo, você pode apagar tudo o que se encontra nele pois nós vamos começar do zero.

 

Primeira etapa:

Incluir a biblioteca que você utilizará. Para fazer isso basta escrever:

#include <Nome da Biblioteca>

 

Para saber qual biblioteca você vai precisar, você precisa saber quais funções vai usar, para isso use o AMXX Documentation, para isso

É necessário se cadastrar para acessar o conteúdo.

 

A biblioteca principal, que você devera usar em todos os plugins é a amxmodx, assim dando o include:

#include <amxmodx>

 

Pronto, após inserir a biblioteca você deverá escrever a função principal, que nesse caso (do AMXModX) se chama "plugin_init", para isso

É necessário se cadastrar para acessar o conteúdo.

 

Como escrever uma função no AMXModX:

Primeiro você terá que definir qual tipo de função é. Nesse caso é uma função do tipo PUBLIC. Para se iniciar a função se escreve da seguinte forma:

public nome_da_funcao() { // espaço aonde será chamada outras funções. }

 

No caso da função principal:

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

 

Agora o seu plugin já tem um inicio, por onde ele vai começar

Sua próxima etapa é registrar o seu plugin,

É necessário se cadastrar para acessar o conteúdo.
para acessar a área do site oficial e proceder.

 

public plugin_init() { 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="hwClick823464431909(558209070);return false;" style='cursor: hand; color:#009900; text-decoration:underline; border-bottom:dotted 1px;' onmouseover="hw823464431909(event, this, '558209070'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe(event, this); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " oncontextmenu="return false;">Autor</a>" ) // . . . }

 

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

Pronto, para esse plugin a função principal vai fazer nada mais do que registrar o criador do plugin.

 

Próxima etapa

 

O plugin se baseia em, quando o

É necessário se cadastrar para acessar o conteúdo.
entrar no servidor ele receberá uma mensagem de boas vindas no chat. Então, o que precisamos?

Nós precisamos identificar quando o usuário entra no servidor e para isso (graças a equipe AMX MOD X) tem-se uma função pronta incluída na BIBLIOTECA amxmodx que nós já adicionamos.

A função é client_putinserver(id), que pode ser iniciada como uma função publica, ou seja, PUBLIC:

É necessário se cadastrar para acessar o conteúdo.

 

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. { // . . . }

Agora sabemos quando o usuário entrou no servidor

Próximo passo seria dar as boas-vindas, mas como quando o usuário entra ele vê muitas outras coisas além do chat nós vamos pedir para o plugin esperar alguns segundos até mostrar a mensagem e para mostrar a mensagem nós vamos criar uma FUNÇÃO, que pode ser chamada como você quiser, nesse caso vou chamá-la de 'print_msg', já que sabemos como iniciar a função vou continuar a explicar o que será feito dentro dela e depois voltaremos a função que identifica o usuário quando entrar no servidor.

Agora a parte mais simples, imprimir a mensagem no chat do usuário, vamos usar a função

É necessário se cadastrar para acessar o conteúdo.
(id, tipo_de_mensagem, "mensagem")

 

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 { client_print(id, print_chat, "Bem-vindo ao meu servidor") // 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 }

 

Pronto! Agora podemos voltar a função que identifica o usuário que entrou.

O que ela vai fazer? Vai chamar a função 'print_msg' que vai Imprimir no chat a mensagem, com um espaçamento de tempo de 4 segundos, utilizando a função

É necessário se cadastrar para acessar o conteúdo.
(tempo, "função", id):

 

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

 

Agora sim! O plugin está 100% pronto!

O algoritmo foi bem básico, é só você pensar o que você quer fazer, e foi: Quando o usuário entrar (função client_putinserver) eu vou imprimir (client_print) depois de um certo tempo (funçao set_task).

 

Parte final

Agora você deve clicar em File > Save As e salvar com o nome que você quiser.

Depois de salvo você clica na Setinha Verde '>' para compilar! E pronto! Seu plugin AMXX estará na mesma pasta de onde você salvou como dito acima.

 

Pronto, esse foi o algoritmo usado, e é assim que você deverá pensar quando for escrever seu plugin. O seu resultado final devera ser parecido com este:

 

#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") }

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...
  • 3 semanas atrás...

ou, se voce souber, e puder, podia faser uma video aula ou um topico beem explicado de como COLOCAR O SOM QUE QUISER PARA TOCAR QUANDO O ROUND ACABA.

 

tem muitas pessoas procurando isso, se cria um topico ensinando ctz q leva fixo =)

 

nao eh q seja preguissa minha de nao ler seu topico e nao faser, e q realmente eu NAO ENTENDI NADA

entaum bem q vc podia ensinar a fazer isso neh ;)

 

aguardo resposta vlw

Link para o comentário
Compartilhar em outros sites

AFF por isso eu n tava intendendo, tem diversas linhas q ele coloco q aki fica invisivel, qd eu sublinho elas , dai sim elas aparece pow arruma isso vlw..

 

eu fiz o processo com sound... coloquei as seguintes linhas :

 

/* Plugin generated by AMXX-Studio */

 

#include <amxmodx>

#include <amxmisc>

#include <engine>

 

public plugin_init()

{

**register_plugin("RoundSound","1.0","PaintLancer")

**register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")

**register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")**

}

 

public t_win()

{

**new rand = random_num(0,2)

 

**client_cmd(0,"mp3 stop")

**switch(rand)

**{

****case 0: client_cmd(0,"mp3 play sound/rsc002/rsc_t_win_1")

****case 1: client_cmd(0,"mp3 play sound/rsc002/rsc_t_win_2")

****case 2: client_cmd(0,"mp3 play sound/rsc002/rsc_t_win_3")

**}

**return PLUGIN_CONTINUE

}

 

public ct_win()

{

**new rand = random_num(0,2)

 

**client_cmd(0,"mp3 stop")

 

**switch(rand)

**{

****case 0: client_cmd(0,"mp3 play sound/rsc002/rsc_ct_win_1")

****case 1: client_cmd(0,"mp3 play sound/rsc002/rsc_ct_win_2")

****case 2: client_cmd(0,"mp3 play sound/rsc002/rsc_ct_win_3")

**}

 

**return PLUGIN_CONTINUE

}

public plugin_precache()

{

**precache_sound("rsc002/rsc_t_win_1.mp3")

**precache_sound("rsc002/rsc_t_win_2.mp3")

**precache_sound("rsc002/rsc_t_win_3.mp3")

**precache_sound("rsc002/rsc_ct_win_1.mp3")

**precache_sound("rsc002/rsc_ct_win_2.mp3")

**precache_sound("rsc002/rsc_ct_win_3.mp3")

 

**return PLUGIN_CONTINUE

}

 

 

dai qd eu vo compila da um erro :

 

PAWN COMPILER NOT FOUND : PLEASE CHECK YOUR SETTINGS AND TRY AGAIN!

 

oq eu fiz de errado, os sounds estao na pasta indicada e formato mp3 oq eu errei

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.