Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: rizla poslato Novembar 26, 2023, 19:03:03 POSLE PODNE

Naslov: Pitanje za ozbiljnije
Poruka od: 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"
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: Tebrix poslato Novembar 26, 2023, 19:20:49 POSLE PODNE
new object_world = -1, object_int = -1;
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: rizla poslato Novembar 26, 2023, 19:41:51 POSLE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: PazzOnee poslato Novembar 26, 2023, 20:05:36 POSLE PODNE
Sta tacno hoces da uradis?
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 26, 2023, 20:30:44 POSLE PODNE
Citat: PazzOnee poslato Novembar 26, 2023, 20:05:36 POSLE PODNE
Sta tacno hoces da uradis?
HAHAHAHAHAHAHAHAHAHAHHA
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: PazzOnee poslato Novembar 26, 2023, 21:17:46 POSLE PODNE
Citat: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 26, 2023, 20:30:44 POSLE PODNE
HAHAHAHAHAHAHAHAHAHAHHA
Ljubim sina mog
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: sparrowww.aMx poslato Novembar 26, 2023, 23:18:49 POSLE PODNE
"p<,>iffffff\\ff"

brate
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 26, 2023, 23:20:11 POSLE PODNE
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"
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: PazzOnee poslato Novembar 27, 2023, 10:47:11 PRE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 27, 2023, 10:54:03 PRE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: PazzOnee poslato Novembar 27, 2023, 11:24:55 PRE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 27, 2023, 11:32:01 PRE PODNE
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 ?
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: rizla poslato Novembar 27, 2023, 12:08:25 POSLE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 27, 2023, 12:15:01 POSLE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: PazzOnee poslato Novembar 27, 2023, 12:16:20 POSLE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: rizla poslato Novembar 27, 2023, 12:22:27 POSLE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: rizla poslato Novembar 27, 2023, 12:35:23 POSLE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: Bit Frosty 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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: ʟᴀᴋᴇʀɪɴɢ poslato Novembar 27, 2023, 19:05:32 POSLE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: Bit Frosty poslato Novembar 27, 2023, 19:33:53 POSLE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: Bit Frosty 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)
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: rizla poslato Novembar 27, 2023, 20:01:42 POSLE PODNE
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
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: №Grella 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.
Naslov: Odg: Pitanje za ozbiljnije
Poruka od: Bit Frosty poslato Novembar 27, 2023, 20:44:10 POSLE PODNE
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).