Pitanje/savjet: koristim sscanf, pokusavam da izvadim podatke iz kreiranog objekta, ne razumem u literaturu kako se koristi "escape"
Opširnije: evo ovako, primer
[pawn]CreateDynamicObject(10377, 1480.478881, -1792.534667, 30.182912, 0.000000, 0.000000, 90.000000, object_world, object_int, -1, 300.00, 300.00);[/pawn]
podatke izvlacim ovako "p<,>iffffff{iii}ff" i to funkcionise kada je kod napisan ovako (dole) ali sa onim gore ne, jer su reci u pitanju
[pawn]CreateDynamicObject(10377, 1480.478881, -1792.534667, 30.182912, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);[/pawn]
Dodatno: E sad mene ne zanima {iii} pa neko malo iskusniji neka objasni kako se koristi escape da izbegnem te tri vrednosti, nesto ovako "p<,>iffffff\\ff"
new object_world = -1, object_int = -1;
Citat: Tebrix poslato Novembar 26, 2023, 19:20:49 POSLE PODNE
new object_world = -1, object_int = -1;
:D :D :D da sam tako mislio ne bih otvarao temu
Sta tacno hoces da uradis?
"p<,>iffffff\\ff"
brate
Citat: PazzOnee poslato Novembar 26, 2023, 21:17:46 POSLE PODNE
Ljubim sina mog
Glupane, zar ti ovo nije dovoljno da skontas sta zeli ?
Citat: rizla poslato Novembar 26, 2023, 19:03:03 POSLE PODNE
Pitanje/savjet: koristim sscanf, pokusavam da izvadim podatke iz kreiranog objekta, ne razumem u literaturu kako se koristi "escape"
Opširnije: evo ovako, primer
[pawn]CreateDynamicObject(10377, 1480.478881, -1792.534667, 30.182912, 0.000000, 0.000000, 90.000000, object_world, object_int, -1, 300.00, 300.00);[/pawn]
podatke izvlacim ovako "p<,>iffffff{iii}ff" i to funkcionise kada je kod napisan ovako (dole) ali sa onim gore ne, jer su reci u pitanju
[pawn]CreateDynamicObject(10377, 1480.478881, -1792.534667, 30.182912, 0.000000, 0.000000, 90.000000, -1, -1, -1, 300.00, 300.00);[/pawn]
Dodatno: E sad mene ne zanima {iii} pa neko malo iskusniji neka objasni kako se koristi escape da izbegnem te tri vrednosti, nesto ovako "p<,>iffffff\\ff"
Citat: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 26, 2023, 23:20:11 POSLE PODNE
Glupane, zar ti ovo nije dovoljno da skontas sta zeli ?
Ne, kazi mi ti sta tacno hoce da postigne time
Citat: PazzOnee poslato Novembar 27, 2023, 10:47:11 PRE PODNE
Ne, kazi mi ti sta tacno hoce da postigne time
Nije ni bitno sta tacno zeli, bitno je da zeli da "preskoci" te vrijednosti
Citat: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 27, 2023, 10:54:03 PRE PODNE
Nije ni bitno sta tacno zeli, bitno je da zeli da "preskoci" te vrijednosti
Ali kad mi kaze sta zeli ja cu da mu kazem kako ce to da uradi kako treba, verovatno to sto on hoce nije nacin da uradi ovako, da li to moj sin kapira
Citat: PazzOnee poslato Novembar 27, 2023, 11:24:55 PRE PODNE
Ali kad mi kaze sta zeli ja cu da mu kazem kako ce to da uradi kako treba, verovatno to sto on hoce nije nacin da uradi ovako, da li to moj sin kapira
A sta ako on samo zeli da shvati kako se to koristi i mozda mu to sada ne treba, ali ce mozda nekad trebati ?
Citat: PazzOnee poslato Novembar 27, 2023, 11:24:55 PRE PODNE
Ali kad mi kaze sta zeli ja cu da mu kazem kako ce to da uradi kako treba, verovatno to sto on hoce nije nacin da uradi ovako, da li to moj sin kapira
To sto ja hocu je jedini nacin tako, a i uostalom zasto znanje u vezi sscanf ograniciti na
sscanf(params, "ui", id, money) kad ima X mogucnosti sta sve sscanf moze da uradi
Citat: rizla poslato Novembar 27, 2023, 12:08:25 POSLE PODNE
To sto ja hocu je jedini nacin tako, a i uostalom zasto znanje u vezi sscanf ograniciti na sscanf(params, "ui", id, money) kad ima X mogucnosti sta sve sscanf moze da uradi
To nije jedini nacin, mozes preko streamera
Citat: rizla poslato Novembar 27, 2023, 12:08:25 POSLE PODNE
To sto ja hocu je jedini nacin tako, a i uostalom zasto znanje u vezi sscanf ograniciti na sscanf(params, "ui", id, money) kad ima X mogucnosti sta sve sscanf moze da uradi
Posto se pravis pametan i tvrdis nesto sto ne znas ostani needukovan, poz
Citat: PazzOnee poslato Novembar 27, 2023, 12:16:20 POSLE PODNE
Posto se pravis pametan i tvrdis nesto sto ne znas ostani needukovan, poz
:D :D :D :D :D :D :D
Citat: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 27, 2023, 12:15:01 POSLE PODNE
To nije jedini nacin, mozes preko streamera
znam da moze strimer da izvlaci podatke, ali u ovom slucaju nije od pomoci
Vidim ja da su ovde sve sami genialci odgovorili...
Iskreno nikad nisam koristio literal string match u sscanf-u za samp (drugi jezici su druga stvar). Ali pokusacu da dam par saveta iz onoga sto znam i sto sam sad procitao. Escape karakter je uvek \, ali koliko vidim u SSCANF za samp, literal string se stavlja izmedju ' '
Isto tako, sve zavisi sta pokusavas, i koliko ti trebaju ti parametri (mozda te zanimaju samo pozicije...). Ukoliko te zanimaju samo pozicije, imas mogucnost da nadjes samo coordinate, i onda sve sto ostane da strpas u opcionalni string (koji opet moze biti quiet to jest da se ne cuva nigde).
Opcionalni paranetri su velikih slovima, a quiet se nalaze unuta { }
Isto tako, mozda najblize sto ti mogu preloziti onome sto si tacno pitao je, da prvo pokusas da match bez stringova, pa onda ako to fail, da match sa stringovima.
Mislim sve tacno zavisi od onoga sta ti treba, i kako zelis da funkcionise.
Evo ti link do repositoria, imas tu sve dokumentovano https://github.com/Y-Less/sscanf/#quiet (https://github.com/Y-Less/sscanf/#quiet) ako ti ne ide, daj tacan primer sta pokusavas pa cemo verovatno nesto skrpiti
Citat: LLotr.Pawno poslato Novembar 27, 2023, 18:52:07 POSLE PODNE
Vidim ja da su ovde sve sami genialci odgovorili...
Iskreno nikad nisam koristio literal string match u sscanf-u za samp (drugi jezici su druga stvar). Ali pokusacu da dam par saveta iz onoga sto znam i sto sam sad procitao. Escape karakter je uvek \, ali koliko vidim u SSCANF za samp, literal string se stavlja izmedju ' '
Isto tako, sve zavisi sta pokusavas, i koliko ti trebaju ti parametri (mozda te zanimaju samo pozicije...). Ukoliko te zanimaju samo pozicije, imas mogucnost da nadjes samo coordinate, i onda sve sto ostane da strpas u opcionalni string (koji opet moze biti quiet to jest da se ne cuva nigde).
Opcionalni paranetri su velikih slovima, a quiet se nalaze unuta { }
Isto tako, mozda najblize sto ti mogu preloziti onome sto si tacno pitao je, da prvo pokusas da match bez stringova, pa onda ako to fail, da match sa stringovima.
Mislim sve tacno zavisi od onoga sta ti treba, i kako zelis da funkcionise.
Evo ti link do repositoria, imas tu sve dokumentovano https://github.com/Y-Less/sscanf/#quiet (https://github.com/Y-Less/sscanf/#quiet) ako ti ne ide, daj tacan primer sta pokusavas pa cemo verovatno nesto skrpiti
Pogresan nacin, dobio je odgovor preko cega treba
Citat: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 27, 2023, 19:05:32 POSLE PODNE
Pogresan nacin, dobio je odgovor preko cega treba
Kakav bre pogresan nacin, kakav bre odgovor? Ajde molim te ne budali zajedno sa ostalima. Ima string, treba da izvuce podatke na osnovu vec poznatog formata. StringSCANFormat, samo ime kaze za sta sluzi, i to i jeste to. Ne znam kakav crni streamer spominjete, covek zeli da parsuje argumente prosledjene funkciji, u namenu necu da ulazim, ali prva je recimo dinamicno loadovanje mapa iz scriptfiles (ili odakle god ako koristi file manager plugin).
PS:
@rizla Ne obraci paznju na ime, to sam nesto iz dosade kad sam otvarao posebnu temu :D
E sad sam procitao malo bolje, vidim primer da si dao i da te ne zanima ovo troje (world, interier i valjda playerid za koga je). Posto te ne zanima, brojeve uvek mozes da ucitas kao string pa pokusaj tako.
p<,>iffffff{s[16]s[16]s[16]}ff"
Isto tako mozes staviti umesto ff F(300)F(300), to je opcionalno za zadnja 2 argumenta, to jest ako ih nema onda da po defaultu bude 300 za draw i stream distance (jbg ne znam na kom formatu radis, ne znam kakve sve mogucnosti formata mogu da ti budu)
Citat: LLotr.Pawno poslato Novembar 27, 2023, 19:44:13 POSLE PODNE
E sad sam procitao malo bolje, vidim primer da si dao i da te ne zanima ovo troje (world, interier i valjda playerid za koga je). Posto te ne zanima, brojeve uvek mozes da ucitas kao string pa pokusaj tako.
p<,>iffffff{s[16]s[16]s[16]}ff"
Isto tako mozes staviti umesto ff F(300)F(300), to je opcionalno za zadnja 2 argumenta, to jest ako ih nema onda da po defaultu bude 300 za draw i stream distance (jbg ne znam na kom formatu radis, ne znam kakve sve mogucnosti formata mogu da ti budu)
To je to care, taj odgovor mi je trebao, i tacno je da ucitavam mape, pa sam naisao na mapu gde je ispisano kao onaj primer prvi i ne mogu da je ucitam jer stoji worldid, interierid, -1... Pa sam hteo da namestim nesto "univerzalno" gde ce samo pokupiti podatke koji su bitni xyz, rxryrz, sd i dd
[pawn]"p<,>iffffffff%*i%*i"[/pawn]
Ova opcija je efikasnija ako nije potrebno zadržavanje vrijednosti object_world i object_int za kasnije korištenje
[pawn]p<,>iffffff{s[16]s[16]s[16]}ff"[/pawn]
Ovaj pristup čini kod eksplicitnijim u odnosu na prvi, jer pridružuje vrijednosti object_world i object_int odgovarajućim string promenljivim (s[16]). To ti omogućava da kasnije radiš s tim vrijednostima ako su ti potrebne.
Citat: sexeniiosi poslato Novembar 27, 2023, 20:27:21 POSLE PODNE
[pawn]"p<,>iffffffff%*i%*i"[/pawn]
Ova opcija je efikasnija ako nije potrebno zadržavanje vrijednosti object_world i object_int za kasnije korištenje
[pawn]p<,>iffffff{s[16]s[16]s[16]}ff"[/pawn]
Ovaj pristup čini kod eksplicitnijim u odnosu na prvi, jer pridružuje vrijednosti object_world i object_int odgovarajućim string promenljivim (s[16]). To ti omogućava da kasnije radiš s tim vrijednostima ako su ti potrebne.
Nisam previse upoznat sa SSCANF-om u sampu, ali koliko sam vidio % se ne koristi, tako da sumnjam da ce funkcionisati, pogotovo sto ima i * wildcard (Mozda nisam u pravu, kako sam rekao ne znam previse sscanf za samp, a i nazalost mesa mi se i iz drugih jezika).
Inace stavio sam stringove u { } to jest u Quiet, znaci samo sluze da kazu da su tu neki podaci radi formata, ali nece se cuvati nigde (nema pridruzivanja kako kazes nego se jednostavno ignorisu).