PHP код:
public OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/arenadm", true) == 0) // SE O COMANDO FOR /arenadm
{
SetPlayerPos(playerid, X, Y, Z); // SETA O JOGADOR NAS COORDENDAS DESEJADAS
new string[100]; // CRIA A ARRAY PARA ENVIAR A MENSAGEM COM O NOME DO JOGADOR
new nome[MAX_PLAYER_NAME]; // CRIA A ARRAY PARA 'ARMAZENAR' O NOME DO JOGADOR QUE SERБ USADO NO FORMAT ABAIXO
GetPlayerName(playerid, nome, sizeof(nome)); // PEGA O NOME DO JOGADOR e DEFINE COMO NOME
format(string, sizeof(string), "%s foi para a arena de DM usando /arenadm.", nome); // FORMAT --> IREI EXPLICAR MAIS ADIANTE
SendClientMessageToAll(-1, string); // ENVIA A MENSAGEM SALVA NA ARRAY 'string'
return 1;
}
return 0;
}
Iremos repartir o format para vocк entender melhor:
1 - format(
2 - string,
3 - sizeof(string),
4 - "%s foi para a arena de DM usando /arenadm.", nome
5 - );
EXPLICANDO:
- A parte 1 abre a funзгo format
- A parte 2 define onde serб armazenada as informaзoes do format
- A parte 3 indica o tamanho do format. Traduzindo "sizeof" para o portugues significa "do tamanho de", logo as informaзхes contidas no format podem ter no maximo o tamanho de 100 cйdulas, pois este й o tamanho da string.
OBS: Este й o tamanho da string, pois nуs criamos ela com este tamanho
- A parte 4 й basicamente a informaзгo a ser armazenada. Note que apуs a virgula tem escrito "nome", isto й porque armazenamos o nome do jogador anteriormente nesta array e entгo iremos usб-la aqui. Alйm disso, vocк deve estar se perguntando: Mas o que й aquilo ali no inicio ? O %s й usado no caso de strings. Caso fosse um numero eu deveria colocar %d, se fosse uma float eu deveria colocar %f, se fosse um valor hexadecimal eu colocaria %x e ainda se eu quisesse colocar o prуprio "%" eu deveria colocar %%.
- Jб a parte 5, suponho que vocк saiba que serve para fechar a funзгo.
Entгo basta enviar a mensagem para os jogadores que estб armazenada na array 'string' conforme fizemos no format.
Outro exemplo:
Se eu quisesse colocar a localizaзгo do jogador, faria assim:
PHP код:
new Float:X, Float:Y, Float:Z; // CRIA AS floats PARA ARMAZENAR A INFORMAЗГO CORRESPONDENTE AO LOCAL QUE O JOGADOR ESTБ
GetPlayerPos(playerid, X, Y, Z); // PEGA A POSICAO E ARMAZENA EM X, Y e Z
new andrew[128]; // CRIA OUTRA ARRAY PARA ARMAZENAR A INFORMAЗГO, COLOQUEI O NOME DELA DE andrew PRA VOCК PERCEBER QUE NГO Й NECESSБRIO QUE O NOME DELA SEJA string
format(andrew, sizeof(andrew), "Sua localizaзгo --> X: %f Y: %f Z: %f", X, Y, Z); // FORMAT
SendClientMessage(playerid, -1, andrew);
Expliquei da melhor forma possivel, se vocк ainda nao tiver entendido diga, pois irei explicar novamente =D
OBS: Neste caso as informaзхes podem ter no maximo o tamanho de 128 cйdulas.