Introdução
Para fazermos os comandos, vamos precisar de dois includes, Sscanf2 e zCMD.
Para fazermos os comandos, vamos precisar de dois includes, Sscanf2 e zCMD.
Estarei usando o Sscanf2
Transferências:
Apуs baixar, abra a pasta do Pawno, vб em includes e cole lб os dois arquivos
__________________________________________________ _____________________________________
Iniciando
Antes de tudo, certifique-se de que você adicionou ao começo do seu projeto
#include sscanf2 |
#include zcmd |
Após se certificar, abra seu arquivo no pawno e escolha um lugar para digitar o comando(Eu uso depois da última pública).
Digite:
Citar:Digite:
CMD:ir(playerid, params[]) { // Explicação: CMD: // Indica como é o comando no caso /ir. ir: // O comando. playerid: // Quem digita o comando. params[]: // Significa que vamos usar parâmetros, esses parâmetros serão usados em TODOS o comandos que precisarem de um complemento exemplo " /ir [id do jogador] " /ir = comando, [id do jogador] = complemento do comando, parâmetro. |
Continuando..
...Após ter definido o CMD, vamos então criar o que vai ser usado nesse cmd logo abaixo digite:
Citar:...Após ter definido o CMD, vamos então criar o que vai ser usado nesse cmd logo abaixo digite:
novo aNome[MAX_PLAYER_NAME]; // Nome de quem usou o comando, no caso o Admin, etc.. new pName[MAX_PLAYER_NAME]; // Nome do player para quem o Admin se teleportou. novo id; // Id do player que vai ser usado no /ir new str[128]; // Criamos uma string que vai mandar as mensagens ao player GetPlayerName(playerid, aName, sizeof(aName)); // Vai pegar o nome do Player que usou o comando. GetPlayerName(playerid, pNome, sizeof(pNome)); // Vai pegar o nome de quem foi usado o comando. |
Depois de ter feito isso digite logo abaixo:
Citar:if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF230AFF, "|ERRO| Você não possui acesso para utilizar esse comando!"); // Irá checar se o jogador estiver logado Rcon, caso não esteja, irá retornar a mensagem de erro. if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0xFF230AFF, "|ERRO| Use /ir // Irá checar se ele escreveu o comando todo, caso tenha escrito apenas /ir, irá retornar a mensagem de erro. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF230AFF, "|ERRO| O ID digitado não está no servidor."); // Irá checar se ele digitou um ID válido, caso o ID digitado não esteja no servidor, irá retornar a mensagem de erro. novo Flutuante: x, Flutuante: y, Flutuante: z; SetPlayerPos(playerid, x, y, z); // GetPlayerPos, irá pegar a posição do ID. SetPlayerPos, vai definir quem digitou o comando na posição do ID. format(str, sizeof(str), "|INFO| Você foi ao jogador: %s", pNome); SendClientMessage(playerid, 0x1CD622FF, str); // Vai enviar á quem digitou o comando a mensagem de que ele foi ao ID do jogador, o %s será substituído pelo nome do ID dentro do jogo. format(str, sizeof(str), "|INFO| O Administrador: %s, foi atй vocк", aNome); SendClientMessage(id, 0x1CD622FF, str); // Vai enviar á quem o admin se teleportou a mensagem de que o admin foi até ele, os %s será substituindo pelo nome do admin dentro do jogo. |
Por fim.. digite:
Citar:retornar 1; } // Fecha o Comando, significando que acabou, nunca se esquece de fechá-lo, caso contrário o peão não irá entender que o comando acabou. |
Pronto, você finalizou o comando /ir . Agora, para o /trazer, basta você copiar e colar abaixo todo o código que acabamos de criar (Sim, copie e cole abaixo todo o comando /ir. )
Citar:CMD:ir(playerid, params[]) { |
Pára:
Citar:CMD:trazer(playerid, params[]) { |
Depois..
// Procure por estas linhas: new Float: x, Float: y, Float: z; GetPlayerPos(id, x, y, z); // Troque "id" por "playerid" SetPlayerPos(playerid, x, y, z); // Troque "playerid" por "id" // Para o /trazer basta trocar o "id" no GetPlayerPos por "playerid" e SetPlayerPos "playerid" por "id". |
Depois disso, basta modificar as mensagens!
Fim
Bom, esse é o meu primeiro Post aqui no Fуrum. Desde jб peзo desculpas caso o cуdigo nгo esteja muito aperfeiзoado, comecei com a linguбgem Pawn faz apenas 1 Semana..
Aceito Dicas e Crнticas
Qualquer dъvida й sу me dizer, responderei logo. ( Obs: Compilei aqui, e foi tudo certo! )
Espero ter ajudado alguйm, atй mais.
Fim
Bom, esse é o meu primeiro Post aqui no Fуrum. Desde jб peзo desculpas caso o cуdigo nгo esteja muito aperfeiзoado, comecei com a linguбgem Pawn faz apenas 1 Semana..
Aceito Dicas e Crнticas
Qualquer dъvida й sу me dizer, responderei logo. ( Obs: Compilei aqui, e foi tudo certo! )
Espero ter ajudado alguйm, atй mais.
Creditos: Preduo