Apenas optimizando o script do colega acima.
PHP код:
#define DIALOG_GPS 1000
enum pChecks {
prefeitura,
escola,
bar
}
new PlayerCheck[MAX_PLAYERS][pChecks];
public OnPlayerEnterCheckpoint(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, Cordx, Cordy, Cordz)) // Coordenada do checkpoint que vai ficar em frente a prefeitura
{
DisablePlayerCheckpoint(PlayerCheck[playerid][prefeitura]);
SendClientMessage(playerid, 0xFF0000FF, "Vocк chegou no seu destino");
}
if(IsPlayerInRangeOfPoint(playerid, 5.0, Cordx, Cordy, Cordz)) // Coordenada do checkpoint que vai ficar em frente a escola
{
DisablePlayerCheckpoint(PlayerCheck[playerid][escola]);
SendClientMessage(playerid, 0xFF0000FF, "Vocк chegou no seu destino");
}
if(IsPlayerInRangeOfPoint(playerid, 5.0, Cordx, Cordy, Cordz)) // Coordenada do checkpoint que vai ficar em frente o bar
{
DisablePlayerCheckpoint(PlayerCheck[playerid][bar]);
SendClientMessage(playerid, 0xFF0000FF, "Vocк chegou no seu destino");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_GPS)
{
if(response)
{
switch(listitem)
{
case 0: PlayerCheck[playerid][prefeitura] = SetPlayerCheckpoint(playerid, Cordx, Cordy, Cordz, 5.0);
case 1: PlayerCheck[playerid][escola] = SetPlayerCheckpoint(playerid, Cordx, Cordy, Cordz, 5.0);
case 2: PlayerCheck[playerid][bar] = SetPlayerCheckpoint(playerid, Cordx, Cordy, Cordz, 5.0);
}
SendClientMessage(playerid, 0xFF0000FF, "Seu destino foi marcado no seu Radar");
}
}
return 1;
}
CMD:gps(playerid)
{
ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "GPS", "Prefeitura\nEscola\nBar", "Selecionar", "Cancelar");
return 1;
}