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): //
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?
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? :)
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
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..
Hmm, probaj zamijeniti 5.0 sa 7.0 i pokušaj ponovo.
Aham, a jesi kreirao uopste taj sistem? Mozda ti zato izbacuje. (Mislim jesi kreirao preko te komande u igri)
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.
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.
[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
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
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. ;)
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?
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 :)
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
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
Necu jos uvek da lockam temu. :D
Sad ima novi bug, radi samo na systemu koji je ID 0..
Nece na ove ostale..
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?
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...
Neko da pomogne?
@Bašovski