[TUT] Kreiranje Advanced GPS Systema

Započeo Vuzimir
26. Okt. 2015. Zaključano
2,743
pregleda
5
postova
Vuzimir
5
Kingpin
26. Okt. 2015.
UVOD:

- Pozdrav svima, u ovom tutorialu cu vam pokazati kako koristiti Advanced GPS Plugin by Gamer_Z.
  Zasto ovaj tut? Pa u zadnje vrijeme dobijam puno pitanja kako korstiti ovaj plugin i vidim da mnogo njih ne razumje ovaj plugin kako radi i kako se
  koristi

POTREBNO:
KREIRANJE:
Na vrh skripte dodajte:
#include < RouteConnector >
enum RouteInformation
{
Destination,
CreatedObjects,
bool:calculating,
Lenght
};
new PlayerRoute;


Poslje toga pod OnPlayerConnect dodajte:
PlayerRoute = -1;


Pod OnPlayerDisconnect:
if(PlayerRoute != -1) {
DisableGPS(playerid);
}


KOMANDE:
CMD:gpslokacija(playerid, params[]) {
if(PlayerRoute) { //ovo ce provjeravti dali je ruta kreirana
SendClientMessage(playerid,GRAD2,"Prvo obrisite vasu izabranu rutu. /gpsoff");
return 1;
}
if(PlayerRoute != -1) { //ovo ce biti sigurnosna provjera da ne kreira igracu 2 rute prvo da iskljuci staru
DisableGPS(playerid);
}
new PlayerClosest = NearestPlayerNode(playerid); //ovo ce uzeti najblizu tacku gdje se igrac nalazi
new TempDestination = NearestNodeFromPoint(X,Y,Z); //ovo se uzeti najblizu tacku na odredjenim kordinatama X,Y,Z

if(PlayerClosest == TempDestination) { //ako se igrac vec nalazi na odredistu
    SCM(playerid,GRAD2,"Nalazite se vec na tom odredistu.");
    return 1;
}
if(PlayerClosest == -1) { //ukoliko je igrac daleko od najblize tacke na putu
SendClientMessage(playerid,GRAD2,"Satelit ne moze da vas pronadje na ovoj lokacij, izadjite na najblizu cestu.");
return 1;
}
if(TempDestination == -1) { //ukoliko je odrediste X,Y,Z daleko od najblize tacke na putu
SendClientMessage(playerid,GRAD2,"Satelit ne moze da pronadje odrediste, molimo pokusajte ponovo.");
return 1;
}
if(CalculatePath(PlayerClosest,TempDestination,playerid, .GrabNodePositions = true)) { //ukoliko se ruta kreira
PlayerRoute = true;
SendClientMessage(playerid,GRAD2,"Kreiranje rute, molimo sacekajte.");
}
else { //ako se desi neka greska...
SendClientMessage(playerid,GRAD2,"Nepoznata greska, molimo pokusajte ponovo.");
}
return 1;
}

CMD:gpsoff(playerid, params[]) {
if(PlayerRoute == -1) return SCM(playerid,-1,"Vas GPS nije ukljucen.");
SCM(playerid,-1,"Vas GSP je iskljucen!");
DisableGPS(playerid);
return 1;
}


NA DNO SKRIPTE:
public OnPlayerClosestNodeIDChange(playerid,old_NodeID,new_NodeID) { //kada igrac stigne na odrediste
if(new_NodeID != -1) {
if(PlayerRoute == new_NodeID) {
SendClientMessage(playerid,-1,"Stigli ste na odrediste.");
DisableGPS(playerid);
}
}
return 1;
}

public GPS_WhenRouteIsCalculated(routeid,node_id_array[],amount_of_nodes,Float:distance,Float:Polygon[],Polygon_Size,Float:NodePosX[],Float:NodePosY[],Float:NodePosZ[])//Kada se ruta kreira
{
PlayerRoute = false; //stavlja kreiranje rute na false
if(amount_of_nodes > 1) { //ako je broj tacaka na putu vece od 1
    for(new i = 0; i < amount_of_nodes; ++i) {
PlayerRoute = CreatePlayerObject(routeid,1318,NodePosX,NodePosY,NodePosZ+1.0,0.0,0.0,0.0,150.0); //kreiranje objekata po putu...
    }
    PlayerRoute = amount_of_nodes; //postavlja broj tacaka na putu
PlayerRoute = node_id_array[amount_of_nodes-1]; //postavlja destinaciju
    gps_AddPlayer(routeid); //dodaje igraca na tu rutu
    SendClientMessage(routeid,-1,"Ruta kreirana, srecan put!");
}
else {
SendClientMessage(routeid,GRAD2,"Satelit ne moze da vas pronadje na ovoj lokacij, izadjite na najblizu cestu.");
}

return 1;
}

forward DisableGPS(playerid); 
public DisableGPS(playerid)//iskljucivanje GPS
{
for(new i = 0; i < PlayerRoute; ++i)
{
DestroyPlayerObject(playerid,PlayerRoute); //brisanje objekata
}
PlayerRoute = 0;
PlayerRoute = -1;
gps_RemovePlayer(playerid);
return 1;
}

SLIKE:


EuroGaming
5
Underboss
26. Okt. 2015.
Fino objasnjeno pohvale
Vuzimir
5
Kingpin
26. Okt. 2015.
Kunnaâ„¢ wrote on October 26, 2015, 10:06 am:
Fino objasnjeno pohvale


Hvala 🙂
Marjan_King
5
Kingpin
26. Okt. 2015.
Super, lepo objasnjeno :-)
Vuzimir
5
Kingpin
26. Okt. 2015.
Quote from October 26, 2015, 12:00 pm:
Super, lepo objasnjeno :-)


Hvala 🙂

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha