[Tutorial] Como Criar o comando "/asay"
#1

Bom, sou Iniciante em Pawn, mas quero ajudar vocкs, vim estudando e desenvolvendo este comando, e por fim, consegui!
Caso minha explicaзгo nгo esteja boa ou entendнvel pelo pъblico, me desculpem, Pois й o meu primeiro tutorial. Aceito Crнticas e Sugestхes!

Explicaзгo:


Incluir no topo do seu GameMode:
PHP код:
#include <a_samp>    
#include <zcmd>
#include <sscanf> 
Explicaзгo da aзгo:

As includes no pawn, sгo chamadas de diretivas.
Nуs incluнmos a biblioteca da a_samp(essencial para todo o seu gamemode), zcmd(uma fуrmula diferente de produзгo de comandos), sscanf(quebra a linha das strings nas quais o remetente deseje usar).



Prosseguindo...
PHP код:
CMD:asay(playeridparams[])
{
    new 
falar[128];
    new 
string[128];
        new 
nome[MAX_PLAYER_NAME];
        
GetPlayerName(playeridnomeMAX_PLAYER_NAME);
    if(
sscanf(params"s"falar)) return SendClientMessage(playerid, -1,"[CORRETOR]: Use /asay [texto]");
    
format(stringsizeof(string),"[GLOBAL MESSENGER]: %s - %s"Nome(playerid), falar);
    
SendClientMessageToAll(-1string);
    return 
1;

Explicaзгo da aзгo:

Criamos o comando, dando inicializaзгo a sua primeira parte. na qual й dita pela biblioteca da include zcmd.
PHP код:
CMD:asay(playeridparams[]) 
⇧ O Nome CMD pode ser substituido por COMMAND;

PHP код:
playerid 
⇧ refere-se ao player que digitar o comando.

PHP код:
params[] 
⇧ utilizaremos os parвmetros, entгo iremos acrescentб-lo na callback do comando.

PHP код:

⇧ Abri a chave primбria do comando!

PHP код:
new falar[128]; 
⇧ new й uma variбvel, e falar й o nome que damos a variбvel, [128] й o nъmero de caracteres que queremos na variбvel.

PHP код:
new string[128]; 
⇧ new й uma variбvel, e string й o nome que damos a variбvel, [128] й o nъmero de caracteres que queremos na variбvel.

PHP код:
new nome[MAX_PLAYER_NAME]; 
⇧ Criei a variбvel que significa o nome do player. O "MAX_PLAYER_NAME" й um complemento para o player.


PHP код:
GetPlayerName(playeridnomeMAX_PLAYER_NAME); 
⇧ GetPlayerName й para adicionar o nome do player atй esta variбvel, playerid й o player que digita o comando. "nome" й o nome da variбvel que damos(new nome[MAX_PLAYER_NAME]). MAX_PLAYER_NAME й o nъmero de caracteres que podem conter o nome.

PHP код:
if(sscanf(params"s"falar)) return SendClientMessage(playerid, -1,"{FF0000}ERRO: Utilize /asay [mensagem]"); 
⇧ if й verificaзгo. sscanf й a include que irб quebrar a string. o nosso comando vai utilizar os parвmetros, entгo vamos acrescentб-lo. "s" й como se fosse a quebra da linha, pular a linha no caso. falar й a variбvel que nуs criamos, ou seja, estamos utilizando a variбvel falar para ser a fala do player. fechamos todos os parenteses que foram abertos. demos um retorno caso o player digite somente "/asay". Colocamos para enviar uma mensagem ao cliente. playerid й a mesma coisa o player que estб praticando o comando. -1 й a cor branca do pawn. abrimos as aspas de palavras chave. colocamos o nosso texto dentro das aspas e fechamos.
Obs.: Esse {FF0000} й a cor vermelha em HTML. Caso queiram checar -
http://www.flextool.com.br/tabela_cores.html


PHP код:
format(stringsizeof(string), "[GLOBAL MESSENGER] - %s: %s"nomefalar); 
⇧ Format й a formataзгo da string, ou seja vocк estб formatando o valor da string. string й o nome da variбvel que vamos formatar. sizeof й o tamanho que vamos usar, que sгo os caracteres que colocamos do lado. string й o nome da variбvel que vamos formatar. Abrimos as aspas de palavras chave. E colocamos as variбveis que definimos para fazer parte da formataзгo da variбvel. Fechamos os parenteses e finalizamos com o ponto e vнrgula.
Obs.: O Que sгo esses "%s"? Isso sгo formatos de strings ou coeficientes nъmeros.
Aconselho estudar o tуpico da Wiki-Samp -
https://sampwiki.blast.hk/wiki/Format


PHP код:
SendClientMessageToAll(-1string); 
⇧ SendClientMessageToAll й para mandar uma mensagem para todos do servidor. Definimos a cor da mensagem em -1 (branco do pawn). Colocamos a formataзгo da string para ser a mensagem, no caso: Administraзгo Global - %s: %s.

PHP код:
return 1
⇧ Retornamos atй o final do comando.

PHP код:

⇧ Fechamos a chave do comando!

Por fim, a conclusгo serб essa:

PHP код:
#include <a_samp>
#include <zcmd>
#include <sscanf>
CMD:asay(playeridparams[])
{
    new 
falar[128];
    new 
string[128];
    new 
nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnomeMAX_PLAYER_NAME);
    if(
sscanf(params"s"falar)) return SendClientMessage(playerid, -1,"[CORRETOR]: Use /asay [texto]");
    
format(stringsizeof(string),"[GLOBAL MESSENGER]: %s - %s"Nome(playerid), falar);
    
SendClientMessageToAll(-1string);
    return 
1;

Obrigado!
Reply


Messages In This Thread
Como Criar o comando "/asay" - by fxckshzt - 19.08.2017, 23:52
Re: Como Criar o comando "/asay" - by C4rtm4n - 19.08.2017, 23:55
Re: Como Criar o comando "/asay" - by fxckshzt - 20.08.2017, 00:24
Re: Como Criar o comando "/asay" - by C4rtm4n - 20.08.2017, 00:39
Re: Como Criar o comando "/asay" - by fxckshzt - 20.08.2017, 00:42
Re: Como Criar o comando "/asay" - by GuilhermeNunes - 20.08.2017, 00:48
Re: Como Criar o comando "/asay" - by fxckshzt - 20.08.2017, 01:03
Re: Como Criar o comando "/asay" - by Jonorusc - 20.08.2017, 01:13
Re: Como Criar o comando "/asay" - by fxckshzt - 20.08.2017, 01:26
aqui vai meu exemplo, mais compacto! e simples! - by RazorGuigo - 06.09.2017, 13:38

Forum Jump:


Users browsing this thread: 1 Guest(s)