Právě je stř 23. kvě 2012 10:15:42
Hosting WEDOS.cz
SLEVA 25% (slevový kód:PAWNO25)

Nejnovější témata:
[Stránka] Hostingu SA-MP od Om3n
[HELP] Skrytie TextDrawu od Om3n
[HELP] realne zatykani od KillBill61
[ENG/SVK/CZ] mancraft.eu minecraft od ffredyk
[Hledam] Mod na koupeni .pwn od [Non]฿art*

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ů: 9 ] 
Autor Zpráva
 Předmět příspěvku: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 17:52:56 
Moderátor
Moderátor
Registrován: čtv 28. dub 2011 18:53:54
Příspěvky: 1460

Čau,

na přání QWERa sem dávám (zase) TuT na podmínky.

Podmínka, co si pod tím představit? Z Českého/Slovenského jazyka víme, že něco musí platit. Takhle je to i v pawn, jen trochu jiným způsobem.
Takže, podmínka, aneb if budeme v pawn používat pořád. Tohle je úplný ten základ toho, čemu by jsme měli říkat 'programovaní' nebo-li jak se říká 'pawnění' v programu pawn.
V podmínkách může použít různé spoje, některé známe z matematiky (znaménka) a o některých jsme již možná slyšeli, možná ne.

Takže, do podmínek můžeme zařadit různé funkce, proměnné. A já vás s tímto používáním trochu seznámím a i s používáním znamének.

Jelikož tenhle TuT je výhradně určen pro začátečníky, budu rád ikdyž si někdo 'lepší', 'pokročilejší' můj TuToriál přečte.

1) Používání funkcí a proměn s matematickými znaménky


Jelikož máme čtyři tipy proměn (Float, integer, boolean a string) a hoodně funkcí tak vám ukážu jak je použivát.
Integer

Integer, aneb celé číslo. (1,2,3,500)

Kód:
new integer = 20; // proměnná pro integer - nastavíme hodnotu 20
if(integer < 20) // když v proměnné integer je hodnota menší než 20
{//tak
print("Chyba!");//se do konzole vypíše text 'Chyba!'
}
else if(integer >= 20) // jinak když hodnota integer je větší nebo se rovná 20
{//tak
print("Šikula!");//Se do konzole vypíše 'Šikula'
}



Určitě jste si všimli že jsem před if dal 'else'. Else anglicky znamená 'jinak'. Nemusíme to používat přesně takhle, nemusíme tam vůbec "else if blablabla", stačí jen 'else'.

Float

Float, aneb desetinné číslo (Pozor: V pawně používáme místo desetinné čárky jako je v matematice tečku)
př. 1.2; 7.52191.; 13.25

Kód:
new Float:= 22.3; // uděláme si proměnnou pro Float s hodnotou 22.3
if(!= 22.3) // když v hodnotě x není 22.3
{
print(
"Špatně!"); // vypíše se do konzole 'Špatně!'
}
else // jinak
{
print(
"Dobře"); // se vypíše do konzole 'Dobře'
}


Kdyby bylo něco nejasného pište dolů.

Boolean

Nemyslím si že se u boolů nemusím nijak dlouho zdržovat, stačí jen vědět že jsou jen 2 hodnoty booleanu - true (pravda) a false (nepravda)

Kód:
new bool:xxx; // proměnná pro bool
if(!xxx) // když je xxx nepravda
if(xxx) // když je xxx pravda   


Jinak tu máte krásný tutoriál od Davida alias XmEn alias Anubis

http://pawno.cz/boolean-t20834.html

String

String je text, nebo-li textový řetězec.

Kód:
new str[25] = "QWER"; // dáme si do proměnné str 'QWER', ta 25 je počet znaků
if(strcmp(inputtext,str,true)==0) print ("Správně");//pokud v inputtext (dialogu) napíše slovo QWER tak napíše do konzole 'Správně'
else print("Špatně");//ale když něco jiného tak špatně   


--------------

2) Používání && a || a %

&& = a zároveň
|| = nebo
% = vydělí číslo číslem druhým a vrátí jako integer

př.

Kód:
new a=25, b = 30;
if(
== 25 && b == 30) print("Správně!");
else if(!=25 || b == 31) print("Špatně");


a nyní %.
Z matematiky určitě známe zbytky, tohle je podobné. Číslo se vydělí dvěma a zjistí se zbytek. Pokud je číslo beze zbytku, je to číslo sudé (0) ale pokud je se zbytkem a pozor, číslo nikdy nebude větší než 1. 1 je liché.
Dáme si příklad:
25%2 - tj. jako by jsme to vydělili .. 25%2 = 12 a zbytek je 1. číslo je liché
24%2 - tj. 24%2 = 12 zbytek 0 - číslo je sudé.


--------------

Snad jste si z toho něco vzali.

Mort.

To QWER: Jestli mám ještě něco přidat tak napiš.


Naposledy upravil Mort dne pon 19. zář 2011 17:59:45, celkově upraveno 1

Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 17:55:34 
Eddie Pulaski
Eddie Pulaski
Uživatelský avatar
Registrován: úte 02. lis 2010 22:16:14
Příspěvky: 1472
Bydliště: Program Files(x64);

Skvělej tut


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 18:11:50 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Registrován: ned 25. črc 2010 14:40:25
Příspěvky: 819

Pekné ! :)

_________________
Story of San Fierro
Obrázek
Viac informácii o móde


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 18:12:08 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

Si rejpnu.. :D

Kód:
if(integer < 20) // když v proměnné integer je hodnota menší než 20
{//tak
print("Chyba!");//se do konzole vypíše text 'Chyba!'
}
else if(integer >= 20) // jinak když hodnota integer je větší nebo se rovná 20
{//tak
print("Šikula!");//Se do konzole vypíše 'Šikula'
}

Logicky když integer je není menší než dvacet, tak je větší nebo se rovná dvacet. Čili šlo použít jen "else".

Jinak myslím že takových návodů o tomto je tu spousta, ale ať nežeru :D :thumbup:


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 18:14:20 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

tak niaky ukáž... nevidím žiadny

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 18:15:20 
Moderátor
Moderátor
Registrován: čtv 28. dub 2011 18:53:54
Příspěvky: 1460

Anubis píše:
Si rejpnu.. :D

Kód:
if(integer < 20) // když v proměnné integer je hodnota menší než 20
{//tak
print("Chyba!");//se do konzole vypíše text 'Chyba!'
}
else if(integer >= 20) // jinak když hodnota integer je větší nebo se rovná 20
{//tak
print("Šikula!");//Se do konzole vypíše 'Šikula'
}

Logicky když integer je není menší než dvacet, tak je větší nebo se rovná dvacet. Čili šlo použít jen "else".

Jinak myslím že takových návodů o tomto je tu spousta, ale ať nežeru :D :thumbup:


Já si taky rejpnu.
Logicky by si stačilo přečíst co je pod tím napsaný :D :D :D


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 18:17:01 
Marc Wayne "B-Dup"
Marc Wayne "B-Dup"
Uživatelský avatar
Registrován: pát 19. zář 2008 16:26:22
Příspěvky: 760

Operátorů existujou ještě mnohem víc, můžeš dokonce i napsat new Test:Test2; (i když teď momentálně nevím proč to tak je), a ještě % jsi myslím popletl s /

btw program je pawno a ne pawn

_________________
Obrázek

Proud =NTP= Member - http://ntpclan.com/


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 18:17:25 
Carl Johnson "CJ"
Carl Johnson "CJ"
Registrován: stř 19. srp 2009 17:31:39
Příspěvky: 6369

QWER:
nejake-ty-funkce-t3781.html
post170392.html
viewtopic.php?f=8&t=3931&hilit=podm%C3%ADnky

Mort:
Aha.. ja koukam jen na [ code ], smula :P :D


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 18:22:54 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

prvé tam je iba boolean
druhé no "suspect"
tretie fuj natlačené, žiadna estetika... nič

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: pon 19. zář 2011 18:34:20 
Moderátor
Moderátor
Uživatelský avatar
Registrován: čtv 11. čer 2009 12:47:03
Příspěvky: 2228

Citace:
Jelikož máme čtyři tipy proměn (Float, integer, boolean a string)

Není pravda! :D TextDraw, 3DText, Menu,... :D A to se týká pouze Pawn.


Citace:
Kód:
new a=25, b = 30;
if(a == 25 && b == 30) print("Správně!");
else if(a !=25 || b == 31) print("Špatně");

Toto jsi jako příklad použil docela špatně, zkus něco lepšího.


Citace:
% = vydělí číslo číslem druhým a vrátí jako integer

» výsledek je zbytek po dělení. ;) Celkově jsi tady u tohoto také napsal špatně příklad lepší by bylo třeba:

Kód:
new hodnota = 27%4
printf("%d", hodnota);

A do konzole to vypíše 3, protože 27%4 = 6 zb. 3

Jinak celkem pěkné.

_________________
Obrázek


Offline
 Profil  
 Předmět příspěvku: Re: [TuT] Podmínky
PříspěvekNapsal: stř 21. zář 2011 22:09:07 
Carl Johnson "CJ"
Carl Johnson "CJ"
Uživatelský avatar
Registrován: čtv 29. led 2009 20:03:51
Příspěvky: 4548
Bydliště: Blava ne ?

Chýba Terárna podmienka...

premena = (podmienka) ? hodnota1 : hodnota2

napríklad
Kód:
stock IsPlayerModerator(playerid){
if(admin[playerid] == 3) return true;
return false;
}

pomocou terárnej podmienky spravíte
Kód:
stock IsPlayerModerator(playerid){
return (admin[playerid] == 3) ? true : false;
}


alebo takto sa dá spraviť "násobná" podmienka
Kód:
stock IsPlayerAdmin(playerid){
return (LEVEL1[playerid]) ? true : ( (LEVEL2[playerid]) ? true : ( (LEVEL3[playerid]) ? true : false ) );
}

alebo
Kód:
stock IsPlayerAdminEx(playerid){
return (IsPlayerAdmin(playerid)) ? "Ano" : "Nie";
}

využití je veľa... ;)

_________________
Moja tvorba http://pastebin.com/u/PatchwerkQWER
Ak chceš byť lepší ako ja, a budeš sa snažiť budeš lepší ! Už len pri pomyslení na to, že si lepší než ja, ťa posunie dopredu. Ale nezabudni ! Musíš sa snažiť. A potom zistíš to, čo vie pár ľudí - že som lama a moje scripty sú nič oproti tomu, čo môžeš vytvoriť ty. Tak sa prekonaj ako kedysi ja, a natri to všetkým ! Uprav budúcnosť pre svoj prospech


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ů: 9 ] 

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: