Eu procurei é não achei nada relacionado a isso, então eu resolvi criar um tutorial, ensinando passo-a-passo de como criar um teleport em dialog usando a include ZCMD, que e praticamente a mais utilizada atualmente.
Introdução
• Primeiramente você terá que ter a include ZCMD, é óbvio, você pode baixa-la clicando aqui.
• É um simples tutorial, muito simples, mais eu fis com o intuito de ajudar os novatos na área.
Iniciando
• Após ter baixado a include, coloque-a na pasta "pawno/include".
• Logo após abra o pawno, que se encontra na pasta anterior que você colocou as includes, clique File e em seguida clique em New, ou se você já tiver o GameMode/FilterScript pronto, basta abrir-lo, clicando em File e logo em seguida em "Open" selecione o seu GameMode/FilterScript e abra-o, é assim faça o comando.
Topo do GameMode/FilterScript
PHP Code:
#include <zcmd>
Definimos o nosso dialog, que usaremos no teleporte, topo do GameMode/FilterScript.
PHP Code:
#define Tutorial 2728
Explicação
Usado para definir a nossa dialog. Observação: Cuidado para não ter nenhum dialog além desse definido como "2728".
Definindo a cor, topo do GameMode/FilterScript.
PHP Code:
#define COLOR_RED 0xFF0000FF
Explicação
Definimos a COR no topo, para usar-mos no nosso dialog.
Agora adicione ao seu GameMode/FilterScript.
PHP Code:
COMMAND:tutorial(playerid, params[])
{
ShowPlayerDialog(playerid, Tutorial, DIALOG_STYLE_LIST, "Tutorial - Criando teleport por Dialog", "Teleporte 1\nTeleporte 2", "Selecionar", "Sair");
return 1;
}
PHP Code:
CMD:tutorial(playerid, params[])
{
ShowPlayerDialog(playerid, Tutorial, DIALOG_STYLE_LIST, "{FF0000}Tutorial - Criando teleport por Dialog", "Teleporte 1\nTeleporte 2", "Ok", "Cancelar");
return 1;
}
Explicação
ShowPlayerDialog - Para executar o dialog.
Playerid - Aparecer o dialog somente o ID que digitou o comando.
Tutorial - Nome do nosso dialog, que definimos no topo.
DIALOG_STYLE_LIST - Dialog usado para listas com opções.
{FF0000} - Cor que usaremos no titulo do nosso dialog.
Tutorial - Criando teleport por Dialog - Titulo que usaremos no nosso dialog.
Teleporte 1 - Primeira opção(teleporte).
\n - Use isso, para pular linhas, ou seja, ir para a próxima linha.
Teleporte 2 - Segunda opção(teleporte).
Ok - Botão usado para selecionar a opção desejada.
Cancelar - Para fechar o dialog, e cancelar.
Agora vá até a public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == Tutorial)
{
if(response)
{
if(listitem == 0)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,Float:x,Float:y,Float:z);
SendClientMessage(playerid, COLOR_RED, "[INFO] Você teletransportou para o Teleporte número 1.");
return 1;
}
else if(listitem == 1)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,Float:x,Float:y,Float:z);
SendClientMessage(playerid, COLOR_RED, "[INFO] Você teletransportou para o Teleporte número 2.");
}
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) - Public onde contem todos os dialogs do GameMode/Filterscripter.
if(dialogid == Tutorial) - Colocamos a "palavra-chave" do nosso dialog, que definimos no topo, e para executar o diaog, ao digitar o comando.
if(listitem == 0) - Primeira opção(Teleporte 1).
else if(listitem == 1) - Segunda opção(Teleporte 2).
SetPlayerPos(playerid,Float: x,Float:y,Float:z) - Teletransporta o player para a posição desejada.
Playerid - Teleportar somente o ID que digitou o comando.
Float: x - A coordenada X para posicionar o jogador.
Float:y - A coordenada Y para posicionar o jogador.
Float:z - A coordenada Z para posicionar o jogador.
SetPlayerInterior(playerid, 0); - Interior/Virtual World que a posição se encontra(em casos de teleporte para algum lugar que não esteja em interior, essa parte e inútil e não precisa ser utilizada).
SendClientMessage(playerid, COLOR_RED, "[INFO] Você teletransportou para o Teste número 1."); - Manda a mensagem, ao jogar que digitou/teleportou para o local.
return 1; - Fechamos a public OnDialogResponse().
Questionario
Pergunta: Como eu posso ver os interiores, ids e cordenadas?
Resposta: Existe um site que disponibiliza todos os interiores, seus IDs e suas posições, clique aqui para acessa-lo.
Pergunta: Como posso fazer um teleporte para um interior?
Resposta: Siga o tutorial, somente mude as posições e o ID para teleportar a algum interior.
Pergunta: Aonde acho cores para colocar em meu dialog?
Resposta: Eu uso em códigos HTML. Clique aqui para ver o site, depois que escolher a cor, copie o segundo número que aparecer, copie somente os números depois do #, após copia-los, coloque ele nesse modelo {CódigoDaCor}, é coloque antes da mensagem do dialog.
Pergunta: Tem como fazer pra mandar uma mensagem para todos que o player foi ao teleporte?
Resposta: Sim, use a função SendClientMessageToAll.
Atenção dispenso, comentários fúteis e ofensas. Se quiser critícas, critíque, mais por favor, seja construtivo com sua critíca. Se quiser dar alguma sugestão de tutoriais, entre outras, faça uma sugestão construtiva, por gentileza.
Wiki SA-MP - Funções e bases.
Zeex - Criação da include zCMD.
0 comentários:
Postar um comentário