Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: c0x poslato Maj 11, 2019, 23:15:52 POSLE PODNE

Naslov: Oko systema
Poruka od: c0x poslato Maj 11, 2019, 23:15:52 POSLE PODNE
Problem(error/warning): Pa napravio sam moj jedan unikatan system. I sada hocu da kada igrac hoce da radi posao da mu izbaci da ako nije pored tog mesta da ne moze da pokrene posao.. Ali ne znam kako to da odradim.. Pokusavao sam na razne nacine.. Evo neki moji nacini...
Deo skripte: [pawn]    new idsystem = 0;
    while(idsystem != MAX_SYSTEM)
    {
       if(IsPlayerInRangeOfPoint(playerid, 5.0, SystemInfo[idsystem][tPosX], SystemInfo[idsystem][tPosY], SystemInfo[idsystem][tPosZ]))
       {
         if(SystemInfo[idsystem][tAktivan] == 0)
         {
            INFO(playerid, "Poceli ste sa radom...");
            TogglePlayerControllable(playerid, 0);
            PoceoSaRadom[playerid] = 1;
            PTTimer[playerid] = SetTimerEx("Popravljanje", 10000, false, "i", playerid);
         }
         else return Error(playerid, "Ne mozete popravljati taj!");
      }
      else return Error(playerid, "Ne nalazite se kod systema!");
      idsystem++;
   }[/pawn]
Pokusao sam i ovako:
[pawn]for(new i; i < sizeof(SystemInfo); i++)
{
   if(!IsPlayerInRangeOfPoint(playerid, 5.0, SystemInfo[tPosX], SystemInfo[tPosY], SystemInfo[tPosZ])) return Error(playerid, "Ne nalazite se kod systema!");
   if(SystemInfo[tAktivan] == 1) return Error(playerid, "Ne mozete popravljati aktivne sisteme !");
}[/pawn]
Ne znam vise kako i sta da pokusam.. Uvek pise da nisam kod systema bez obzira da li jesam ili nisam, a sa prvom funkcijom radi i ove sto ne bi trebao jednom i vise nece.. Molim za pomoc.. Hvala unapred.. ;)
Inace sam sakrio pravo ime systema, pisanje i cuvanje je sve OK.. Nema greske ali ovde ne znam kako i sta da uradim..
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ] // //[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Naslov: Odg: Oko systema
Poruka od: Vasic poslato Maj 11, 2019, 23:22:13 POSLE PODNE
Koje su to koordinate od [pawn]SystemInfo[idsystem][tPosX], SystemInfo[idsystem][tPosY], SystemInfo[idsystem][tPosZ][/pawn] Mislim kako su definisane (koje su koordinate postavljene), i da li su uopste definisane?
Naslov: Odg: Oko systema
Poruka od: c0x poslato Maj 11, 2019, 23:30:11 POSLE PODNE
Citat: Vasic poslato Maj 11, 2019, 23:22:13 POSLE PODNE
Koje su to koordinate od [pawn]SystemInfo[idsystem][tPosX], SystemInfo[idsystem][tPosY], SystemInfo[idsystem][tPosZ][/pawn] Mislim kako su definisane (koje su koordinate postavljene), i da li su uopste definisane?
Naravno da su definisane..
#define SYSTEM_FILE     "System/%d.ini"
#define MAX_SYSTEM      25
enum System {
tAktivan,
tID,
Float:tPosX,
Float:tPosY,
Float:tPosZ,
tRadius,
tIP[64]
};
new SystemInfo[MAX_SYSTEM][System];

Definisano je sve ok, i ucitavanje ovoga i cuvanje i sve je ok... I kada kreiram nema greske znaci..
Samo ne znam kako da odredim da li je igrac tu i to? Razumes? :)
Naslov: Odg: Oko systema
Poruka od: Vasic poslato Maj 12, 2019, 00:06:07 PRE PODNE
Ne pitam te za enumator i varijable, vec jel imas definisane koordinate pod
   SystemInfo[idsystem][tPosX], SystemInfo[idsystem][tPosY], SystemInfo[idsystem][tPosZ] daj mi komandu za kreiranje tog sistema/gde stavljas te koordinate
Naslov: Odg: Oko systema
Poruka od: c0x poslato Maj 12, 2019, 00:29:28 PRE PODNE
Citat: Vasic poslato Maj 12, 2019, 00:06:07 PRE PODNE
Ne pitam te za enumator i varijable, vec jel imas definisane koordinate pod
   SystemInfo[idsystem][tPosX], SystemInfo[idsystem][tPosY], SystemInfo[idsystem][tPosZ] daj mi komandu za kreiranje tog sistema/gde stavljas te koordinate
[pawn]GetPlayerPos(playerid, X, Y, Z);
   SystemInfo[systemid][tID] = systemid; SystemInfo[systemid][tAktivan] = 1;
   SystemInfo[systemid][tPosX] = X; SystemInfo[systemid][tPosY] = Y; SystemInfo[toranjid][tPosZ] = Z;
   SystemInfo[systemid][tRadius] = 200;[/pawn]
Tu stavljam kordinate.. Jel ti vidis brate da ti ja kazem da je sve OK sa time? Samo ne znam kako da stavim ovo sto sam napisao... Znaci tu nema greske..
Naslov: Odg: Oko systema
Poruka od: daddyDOT poslato Maj 12, 2019, 09:37:41 PRE PODNE
Hmm, probaj zamijeniti 5.0 sa 7.0 i pokušaj ponovo.
Naslov: Odg: Oko systema
Poruka od: Vasic poslato Maj 12, 2019, 09:49:33 PRE PODNE
Aham, a jesi kreirao uopste taj sistem? Mozda ti zato izbacuje. (Mislim jesi kreirao preko te komande u igri)
Naslov: Odg: Oko systema
Poruka od: daddyDOT poslato Maj 12, 2019, 10:06:02 PRE PODNE
Citat: Vasic poslato Maj 12, 2019, 09:49:33 PRE PODNE
Aham, a jesi kreirao uopste taj sistem? Mozda ti zato izbacuje. (Mislim jesi kreirao preko te komande u igri)
Da moguće da je i to, probaj završiti cijeli sistem ako nisi i onda pokušaj.
Naslov: Odg: Oko systema
Poruka od: c0x poslato Maj 12, 2019, 10:26:47 PRE PODNE
Citat: RevOLvɘЯ.pwn poslato Maj 12, 2019, 10:06:02 PRE PODNE
Da moguće da je i to, probaj završiti cijeli sistem ako nisi i onda pokušaj.
Ceo sistem je zavrsen, i sve je OK. Upise sve lepo u .ini fajlu.  I kad hocu da se port do systema sve radi.
Samo ovo ne znam kako da namestim. Za port sam koristio ID i proverava da li taj id postoji u bazi. I porta ga na kordinate i to radi super. Samo ovo ne znam kako.
Naslov: Odg: Oko systema
Poruka od: Shomyy poslato Maj 12, 2019, 10:42:43 PRE PODNE
[pawn]
    new idsystem = 0;
    while(idsystem != MAX_SYSTEM)
    {
        printf("ID: %d Coordinate: %f %f %f", idsystem, SystemInfo[idsystem][tPosX], SystemInfo[idsystem][tPosY], SystemInfo[idsystem][tPosZ]);
       if(IsPlayerInRangeOfPoint(playerid, 5.0, SystemInfo[idsystem][tPosX], SystemInfo[idsystem][tPosY], SystemInfo[idsystem][tPosZ]))
       {
         if(SystemInfo[idsystem][tAktivan] == 0)
         {
            INFO(playerid, "Poceli ste sa radom...");
            TogglePlayerControllable(playerid, 0);
            PoceoSaRadom[playerid] = 1;
            PTTimer[playerid] = SetTimerEx("Popravljanje", 10000, false, "i", playerid);
         }
         else return Error(playerid, "Ne mozete popravljati taj!");
      }
      else return Error(playerid, "Ne nalazite se kod systema!");
      idsystem++;
   }[/pawn]Reci sta izbaci u log
Naslov: Odg: Oko systema
Poruka od: c0x poslato Maj 12, 2019, 12:24:13 POSLE PODNE
Citat: • Shomy • poslato Maj 12, 2019, 10:42:43 PRE PODNE
[pawn]
    new idsystem = 0;
    while(idsystem != MAX_SYSTEM)
    {
        printf("ID: %d Coordinate: %f %f %f", idsystem, SystemInfo[idsystem][tPosX], SystemInfo[idsystem][tPosY], SystemInfo[idsystem][tPosZ]);
       if(IsPlayerInRangeOfPoint(playerid, 5.0, SystemInfo[idsystem][tPosX], SystemInfo[idsystem][tPosY], SystemInfo[idsystem][tPosZ]))
       {
         if(SystemInfo[idsystem][tAktivan] == 0)
         {
            INFO(playerid, "Poceli ste sa radom...");
            TogglePlayerControllable(playerid, 0);
            PoceoSaRadom[playerid] = 1;
            PTTimer[playerid] = SetTimerEx("Popravljanje", 10000, false, "i", playerid);
         }
         else return Error(playerid, "Ne mozete popravljati taj!");
      }
      else return Error(playerid, "Ne nalazite se kod systema!");
      idsystem++;
   }[/pawn]Reci sta izbaci u log
I kad sam kod systema kad ukucam CMD i kad nisam kod systema izbacuje ovo :
[12:23:23] ID: 0 Coordinate: 0.000000 0.000000 0.000000
Naslov: Odg: Oko systema
Poruka od: Vasic poslato Maj 12, 2019, 14:13:46 POSLE PODNE
Kao sto sam ti i rekao, koordinate nisu ispravne '0.000000 0.000000 0.000000' su ti koordinate sa farme (kad uopste nema koordinata definisanih).
Nisi kreirao lokaciju pomocu komande kojom pravis taj sistem. ;)
Naslov: Odg: Oko systema
Poruka od: Shomyy poslato Maj 12, 2019, 14:17:44 POSLE PODNE
Citat: Vasic poslato Maj 12, 2019, 14:13:46 POSLE PODNE
Kao sto sam ti i rekao, koordinate nisu ispravne '0.000000 0.000000 0.000000' su ti koordinate sa farme (kad uopste nema koordinata definisanih).
Nisi kreirao lokaciju pomocu komande kojom pravis taj sistem. ;)
Mislim da koordinate nisu problem nego ID, jel imas negde zapisan u tom fajlu gde cuvas ID 0?
Naslov: Odg: Oko systema
Poruka od: c0x poslato Maj 12, 2019, 16:36:31 POSLE PODNE
Citat: • Shomy • poslato Maj 12, 2019, 14:17:44 POSLE PODNE
Mislim da koordinate nisu problem nego ID, jel imas negde zapisan u tom fajlu gde cuvas ID 0?
Reseno je brate.. Hvala ti u svakom slucaju..
Bug je bio do toga kada sam kreirao taj system InGame ja sam pocinjao od ID 1 a ne od 0 :D
I sada sam napravio i ID 0 i sve je OK :)
Naslov: Odg: Oko systema
Poruka od: Shomyy poslato Maj 12, 2019, 16:40:53 POSLE PODNE
Citat: c0x poslato Maj 12, 2019, 16:36:31 POSLE PODNE
Reseno je brate.. Hvala ti u svakom slucaju..
Bug je bio do toga kada sam kreirao taj system InGame ja sam pocinjao od ID 1 a ne od 0 :D
I sada sam napravio i ID 0 i sve je OK :)
To sam i pokusao da objasnim hahhaha :D Ali moje sposobnosti objasnjavanja... :D
Naslov: Odg: Oko systema
Poruka od: daddyDOT poslato Maj 12, 2019, 16:56:41 POSLE PODNE
Citat: • Shomy • poslato Maj 12, 2019, 16:40:53 POSLE PODNE
To sam i pokusao da objasnim hahhaha :D Ali moje sposobnosti objasnjavanja... :D
Lock temu hahahahahah
Naslov: Odg: Oko systema
Poruka od: c0x poslato Maj 12, 2019, 18:25:36 POSLE PODNE
Necu jos uvek da lockam temu. :D
Sad ima novi bug, radi samo na systemu koji je ID 0..
Nece na ove ostale..
Naslov: Odg: Oko systema
Poruka od: daddyDOT poslato Maj 12, 2019, 18:31:38 POSLE PODNE
Citat: c0x poslato Maj 12, 2019, 18:25:36 POSLE PODNE
Necu jos uvek da lockam temu. :D
Sad ima novi bug, radi samo na systemu koji je ID 0..
Nece na ove ostale..
Pa čekaj, da li ovaj kod predstavlja taj posao tjst sistem 0?
Naslov: Odg: Oko systema
Poruka od: c0x poslato Maj 12, 2019, 18:41:11 POSLE PODNE
Citat: RevOLvɘЯ.pwn poslato Maj 12, 2019, 18:31:38 POSLE PODNE
Pa čekaj, da li ovaj kod predstavlja taj posao tjst sistem 0?
To su vise mesta gde se moze raditi to.. Ja sam napravio da svakki system ima svoj id zbog porta i tako to... I zbog kreiranja... I sad ovo radi samo na systemu id 0 nece na 1, 2, 3 i tako dalje...
Naslov: Odg: Oko systema
Poruka od: c0x poslato Maj 14, 2019, 08:39:34 PRE PODNE
Neko da pomogne?
@Bašovski