Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ucazapenje1 poslato Mart 26, 2024, 01:39:19 PRE PODNE

Naslov: Gps sistem
Poruka od: ucazapenje1 poslato Mart 26, 2024, 01:39:19 PRE PODNE
Napravio sam dinamicni gps sistem nema errora, udjem u server napravim gps /napravigps spawn.npr kada ukucam spawn ne pise spawn nego [1] - 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 ?
Naslov: Odg: Gps sistem
Poruka od: Goku ^ poslato Mart 26, 2024, 02:00:33 PRE PODNE
Posaljes kod pa pogledamo?
Naslov: Odg: Gps sistem
Poruka od: ucazapenje1 poslato Mart 26, 2024, 10:49:35 PRE PODNE
Sta sve treba da posaljem ili da saljem ceo sistem?
Naslov: Odg: Gps sistem
Poruka od: Goku ^ poslato Mart 26, 2024, 11:11:49 PRE PODNE
Citat: ucazapenje1 poslato Mart 26, 2024, 10:49:35 PRE PODNE
Sta sve treba da posaljem ili da saljem ceo sistem?
Posalji ceo sistem
Naslov: Odg: Gps sistem
Poruka od: ucazapenje1 poslato Mart 26, 2024, 11:16:50 PRE PODNE
enum gpsInfo
{
   gpsIme[128],
   Float:gpsX,
   Float:gpsY,
   Float:gpsZ
};
new GpsInfo[MAX_GPSS][gpsInfo];
new brojgps;
////////////////////////////
    if(tip == 6)
    {
      len = MAX_GPSS;
      for(new loop = (0), check = (-1), Data_[64] = "\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[64];
   format(gps_file, sizeof(gps_file), GPSPATH, id);
   new INI:File = INI_Open(gps_file);
   INI_WriteString(File, "Ime", GpsInfo[id][gpsIme]);
   INI_WriteFloat(File, "X", GpsInfo[id][gpsX]);
   INI_WriteFloat(File, "Y", GpsInfo[id][gpsY]);
   INI_WriteFloat(File, "Z", GpsInfo[id][gpsZ]);
   INI_Close(File);
}
/////////////////////////////
   for(new i = 0; i < MAX_GPSS; i++)
   {
      new gpsfile[64];
      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, "[SERVER]: {FFFFFF}Lokacije za gps jos nisu napravljene!");
   new string[2048], text[128];
   for(new i = 1; i <= brojgps; i++)
   {
      format(text, sizeof(text), "{32CD32}[{FFFFFF}%d{32CD32}] - {FFFFFF}%s\n", i, GpsInfo[gpsIme]);
      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[playerid][pAdmin] < 6) return SCM(playerid, CRVENA, "[SERVER]: {FFFFFF}Niste ovlasceni da koristite ovu komandu!");
   new ime[128], Float:X, Float:Y, Float:Z, i = NewID(3), gpsfile[64];
   if(sscanf(params, "s[128]", ime)) return SCM(playerid, CRVENA, "[SERVER]: {FFFFFF}/napravigps [ime]");
   GetPlayerPos(playerid, X, Y, Z);
   GpsInfo[gpsIme] = ime;
   GpsInfo[gpsX] = X;
   GpsInfo[gpsY] = Y;
   GpsInfo[gpsZ] = Z;
   SaveGps(i);
   SCM(playerid, -1, "{32CD32}[SERVER]: {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[128];
             {
                SetPlayerCheckpoint(playerid, GpsInfo[id][gpsX], GpsInfo[id][gpsY], GpsInfo[id][gpsZ], 5.0);
             }
             format(string, sizeof(string), "{32CD32}[SERVER]: {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[id][gpsIme], 128);
   INI_Float("X", GpsInfo[id][gpsX]);
   INI_Float("Y", GpsInfo[id][gpsY]);
   INI_Float("Z", GpsInfo[id][gpsZ]);
    return 1;
}
////////////////////////////////////
Naslov: Odg: Gps sistem
Poruka od: toncikica poslato Mart 26, 2024, 12:51:04 POSLE PODNE
Citat: ucazapenje1 poslato Mart 26, 2024, 11:16:50 PRE PODNE
enum gpsInfo
{
   gpsIme[128],
   Float:gpsX,
   Float:gpsY,
   Float:gpsZ
};
new GpsInfo[MAX_GPSS][gpsInfo];
new brojgps;
////////////////////////////
    if(tip == 6)
    {
      len = MAX_GPSS;
      for(new loop = (0), check = (-1), Data_[64] = "\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[64];
   format(gps_file, sizeof(gps_file), GPSPATH, id);
   new INI:File = INI_Open(gps_file);
   INI_WriteString(File, "Ime", GpsInfo[id][gpsIme]);
   INI_WriteFloat(File, "X", GpsInfo[id][gpsX]);
   INI_WriteFloat(File, "Y", GpsInfo[id][gpsY]);
   INI_WriteFloat(File, "Z", GpsInfo[id][gpsZ]);
   INI_Close(File);
}
/////////////////////////////
   for(new i = 0; i < MAX_GPSS; i++)
   {
      new gpsfile[64];
      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, "[SERVER]: {FFFFFF}Lokacije za gps jos nisu napravljene!");
   new string[2048], text[128];
   for(new i = 1; i <= brojgps; i++)
   {
      format(text, sizeof(text), "{32CD32}[{FFFFFF}%d{32CD32}] - {FFFFFF}%s\n", i, GpsInfo[gpsIme]);
      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[playerid][pAdmin] < 6) return SCM(playerid, CRVENA, "[SERVER]: {FFFFFF}Niste ovlasceni da koristite ovu komandu!");
   new ime[128], Float:X, Float:Y, Float:Z, i = NewID(3), gpsfile[64];
   if(sscanf(params, "s[128]", ime)) return SCM(playerid, CRVENA, "[SERVER]: {FFFFFF}/napravigps [ime]");
   GetPlayerPos(playerid, X, Y, Z);
   GpsInfo[gpsIme] = ime;
   GpsInfo[gpsX] = X;
   GpsInfo[gpsY] = Y;
   GpsInfo[gpsZ] = Z;
   SaveGps(i);
   SCM(playerid, -1, "{32CD32}[SERVER]: {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[128];
             {
                SetPlayerCheckpoint(playerid, GpsInfo[id][gpsX], GpsInfo[id][gpsY], GpsInfo[id][gpsZ], 5.0);
             }
             format(string, sizeof(string), "{32CD32}[SERVER]: {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[id][gpsIme], 128);
   INI_Float("X", GpsInfo[id][gpsX]);
   INI_Float("Y", GpsInfo[id][gpsY]);
   INI_Float("Z", GpsInfo[id][gpsZ]);
    return 1;
}
////////////////////////////////////
Prvo kao prvo: prestani gledat tazgeta i samo kopirat sta on radi. Kao drugo:[pawn] if(tip == 6)
    {
      len = MAX_GPSS;
      for(new loop = (0), check = (-1), Data_[64] = "\0"; loop != len; ++ loop)
      {
         check = (loop+1);
         format(Data_, sizeof(Data_), GPSPATH, check);
         if(!fexist(Data_))
         {
            id = (check);
            break;
         }
      }
    }[/pawn]
Ovjde ti je tip 6, a u komandi [pawn]CMD:napravigps(playerid, params[])
{
   if(PlayerInfo[playerid][pAdmin] < 6) return SCM(playerid, CRVENA, "[SERVER]: {FFFFFF}Niste ovlasceni da koristite ovu komandu!");
   new ime[128], Float:X, Float:Y, Float:Z, i = NewID(3), gpsfile[64];[/pawn]. Sta mislis da li to treba tako bit ?
Naslov: Odg: Gps sistem
Poruka od: ucazapenje1 poslato Mart 26, 2024, 12:56:48 POSLE PODNE
Nekog moram da gledam, ne prepisujem sve kao on nesto menjam on gps sistem nije radio ja sam pokusao sam, hvala ti❤️
Naslov: Odg: Gps sistem
Poruka od: Goku ^ poslato Mart 26, 2024, 13:00:35 POSLE PODNE
Moze na daleko bolji, laksi i lepsi nacin da se napravi ovo.
Naslov: Odg: Gps sistem
Poruka od: ucazapenje1 poslato Mart 26, 2024, 14:11:51 POSLE PODNE
Pa da naravno, ali za prvi put sto sam probao meni je okej svakako Hvala za misljenje i pomoc
Naslov: Odg: Gps sistem
Poruka od: emmett wajtt poslato Mart 26, 2024, 22:05:40 POSLE PODNE
https://github.com/emmett-whitez/samp-mystique-roleplay/blob/main/gamemodes/core/systems/gps/gps_init.pwn
Naslov: Odg: Gps sistem
Poruka od: ucazapenje1 poslato Mart 27, 2024, 02:21:21 PRE PODNE
Hvala bro znaci mi
Naslov: Odg: Gps sistem
Poruka od: ucazapenje1 poslato Mart 27, 2024, 02:29:08 PRE PODNE
kako da napravim da mi se ugasi checkpoint kad udjem u njega u gps
Naslov: Odg: Gps sistem
Poruka od: yeet poslato Mart 27, 2024, 07:09:48 PRE PODNE
Citat: ucazapenje1 poslato Mart 27, 2024, 02:29:08 PRE PODNE
kako da napravim da mi se ugasi checkpoint kad udjem u njega u gps

https://www.open.mp/docs/scripting/functions/SetPlayerCheckpoint
Naslov: Odg: Gps sistem
Poruka od: ucazapenje1 poslato Mart 27, 2024, 14:22:27 POSLE PODNE
razumem kako da ugasim checkpoint, ali kako da napravim proveru da to bude cp od gpsa
Naslov: Odg: Gps sistem
Poruka od: Goku ^ poslato Mart 27, 2024, 14:40:43 POSLE PODNE
Citat: ucazapenje1 poslato Mart 27, 2024, 14:22:27 POSLE PODNE
razumem kako da ugasim checkpoint, ali kako da napravim proveru da to bude cp od gpsa

new OznacioGPS[MAX_PLAYERS];

pa ovde tipa

SetPlayerCheckpoint(playerid, GpsInfo[id][gpsX], GpsInfo[id][gpsY], GpsInfo[id][gpsZ], 5.0);
OznacioGPS[playerid] = 1;

i onda tamo gde se gasi stavis
OznacioGPS[playerid] = 0;

I onda mozes kod tipa /gpsoff da ubacis ovako.

if(OznacioGPS[playerid] != 1) return SCM(playerid,-1,"Nemas oznacenu lokaciju na mapi");
Naslov: Odg: Gps sistem
Poruka od: ucazapenje1 poslato Mart 27, 2024, 14:43:53 POSLE PODNE
E to brate, hvala na pomoci❤️
Naslov: Odg: Gps sistem
Poruka od: ucazapenje1 poslato Mart 27, 2024, 20:16:56 POSLE PODNE
radi sve kao podmazano :D