Gps sistem

ucazapenje1 Započeo ucazapenje1
pre 1 godinu
1,305
pregleda
17
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
ucazapenje1
Street Runner
pre 1 godinu
Napravio sam dinamicni gps sistem nema errora, udjem u server napravim gps /napravigps spawn.npr kada ukucam spawn ne pise spawn nego - i kada kliknem na to stvori mi checkpoint u selu a ne gde sam ja postavio, a u fajlu gps se cuvaju kordinate koje sam postavio kod spawna je l zna neko gde sam pogredio ?
Dime123
Made Man
pre 1 godinu
Posaljes kod pa pogledamo?
ucazapenje1
Street Runner
pre 1 godinu
Sta sve treba da posaljem ili da saljem ceo sistem?
Dime123
Made Man
pre 1 godinu
ucazapenje1 wrote on March 26, 2024, 9:49 am:
Sta sve treba da posaljem ili da saljem ceo sistem?

Posalji ceo sistem
ucazapenje1
Street Runner
pre 1 godinu
enum gpsInfo
{
gpsIme,
Float:gpsX,
Float:gpsY,
Float:gpsZ
};
new GpsInfo;
new brojgps;
////////////////////////////
    if(tip == 6)
    {
len = MAX_GPSS;
for(new loop = (0), check = (-1), Data_ = "\0"; loop != len; ++ loop)
{
check = (loop+1);
format(Data_, sizeof(Data_), GPSPATH, check);
if(!fexist(Data_))
{
  id = (check);
  break;
}
}
    }
//////////////////////////////////
stock SaveGps(id)
{
new gps_file;
format(gps_file, sizeof(gps_file), GPSPATH, id);
new INI:File = INI_Open(gps_file);
INI_WriteString(File, "Ime", GpsInfo);
INI_WriteFloat(File, "X", GpsInfo);
INI_WriteFloat(File, "Y", GpsInfo);
INI_WriteFloat(File, "Z", GpsInfo);
INI_Close(File);
}
/////////////////////////////
for(new i = 0; i < MAX_GPSS; i++)
{
new gpsfile;
format(gpsfile, sizeof(gpsfile), GPSPATH, i);
if(fexist(gpsfile))
{
INI_ParseFile(gpsfile, "LoadGpss", .bExtra = true, .extra = i);
brojgps++;
}
}
//////////////////////////
for(new i = 0; i < MAX_GPSS; i++)
{
SaveGps(i);
}
////////////////////////
CMD:gps(playerid, params[])
{
if(brojgps < 1) return SCM(playerid, CRVENA, ": {FFFFFF}Lokacije za gps jos nisu napravljene!");
new string, text;
for(new i = 1; i <= brojgps; i++)
{
  format(text, sizeof(text), "{32CD32}[{FFFFFF}%d{32CD32}] - {FFFFFF}%s\n", i, GpsInfo);
  strcat(string, text);
}
ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "{32CD32}Gps", string, "{32CD32}Izaberi", "{32CD32}Odustani");
return 1;
}
/////////////////////////////
CMD:napravigps(playerid, params[])
{
if(PlayerInfo < 6) return SCM(playerid, CRVENA, ": {FFFFFF}Niste ovlasceni da koristite ovu komandu!");
new ime, Float:X, Float:Y, Float:Z, i = NewID(3), gpsfile;
if(sscanf(params, "s", ime)) return SCM(playerid, CRVENA, ": {FFFFFF}/napravigps ");
GetPlayerPos(playerid, X, Y, Z);
GpsInfo = ime;
GpsInfo = X;
GpsInfo = Y;
GpsInfo = Z;
SaveGps(i);
SCM(playerid, -1, "{32CD32}: {FFFFFF}Uspesno ste napravili gps lokaciju!");
format(gpsfile, sizeof(gpsfile), GPSPATH, i);
INI_ParseFile(gpsfile, "LoadGpss", .bExtra = true, .extra = i);
brojgps++;
return 1;
}
/////////////////////////////////////////
    case DIALOG_GPS:
    {
if(response)
{
new id = listitem+1, string;
{
SetPlayerCheckpoint(playerid, GpsInfo, GpsInfo, GpsInfo, 5.0);
}
format(string, sizeof(string), "{32CD32}: {FFFFFF}Uspesno ste postavili gps lokaciju na mapi!");
SCM(playerid, -1, string);
}
    }
///////////////////////////////////
forward LoadGpss(id, name[], value[]);
public LoadGpss(id, name[], value[])
{
INI_String("Ime", GpsInfo, 12😎;
INI_Float("X", GpsInfo);
INI_Float("Y", GpsInfo);
INI_Float("Z", GpsInfo);
    return 1;
}
////////////////////////////////////
toncikica
Enforcer
pre 1 godinu
ucazapenje1 wrote on March 26, 2024, 10:16 am:
enum gpsInfo
{
gpsIme,
Float:gpsX,
Float:gpsY,
Float:gpsZ
};
new GpsInfo;
new brojgps;
////////////////////////////
    if(tip == 6)
    {
len = MAX_GPSS;
for(new loop = (0), check = (-1), Data_ = "\0"; loop != len; ++ loop)
{
check = (loop+1);
format(Data_, sizeof(Data_), GPSPATH, check);
if(!fexist(Data_))
{
  id = (check);
  break;
}
}
    }
//////////////////////////////////
stock SaveGps(id)
{
new gps_file;
format(gps_file, sizeof(gps_file), GPSPATH, id);
new INI:File = INI_Open(gps_file);
INI_WriteString(File, "Ime", GpsInfo);
INI_WriteFloat(File, "X", GpsInfo);
INI_WriteFloat(File, "Y", GpsInfo);
INI_WriteFloat(File, "Z", GpsInfo);
INI_Close(File);
}
/////////////////////////////
for(new i = 0; i < MAX_GPSS; i++)
{
new gpsfile;
format(gpsfile, sizeof(gpsfile), GPSPATH, i);
if(fexist(gpsfile))
{
INI_ParseFile(gpsfile, "LoadGpss", .bExtra = true, .extra = i);
brojgps++;
}
}
//////////////////////////
for(new i = 0; i < MAX_GPSS; i++)
{
SaveGps(i);
}
////////////////////////
CMD:gps(playerid, params[])
{
if(brojgps < 1) return SCM(playerid, CRVENA, ": {FFFFFF}Lokacije za gps jos nisu napravljene!");
new string, text;
for(new i = 1; i <= brojgps; i++)
{
  format(text, sizeof(text), "{32CD32}[{FFFFFF}%d{32CD32}] - {FFFFFF}%s\n", i, GpsInfo);
  strcat(string, text);
}
ShowPlayerDialog(playerid, DIALOG_GPS, DIALOG_STYLE_LIST, "{32CD32}Gps", string, "{32CD32}Izaberi", "{32CD32}Odustani");
return 1;
}
/////////////////////////////
CMD:napravigps(playerid, params[])
{
if(PlayerInfo < 6) return SCM(playerid, CRVENA, ": {FFFFFF}Niste ovlasceni da koristite ovu komandu!");
new ime, Float:X, Float:Y, Float:Z, i = NewID(3), gpsfile;
if(sscanf(params, "s", ime)) return SCM(playerid, CRVENA, ": {FFFFFF}/napravigps ");
GetPlayerPos(playerid, X, Y, Z);
GpsInfo = ime;
GpsInfo = X;
GpsInfo = Y;
GpsInfo = Z;
SaveGps(i);
SCM(playerid, -1, "{32CD32}: {FFFFFF}Uspesno ste napravili gps lokaciju!");
format(gpsfile, sizeof(gpsfile), GPSPATH, i);
INI_ParseFile(gpsfile, "LoadGpss", .bExtra = true, .extra = i);
brojgps++;
return 1;
}
/////////////////////////////////////////
    case DIALOG_GPS:
    {
if(response)
{
new id = listitem+1, string;
{
SetPlayerCheckpoint(playerid, GpsInfo, GpsInfo, GpsInfo, 5.0);
}
format(string, sizeof(string), "{32CD32}: {FFFFFF}Uspesno ste postavili gps lokaciju na mapi!");
SCM(playerid, -1, string);
}
    }
///////////////////////////////////
forward LoadGpss(id, name[], value[]);
public LoadGpss(id, name[], value[])
{
INI_String("Ime", GpsInfo, 12😎;
INI_Float("X", GpsInfo);
INI_Float("Y", GpsInfo);
INI_Float("Z", GpsInfo);
    return 1;
}
////////////////////////////////////

Prvo kao prvo: prestani gledat tazgeta i samo kopirat sta on radi. Kao drugo:
 if(tip == 6)
    {
len = MAX_GPSS;
for(new loop = (0), check = (-1), Data_ = "\0"; loop != len; ++ loop)
{
check = (loop+1);
format(Data_, sizeof(Data_), GPSPATH, check);
if(!fexist(Data_))
{
  id = (check);
  break;
}
}
    }

Ovjde ti je tip 6, a u komandi
CMD:napravigps(playerid, params[])
{
if(PlayerInfo < 6) return SCM(playerid, CRVENA, ": {FFFFFF}Niste ovlasceni da koristite ovu komandu!");
new ime, Float:X, Float:Y, Float:Z, i = NewID(3), gpsfile;
. Sta mislis da li to treba tako bit ?
ucazapenje1
Street Runner
pre 1 godinu
Nekog moram da gledam, ne prepisujem sve kao on nesto menjam on gps sistem nije radio ja sam pokusao sam, hvala ti❤️
Dime123
Made Man
pre 1 godinu
Moze na daleko bolji, laksi i lepsi nacin da se napravi ovo.
ucazapenje1
Street Runner
pre 1 godinu
Pa da naravno, ali za prvi put sto sam probao meni je okej svakako Hvala za misljenje i pomoc
ucazapenje1
Street Runner
pre 1 godinu
Hvala bro znaci mi
ucazapenje1
Street Runner
pre 1 godinu
kako da napravim da mi se ugasi checkpoint kad udjem u njega u gps
Lexy
Underboss
pre 1 godinu
ucazapenje1 wrote on March 27, 2024, 1:29 am:
kako da napravim da mi se ugasi checkpoint kad udjem u njega u gps


https://www.open.mp/docs/scripting/functions/SetPlayerCheckpoint
ucazapenje1
Street Runner
pre 1 godinu
razumem kako da ugasim checkpoint, ali kako da napravim proveru da to bude cp od gpsa
Dime123
Made Man
pre 1 godinu
ucazapenje1 wrote on March 27, 2024, 1:22 pm:
razumem kako da ugasim checkpoint, ali kako da napravim proveru da to bude cp od gpsa


new OznacioGPS;

pa ovde tipa

SetPlayerCheckpoint(playerid, GpsInfo, GpsInfo, GpsInfo, 5.0);
OznacioGPS = 1;

i onda tamo gde se gasi stavis
OznacioGPS = 0;

I onda mozes kod tipa /gpsoff da ubacis ovako.

if(OznacioGPS != 1) return SCM(playerid,-1,"Nemas oznacenu lokaciju na mapi");

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava