Právě je úte 22. kvě 2012 10:54:45
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[OCHRANA] FS Control [Identifikovac hack prikazov] od Om3n
[HELP] NHL 09 od MajkX
[Hlasovanie] Pridanie teamov do PICH od MajkX
[Ms 2012] NHL 2009 Remake od MajkX
[ HELP ]NPC od UpiR

Vyzkoušejte antivirus ESET Smart Security 5

Vyhledat témata bez odpovědí | Zobrazit aktivní témata Zobrazit nové příspěvky | Zobrazit vaše příspěvky


Všechny časy jsou v UTC + 1 hodina [ Letní čas ]





Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 
Autor Zpráva
 Předmět příspěvku: [F]Lekce 6. - Klicova slova
PříspěvekNapsal: ned 05. zář 2010 12:57:48 
Kendall Johnson "Kendl"
Kendall Johnson "Kendl"
Uživatelský avatar
Registrován: úte 24. bře 2009 14:16:39
Příspěvky: 2873
Bydliště: Továrna na marmeželádu / Sklad bagrů

Nekdo neznamej ( :shifty: ) mi psal at napisu tut o klicovych slovech (ty modre). Tak ho pisu.. Jejich seznam naleznete zde http://wiki.sa-mp.com/wiki/Keywords:Statements .

Takze projedeme to podle toho seznamu.. Napisu vam co jaka funkce dela a jak se pouziva a kde treba ji muzeme vyuzit..

Assert
Tato funkce podle wikiny nefunguje (Tedy presne nevedi jestli funguje), ale je to neco jako logicka podminka if. Podle wiki, pry zastavi spusteni kodu, kdyz podminka selze... (Taky ptakovina aby nam to vyplo kod uprostred hrani -_-) Takze to preskocime.

Break
Tato funkce se pouzi ve smyckach k preruseni opakovani..
Pouziti:
Kód:
for(new i ; i < 5 ; i++)
{
    printf("%d",i);
    if(i == 3) break;
}

Do konzole vypise:
Spoiler:
0
1
2
3


A kde by jsme to mohli vytuzit? Treba pri zjistovani hodnot v poli.. Napriklad mame u hrace pole Array[playerid][20];
Ale ne vsechna pole jsou zaplnena... A my napr. potrebujeme zjistit koli poli ma nejakou hodnotu (vetsi nez 0). V tom pripade vytvorime smycku o velikosti 20 loopu (Protoze pole vice hodnot nema) a jeste dodame novou promennou do, ktere budeme zapisovat pocet zaplnenych hodnot...
Kód:
new pocet = 0;

for(new i ; i < 20 ; i++)
{


A ted potrebujeme podminku, ktera bude zjistovat zda-li je v dane casti pole hodnota a dale funkci v tele podminky, ktera bude pripisovat promenne "pocet" hodnotu 1.
Kód:
new pocet = 0;

for(new i ; i < 20 ; i++)
{
     if(Array[playerid][i] > 0)
     {
          pocet++;
     }


A ted kdyz dana hodnota se uz rovna 0 prerusime smycku, protoze s nejvetsi pravdepodobnosti ani dalsi loopy nebudou mit zadnou hodnotu..

Kód:
new pocet = 0;

for(new i ; i < 20 ; i++)
{
     if(Array[playerid][i] > 0)
     {
          pocet++;
     }
     else
     {
          break;
     }
}


A tim je hotovo...

Case
Case se pouziva v kombinaci s funkci switch.. Funguje jako rada logickych podminek.
Pouziti:
Kód:
switch(promenna)
{
     case 0:
     {
          print("Promenna ma hodnotu 0");
     }
     case 1,2,3:
     {
          print("Promenna ma hodnotu 1 nebo 2 a nebo 3");
     }
     case 4 .. 10:
     {
          print("Promenna ma hodnotu mezi 4 az 10");
     }
}


Pouziti je hrozne moc. Od switchovani promenne reason v OnPlayerDisconnect az po slozite vetvene dialogy..

Continue
Continue se pouziva stejne jako break. Break smycku prerusuje, ale continue preskoci aktivni loop.

Default
Pouziva se, k definovani zakladniho kroku v pripade, ze se zadny z case ve switchi nerovna promenne...

Do
Pouziva se v kombinaci s while.. A existuje vlastne jen proto, kdyz potrebujete, aby se smycka spustila aspon 1x.

Pouziti:
Kód:
new w = 0;

do
{
     print("Smycka!");
     w++;
}
while(w != 10);


Else
Else se pouziva, kdyz podminka if selze.. Napriklad: V logicke podmince kontrolujete, zda-li je hrac pripojen. A kdyz neni, tak se neprovede telo podminky, ale telo "else".

Priklad:
Kód:
if(IsPlayerConnected(playerid))
{
     print("Je pripojen");
}
else
{
     print("Neni pripojen");
}


Exit
Exit ma ukoncit program, ale na wiki neni ani priklad pouziti a ani se nevi co dela v samp.

Goto
Goto preskoci na danou znacku v kodu..

Priklad:
Kód:
Skoc_sem:
print("Skocil sem");
goto Skoc_sem;
print("Toto se nikdy nevypise a vznikne nekonecna smycka");


Return
Return se pouziva vsude, kde potrebujete navratit hodnotu.. V callbacku, stocku, logicke podmince, switchi atd..

Priklad:
Kód:
if(IsPlayerConnected(playerid))
{
     return 1;
}


Sleep
Pozastavi vykon kodu na zvoleny parametr milisekund.. Funguje jen v main()

Priklad:
Kód:
main()
{
     print("Tedka");
     sleep(1000);
     print("Po jedne sekunde");
}


State
Tomuto je venovan cely velky tutorial od Y_Lesse na samp forku http://forum.sa-mp.com/showthread.php?t=86850

_________________
*Brain reset*
With new brain, new personality, new ffredyk..


Offline
 Profil  
 Předmět příspěvku: Re: [F]Lekce 6. - Klicova slova
PříspěvekNapsal: ned 05. zář 2010 13:00:05 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

To sem byl ja ten neznamej :D No vidis ze to jde !!


Offline
 Profil  
 Předmět příspěvku: Re: [F]Lekce 6. - Klicova slova
PříspěvekNapsal: čtv 30. zář 2010 16:01:00 
Lance Wilson "Ryder"
Lance Wilson "Ryder"
Registrován: ned 19. črc 2009 12:53:53
Příspěvky: 2537

xD trochu tomu chapem ale nice TUT


Naposledy oživil ffredyk v čtv 30. zář 2010 16:01:00


Offline
 Profil  
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 2 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


 Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na: