Mergi prima data pe server la locatia dorita, dai /save si ai salvat coordonatele .
Apoi , intri pe server , faci un define pe la inceput ca sa nu-ti bati prea mult capul . Define-ul sa fie ceva de genul #define DIALOG_GPS 223 .
Mergi la public OnPlayerCommandText iar acolo, dupa ce comanda vrei tu adaugi asa :
if(strcmp(cmd, "/gps", true) == 0)
{
if(IsPlayerConnected(playerid))
{
ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "Alege o locatie in care vrei sa mergi", "1.Spawn Civili", "Alege", "Inchide");
}
return 1;
}
Spawn Civil arata locatia, tu pui ce vrei, cum vrei dar trebuie sa ai grija cum le asezi !
In loc de DIALOG_GPS pui ce #define ai pus tu .
Asa, apoi , dupa ce ai adaugat comanda mergi la public OnDialogResponse si inainte de primul dialog sau dupa ultimul adaugi asa :
if(dialogid == DIALOGGPS)
{
if(response)
{
if(listitem==0)
{
SetPlayerCheckpoint(playerid, coordonatele zonei unde ai dat /save, 3);
SendClientMessage(playerid, COLOR_BLUE, "Ai activat GPS-ul, mergi la punctul rosu de pe harta !");
}
In loc de DIALOG_GPS pui cum ai definit tu cu #define .
Pentru a dezactiva checkpoint-ul cand ajunge la destinatie fa asa : mergi la public OnPlayerEnterCheckpoint si adaugi
if PlayerToPoint(5,playerid,coordonatele zonei unde ai dat /save)
*then
{
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, COLOR_ORANGE, "Ai ajuns la destinatie, GPS-ul a fost dezactivat!");
}
si cam asta e . Sper sa intelegi si sa te descurci . Este foarte simplu . Pentru fiecare locatie adaugata, la dialog dupa "1.Spawn Civili" de exemplu adaugi n2.Locatie, iar linia va arata ceva gen 1.Spawn Civilin2.Locatia pe care o vrei, iar la ondialogresponse, in loc de listitem 0 adaugi 1 , adica listitem 1 , la urmatorul listitem 2 si tot asa . Bafta !