10.01.2016, 15:03
(
Последний раз редактировалось Lуs; 10.01.2016 в 16:05.
)
Introduзгo
Para fazermos os comandos iremos precisar de duas includes, Sscanf2 e zCMD.
Para fazermos os comandos iremos precisar de duas includes, Sscanf2 e zCMD.
Estarei usando o Sscanf2
Downloads:
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
Quote:
#include sscanf2 |
Quote:
#include zcmd |
Digite:
Quote:
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вmetro serгo utilizados em TODOS o comandos que precisarem de um complemento exemplo " /ir [id do jogador] " /ir = comando, [id do jogador] = complemento do comando, parвmetro. |
...Apуs ter definido o CMD, vamos entгo criar o que vai ser usado nesse cmd logo abaixo digite:
Quote:
new aName[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. new id; // Id do player que vai ser usado no /ir <ID> 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, pName, sizeof(pName)); // Vai pegar o nome de quem foi usado o comando. |
Quote:
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, 0xFF230AFF, "|ERRO| Vocк nгo possui acesso para utilizar esse comando!"); // Irб checar se o player estб logado Rcon, caso nгo esteja, irб retornar a mensagem de erro. if(sscanf(params, "d", id)) return SendClientMessage(playerid, 0xFF230AFF, "|ERRO| Use /ir <ID do jogador>."); // 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 server, irб retornar a mensagem de erro. new Float: x, Float: y, Float: z; GetPlayerPos(id, x, y, z); SetPlayerPos(playerid, x, y, z); // GetPlayerPos, irб pegar a posiзгo do ID. SetPlayerPos, vai setar quem digitou o comando na posiзгo do ID. format(str, sizeof(str), "|INFO| Vocк foi ao jogador: %s", pName); SendClientMessage(playerid, 0x1CD622FF, str); // Vai enviar б quem digitou o comando a mensagem de que ele foi ao jogador ID, o %s serб substituнdo pelo nome do ID dentro do jogo. format(str, sizeof(str), "|INFO| O Administrador: %s, foi atй vocк", aName); SendClientMessage(id, 0x1CD622FF, str); // Vai enviar б quem o admin se teleportou a mensagem de que o admin foi atй ele, os %s serб substituнdo pelo nome do admin dentro do jogo. |
Quote:
return 1; } // Fecha o Comando, significando que acabou, nunca se esqueзa de fecha-lo, caso contrбrio o pawno nгo irб entender que o comando acabou. |
Apуs isso vб atй a primeira linha do comando copiado e modifique:
De:
Quote:
CMD:ir(playerid, params[]) { |
Quote:
CMD:trazer(playerid, params[]) { |
Depois..
Quote:
// 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 o SetPlayerPos "playerid" por "id". |
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, irei responder logo. ( Obs: Compilei aqui, e foi tudo certo! )
Espero ter ajudado alguйm, atй mais.