#define DIALOG_GPS 1
//#define DIALOG_NOMEDADIALOG NUMERAЗAO_DA_DIALOG
new GPSLocal[MAX_PLAYERS];
//new NOME_DA_VARIAVEL [MAX_PLAYERS](se refere ao mбximo de players encontrados no servidor);
public OnPlayerEnterCheckpoint(playerid)
{
if(GPSLocal[playerid] == 1)
{
GPSLocal[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
return 1;
}
public OnPlayerEnterCheckpoint(playerid) - Callback de quando o player estiver dentro de uma marcaзгo criada. { - Abertura da chave da Callback if(GPSLocal[playerid] == 1) - verificaзгo, nуs verificamos se a variбvel GPSLocal й criada. { - Abertura da chave de verificaзгo GPSLocal[playerid] = 0; - Estamos zerando qualquer marcaзгo criada por alguma funзгo DisablePlayerCheckpoint(playerid); - Estamos desabilitando todas as marcaзхes (desabilitando todas que estiverem sido criadas no momento) } - Fechando chave de abertura da verificaзгo return 1; - Retornamos a Callback para 1 ou fizemos o retorno verdadeiro da callback } - Fechando a chave de abertura da Callback |
CMD:gps(playerid)
{
ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "GPS", "LOTERICA", "Selecionar", "Fechar");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_GPS)
{
if(response)
{
if(listitem == 0)
{
SetPlayerCheckpoint(playerid,1289.8077,-1654.2590,13.5469,8.0);
SendClientMessage(playerid,-1,"[INFO] - A Lotйrica foi marcada no seu mapa!");
GPSLocal[playerid] = 1;
}
}
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) - Й Responsбvel pelo inнcio da funзгo. { - Abertura da chave da callback if(dialogid == DIALOG_GPS) - Estб verificando se a dialogid existe, e a aзгo contra ela serб feita. { - Abertura da Chave da Verificaзгo if(response) - Verificaзгo da responsabilidades que possuem as colunas. { - Abertura da Chave de Responsabilidade if(listitem == 0) - Verificaзгo se do item citado nas linhas do comando. No pawno, tudo comeзa do nъmero 0(zero), O Zero equivale a primeira linha. { - Abertura da Verificaзгo dos itens. SetPlayerCheckPoint(playerid, 1289.8077,-1654.2590,13.5469,8.0); - Criar um checkpoint no mapa do jogo. playerid й o player que digitar o comando. Essas nъmeraзхes sгo as coordenadas X,Y,Z,Size(Tamanho) SendClientMessage(playerid, -1, "[INFO]: Lotйrica marcado no Mapa, Vб atй o ponto"); - Enviamos uma mensagem ao client. -1 й a cor que vocк deseja que apareзa na mensagem(branco no pawn). Mensagem. GPSLocal[playerid] = 1; - Damos um valor para a variбvel GPSLocal, que foi 1 ao clicarmos no Local desejado, apуs chegarmos, o local serб desmarcado. } - Fecha a verificaзгo dos itens. } - Fechando a chave de responsabilidade. } - Fechando a chave de verificaзгo de definiзгo da DIALOG. return 1; - Estamos finalizando ou dando o retorno final(ou verdadeiro) da funзгo. } - Fechando chave de funзгo da callback. |
#include <a_samp>
#include <zcmd>
#define DIALOG_GPS 1
new GPSLocal[MAX_PLAYERS];
CMD:gps(playerid)
{
ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "GPS", "LOTERICA", "Selecionar", "Fechar");
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
if(GPSLocal[playerid] == 1)
{
GPSLocal[playerid] = 0;
DisablePlayerCheckpoint(playerid);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_GPS)
{
if(response)
{
if(listitem == 0)
{
SetPlayerCheckpoint(playerid,1289.8077,-1654.2590,13.5469,8.0);
SendClientMessage(playerid,-1,"[INFO] - A Lotйrica foi marcada no seu mapa!");
GPSLocal[playerid] = 1;
}
}
}
return 1;
}
CMD:desligargps(playerid)
{
if(GPSLocal[playerid] == 1)
{
GPSLocal[playerid] = 0;
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, -1, "{00BFFF}[SERVER]{FFFFFF}: GPS Desligado!");
}
else
{
SendClientMessage(playerid, -1, "{FF0000}ERRO: Vocк nгo estб com o GPS ligado!");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_GPS)
{
if(response)
{
if(listitem == 0)
{
if(GPSLocal[playerid] == 1)
{
GPSLocal[playerid] = 0;
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, -1, "{00BFFF}[SERVER]{FFFFFF}: GPS Desligado!");
}
else
{
SendClientMessage(playerid, -1, "{FF0000}ERRO: Vocк nгo estб com o GPS ligado!");
}
}
if(listitem == 1)
{
SetPlayerCheckpoint(playerid, 1289.8077, -1654.2590, 13.5469, 8.0);
SendClientMessage(playerid,-1,"[INFO] - A Lotйrica foi marcada no seu mapa!");
GPSLocal[playerid] = 1;
}
}
}
return 1;
}
Util para quem esta fazendo servidor de RPG sу uma dica faz em Inglкs para os gringos tbm aqui: http://forum.sa-mp.com/forumdisplay.php?f=70
la tem muitos que estгo fazendo servidor rpg e vocк ira ajudar muito quem nгo sabe @Edit Faltou a parte de desligar o GPS. |
public OnPlayerEnterCheckpoint(playerid)
{
if(GPSLocal[playerid] == 1)
{
GPSLocal[playerid] = 0;
DisablePlayerCheckpoint(playerid);
GameTextForPlayer(playerid, "~r~Vocк chegou no seu destino!", 2000, 4);
}
return 1;
}
Util para quem esta fazendo servidor de RPG sу uma dica faz em Inglкs para os gringos tbm aqui: http://forum.sa-mp.com/forumdisplay.php?f=70
la tem muitos que estгo fazendo servidor rpg e vocк ira ajudar muito quem nгo sabe @Edit Faltou a parte de desligar o GPS. |
CMD:desligargps(playerid)
{
if(GPSLocal[playerid] == 1)
{
GPSLocal[playerid] = 0;
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, -1,"{00BFFF}[SERVER]{FFFFFF}: Seu GPS foi desativado!");
}
else
{
SendClientMessage(playerid, -1,"{FF0000}ERRO: Vocк nгo estб com o GPS Ligado!");
}
return 1;
}