-Ovo većina nezna, ovo možemo staviti kao neki 'trik' tutorial ( ^^ ). Još prije sam govorio o tom argumentu(ima) ali većina me nije razumjela što sam time htio reći pa ću sada objasniti. - Također, uskoro u mojem INC ( h_jezik ) će doći par novih funkcija koje će se bazirati baš na ovome ( optional argumentu )
-Oni koji ne znaju o čemu se radi naravno zanima ih, to je ubiti funkcija koja može sadržati 'x' argumenata pravi primjer je native 'format' - Pojasnit ću više u nastavku.

Primjer postojeceg dokaza

Code:
format(string, sizeof string, "%s %i %d %f %s %i %d", /* OVO PODRUČJE SPADA U OPTIONAL ARGUMENTE */ arg...);
- Znači tu se radi o tome da možete staviti argumenata koliko hoćete ili čak bez njih, sada je pitanje kako to postići na svojoj funkciji. Naravno postoje neke stvari koje morate znati prije nego uđete u ovaj posao.
Dve osnovne stvari koje morate znati su ove dvije 'funkcije' > numargs(); & numargs(); <

Primjer sa novom funkcijom


- Napravit ćemo jednu jednostavnu funkciju za novi random odabir integer vrijednosti.
Code:
randomEx()
{
}
Za početak ćemo napraviti kostur funkcije... zatim..
Code:
randomEx({int,_}:...)
Dodajte {int,_}:... u svoje parametre, jer '{int,_}:...' kod je nešto kao naredba koja daje informaciju za 'optional' argument, sada moramo nastaviti sa građom te naredbe....

Code:
randomEx({int,_}:...)
{
	new 
             argumenti = numargs(),
	     odabir = random(argumenti*20); 
	return getarg(odabir/20);
}
Primjer u praksi

Code:
SetPlayerSkin(playerid, randomEx(1, 2, 3, 4, 5, 6, 7, 8) );
Stvar je u tome što sada možete dodati koliko hoćete argumenata. - Iako je ovo bio dosta loše napravljeni kod može se i kraće napraviti, npr:
Code:
RandomEx( ... ) return getarg(random(numarg())*20);
Bez dodavanja '{int,_}:...'

Ovo je kratak primjer bio kako bi to trebalo izgledati, naravno postoje i druge stvari koje možete 'praviti' sa ovim trikom. - Jedan od njih ćete vidjeti kada objavim novu verziju h_jezik INC-a u kojem će doći par novih funkcija koje će koristiti ove optional argumente jedna od njih je 'formatEx' - A ako će mi pasti neka bolja ideja za taj INC prebaciti ću ga i u plugin verziju.

Također tu postoje i druge stvari osim '{int,_}:...' - naravno tu je npr. i '{Float,_}:...' '{Float,_}:...' '{Text3D,_}:...' itd. itd.

( xd ) - naravno vi u funkciji sa optional argumentom ne morate uvijek koristiti ove kodove iznad nego možete jednostavno staviti '...' ( tri tocke )

Eto to je ukratko to, tek toliko da se zna o čemu se radi - ništa teško ali opet korisno.