Kako najefkasnije odrediti string size

Započeo TarikBrt
24. Mar. 2020.
2,639
pregleda
16
postova
TarikBrt
4
Shot Caller
24. Mar. 2020.
Jedan kratki tutorial o korištenju memorije i određivanju dužine stringa. Često se desi da najčešće početnici lupaju random brojeve za dužinu stringa neznajući da 1 ćelija uzima 4 bajta što i nije toliki problem ukoliko imate neku manju skriptu. Međutim ukoliko jednog dana postignete određeni uspijeh i ne zatvorite svoj server za 7 dana morat ćete da zadovoljite potrebe igrača i blagovremeno odradite određene update. Naravno vremenom će skripta biti sve veća i ruka će vas sve više bolit dok skrolate kroz skriptu , a memorije će biti sve manje. Zato pogledajte kako jednostavno i efikasno koristiti dragocijenu memoriju.

static const str[] = "UPDATE `gps` SET `gIme` = '%e' WHERE `gID` = %d";
new query[sizeof(str) + 12 + 3];
mysql_format(Database, query, sizeof(query), str , GI, GI);
Sada idemo liniju po liniju. 🙂
static const str[] = "UPDATE `gps` SET `gIme` = '%s' WHERE `gID` = %d"; 
Ukoliko ste početnik vjerovatno vam je odma za oko zapalo ovo static i const međutim to nije teško za shvatiti.
Static - označava da je varijabla dostupna jedino unutar ovog fajla i da je praktički nemoguće iskoristiti unutar drugog fajla (npr. include)
Const - ikao većina vas zna ali eto opet da pojasnim. Const označava da je varijabla konstanta i da se neće mijenjati nikako ( najčešće slučajno )
U ovom stringu nismo odredili tačnu veličinu što znači da će dužina biti tačno onoliko koliko karaktera ima + \0
new query[sizeof(str) + 12 + 2];

Ovdje deklarišemo novu varijablu po imenu query i njen tip je string. I dajemo joj duzinu od velicine prije definisanog "str" stringa + 12 što predstavlja maximalan broj karaktera varijable gIme + 3 što predstavlja dužinu gID-a. Važno je reći da dužina stringa mora biti konstanta i zato smo ranije deklarisanu varijablu "str" deklarisali kao konstantu. I s ovim smo najefikasnije iskoristili našu memoriju.
mysql_format(Database, query, sizeof(query), str , GI, GI);
I ovdje smo jednostavno iskoristili string. Ovo je ujedno i primjer kako formatirati novi string. Nadam se da vam je ovo makar malo pomoglo i da vam je jasno. Potrudio sam se da što jednostavnije pojasnim i da ne komplikujem više nego što je potrebno.
Skrilew
6
Godfather
24. Mar. 2020.
Fino
Jaksic
5
Underboss
8. Apr. 2020.
Posoji 100 efikasnijih nacina, ali okej.
TarikBrt
4
Shot Caller
8. Apr. 2020.
over wrote on April 8, 2020, 4:26 pm:
Posoji 100 efikasnijih nacina, ali okej.

Jedini efikasnijih nacina je dodati -2 za svaki parametar i koristiti character counter i tako odrediti tacnu duzinu. Zaista bih volio cuti ostalih 98  🙂
algorhitmically
4
Shot Caller
8. Apr. 2020.
Ili jednostavno koristiti dinamicne stringove.
Gaucho69
5
Crime Lord
8. Apr. 2020.
Fino objasnjeno pohvale  😉
TarikBrt
4
Shot Caller
8. Apr. 2020.
algorhitmically wrote on April 8, 2020, 6:23 pm:
Ili jednostavno koristiti dinamicne stringove.

Da, hvala na savjetu. Svakako da je efikasnije jer je plugin, jos efikasnije bi bilo pakovanje stringova ali kao sto naslov kaze radi se samo o odredjivanju duzine stringa kroz sam "vanilla" pawno.
TerzaScripting
5
Underboss
8. Apr. 2020.
Svaki malo bolji code editor ima ugradjenu opciju u sebi za racunanje ukupnog broja selektovanih karaktera.
Ne vidim potrebu pisanja ovoga.
TarikBrt
4
Shot Caller
8. Apr. 2020.
Terza Lazarevic wrote on April 8, 2020, 8:11 pm:
Svaki malo bolji code editor ima ugradjenu opciju u sebi za racunanje ukupnog broja selektovanih karaktera.
Ne vidim potrebu pisanja ovoga.

5% ljudi na ovom forumu koriste IDE , a 95% obicni pawno editor tako da ne vidim potrebu za tvojim komentarom. Cilj mog posta je da pojasnim ljudima kako efikasno odrediti duzinu stringa, a ne koji IDE da koriste. 🙂
Momenzi Scripter
5
Made Man
8. Apr. 2020.
Dzaba njima ovaj tutorijal kad pojedini "skripteri" ne znaju koristiti. Cast izuzecima, ima na ovom forumu i dobrih skriptera.Tebi hvala sto si odvojio vrijeme za ovaj tut. moze nekom pomoci.

Pikaboot je besplatna, open-source platforma za strimovanje muzike. Bez reklama, bez zaključanih funkcija i bez kompromisa sa kvalitetom zvuka ( 24-bit FLAC ).

TarikBrt
4
Shot Caller
8. Apr. 2020.
M Ө M Σ N Z I wrote on April 8, 2020, 8:36 pm:
Dzaba njima ovaj tutorijal kad pojedini "skripteri" ne znaju koristiti. Cast izuzecima, ima na ovom forumu i dobrih skriptera.Tebi hvala sto si odvojio vrijeme za ovaj tut. moze nekom pomoci.

Nekome ko je usao da nauci nesto sigurno hoce za razliku od onih koji su dosli da prosipaju muda sa offtopic komentarima.
Momenzi Scripter
5
Made Man
8. Apr. 2020.
TarikBrt wrote on April 8, 2020, 8:39 pm:
Nekome ko je usao da nauci nesto sigurno hoce za razliku od onih koji su dosli da prosipaju muda sa offtopic komentarima.

Slazem se s tobom, ali nemoj se opet svadjati, ako imate nesto zavrsite privatno da vas moderatori ne bi dzaba kaznjavali i tjt

Pikaboot je besplatna, open-source platforma za strimovanje muzike. Bez reklama, bez zaključanih funkcija i bez kompromisa sa kvalitetom zvuka ( 24-bit FLAC ).

TheGabriel
3
Hustler
9. Apr. 2020.
TarikBrt wrote on April 8, 2020, 8:27 pm:
5% ljudi na ovom forumu koriste IDE , a 95% obicni pawno editor tako da ne vidim potrebu za tvojim komentarom. Cilj mog posta je da pojasnim ljudima kako efikasno odrediti duzinu stringa, a ne koji IDE da koriste. 🙂

Polako, precice na ST3, VSC etc za nekih 20 godina 😉
Teodor
4
Made Man
25. Apr. 2020.
Nice 😁
Svabo
4
Enforcer
25. Apr. 2020.
Dobro si ti to

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha