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 код: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:
- Código:
#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 код: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...
- Código:
CMD:asay(playerid, params[])
{
new falar[128];
new string[128];
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
if(sscanf(params, "s", falar)) return SendClientMessage(playerid, -1,"[CORRETOR]: Use /asay [texto]");
format(string, sizeof(string),"[GLOBAL MESSENGER]: %s - %s", Nome(playerid), falar);
SendClientMessageToAll(-1, string);
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 код:Criamos o comando, dando inicializaзгo a sua primeira parte. na qual й dita pela biblioteca da include zcmd.
- Código:
CMD:asay(playerid, params[])
⇧ O Nome CMD pode ser substituido por COMMAND;
PHP код:- Código:
playerid
⇧ refere-se ao player que digitar o comando.
PHP код:- Código:
params[]
⇧ utilizaremos os parвmetros, entгo iremos acrescentб-lo na callback do comando.
PHP код:- Código:
{
⇧ Abri a chave primбria do comando!
PHP код:- Código:
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 код:- Código:
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 код:- Código:
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 код:- Código:
GetPlayerName(playerid, nome, MAX_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 код:- Código:
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 код:Obs.: Esse {FF0000} й a cor vermelha em HTML. Caso queiram checar - http://www.flextool.com.br/tabela_cores.html
- Código:
format(string, sizeof(string), "[GLOBAL MESSENGER] - %s: %s", nome, falar);
⇧ 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://scriptsamp.forumeiros.com/t48165-codigo-utilformat#97757
PHP код: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://scriptsamp.forumeiros.com/t48165-codigo-utilformat#97757
- Código:
SendClientMessageToAll(-1, string);
⇧ 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 код:- Código:
return 1;
⇧ Retornamos atй o final do comando.
PHP код:- Código:
}
⇧ Fechamos a chave do comando!
Por fim, a conclusгo serб essa:
PHP код:Por fim, a conclusгo serб essa:
- Código:
#include <a_samp>
#include <zcmd>
#include <sscanf>
CMD:asay(playerid, params[])
{
new falar[128];
new string[128];
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
if(sscanf(params, "s", falar)) return SendClientMessage(playerid, -1,"[CORRETOR]: Use /asay [texto]");
format(string, sizeof(string),"[GLOBAL MESSENGER]: %s - %s", Nome(playerid), falar);
SendClientMessageToAll(-1, string);
return 1;
}
Obrigado!
Creditos: fxckshzt