- Popular Post
-
Příspěvků
772 -
Registrován
-
Aktivní
-
Vítězných dnů
60
Content Type
Profiles
Forums
Calendar
Gallery
SA-MP
Příspěvky posted by vEnd
-
-
Môžem ťa ujistiť, že tento mód bude vydaný.
Máme VPS, takže to určite Polis myslí vážne
Abych to chápal, takže ty se na tom též podílíš? Měl bys představit celý vývojářský tým, ať v tom máme jasno.
-
This function was added in SA-MP 0.3.7 and will not work in earlier versions!
Máš nejnovější verzi knihoven?
- 1
-
Berte prosím v úvahu, že né každý tady chodí od 8:00 do 13:30 do školy, ale jsou i tací co pracují a tyhle věci dělají pro zábavu či relax.
Pokud vím, tak Polis chodí do školy také. Nevím, jestli zrovna od osmi do třinácti, ale moc se to lišit nebude. (Btw Deniska nemá cenu brát vážně.)
Očividně na to hodně lidí čekalo, tak by to chtělo alespoň oficiální vyjádření o tom, že se to odsouvá.
- 4
-
-
Soubory smazány
Vzhledem k důkazům, které mi byly poskytnuty soukromě, jsem se rozhodl vyhovět Tomášově žádosti a soubory smazat. Autora tématu žádám, aby je na tomto fóru dál nešířil. Děkuji.
-
Můžeš mi říct, proč nevložíš kód do části, trefně nadepsanou Kód, která je, světě div se, určená pro kód? Vidím to tady stále, moderátoři na to již několikrát upozorňovali, ale děje se to stále dokola. Dnes to upravuji naposledy, od příště už se podobné téma maže.
-
Foto ?Posílám bez fotek každý se může kouknout sám.
-
tato byla kdysi koupena od jednoho slovenskeho mapera a pak sem to prodal jednomu a pak koupil podil a bud on mu to poslal nebo nevim ale ja mam taky natom podil
a temto clovek co to zverejnil
ale je.pravda ze licenci nemam jakozto papirove podepsane
Když mluvíš o podílu, myslíš vlastnický podíl? Pokud jste to kupovali dva a jeden z vás to poslal dál, tak s tím moc dělat nemůžeme.
InParadise, tvé vyjádření k věci by se taky hodilo.
-
zadam o smazani.
tato osoba to zverejnila bez povoleni dvou osob co jim to patri tedy marek a tomas.
Má-li se tohle řešit, potřebujeme vědět, jak to máte. Dělal jsi to dané osobě na zakázku? Jak se k tomu dostal? Pokud jsi to dříve vydával volně, pod jakou licencí?
-
Špatná sekce
Žádosti o pomoc (obzvláště ty s názvem "Pomoc") patří do sekce Pomoc, ne Scripty.
Opravdu je to tak složité uvědomit si to? -
Jak to myslíš ?
Být to PHP, mohlo by strval vracet false a použil bys jednoduše operátor ===, tady to holt vrací nulu jak pro strval("0"), tak pro strval("asdf"). Zas ale nemůžu chtít zázraky od jazyka, který datové typy nerozeznává (o tagech Float, bool apod. nemluvme).
Jinak návod je v pohodě. Aktuální návody pro tento a podobné systémy tu momentálně nejsou (alespoň co vím), takže se to hodí. Ty z roků 2008 a 2010 už akorát přidělávají práci helperům, kteří pak musí opravovat zastaralé kódy.
- 1
-
+ mám shit antivírus
Stáhni lepší?
-
- 1
-
Okrem teda prelepenia kamery existuje teda aj elegantnejšie riešenie a to Vám predvediem.
Pche, nic není lepšího než moje nálepka.
-
pre tých čo nevedia o čo ide, toto je modrá veľryba(blue whale)
Měli bychom zavést soutěž o nejlepší příspěvky. Na tohle je reputace krátká.
- 1
-
Chceš to zkusit? Alespoň bychom odzkoušeli, kam až mohou dosáhnout a jak by se k tobě dostali, až bys to odmítnul. Jestli vůbec.
-
Z praktického hlediska je lepší ten Danielsům, protože je čitelnější. Ty stíny v eXpresSově verzi jsou opravdu otřesné.
-
Potom tam máš všude "else", je to zbytečný, může tam být normálně if, ale jak sem ti psal výš, místo toho tam je lepší dát case...
Má to správně. Ačkoliv by skutečně mohl použít switch, použití if - else if - else if - ... - else je univerzální náhrada switche (některé jazyky switch nemají, třeba Python). Kdyby to nahradil jen za if, zbytečně by se porovnávaly další podmínky po nálezu té správné. Sérii if by mělo smysl použít tehdy, když by každý blok ukončoval příkazem return či break/continue (v cyklech).
-
To je mi ale debilní otázka.. AMX přípona, je vytvořena asi z nějakého důvodu. Kdyby autor chtěl, aby si to každej mohl editovat, tak šíří i PWN a nikoli jen AMX verze.
No, myslím, že hlavním důvodem amx je, aby to bylo lépe zpracovatelné serverem (asi jak bytecode v Javě). Ochrana proti přepsání či kopírování už je jen jaksi vedlejší efekt či sekundární záležitost, určitě to tak nevyvíjeli kvůli tomu.
Jinak má ale mattyarts pravdu, pokud chceš něco přidat, učiň tak formou FS. Pokud chceš upravovat přímo části GM, máš bohužel smůlu.
- 1
-
Můžeš nám ukázat, jak tu funkci voláš, a co myslíš tím "Vracia hodiny CZ / SK / EN"? Z toho, co jsi napsal, mi není nějak jasné, s čím máš vlastně problém.
-
Jen jedna pravopisná poznámka: v názvu máš "45. dílů", správně je "45 dílů" (bez tečky za číslem).
-
Po té první písničce zatím spokojenost. Jestli to půjde ve stejném duchu, nebudu proti.
-
Hele a dáš mi stránku? Dává mi to furt nějakej AUTO servis xD
Ten příspěvek je z roku 2011, je 6 let starý, nepočítej s tím, že ten hosting ještě bude existovat.
- 2
-
Ale GPS ti vrátí 0 i když na serveru někdo bude a i když na něm nebude ne ?
Proto je tam ta část s IsPlayerConnected.
- 1
#9 Funkce [**]
v Herní (SA:MP, CS apod.)
Odesláno:
Obtížnost:
Osnova:
1. Úvod, co je to funkce;
2. Definice funkce a její části;
3. Parametry;
4. Návratová hodnota;
5. Závěr.
1. Úvod, co je to funkce
Zdravím, tímto návodem konečně dokončím šňůru návodů pro začátečníky. Posledním tématem, které jsme ještě nestihli probrat, jsou funkce. O čem je řeč?
Funkce jsou takové části kódu, které lze volat v různých částech skriptu. Někdy se lze také setkat s pojmem podprogram (ačkoliv to není to samé – podprogramem mohou být i metody, ale to se nás ani Pawn netýká).
Účel je jasný – abychom nemuseli psát tentýž kód na více místech, napíšeme jej jen jednou a voláme jej tam, kde potřebujeme. Přináší nám to hned několik benefitů – kratší a přehlednější kód, při úpravě kódu jej stačí upravit na jednom místě, totéž platí pro opravy chyb.
Počas skriptování SA:MP skriptů se setkáváme s funkcemi nepřetržitě, jmenovitě například funkce GetPlayerName, SendClientMessage, strval, ale i OnPlayerConnect či OnFilterScriptInit.
2. Definice funkce a její části
Když už máme představu, co to funkce je, měli bychom si ukázat, jak ji vytvořit. Každá funkce má svůj název (identifikátor), dále pak parametry, o kterých si řekneme za chvíli, tělo, do kterého vkládáme kód, a jako poslední návratovou hodnotu (i když tu nemusí mít nezbytně, o tom za chvíli).
Ukažme si to na kódu:
Teď si určíme jednotlivé části funkce:
– identifikátor: Secist
– parametry: cislo1 a cislo2
– tělo funkce: všechno mezi složenými závorkami {}
– návratová hodnota: return suma;
Jak je vidět, jako první se uvádí identifikátor, poté následují parametry ohraničené kulatými závorkami, následně se píše tělo kódu do složených závorek a do těla se uvádí návratová hodnota příkazem return. Výše uvedená funkce slouží k součtu dvou celých čísel.
3. Parametry
Díky parametrům můžeme funkci předávat vstupní hodnoty a/nebo ovlivňovat to, jak se bude chovat. U naší sčítací funkce parametry slouží k předání sčítanců. Ale například funkce strcmp má parametr ignorecase, který nám určuje, zda má funkce ignorovat rozdíl mezi velkými a malými písmeny. Tento parametr ovlivňuje chování funkce.
Parametry funkcí v Pawn mohou být různého datového typu (tedy celá čísla, desetinná čísla, logické hodnoty, řetězce atd.) a může jich být libovolný počet. Jsou funkce, které nemají žádné parametry (kulaté závorky ale musíme uvést vždy – ()), jsou takové, které jich mají i 10.
Zde je pár funkcí na ukázku, každá s jiným počtem parametrů (všechny lze dohledat na SA:MP wiki):
Lze si všimnout, že u některých se objevují věci jako Float:, [] apod. Právě tyto, prozatím tomu říkejme "věci", nám určují, jaký datový typ bude daný parametr mít. Seznam nejčastěji používaných datových typů:
Zbývá nám uvést si, jak takové parametry dosazovat při volání funkce. Jednoduše za ně dosadíme skutečné hodnoty (přesněji argumenty) v tom pořadí, v jakém jsme je definovali:
Nad rámec návodu (pro zvídavé):
Pokud víme, že bude za parametr často dosazována konkrétní hodnota, můžeme mu určit výchozí hodnotu. Při volání funkce se to projeví tak, že pokud chceme použít výchozí hodnotu, parametr neuvádíme. Chceme-li zadat jinou hodnotu, nic se nemění – zkrátka ji zadáme.
Dříve zmíněná funkce strcmp má 2 parametry s výchozí hodnotou – ignorecase a length. Tuto funkci je tedy možné volat bez nich, pokud chceme zachovat jejich výchozí hodnoty, nebo s nimi, pokud chceme hodnoty změnit, viz příklad:
A jak vypadá definice funkce s výchozími parametry? Tak, že parametrů přiřadíme hodnotu operátorem přirazení (rovnítko). Mějme ale na paměti, že takové parametry musí být vždy na konci!
4. Návratová hodnota
Na začátku jsme řekli, že funkce má také návratovou hodnotu. Přesněji řečeno, může mít, ale nemusí. Přesně tak, funkce žádnou návratovou hodnotu mít nemusí. V některých jazycích se pak funkce bez návratové hodnoty nazývá procedurou.
V kódu naší sčítací funkce je vidět, že hodnotu vrátíme příkazem return. Ve funkci můžeme tento příkaz použít vícekrát (často to souvisí s podmínkami a větvením), ale pravidlem je, že musí vždy vrátit hodnotu stejného datového typu. Kompilátor nám neumožní vrátit jednou celé číslo a jednou řetězec, to prostě nejde.
Když už jsme zmínili datové typy, je třeba si dávat pozor na jednu věc. Pokud vracíme hodnotu jinou než celé číslo či řetězec, musíme před identifikátor uvést příslušný tag (teď už nepíši "věc", ale tag). Upravme si tedy naši funkci pro sčítání dvou desetinných čísel:
Zde je vidět, že před názvem nám přibylo Float:. Je to nutné pro správný chod funkce. Kdybychom vraceli např. logické hodnoty, byl by tam tag bool:.
A jak je to tedy s funkcemi (procedurami, jestli chcete), které nic nevracejí? Jsou dvě možnosti, buď uvedeme prázdný return – return; – nebo neuvedeme nic. Je to jen na vás, běžná je druhá varianta (neuvádět nic). Ukázka:
5. Závěr
A tím jsme se dostali jak k závěru tutoriálu, tak k závěru celé série. Děkuji všem, kteří si návod přečetli, a obdivuji všechny, kteří prošli celou sérií. Doufám, že jste se dozvěděli něco nového, pokud ne, alespoň jste si to zopakovali.
Prozatím neplánuji začínat další sérii návodů, ale je možné, že se sem tam něco objeví.
Ještě jednou děkuji a platí to, co vždycky – pokud jste našli nějakou chybu či nesrovnalost nebo se jen chcete na něco zeptat, zanechte mi vzkaz pod tímto příspěvkem.