19.08.2017, 23:52
(
Последний раз редактировалось fxckshzt; 20.08.2017 в 01:28.
)
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:
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...
Explicaзгo da aзгo:
Criamos o comando, dando inicializaзгo a sua primeira parte. na qual й dita pela biblioteca da include zcmd.
⇧ O Nome CMD pode ser substituido por COMMAND;
⇧ refere-se ao player que digitar o comando.
⇧ utilizaremos os parвmetros, entгo iremos acrescentб-lo na callback do comando.
⇧ Abri a chave primбria do comando!
⇧ new й uma variбvel, e falar й o nome que damos a variбvel, [128] й o nъmero de caracteres que queremos na variбvel.
⇧ new й uma variбvel, e string й o nome que damos a variбvel, [128] й o nъmero de caracteres que queremos na variбvel.
⇧ Criei a variбvel que significa o nome do player. O "MAX_PLAYER_NAME" й um complemento para o player.
⇧ 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.
⇧ 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
⇧ 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
⇧ 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.
⇧ Retornamos atй o final do comando.
⇧ Fechamos a chave do comando!
Por fim, a conclusгo serб essa:
Obrigado!
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>
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(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;
}
Criamos o comando, dando inicializaзгo a sua primeira parte. na qual й dita pela biblioteca da include zcmd.
PHP код:
CMD:asay(playerid, params[])
PHP код:
playerid
PHP код:
params[]
PHP код:
{
PHP код:
new falar[128];
PHP код:
new string[128];
PHP код:
new nome[MAX_PLAYER_NAME];
PHP код:
GetPlayerName(playerid, nome, MAX_PLAYER_NAME);
PHP код:
if(sscanf(params, "s", falar)) return SendClientMessage(playerid, -1,"{FF0000}ERRO: Utilize /asay [mensagem]");
Obs.: Esse {FF0000} й a cor vermelha em HTML. Caso queiram checar - http://www.flextool.com.br/tabela_cores.html
PHP код:
format(string, sizeof(string), "[GLOBAL MESSENGER] - %s: %s", nome, falar);
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(-1, string);
PHP код:
return 1;
PHP код:
}
Por fim, a conclusгo serб essa:
PHP код:
#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;
}