Ovo je moj prvi tutorial na ovom forumu i pokazati cu vam kako napraviti GPS system u Dialogu.
Za poÄetak treba definirati boje koje cemo koristiti u GPS-u.
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GREEN 0x9EC73DAA
#define COLOR_BLUE 0x2641FEAA
Zatim treba definirati dialog.
#define GPS 1 //ovo 1 je ID dialoga, ovo mjenjajte ako vec postoji dialog s tim ID-em
Zatim treba dodati komandu kojom cete pokrenuti taj dialog za GPS. Pravit cu komande i u ZCMD i strcmp.
-strcmp
if (strcmp(cmdtext, "/gps", true) == 0)
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, " (Upozorenje) Morate biti u vozilu!");
ShowPlayerDialog(playerid, GPS, DIALOG_STYLE_LIST, "GPS - Odaberite lokaciju", "Glavni burg\nBanka\nVijecnica\nPolicija\nBolnica\nKolodvor\nAerodrom", "Odaberi", "Izadji");
SendClientMessage(playerid, COLOR_BLUE, "Za ostale lokacije koristite: /poslovi !");
return 1;
}
zcmd:
CMD:gps(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, " (Upozorenje) Morate biti u vozilu!");
ShowPlayerDialog(playerid, GPS, DIALOG_STYLE_LIST, "GPS - Odaberite lokaciju", "Glavni burg\nBanka\nVijecnica\nPolicija\nBolnica\nKolodvor\nAerodrom", "Odaberi", "Izadji");
SendClientMessage(playerid, COLOR_BLUE, "Da ugasite gps koristite /gpsoff !");
return 1;
}
-Ja vam preporucam da koristite ZCMD.!
-Sada cu napraviti komandu za ugasiti gps.
strcmp:
if(strcmp(cmd,"/gpsoff",true)==0)
{
if(IsPlayerConnected(playerid))
{
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, COLOR_GRAD1, "{F81414}Ugasili ste {FFFFFF}GPS!");
}
return 1;
}
zcmd:
CMD:gpsoff(playerid, parasm[])
{
if(IsPlayerConnected(playerid))
{
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, COLOR_GRAD2, "{F81414}Ugasili ste {FFFFFF}GPS!");
}
return 1;
}
Sada napravite ovo.
Pod
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
dodajte dialog:
if(dialogid == GPS)
{
if(response)
{
if(listitem == 0) //
{
SetPlayerCheckpoint(playerid, 1221.3342, -918.0650, 42.9127, 5.0);
SCM(playerid, COLOR_GREEN, "Lokacija postavljena na: {FFFFFF}Glavni burg.");
}
if(listitem == 1) //
{
SetPlayerCheckpoint(playerid, 1461.0076, -1026.0122, 23.8281, 5.0);
SCM(playerid, COLOR_GREEN, "Lokacija postavljena na: {FFFFFF}Banku.");
}
if(listitem == 2)
{
SetPlayerCheckpoint(playerid, 1481.0199, -1741.7627, 13.5469, 5.0);
SCM(playerid, COLOR_GREEN, "Lokacija postavljena na: {FFFFFF}Vijecnicu.");
}
if(listitem == 3)
{
SetPlayerCheckpoint(playerid, 1544.2372, -1675.6801, 13.5580, 5.0);
SCM(playerid, COLOR_GREEN, "Lokacija postavljena na: {FFFFFF}Policija.");
}
if(listitem == 4)
{
SetPlayerCheckpoint(playerid, 1188.9955, -1323.3768, 13.1392, 5.0);
SCM(playerid, COLOR_GREEN, "Lokacija postavljena na: {FFFFFF}Bolnica.");
}
if(listitem == 5)
{
SetPlayerCheckpoint(playerid, 1810.9696, -1889.1246, 13.4076, 5.0);
SCM(playerid, COLOR_GREEN, "Lokacija postavljena na: {FFFFFF}Kolodvor.");
}
if(listitem == 6)
{
SetPlayerCheckpoint(playerid, 1962.6006, -2181.7441, 13.1202, 5.0);
SCM(playerid, COLOR_GREEN, "Lokacija postavljena na: {FFFFFF}Aerodrom.");
}
}
}
Eto to je sve, ukoliko sam sta krivo napravio ispravite me :D
CMD:gpsoff(playerid, params[])
{
if(IsPlayerConnected(playerid))
{
DisablePlayerCheckpoint(playerid);
SendClientMessage(playerid, COLOR_GRAD2, "{F81414}Ugasili ste {FFFFFF}GPS!");
}
return 1;
}
******** krivo napisana komanda xD
Hvala.
Da to nije tako nesto komplikovano i tesko, ali je uredu. Ima dosta ovakvih tutoriala.
Uostalom ne treba ti if(IsPlayerConnected(playerid)) provera.
Citat: Extreme a.k.a. Snooker poslato Avgust 03, 2012, 16:08:38 POSLE PODNE
Da to nije tako nesto komplikovano i tesko, ali je uredu. Ima dosta ovakvih tutoriala.
Uostalom ne treba ti if(IsPlayerConnected(playerid)) provera.
Ma nije komplicirano, ali moze pomoci nekome, nisam vidio ni jedan tut za GPS pa sam za to stavio ;)
Dobar tut
IsPlayerConnected ti netreba + stavljao si boje GRAD2 sto nisi stavio da definiraju.
Dobar tut! Ali lako napraviti ;)
Lako, a i dobro.
Btw. 1000 post :D
hvala :D