<?xml version="1.0"?>
<rss version="2.0"><channel><title>N&#xE1;vody Latest Topics</title><link>https://fivem-dev.cz/forum/14-n%C3%A1vody/</link><description>N&#xE1;vody Latest Topics</description><language>en</language><item><title>(V&#xDD;PLATA) Nahrazen&#xED; ESX notifikac&#xED; OX_Lib notifikacema</title><link>https://fivem-dev.cz/topic/19-v%C3%BDplata-nahrazen%C3%AD-esx-notifikac%C3%AD-ox_lib-notifikacema/</link><description><![CDATA[<p>
	<b style="background-color:#ffffff;color:#353c41;font-size:14px;">Co je potřeba:<br />
	- OX_LIB (<a href="https://github.com/overextended/ox_lib" rel="external nofollow" style="background-color:transparent;">https://github.com/overextended/ox_lib</a>)</b>
</p>

<p>
	 
</p>

<p>
	Jako první se ujistěte zda máte v fxmanifest.lua v es_extended tento řádek v sekci shared_scripts
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">    '@ox_lib/init.lua',</span></pre>

<p>
	 
</p>

<p>
	Pokud máte, tak můžeme jít na výplaty.
</p>

<p>
	 
</p>

<p>
	Začneme tím, že půjdeme do es_extended --&gt; server --&gt; paycheck.lua
</p>

<p>
	Zde budeme nahrazovat různé notifikace.<br /><br /><br />
	Toto nahradíme:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'), TranslateCap('received_help', salary), 'CHAR_BANK_MAZE', 9)</span></pre>

<p>
	Tímto:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">TriggerClientEvent('ox_lib:notify', xPlayer.source, { title = 'Banka', icon= 'bank', position = 'top', description = 'Obdrželi jste výplatu ve výši ' ..salary..'$'})</span></pre>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Toto nahradíme:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">                    TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'),
                      TranslateCap('received_salary', salary), 'CHAR_BANK_MAZE', 9)</span></pre>

<p>
	Tímto:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">TriggerClientEvent('ox_lib:notify', xPlayer.source, { title = 'Banka', icon= 'bank', position = 'top', description = 'Obdrželi jste výplatu ve výši ' ..salary..'$'})</span></pre>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Toto nahradíme:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'), TranslateCap('received_salary', salary),'CHAR_BANK_MAZE', 9)</span></pre>

<p>
	Tímto:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">TriggerClientEvent('ox_lib:notify', xPlayer.source, { title = 'Banka', icon= 'bank', position = 'top', description = 'Obdrželi jste výplatu ve výši ' ..salary..'$'})</span></pre>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Toto nahradíme:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">TriggerClientEvent('esx:showAdvancedNotification', player, TranslateCap('bank'), TranslateCap('received_paycheck'), TranslateCap('received_salary', salary), 'CHAR_BANK_MAZE', 9)</span></pre>

<p>
	Tímto:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">TriggerClientEvent('ox_lib:notify', xPlayer.source, { title = 'Banka', icon= 'bank', position = 'top', description = 'Obdrželi jste výplatu ve výši ' ..salary..'$'})</span></pre>

<p>
	 
</p>

<p>
	Pokud by byl jakýkoliv problém, přikládám zde svůj starší paycheck.lua ze starší verze es_extended.
</p>
<p>
<a class="ipsAttachLink" href="https://fivem-dev.cz/applications/core/interface/file/attachment.php?id=18&amp;key=92f327e01d42c2964aa9bb5b844bae92" data-fileExt='lua' data-fileid='18' data-filekey='92f327e01d42c2964aa9bb5b844bae92'>paycheck.lua</a></p>]]></description><guid isPermaLink="false">19</guid><pubDate>Mon, 20 Feb 2023 15:39:14 +0000</pubDate></item><item><title>&#x1F30D; Jak si vytvo&#x159;it vlastn&#xED; FiveM server na PC? &#x1F3AE; [Kompletn&#xED; n&#xE1;vod pro nov&#xE1;&#x10D;ky]</title><link>https://fivem-dev.cz/topic/6073-%F0%9F%8C%8D-jak-si-vytvo%C5%99it-vlastn%C3%AD-fivem-server-na-pc-%F0%9F%8E%AE-kompletn%C3%AD-n%C3%A1vod-pro-nov%C3%A1%C4%8Dky/</link><description><![CDATA[<p>
	<span class="ipsEmoji">💡</span> <strong>Chceš si zahrát s kamarády na vlastním serveru? Nebo si chceš vyzkoušet skriptování a vlastní úpravy serveru?</strong> V tom případě jsi na správném místě! V tomto detailním návodu tě provedu celým procesem. Tento návod je pro kompletní nováčky, jelikož takových návodů moc není a je obtížné se do toho dostat, a proto jsem tu s tímto návodem! <span class="ipsEmoji">👇</span>
</p>

<hr />
<h2>
	🛠 <strong>Co budeš potřebovat?</strong>
</h2>

<p>
	<span class="ipsEmoji">📌</span> <strong>1. Počítač</strong> s Windows (doporučeno Windows 10 nebo 11).<br />
	<span class="ipsEmoji">📌</span> <strong>2. Instalované GTA V</strong> (legální kopie na Steamu, Epic Games nebo Rockstar Launcheru).
</p>

<hr />
<h1>
	<span class="ipsEmoji">📥</span> <strong>1. Stažení FiveM serveru</strong>
</h1>

<p>
	<span class="ipsEmoji">📂</span> <strong>1. Vytvoř složku pro server</strong> na libovolném místě (např. <code>C:\FiveMServer</code>).<br />
	<span class="ipsEmoji">📥</span> <strong>2. Stáhni oficiální serverové soubory z <a href="https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/" rel="external nofollow">FiveM Artifacts</a>.</strong><br />
	<span class="ipsEmoji">📌</span> <strong>3. Vyber nejnovější verzi a stáhni soubor <code>.zip</code>.</strong><br />
	<span class="ipsEmoji">📂</span> <strong>4. Rozbal soubory do složky <code>C:\FiveMServer</code>.</strong>
</p>

<hr />
<h1>
	<span class="ipsEmoji">⚙️</span> <strong>2. Instalace serverových souborů</strong>
</h1>

<p>
	<span class="ipsEmoji">📥</span> <strong>1. Stáhni a nainstaluj <a rel="">Visual C++ Redistributable 2019</a></strong>.<br />
	<span class="ipsEmoji">📥</span> <strong>2. Stáhni a nainstaluj <a href="https://git-scm.com/download/win" rel="external nofollow">Git for Windows</a></strong>.<br />
	<span class="ipsEmoji">📥</span> <strong>3. Stáhni a nainstaluj <a href="https://github.com/citizenfx/cfx-server-data/archive/refs/heads/master.zip" rel="external nofollow">FXServer Data</a></strong>.<br />
	<span class="ipsEmoji">📂</span> <strong>4. Rozbal <code>cfx-server-data</code> do složky <code>C:\FiveMServer\cfx-server-data</code>.</strong>
</p>

<hr />
<h1>
	<span class="ipsEmoji">📝</span> <strong>3. Vytvoření konfiguračního souboru (<code>server.cfg</code>)</strong>
</h1>

<p>
	<span class="ipsEmoji">📂</span> <strong>1. Otevři složku <code>C:\FiveMServer\cfx-server-data</code>.</strong><br />
	<span class="ipsEmoji">📝</span> <strong>2. Vytvoř nový soubor a pojmenuj ho <code>server.cfg</code>.</strong><br />
	<span class="ipsEmoji">✏️</span> <strong>3. Vlož do souboru následující základní konfiguraci:</strong>
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pun"># </span><span class="pln">N</span><span class="pun">á</span><span class="pln">zev</span><span class="pun"> </span><span class="pln">serveru
set</span><span class="pun"> </span><span class="pln">sv_hostname</span><span class="pun"> </span><span class="str">"Můj FiveM server"</span><span class="pln">

</span><span class="pun"># </span><span class="pln">Maxim</span><span class="pun">á</span><span class="pln">ln</span><span class="pun">í </span><span class="pln">po</span><span class="pun">č</span><span class="pln">et</span><span class="pun"> </span><span class="pln">hr</span><span class="pun">áčů</span><span class="pln">
set</span><span class="pun"> </span><span class="pln">sv_maxclients</span><span class="pun"> </span><span class="lit">32</span><span class="pln">

</span><span class="pun"># </span><span class="pln">Heslo</span><span class="pun"> </span><span class="pln">na</span><span class="pun"> </span><span class="pln">server</span><span class="pun"> (</span><span class="pln">pokud</span><span class="pun"> </span><span class="pln">nechce</span><span class="pun">š, </span><span class="pln">nech</span><span class="pun"> </span><span class="pln">pr</span><span class="pun">á</span><span class="pln">zdn</span><span class="pun">é)</span><span class="pln">
sv_password</span><span class="pun"> </span><span class="str">""</span><span class="pln">

</span><span class="pun"># </span><span class="pln">Povolen</span><span class="pun">í </span><span class="pln">p</span><span class="pun">ř</span><span class="pln">ipojen</span><span class="pun">í </span><span class="pln">Steam</span><span class="pun"> </span><span class="pln">hr</span><span class="pun">áčů</span><span class="pln">
set</span><span class="pun"> </span><span class="pln">steam_webApiKey</span><span class="pun"> </span><span class="str">"TVŮJ-STEAM-API-KEY"</span><span class="pln">

</span><span class="pun"># </span><span class="pln">Povolen</span><span class="pun">í </span><span class="pln">RCON</span><span class="pun"> (</span><span class="pln">administrace</span><span class="pun"> </span><span class="pln">serveru</span><span class="pun"> </span><span class="pln">na</span><span class="pun"> </span><span class="pln">d</span><span class="pun">á</span><span class="pln">lku</span><span class="pun">)</span><span class="pln">
rcon_password</span><span class="pun"> </span><span class="str">"mojeheslo"</span><span class="pln">

</span><span class="pun"># </span><span class="pln">Povolen</span><span class="pun">í </span><span class="pln">skript</span><span class="pun">ů</span><span class="pln">
exec</span><span class="pun"> </span><span class="pln">permissions</span><span class="pun">.</span><span class="pln">cfg

</span><span class="pun"># </span><span class="pln">Povolen</span><span class="pun">í </span><span class="pln">z</span><span class="pun">á</span><span class="pln">kladn</span><span class="pun">í</span><span class="pln">ch</span><span class="pun"> </span><span class="pln">funkc</span><span class="pun">í</span><span class="pln">
start</span><span class="pun"> </span><span class="pln">chat
start</span><span class="pun"> </span><span class="pln">spawnmanager
start</span><span class="pun"> </span><span class="pln">sessionmanager
start</span><span class="pun"> </span><span class="pln">fivem
start</span><span class="pun"> </span><span class="pln">hardcap
start</span><span class="pun"> </span><span class="pln">rconlog
start</span><span class="pun"> </span><span class="pln">scoreboard</span></pre>

<p>
	<span class="ipsEmoji">📌</span> <strong>4. Ulož soubor <code>server.cfg</code>.</strong>
</p>

<hr />
<h1>
	<span class="ipsEmoji">🚀</span> <strong>4. Spuštění serveru</strong>
</h1>

<p>
	🖥 <strong>1. Otevři <code>C:\FiveMServer</code>.</strong><br />
	<span class="ipsEmoji">📂</span> <strong>2. Otevři <code>FXServer.exe</code>.</strong><br />
	<span class="ipsEmoji">✅</span> <strong>3. Server se načte a spustí!</strong>
</p>

<hr />
<h1>
	<span class="ipsEmoji">🎭</span> <strong>5. Jak se připojit na svůj server?</strong>
</h1>

<p>
	<span class="ipsEmoji">🌎</span> <strong>Lokální připojení (pouze ty)</strong><br />
	<span class="ipsEmoji">1️⃣</span> Spusť FiveM.<br />
	<span class="ipsEmoji">2️⃣</span> Otevři konzoli (<code>F8</code>) a napiš:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">connect 127.0.0.1</span></pre>

<p>
	nebo
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">connect localhost</span></pre>

<p>
	<span class="ipsEmoji">🎮</span> <strong>Připojení pro kamarády (přes internet)</strong><br />
	<span class="ipsEmoji">🔑</span> Po otevření portu dej kamarádům <strong>tvou veřejnou IP adresu</strong> (najdeš ji na <a href="https://www.whatismyip.com/" rel="external nofollow">WhatIsMyIP</a>) a připojí se stejným způsobem (ne connect localhost, ale přes ip).
</p>

<hr />
<h1>
	<span class="ipsEmoji">🔧</span> <strong>6. Instalace módů a skriptů</strong>
</h1>

<p>
	<span class="ipsEmoji">📂</span> Stáhni mód nebo skript.<br />
	<span class="ipsEmoji">📁</span> Rozbal ho do složky <code>resources</code> ve tvém serveru.<br />
	<span class="ipsEmoji">📌</span> Otevři <code>server.cfg</code> a přidej:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">ensure nazevmodu</span></pre>

<p>
	<span class="ipsEmoji">🔄</span> Restartuj server a užívej si nový obsah! <span class="ipsEmoji">🚀</span>
</p>

<hr />
<h1>
	<span class="ipsEmoji">🤝</span> <strong>Máte dotazy? Kontaktujte mě!</strong>
</h1>

<p>
	<span class="ipsEmoji">💌</span> <strong>Autor návodu: Neznamycz</strong><br />
	<span class="ipsEmoji">📩</span> <strong>Discord:</strong> neznamycz
</p>

<p>
	<span class="ipsEmoji">🔥</span> <strong>Teď už víš, jak vytvořit svůj vlastní FiveM server! Tak na co čekáš? Pusť se do toho a bav se!</strong> <span class="ipsEmoji">🎉</span>
</p>
]]></description><guid isPermaLink="false">6073</guid><pubDate>Thu, 20 Mar 2025 07:48:03 +0000</pubDate></item><item><title>OX sklad</title><link>https://fivem-dev.cz/topic/3621-ox-sklad/</link><description><![CDATA[<p>
	Ahoj ahoj , 
</p>

<p>
	Hele nejde mi to hlavy jak udělat sklad přes OX inv v stasther.lua ... 
</p>

<p>
	    {<br />
	        coords = vec3(1304.1831, 1103.3204, 104.6292),<br />
	        target = {<br />
	            loc = vec3(1304.1831, 1103.3204, 104.6292),<br />
	            length = 1.2,<br />
	            width = 5.6,<br />
	            heading = 0,<br />
	            minZ = 29.49,<br />
	            maxZ = 32.09,<br />
	            label = 'TEST OX SKLAD!'<br />
	        },<br />
	        name = 'TEST1',<br />
	        label = 'TESTING',<br />
	        owner = true,<br />
	        slots = 70,<br />
	        weight = 70000,<br />
	        groups = shared.taxi<br />
	    },
</p>

<p>
	 
</p>

<p>
	Kdyz nedam groups prazdny tak to nevidím , kdyz dám shared nebo urciti rank a za to 0 , tak to vidí pouze jeden clovek kazdy svuj vlastni sklad... 
</p>

<p>
	Takze se ptam jak docilim toho aby udelal v stashes v ox intvenotry . SKLAD verejny a aby ho videli vsichni a mohli znej brat a davat veci . DIky mockrat.
</p>
]]></description><guid isPermaLink="false">3621</guid><pubDate>Mon, 08 Jul 2024 16:20:05 +0000</pubDate></item><item><title>Jak vytunit hlavn&#xED; str&#xE1;nku v server listu &#x1F64C;!</title><link>https://fivem-dev.cz/topic/3377-jak-vytunit-hlavn%C3%AD-str%C3%A1nku-v-server-listu-%F0%9F%99%8C/</link><description><![CDATA[<p style="text-align:center;">
	<span style="font-size:28px;"><strong>Ahoj, <span style="color:#e74c3c;">prezentace</span> serveru a <span style="color:#e74c3c;">první dojem</span> je jeden z velmi důležitých aspektů jak <span style="color:#3498db;">oslovit více lidí</span> na tvůj server, proto jsem tu dnes od toho, abych ti pomohl toho docílit <span class="ipsEmoji">😎</span>!</strong></span><br />
	<a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.50730e55c2b9b248ec8d40670ab159e2.png" data-fileid="145" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="145" data-ratio="26.70" width="1000" alt="image.thumb.png.10cd16966396cfa86fe07f25e8125196.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.thumb.png.10cd16966396cfa86fe07f25e8125196.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	<span style="font-size:28px;"><span style="color:#2ecc71;"><u><strong>1. Jméno serveru</strong></u></span></span><br />
	<a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.9b42b1208474941d5799ae56828338f1.png" data-fileid="149" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="149" data-ratio="37.50" width="1000" alt="image.thumb.png.ffaaf4842697964c927888cb3ab1e1ac.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.thumb.png.ffaaf4842697964c927888cb3ab1e1ac.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a><br />
	<b>- Úplným základem je se <span style="color:#2ecc71;">zviditelnit</span>, proto to chce <span style="color:#2ecc71;">chytlavé</span> a <span style="color:#2ecc71;">výstižné</span> jméno (myšleno něco krátkého), co se dobře <span style="color:#2ecc71;">zapamatuje<span class="ipsEmoji">✨</span></span>!<br />
	- Dají se použít různé styly, buď jednoduše <span style="color:#8e44ad;">pouze název serveru<span class="ipsEmoji">💬</span></span> a nebo<span style="color:#8e44ad;"> přidání hlavních informací<span class="ipsEmoji">📄</span></span> a to například WL-ON/WL-OFF, odkaz na discord, info o frakcích. <br />
	- Použij ve jméně lomítka, dobře to oddělí různé informace a <span style="color:#f39c12;">vypadá to cool</span> </b><span style="font-size:16px;"><span style="color:rgba(0,0,0,0.87);"><span class="ipsEmoji">🤙</span><b>! - [] , &lt;&gt; , | , ● atd. atd.</b></span></span><br />
	<b>- Použij <span style="color:#d35400;">emoji</span>! Také supr věcička ve jméně,<span style="color:#f1c40f;"> </span><span style="color:#d35400;">více nadchne</span> než čistý text! Klikni </b><span style="font-size:16px;"><span style="color:rgba(0,0,0,0.87);"><b><a href="https://www.getemoji.com/" rel="external nofollow">&gt; ZDE &lt;</a> </b></span></span><b>pro list emoji <span class="ipsEmoji">😉</span>!</b><br />
	<b>- Použij <span style="color:#c0392b;">B</span><span style="color:#e67e22;">A</span><span style="color:#8e44ad;">R</span><span style="color:#2ecc71;">V</span><span style="color:#f1c40f;">Y</span> ve jméně! Já toho nejsem moc zastánce, ale pokud se to dobře vyváží, může to vypadat velmi libově<span class="ipsEmoji">🔴</span><span class="ipsEmoji">🟠</span><span class="ipsEmoji">🟡</span><span class="ipsEmoji">🟢</span><span class="ipsEmoji">🔵</span>!<br />
	<br />
	<u>Například:</u></b>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">sv_hostname "^0[CMRP] <span class="ipsEmoji">💫</span> ^5[CZ/SK] [WL] RolePlay <span class="ipsEmoji">💥</span> ^82024 | DEV"</span></pre>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="146" data-ratio="9.91" width="575" alt="image.png.568c93e4b7b261ea63c6ac99bb9c8da8.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.568c93e4b7b261ea63c6ac99bb9c8da8.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" />
</p>

<p>
	<b>Čísla a barvy:<br />
	^0 - Bílá <span class="ipsEmoji">⚪</span><br />
	^1 - <span style="color:#c0392b;">Červená</span><br />
	^2 - <span style="color:#2ecc71;">Zelená</span><br />
	^3 - <span style="color:#f1c40f;">Žlutá</span><br />
	^4 - <span style="color:#2980b9;">Modrá</span><br />
	^5 - <span style="color:#3498db;">Světle modrá</span><br />
	^6 - <span style="color:#8e44ad;">Fialová</span><br />
	^7 - Bílá <span class="ipsEmoji">⚪</span><br />
	^8 - <span style="color:#f39c12;">Oranžová</span><br />
	^9 - <span style="color:#bdc3c7;">Šedivá</span></b>
</p>

<p>
	<span style="font-size:28px;"><u><strong><span style="color:#3498db;">2. Server Icon</span></strong></u></span><br />
	<a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.5a3f07cb948110995b79fa167c6c2541.png" data-fileid="148" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="148" data-ratio="37.50" width="1000" alt="image.thumb.png.0ab3542f1157fcfe88a1ac33b646e02b.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.thumb.png.0ab3542f1157fcfe88a1ac33b646e02b.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a><br />
	<b>- Serverová ikona by se měla <span style="color:#9b59b6;">odvíjet od názvu serveru</span>. Například my máme název RoyalZone, a proto máme ikonu RZ <span style="color:#e67e22;">s iniciálami</span>, nebo když se jmenuješ Diamond, tak tam dej třeba <span style="color:#e67e22;">ikonu </span>diamantu, je na tobě co si vybereš <span class="ipsEmoji">😋</span>.<br />
	<br />
	<u>Jak na změnu ikony: </u><br />
	1. Otevři ftp a jdi do složky -<span style="color:#e74c3c;"> </span><span style="color:#2ecc71;">server-data </span>(kde se ti nachází <span style="color:#9b59b6;">server.cfg</span>)<br />
	2. Otevři <span style="color:#9b59b6;">server.cfg</span><br />
	3. <span style="color:#2ecc71;">Najdi</span> tento řádek a pokud ho <span style="color:#c0392b;">nemáš tak ho vytvoř</span>! ↓↓</b>
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">load_server_icon myLogo</span><span class="pun">.</span><span class="pln">png</span></pre>

<p>
	<b>4. myLogo.png <span style="color:#f1c40f;">změň</span> na název obrázku, který zde chceš nahrát. - Např. RoyalZone.png <span style="color:#c0392b;">(POZOR! Obrázek musí mít <u>96x96 pixelů</u> a musí být ve formátu <u>.png</u>!) </span><a href="https://the-image-editor.com/image/resize" rel="external nofollow">ZDE uprav obrázek</a><br />
	5. Nahraj obrázek na ftp do stejné directory, jako je <span style="color:#9b59b6;">server.cfg</span>, takže do <span style="color:#2ecc71;">[server-data]</span><br />
	<span style="color:#2980b9;">HOTOVO A GRATULUJI! NENI TO TAK HARD NE? TAK LETS GO A JDEME DÁL :D!</span></b><br />
	<span style="font-size:28px;"><u><strong><span style="color:#f39c12;">3. Banner</span></strong></u></span><br />
	<a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.70047cfea2aa6fbbcddad0e5fd2dfa4d.png" data-fileid="152" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="152" data-ratio="37.50" width="1000" alt="image.thumb.png.635b6418c0bbc990b1498ed14b938905.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.thumb.png.635b6418c0bbc990b1498ed14b938905.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a><br />
	<strong>- Banner, jaká to krásná věc, která <span style="color:#2980b9;">vyplní tu prázdnotu</span>, která tam bez něj je. Co si budeme, bez něj to není to <span style="color:#8e44ad;">pravé ořechové<span class="ipsEmoji">🍈</span></span>!<br />
	- <span style="color:#c0392b;">Na velikosti banneru nezáleží</span>, prostě nějaký .png obrázek co bude obdélníkového tvaru.<br />
	<br />
	<u>Jak na to:</u><br />
	1. Vytvoř obrázek<br />
	2. Nahraj ho na net, například <a href="https://imgur.com/" rel="external nofollow">-&gt; ZDE &lt;-</a><br />
	3. Zkopíruj odkaz<br />
	4. Otevři <span style="color:#8e44ad;">server.cfg</span><br />
	5. Napiš zde toto:</strong>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">sets banner_detail "https://r2.fivemanage.com/wHT6d5Ld0cNodEeIBUDI8/rzbanner.png"</span></pre>

<p>
	<strong>6. Do uvozovek vlož svůj odkaz na obrázek a máš hotovo!</strong>
</p>

<p>
	<span style="font-size:28px;"><span style="color:#e74c3c;"><strong><u>4. Popisek</u></strong></span></span><br />
	<a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.4060845e50c67019c491f2c3f7022064.png" data-fileid="151" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="151" data-ratio="37.40" width="1000" alt="image.thumb.png.aded4f6a0e0bd3f588903a0946d30ad7.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.thumb.png.aded4f6a0e0bd3f588903a0946d30ad7.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a><br />
	<b>- Prostá, ale přesto <span style="color:#e67e22;">velmi přínosná funkce</span>. Popiskem můžeš ve zkratce <span style="color:#2980b9;">prezentovat </span>svůj server, říct hráčům<span style="color:#2980b9;"> co nabízí</span> a na co se <span style="color:#2980b9;">mohou těšit<span class="ipsEmoji">🕍</span></span>.<br />
	<br />
	<u>Jak na to:</u><br />
	1. Otevři <span style="color:#9b59b6;">server.cfg</span><br />
	2. Najdi nebo zadej toto:</b>
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">sets sv_projectDesc </span><span class="str">"- Připravujeme server pro Vás"</span></pre>

<p>
	<b>3. Přepiš to co je v závorkách na libovolný text a VOALA máme hotovo!</b>
</p>

<p>
	<br />
	<span style="font-size:28px;"><span style="color:#8e44ad;"><strong><u>5. Odkazy, informace ...</u></strong></span></span><br />
	<a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.77534455db291dc20f3f78bfc1a9d8b8.png" data-fileid="153" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="153" data-ratio="19.50" width="1000" alt="image.thumb.png.8c7ce8a86b0e0e3da991a5301e42c389.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.thumb.png.8c7ce8a86b0e0e3da991a5301e42c389.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a><br />
	<b>- Krásná funkce, kterou by bylo <span style="color:#ff00cc;">hřích nevyužít</span> a že těch serverů co to nevyužívá je hodně<span class="ipsEmoji">🤯</span>.<br />
	- Ukaž komunitě a novým hráčům svoje <span style="color:#2ecc71;">webovky</span>, <span style="color:#2980b9;">discord </span>server, dej jim<span style="color:#8e44ad;"> informace</span> jaké chceš!<br />
	<br />
	<u>Jak na to:</u><br />
	1. Otevři si <span style="color:#9b59b6;">server.cfg</span><br />
	2. Napiš zde toto: </b>
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">sets nadpis odkaz</span></pre>

<p>
	<b>Takhle to vypadá v<span style="color:#9b59b6;"> server.cfg:</span> (Dvojtečka se tam dá automaticky a řadí se to podle abecedy. Developer je první, protože začíná na D a Web poslední, protože začíná na W)</b><img class="ipsImage ipsImage_thumbnailed" data-fileid="155" data-ratio="16.80" width="363" alt="image.png.2ed04701a062c568bc815c097647a7e7.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.2ed04701a062c568bc815c097647a7e7.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" />
</p>

<p>
	<span style="font-size:28px;"><span style="color:#ff6699;"><strong><u>6. Feed serveru</u></strong></span></span><br />
	<a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.309c89ffdcc7ccad1597ce7f052a9e2e.png" data-fileid="154" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="154" data-ratio="34.50" width="1000" alt="image.thumb.png.51c85fdad74b9c2845199b7c46d7e45e.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.thumb.png.51c85fdad74b9c2845199b7c46d7e45e.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a><br />
	<b>- Tak jo, poslední věc, která je fakt mega cool a dají se s ní dělat divy. Moc serverů ji nemá, protože ani neví že tato možnost zde je, takže pojďme se podívat na to, jak to udělat.<br />
	<br />
	<u>Jak na to:</u><br />
	1. Založ si účet na MASTODON - <a href="https://joinmastodon.org/cs" rel="external nofollow">ZDE</a><br />
	2. Najdi svůj odkaz na účet</b><br />
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="156" data-ratio="73.00" width="400" alt="image.png.f2ce79c9f31c4b4942ee6cfd0639b162.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.f2ce79c9f31c4b4942ee6cfd0639b162.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><br />
	<b>3. Zkopíruj svůj odkaz a vlož ho do <span style="color:#9b59b6;">server.cfg</span> v této podobě <span style="color:#c0392b;">BEZ PRVNÍHO @</span></b>
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">sets activitypubFeed RoyalZone</span><span class="pun">@</span><span class="pln">mastodon</span><span class="pun">.</span><span class="pln">social</span></pre>

<p>
	<strong>(Udělej to jako já, jen pozměň náš účet za svůj <span class="ipsEmoji">😊</span>)<br />
	4. Nahraj na ten účet fotky, svoje myšlenky, dev-logy, vše co tě napadne a do 20min od postnutí to máš i na své hlavní stránce na server page!</strong><br />
	<br />
	<span style="font-size:20px;"><strong><em><span style="color:#f39c12;">Snad byl návod k něčemu užitečný a snad pomohl, přeji hezký den a GL s Developingem!</span><br />
	- Neznamycz</em></strong></span>
</p>

<p><a href="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.831f98c45408c5a9a21778b1c34c07f0.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="147" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" data-src="https://fivem-dev.cz/uploads/monthly_2024_06/image.png.831f98c45408c5a9a21778b1c34c07f0.png" data-ratio="38.75" width="369" class="ipsImage ipsImage_thumbnailed" alt="image.png"></a></p>]]></description><guid isPermaLink="false">3377</guid><pubDate>Thu, 13 Jun 2024 00:24:00 +0000</pubDate></item><item><title>[ESX] Jak opravit jm&#xE9;no vozu z NULL na vlastn&#xED;</title><link>https://fivem-dev.cz/topic/3206-esx-jak-opravit-jm%C3%A9no-vozu-z-null-na-vlastn%C3%AD/</link><description><![CDATA[<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	Zdravím, <br />
	jelikož mnoho lidí neví co dělat s tím že jim v garážích vyskakují vozidla jako NULL a ne s jejich jménem tak jsem zde abych vám ukázal jak na to <img alt=":classic_wink:" data-emoticon="" height="20" src="https://old.fivem-dev.cz/uploads/emoticons/wink.png" srcset="https://old.fivem-dev.cz/uploads/emoticons/wink@2x.png 2x" style="border-style:none;vertical-align:middle;" title=":classic_wink:" width="20" />.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<u><strong>1. Bod</strong></u><br />
	<em>Začneme vytvořením lehkého scriptu kam budeme vkládat jména vozidel.</em><br />
	<em>- Vytvoříme složku, kterou pojmenujeme například<span> </span><strong>vehiclenames </strong></em><br />
	<a href="https://old.fivem-dev.cz/uploads/monthly_2022_09/image.png.1018976dee562dd4f683e62f1c7ec3e8.png" style="background-color:transparent;color:#3d6594;" title="Enlarge image" rel="external nofollow"><img alt="image.png.1018976dee562dd4f683e62f1c7ec3e8.png" data-fileid="1651" data-ratio="7.32" style="border-style:none;vertical-align:middle;height:auto;" width="642" data-src="https://old.fivem-dev.cz/uploads/monthly_2022_09/image.png.1018976dee562dd4f683e62f1c7ec3e8.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<u><strong>2. Bod</strong></u><br />
	<em>Ve složce si uděláme 2 soubory<br />
	1. - fxmanifest.lua<br />
	2. - vehicle_names.lua</em>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<em> </em><a href="https://old.fivem-dev.cz/uploads/monthly_2022_09/image.png.a2325b6e80ab55e2b9bdce1a9bed38cd.png" style="background-color:transparent;color:#3d6594;" title="Enlarge image" rel="external nofollow"><img alt="image.png.a2325b6e80ab55e2b9bdce1a9bed38cd.png" data-fileid="1652" data-ratio="20.09" style="border-style:none;vertical-align:middle;height:auto;" width="652" data-src="https://old.fivem-dev.cz/uploads/monthly_2022_09/image.png.a2325b6e80ab55e2b9bdce1a9bed38cd.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a><br />
	 
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<u><strong>3. Bod</strong></u><br />
	<em>Do<span> </span><strong>fxmanifest.lua</strong><span> </span>vložíme následující:</em>
</p>

<pre style="border:1px solid #888888;color:#353c41;font-size:14px;padding:2px;"><span style="color:#000000;">fx_version 'bodacious'
game 'gta5'

client_script {
    'vehicle_names.lua'
}</span></pre>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<em>A do<span> </span><strong>vehicle_names.lua</strong><span> </span>vložíme:</em>
</p>

<pre style="border:1px solid #888888;color:#353c41;font-size:14px;padding:2px;"><span style="color:#000000;">function AddTextEntry(key, value)
	Citizen.InvokeNative(GetHashKey("ADD_TEXT_ENTRY"), key, value)
end

Citizen.CreateThread(function()
    --Prikald 1: AddTextEntry('SPAWN_JMÉNO_ZDE', 'VAŠE_JMÉNO_VOZIDLA_ZDE')
    AddTextEntry('polnspeedo', 'Dodávka') -- Například
end)</span></pre>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<i>Máte zde napsaný příklad vložení jména pro vozidlo. První se vkládá<span> </span><strong>spawn kód</strong><span> </span>vozidla a do druhého políčka<span> </span><strong>jméno vozidla</strong>, které se bude zobrazovat v garáži.</i>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<br />
	<u>Po přidání vozidel to může vypadat třeba i takto:</u><br />
	<a href="https://old.fivem-dev.cz/applications/core/interface/js/spacer.png" style="background-color:transparent;color:#3d6594;" title="Enlarge image" rel="external nofollow"><img alt="image.png.8bdbc43756d6f20ca01c15db0cf2eea3.png" data-fileid="1654" data-ratio="163.27" style="border-style:none;vertical-align:middle;height:auto;" width="441" data-src="https://old.fivem-dev.cz/uploads/monthly_2022_09/image.png.8bdbc43756d6f20ca01c15db0cf2eea3.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<u><strong>4. Bod</strong></u><br />
	<em>Nyní jen hodíme script do server.cfg jako :<span> </span></em><strong>ensure vehiclenames<span> </span></strong><em>a server restartujeme.</em>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	 
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<em>V případě jakýchkoliv dotazů mě kontaktujte.<br />
	S přáním hezkého dne<br />
	Neznamycz</em>
</p>
]]></description><guid isPermaLink="false">3206</guid><pubDate>Sun, 12 May 2024 14:28:23 +0000</pubDate></item><item><title>[TEXT-UI] Zm&#x11B;na text-ui z esx na ox</title><link>https://fivem-dev.cz/topic/129-text-ui-zm%C4%9Bna-text-ui-z-esx-na-ox/</link><description><![CDATA[<p>
	<strong>1)</strong> <strong>Verze</strong><br /><em>Půjdeme do </em><strong>esx_textui/TextUI.lua</strong><em> najdeme si  :</em>
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">    exports</span><span class="pun">[</span><span class="str">'esx_textui'</span><span class="pun">]:</span><span class="pln">showTextUI</span><span class="pun">(</span><span class="pln">message</span><span class="pun">)</span></pre>

<p>
	<br /><em>Následně </em><strong>esx_textui </strong>nahradíme <strong>ox_lib :</strong>
</p>

<p>
	 
	</p><pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">    exports</span><span class="pun">[</span><span class="str">'ox_lib'</span><span class="pun">]:</span><span class="pln">showTextUI</span><span class="pun">(</span><span class="pln">message</span><span class="pun">)</span></pre>
	<em>Taktéž by to mělo vypadat i u </em><strong>hideTextUI :</strong>


<p>
	 
	</p><pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">   exports</span><span class="pun">[</span><span class="str">'ox_lib'</span><span class="pun">]:</span><span class="pln">hideTextUI</span><span class="pun">()</span></pre>
	<br /><strong>2) Verze</strong>


<p>
	<em>Půjdeme do </em><strong>esx_textui/TextUI.lua </strong><em>najdeme si :</em>
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">    SendNUIMessage</span><span class="pun">({</span><span class="pln">
        action </span><span class="pun">=</span><span class="pln"> </span><span class="str">'show'</span><span class="pun">,</span><span class="pln">
        message </span><span class="pun">=</span><span class="pln"> message </span><span class="kwd">and</span><span class="pln"> message </span><span class="kwd">or</span><span class="pln"> </span><span class="str">'ESX-TextUI'</span><span class="pun">,</span><span class="pln">
        type </span><span class="pun">=</span><span class="pln"> type</span><span class="pun">(</span><span class="pln">typ</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"string"</span><span class="pln"> </span><span class="kwd">and</span><span class="pln"> typ </span><span class="kwd">or</span><span class="pln"> </span><span class="str">'info'</span><span class="pln">
    </span><span class="pun">})</span></pre>

<p>
	<br /><em>Následně toto celé vymažeme a nahradíme </em><span><em>:</em><br />
	 </span>
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">    exports</span><span class="pun">[</span><span class="str">'ox_lib'</span><span class="pun">]:</span><span class="pln">showTextUI</span><span class="pun">(</span><span class="pln">message</span><span class="pun">)</span></pre>

<p>
	 
	</p><p>
		<em>Taktéž by to mělo vypadat i u </em><strong>hideTextUI :</strong><br />
		 
	</p>


<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">   exports</span><span class="pun">[</span><span class="str">'ox_lib'</span><span class="pun">]:</span><span class="pln">hideTextUI</span><span class="pun">()</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">129</guid><pubDate>Tue, 14 Mar 2023 18:54:55 +0000</pubDate></item><item><title>Jak p&#x159;idat ymap s addon propem</title><link>https://fivem-dev.cz/topic/1099-jak-p%C5%99idat-ymap-s-addon-propem/</link><description><![CDATA[<p>
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">1) Stáhněte si<span> </span></span><strong style="color:#353c41;font-size:14px;">OpenIV<span> </span></strong><span style="background-color:#ffffff;color:#353c41;font-size:14px;">- </span><a href="https://openiv.com/" rel="external nofollow" style="background-color:transparent;color:#3d6594;font-size:14px;">https://openiv.com/</a><br />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">2) V záložce<span> </span></span><strong style="color:#353c41;font-size:14px;">Tools<span> </span></strong><span style="background-color:#ffffff;color:#353c41;font-size:14px;">-<span> </span></span><strong style="color:#353c41;font-size:14px;">ASI Manager</strong><span style="background-color:#ffffff;color:#353c41;font-size:14px;"><span> </span>si nainstalujte<span> </span></span><strong style="color:#353c41;font-size:14px;">OpenIV.ASI</strong><br />
	<img alt="IMG_0234.png.b263627af4ee4b599238962335f56b06.png" class="ipsImage ipsImage_thumbnailed" data-fileid="112" data-ratio="68.80" style="height:auto;" width="500" data-src="https://fivem-dev.cz/uploads/monthly_2023_09/IMG_0234.png.b263627af4ee4b599238962335f56b06.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" />
</p>

<p>
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">------------------------------------------</span><br style="color:#353c41;font-size:14px;" />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">3) Stáhněte si mod od tvůrce LAFA2K -<span> </span></span><a href="http://www.mediafire.com/file/chu0yv7tb5eyb43/LAFA2K_TUTORIAL.rar/file" rel="external nofollow" style="background-color:transparent;color:#3d6594;font-size:14px;">odkaz</a><br style="color:#353c41;font-size:14px;" />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">Pro případ, že by již byl odkaz nefunkční: </span><br />
	<a class="ipsAttachLink" data-fileext="rar" data-fileid="113" href="https://fivem-dev.cz/applications/core/interface/file/attachment.php?id=113&amp;key=b40a8fed222800fde25abeebd49258a3" rel="">LAFA2K_TUTORIAL.rar</a>
</p>

<p>
	<br />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">------------------------------------------</span><br style="color:#353c41;font-size:14px;" />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">4) Rozbalte zip a otevřte v OpenIV soubor lafa2k_tutorial.oiv</span><br />
	<img alt="IMG_0235.png.a11bba78295aa31e32a2662be3808675.png" class="ipsImage ipsImage_thumbnailed" data-fileid="114" data-ratio="5.25" style="height:auto;" width="610" data-src="https://fivem-dev.cz/uploads/monthly_2023_09/IMG_0235.png.a11bba78295aa31e32a2662be3808675.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" />
</p>

<p>
	<br />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">------------------------------------------<br />
	5) Nabídne vám<span> </span></span><strong style="color:#353c41;font-size:14px;">instalaci</strong><br />
	<img alt="IMG_0236.png.51409decc911a3646a557f485ca50030.png" class="ipsImage ipsImage_thumbnailed" data-fileid="115" data-ratio="69.80" style="height:auto;" width="500" data-src="https://fivem-dev.cz/uploads/monthly_2023_09/IMG_0236.png.51409decc911a3646a557f485ca50030.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">------------------------------------------<br />
	6) Po instalaci vložte propy do<span> </span></span><strong style="color:#353c41;font-size:14px;">props.rpf</strong><strong style="color:#353c41;font-size:14px;">,</strong><strong style="color:#353c41;font-size:14px;"> je nutné přiložit také ytyp soubor</strong><br />
	<img alt="IMG_0237.png.5e1083dbb20b1ab9ef75da6a74c2d32e.png" class="ipsImage ipsImage_thumbnailed" data-fileid="116" data-ratio="74.20" style="height:auto;" width="500" data-src="https://fivem-dev.cz/uploads/monthly_2023_09/IMG_0237.png.5e1083dbb20b1ab9ef75da6a74c2d32e.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><br />
	<br />
	<br />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">------------------------------------------<br />
	7) Stáhněte si Code Walker -<span> </span></span><a href="https://www.gta5-mods.com/tools/codewalker-gtav-interactive-3d-map" rel="external nofollow" style="background-color:transparent;color:#3d6594;font-size:14px;">odkaz</a><span style="background-color:#ffffff;color:#353c41;font-size:14px;"> (doporučuji nejnovější z jejich<span> </span></span><a href="https://discord.gg/BxfKHkk" rel="external nofollow" style="background-color:transparent;color:#3d6594;font-size:14px;">discordu</a><span style="background-color:#ffffff;color:#353c41;font-size:14px;">)</span><br style="color:#353c41;font-size:14px;" />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">8) Po sputění Code Walkeru nechte vše načíst a poté zaškrtněte<span> </span></span><strong style="color:#353c41;font-size:14px;">Enable Mods</strong><span style="background-color:#ffffff;color:#353c41;font-size:14px;"><span> </span>a</span><strong style="color:#353c41;font-size:14px;"><span> </span>Enable DLC<span> </span></strong><span style="background-color:#ffffff;color:#353c41;font-size:14px;">(pokud již není).</span><br style="color:#353c41;font-size:14px;" />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">CW si přenačte složky a v DLC Level vyberte možnost lafa2k_tutorial.</span><br />
	<img alt="IMG_0238.png.75d8a86c8c954c05df502e28e4fa1808.png" class="ipsImage ipsImage_thumbnailed" data-fileid="117" data-ratio="233.50" style="height:auto;" width="200" data-src="https://fivem-dev.cz/uploads/monthly_2023_09/IMG_0238.png.75d8a86c8c954c05df502e28e4fa1808.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><br />
	<br />
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">9) Nyní je v CW načetlý i addon props a můžete jej využívat např. k vytvoření ymap souboru</span><br />
	<img alt="IMG_0239.png.ad7e83a3aec08e9b65ae17678ae5e3e5.png" class="ipsImage ipsImage_thumbnailed" data-fileid="118" data-ratio="56.00" style="height:auto;" width="500" data-src="https://fivem-dev.cz/uploads/monthly_2023_09/IMG_0239.png.ad7e83a3aec08e9b65ae17678ae5e3e5.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" />
</p>

<p>
	 
</p>

<p>
	10) Po vytvoření mapy si nezapomeňte vygenerovat _<strong>manifest</strong>. Ten je nutný pro načítání všech ytyp souborů. Také je možnost ytyp soubory načítat zvlášť v fxmanifestu vložením níže uvedeného řádku. Cestu upravte tak, aby odpovídala k umístění vašeho YTYP souboru.
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">data_file </span><span class="str">'DLC_ITYP_REQUEST'</span><span class="pln"> </span><span class="str">'stream/NAZEV_VASEHO_YTYPU.ytyp'</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">1099</guid><pubDate>Wed, 13 Sep 2023 09:20:30 +0000</pubDate></item><item><title>Jak p&#x159;idat na server YMAP</title><link>https://fivem-dev.cz/topic/4-jak-p%C5%99idat-na-server-ymap/</link><description><![CDATA[<p>
	<strong>1) </strong>Najdeme si nějakou mapu, u které je napsáno [YMAP] <em>(Např. <a href="https://www.gta5-mods.com/maps/map-housse-fivem" rel="external nofollow">https://www.gta5-mods.com/maps/map-housse-fivem</a>)</em>
</p>

<p>
	<strong>2) </strong>Tuto mapu si stáhněte do svého počítače.
</p>

<p>
	<strong>3) </strong>Udělejte si složku s názvem vaší mapy <em>(V mém případě house)</em>
</p>

<p>
	<strong>4) </strong>V této složce udělejte složku stream a tam přetáhněte .ymap soubor
</p>

<p>
	<strong>5) </strong>V prvmí složce vytvořte soubor <strong>__resource.lua</strong>
</p>

<p>
	<strong>6) </strong>Poté už jen přejděte do server.cfg a zapěnte složku s vaši mapou. <em>(ensure house)</em>
</p>
]]></description><guid isPermaLink="false">4</guid><pubDate>Sat, 18 Feb 2023 18:38:38 +0000</pubDate></item><item><title>N&#xE1;vod na oble&#x10D;en&#xED; #2 | Addon v&#x11B;ci</title><link>https://fivem-dev.cz/topic/86-n%C3%A1vod-na-oble%C4%8Den%C3%AD-2-addon-v%C4%9Bci/</link><description><![CDATA[<p>
	Vítám Vás opět u dalšího návodu, dneska se podíváme na přidávání oblečení jako Addon. Opět budu postupovat v krocích, aby to pro Vás bylo snadší. <br />
	 
</p>

<p>
	<strong><span><span style="color:rgb(231,76,60);">Upozorňuji, že pro tuto akci je třeba mít zakoupený </span><a href="https://www.patreon.com/fivem" rel="external nofollow"><span style="color:rgb(231,76,60);">Patreon</span></a><span style="color:rgb(231,76,60);">, který nám dovoluje streamovat oblečení !!!   </span></span></strong><br />
	 
</p>

<p>
	Abych vysvětlil, jak funguje tento proces, tak do GTAV se přidává oblečení pomocí vytváření nového DLC, jistě víte, že GTAV má mnoho DLCček, ve kterém jsou také oblečení, to také můžeme pozorovat na předponách souborů při nahrávání oblečení jako replace (př. mp_m_freemode_01_mp_m_<strong>battle</strong>^jbib_002_u.ydd - jedná se o DLC Battle). My si tedy vytvoříme vlastní DLC, které nám zajistí, že oblečení, které v něm bude, najdeme na posledních pozicí v obchodě.
</p>

<p>
	Můžeme použít několik programů, já uvedu ten, který je zdarma, možná je s ním někdy více práce, ale nemusí se za něj platit a práci dokáže vykonat. Já osobně používám dva programy na vytváření a správu oblečení a provedu Vás tím prvním, vytváření nového DLC pro FiveM. Budeme si potřebovat stáhnout následující program <a href="https://github.com/indilo53/altv-cloth-tool" rel="external nofollow"><span style="color:rgb(52,152,219);">alt:V Cloth Tool</span></a><span style="color:rgb(52,152,219);"></span>. Jedná se o open-source program, který se sice už dlouho dobu neupdatuje, ale stále funguje a je hlavně zdarma.
</p>

<p>
	Rychlé rozebrání uživatelského rozhraní programu:<br /><a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2023_03/addon_4.png.478f70b13651f4bd4a95f2b5e6062483.png" data-fileid="79" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="79" data-ratio="50.57" style="width:700px;height:auto;" width="1000" alt="addon_4.thumb.png.059e6c8f0c6f7bfc381cae56212dc259.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/addon_4.thumb.png.059e6c8f0c6f7bfc381cae56212dc259.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a><br /><br />
	Připravíme si tedy testovací oblečení, na kterém Vás provedu. Použiji čepici od <em>sergeantfranki </em>(<a href="https://thinlinesanctuary.com/pages/tactical-baseball-hat" rel="external nofollow"><span style="color:rgb(52,152,219);">zdroj</span></a>).
</p>

<ol><li>
		Stáhneme si tedy oblečení, otevřeme, vytáhneme si věci pro FiveM do externí složky a rozdělíme podle pohlaví postav ve hře (male / female). Celé by to tedy mělo vypadat nějak takto. <em>(kroky děláme to u obou pohlaví, já budu ukazovat pouze jedno)</em><br />
		       <img class="ipsImage ipsImage_thumbnailed" data-fileid="75" data-ratio="30.75" style="width:400px;height:auto;" width="961" alt="addon_1.png.cafbd9284ec88e833617170447da18b1.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/addon_1.png.cafbd9284ec88e833617170447da18b1.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><br /><img class="ipsImage ipsImage_thumbnailed" data-fileid="76" data-ratio="71.33" style="width:450px;height:auto;" width="961" alt="addon_2.png.0ad432385935331b28471ea977c0c8ec.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/addon_2.png.0ad432385935331b28471ea977c0c8ec.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></li>
	<li>
		Aby to mohl náš program zpracovat, musíme tomu odstranit předpony. Takže po úpravě by to mělo vypadat následovně. <em>(doporučuji vždy začínat od _000)</em><br /><img class="ipsImage ipsImage_thumbnailed" data-fileid="80" data-ratio="71.33" style="width:450px;height:auto;" width="961" alt="addon_3.png.16a4dd9cc8eae7a30b9cda57e7c2fe51.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/addon_3.png.16a4dd9cc8eae7a30b9cda57e7c2fe51.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></li>
	<li>
		Nyní můžeme vše nahrát do programu, doporučuji kontrolovat, jestli se nám automaticky nahrály všechny textury, jestli ne, můžete je nahrát ručně. Vytvoříme a zvolíme <strong>output </strong>složku a projekt můžeme buildnout. Když Vám to napíše hlášku <strong>Resource built!</strong>, tento krok jste zvládli, pokud Vám program crashnul, udělejte to znova a postupujte pečlivě.<br /><a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2023_03/addon_5.png.473beba54b938724fab9024632e9cb4a.png" data-fileid="81" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="81" data-ratio="37.14" style="width:700px;height:auto;" width="1000" alt="addon_5.thumb.png.f43d3de47729ace7d4358a6aa90c8487.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/addon_5.thumb.png.f43d3de47729ace7d4358a6aa90c8487.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a>
	</li>
	<li>
		Vrhneme se tedy na úpravu složky, ještě to není vše.<br /><a class="ipsAttachLink ipsAttachLink_image" href="https://fivem-dev.cz/uploads/monthly_2023_03/addon_6.png.9f9bcbb2ad845fa5c7ce4722adb48ea1.png" data-fileid="82" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="82" data-ratio="31.56" style="width:450px;height:auto;" width="1000" alt="addon_6.thumb.png.716ea0f4d8162193d08403cd5cfc6367.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/addon_6.thumb.png.716ea0f4d8162193d08403cd5cfc6367.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a><br />
		Máme tedy takto vytvořenou složku a otevřeme si <strong>fxmanifest.lua </strong>pomocí Vámi zvoleného programu, klidně můžete použít Notepad od Microsoftu a vnitřek upravíme následově.
		<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">fx_version </span><span class="str">'cerulean'</span><span class="pln">
game </span><span class="str">'gta5'</span><span class="pln">


files </span><span class="pun">{</span><span class="pln">
    </span><span class="str">"mp_f_freemode_01_mp_f_tutorial.meta"</span><span class="pun">,</span><span class="pln">
    </span><span class="str">"mp_m_freemode_01_mp_m_tutorial.meta"</span><span class="pln">
 </span><span class="pun">}</span><span class="pln">

data_file </span><span class="str">"SHOP_PED_APPAREL_META_FILE"</span><span class="pln"> </span><span class="str">"mp_f_freemode_01_mp_f_tutorial.meta"</span><span class="pln">
data_file </span><span class="str">"SHOP_PED_APPAREL_META_FILE"</span><span class="pln"> </span><span class="str">"mp_m_freemode_01_mp_m_tutorial.meta"</span></pre>

		<p>
			Uložíme pomocí klávesové zkratky <strong>Ctrl + S</strong>. Na složku stream šahat nebudeme, ta už je připravená.
		</p>
	</li>
	<li>
		<p>
			Nyní jen vložíme složku <strong>tutorial </strong>do resources na našem serveru, přidáme <span style="color:rgb(46,204,113);">ensure tutorial </span>do <strong>server.cfg</strong> a můžeme zapnout server.
		</p>
	</li>
</ol><p>
	Na serveru tyto čepice najdeme mezi posledními.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<strong>Občasné problémy s programem</strong>
</p>

<p>
	Může se Vám stát vícero problémů, program bude crashovat, zmizí UI atd. Berte v potaz stáří programu a to, že už není aktualizovaný. Stačí program restartovat a máte hotovo.
</p>

<p>
	 
</p>

<p>
	<strong>Co vše lze nahrát </strong><span style="font-size:10px;">(nejpoužívanější)</span>
</p>

<pre class="ipsCode">berd		feet
hair		accs
uppr		task
lowr		decl
hand		jbib


p_head		p_eyes
p_ears		p_lwrist
p_rwrist

předpopa p = prop</pre>

<p>
	 
</p>

<p>
	<strong>Pravidla pro importování do programu alt:V</strong>
</p>

<p>
	Aby Vám mohlo vše fungovat ve hře, je důležité dodržovat správné koncovky, a to následovně.
</p>

<pre class="ipsCode">.ydd
feet _r
lowr _r
berd _r
ost. _u

.ytd
podle anglické abecedy od _a_uni do _z_uni (26 různých textur)

_uni = univerzální textura</pre>

<p>
	 
</p>

<p>
	<strong>Upozornění</strong>
</p>

<p>
	Maximální počet modelů na jedno pohlavení v jednom packu je 128, doporučuji radši max. 127, potom to může způsobovat problémy.<br /><br />
	Taktéž existujstuje maximální počet custom DLC, které můžete vytvořit, to však netuším, kolik je. Ale může to být obtíž a bral bych to v potaz.
</p>

<p>
	 
</p>

<p>
	<strong>Durty Cloth</strong>
</p>

<p>
	Na základě alt:V Cloth Toolu vznikl <strong>Durty Cloth</strong>, v základní verzi nabízí strašně málo možností, pro více možností je třeba si zaplatit, za to ale nabízí více výhod, kdo by měl zájem, přikládám <a href="https://gta.clothing/" rel="external nofollow"><span style="color:rgb(52,152,219);">odkaz</span></a>.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Bude to tedy vše, děkuji za přečtení mého návodu a doufám, že jsem Vám pomohl. Budu rád, za vypíchnutí případných chyb. Taktéž, kdyby měl někdo jakékoli otázky, obraťte se tady do komentářů na fóru, rád Vám odpovím, pokud to bude v mých silách.<br />
	                                                              <img class="ipsImage ipsImage_thumbnailed" data-fileid="83" data-ratio="68.58" width="627" alt="addon_7.png.6df521f166a927c079f348a7f49654b3.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/addon_7.png.6df521f166a927c079f348a7f49654b3.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><br /><span style="font-size:10px;">Budu rád za případné <span class="ipsEmoji">🤍</span></span>
</p>
]]></description><guid isPermaLink="false">86</guid><pubDate>Fri, 03 Mar 2023 23:02:05 +0000</pubDate></item><item><title>N&#xE1;vod na oble&#x10D;en&#xED; #1 | Replace v&#x11B;c&#xED; ve h&#x159;e</title><link>https://fivem-dev.cz/topic/85-n%C3%A1vod-na-oble%C4%8Den%C3%AD-1-replace-v%C4%9Bc%C3%AD-ve-h%C5%99e/</link><description><![CDATA[<p>
	<span>Vítám</span><span> </span><span>Vás</span><span> </span><span>u</span><span> </span><span>začátků</span><span> </span><span>svých</span><span> </span><span>návodů</span><span> </span><span>na</span><span> </span><span>oblečení</span><span>,</span><span> </span><span>dnes</span><span> </span><span>bychom</span><span> </span><span>se</span><span> </span><span>podívali</span><span> </span><span>na</span><span> </span><span>replace</span><span>,</span><span> </span><span>kdy</span><span> </span><span>s</span><span> </span><span>Vámi</span><span> </span><span>projdu</span><span> </span><span>krok</span><span> </span><span>po</span><span> </span><span>kroku</span><span>,</span><span> </span><span>co</span><span> </span><span>dělat</span><span>,</span><span> </span><span>abyste</span><span> </span><span>replacnuli</span><span> </span><span>danou</span><span> </span><span>věc</span><span> </span><span>ve</span><span> </span><span>hře</span><span>.</span><span> </span><span>Tento</span><span> </span><span>proces</span><span> </span><span>je</span><span> </span><span>velice</span><span> </span><span>jednoduchý</span><span> </span><span>a</span><span> </span><span>není</span><span> </span><span>třeba</span><span> </span><span>vědět</span><span> </span><span>příliš</span><span>,</span><span> </span><span>avšak</span><span> </span><span>přidám</span><span> </span><span>i</span><span> </span><span>část</span><span> </span><span>teorie</span><span>,</span><span> </span><span>ať</span><span> </span><span>víte</span><span>,</span><span> </span><span>co</span><span> </span><span>znamená</span><span>,</span><span> </span><span>co</span><span> </span><span>a</span><span> </span><span>orientujete</span><span> </span><span>se</span><span> </span><span>v</span><span> </span><span>tomto</span><span> </span><span>též</span><span>.</span><br /><br />
	Na serveru nám stačí mít pouze 1 složku na replace, na pojmenování nezáleží, v mém případě to bude složka <strong>replace</strong>, do ní vytvoříme další složku s názvem <strong>stream</strong> <span style="font-size:10px;">(tuto složku<em> </em>nepřejmenovávat</span>) a ještě <strong>fxmanifest.lua</strong>, finální složka by tedy měla vypadat následovně.
</p>

<p>
	                                                                                                        <img class="ipsImage ipsImage_thumbnailed ipsAttachLink_image" data-fileid="66" data-ratio="38.00" style="width:450px;height:auto;" width="839" alt="replace_1.png.7c16a342863dfb27cfbf4e2ae533bcea.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/replace_1.png.7c16a342863dfb27cfbf4e2ae533bcea.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><br /><br />
	Nyní si otevřeme <strong>fxmanifest.lua</strong> a upravíme ho do správné podoby, je na Vás, v čem ho budete upravovat, můžete klidně použít klidně klasický notepad od Microsoftu. Uvnitř dáte následující:
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">fx_version </span><span class="str">'cerulean'</span><span class="pln">
game </span><span class="str">'gta5'</span></pre>

<p>
	Toto nám bude stačit a soubor můžete uložit pomocí klávesové zkratky <strong>Ctrl + S</strong>.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Teďka na složku stream, tady už je na Vás, co byste chtěli čím replacnout. Předem podotknu, čtete si <span style="color:rgb(231,76,60);"><strong>readme </strong></span>soubory, jsou většinu času opravdu důležité. Prošel bych tedy název souborů a specificky jejich předpony, ty totiž určují, za kterou věc to dáte.
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="73" data-ratio="17.71" style="width:350px;height:auto;" width="399" alt="replace_7.png.8f9aa57cedd93469b9d7338b9bea752b.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/replace_7.png.8f9aa57cedd93469b9d7338b9bea752b.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><strong>^ </strong>(stříška) bude vždy oddělovat umístnění v GTAV a specifická část oblečení. Můžete nahradit cokoli a čímkoli, je to jen na Vás. Přikládám užitečné stránky, kde se můžete podívat, jak se určité věci jmenují v GTAV souborech a jak je pojmenovat.<br /><a href="https://tobii.space/" rel="external nofollow"><span style="color:rgb(52,152,219);">Tobii</span></a><br /><a href="https://forge.plebmasters.de/clothes" rel="external nofollow"><span style="color:rgb(52,152,219);">PrebMasters</span></a>
</p>

<p>
	<strong><u>Dostali jsme přímo FiveM verzi od autora</u></strong>
</p>

<ol><li>
		Jako příklad zde použiji čepici od <em><span>sergeantfranki</span></em> (<a href="https://thinlinesanctuary.com/pages/tactical-baseball-hat" rel="external nofollow"><span style="color:rgb(52,152,219);">zdroj</span></a>). Soubor si stáhneme a otevřeme.
	</li>
	<li>
		V tomto případě nám autor vložil přímo verzi pro FiveM, takže se nemusíme ničeho obávat. A jenom vezmeme všechny soubory a vložíme je do naší složky <strong>stream</strong>.<br />
		                                                      <img class="ipsImage ipsImage_thumbnailed" data-fileid="68" data-ratio="29.14" style="width:350px;height:auto;" width="790" alt="replace_2.png.3e5a92a94fe879729b22928eec88bebd.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/replace_2.png.3e5a92a94fe879729b22928eec88bebd.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><img class="ipsImage ipsImage_thumbnailed" data-fileid="70" data-ratio="23.71" style="width:350px;height:auto;" width="781" alt="replace_4.png.64ff1fa39bf6c320993934a40da66fa9.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/replace_4.png.64ff1fa39bf6c320993934a40da66fa9.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><br />
		                                                      <img class="ipsImage ipsImage_thumbnailed" data-fileid="71" data-ratio="19.43" style="width:350px;height:auto;" width="782" alt="replace_5.png.5b37799aadd7d9152d2c16ba864eeddc.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/replace_5.png.5b37799aadd7d9152d2c16ba864eeddc.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /><img class="ipsImage ipsImage_thumbnailed" data-fileid="72" data-ratio="43.14" style="width:350px;height:auto;" width="791" alt="replace_6.png.262d605ec2e68b6f01850e060f1ec8a6.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/replace_6.png.262d605ec2e68b6f01850e060f1ec8a6.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></li>
	<li>
		V složce stream to tedy bude vypadat následovně, kde máme nyní 36 položek.<br />
		                                                                                <img class="ipsImage ipsImage_thumbnailed" data-fileid="69" data-ratio="62.00" style="width:450px;height:auto;" width="961" alt="replace_3.png.937487c2e409d37969b2f3c3fce38937.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/replace_3.png.937487c2e409d37969b2f3c3fce38937.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></li>
	<li>
		 Nyní jen vložíme složku <strong>replace</strong> do resources na našem serveru, přidáme <span style="color:rgb(46,204,113);">ensure replace </span>do <strong>server.cfg</strong> a můžeme zapnout server.
	</li>
</ol><p>
	 
</p>

<p>
	 
</p>

<p>
	<strong><u>Nedostali jsme přímo FiveM verzi od autora</u></strong>
</p>

<p>
	Může se nám také stát, že nám autor nedodá přímou verzi pro FiveM a dostaneme pouze soubory.
</p>

<ul><li>
		Jestli v <strong>readme</strong> souboru máme specifikované DLC, tak ho jenom doplníme jako předponu.

		<ul><li>
				Pokud nemáme specifikované DLC, můžete si zvolit, za co to nahradíte. Najděte si věc co chcete replacnout pomocí stránek výše a jednoduše přepište názvy určitých souborů.
			</li>
		</ul></li>
</ul><p>
	Když budete mít hotovo, opět soubory vložte do složky<strong> </strong><strong>stream</strong>, složku <strong>replace </strong>do resources na našem serveru, přidáme <span style="color:rgb(46,204,113);">ensure replace </span>do <strong>server.cfg</strong> a můžeme zapnout server.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	Bude to tedy vše, děkuji za přečtení mého návodu a doufám, že jsem Vám pomohl. Kdyby někdo nečemu nerozuměl, tak to prosím napiště, pokusím se to předělat tak, aby to bylo pro všechny srozumitelné, takže budu rád, za vypíchnutí případných chyb. Taktéž, kdyby měl někdo jakékoli otázky, obraťte se tady do komentářů na fóru, rád Vám odpovím, pokud to bude v mých silách.<br />
	                                                   <img class="ipsImage ipsImage_thumbnailed" data-fileid="74" data-ratio="53.02" width="796" alt="replace_8.png.a7b03447ac4218aabe9c64c32f9e5de2.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_03/replace_8.png.a7b03447ac4218aabe9c64c32f9e5de2.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	<span style="font-size:10px;">Budu rád za případné <span class="ipsEmoji">🤍</span></span>
</p>
]]></description><guid isPermaLink="false">85</guid><pubDate>Fri, 03 Mar 2023 16:39:42 +0000</pubDate></item><item><title>Progress Bar u prohledavan&#xED;</title><link>https://fivem-dev.cz/topic/69-progress-bar-u-prohledavan%C3%AD/</link><description><![CDATA[<p>
	<strong>Zdravím koukal sem že dost lidí schaní při prohledavaní progressbar nebo animaci. <span class="ipsEmoji">😄</span></strong><br /><br />
	Potřebujete: Ox_lib / Ox_inventory<br /><br /><strong>1. Krok</strong><br /><em>otevřeme si ox_inventory/client.lua nasledně si najdeme openNearbyInventory (pokud nemate upravovaný client, bývá to na řádku <strong>542</strong>)</em>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">local function openNearbyInventory()</span></pre>

<p>
	<strong>2. Krok</strong><br /><em>Vložíme tento source pod local který vidíte v kroku 1. (source by měl začínat pod </em><strong>local function openNearbyInventory() </strong>končit před <strong>exports('openNearbyInventory', openNearbyInventory) </strong>)
</p>

<p>
	
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">    </span><span class="kwd">if</span><span class="pln"> canOpenInventory</span><span class="pun">()</span><span class="pln"> </span><span class="kwd">then</span><span class="pln">
        </span><span class="kwd">local</span><span class="pln"> targetId</span><span class="pun">,</span><span class="pln"> targetPed </span><span class="pun">=</span><span class="pln"> Utils</span><span class="pun">.</span><span class="pln">GetClosestPlayer</span><span class="pun">()</span><span class="pln">

        </span><span class="kwd">if</span><span class="pln"> targetId </span><span class="kwd">and</span><span class="pln"> </span><span class="pun">(</span><span class="pln">client</span><span class="pun">.</span><span class="pln">hasGroup</span><span class="pun">(</span><span class="pln">shared</span><span class="pun">.</span><span class="pln">police</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">or</span><span class="pln"> canOpenTarget</span><span class="pun">(</span><span class="pln">targetPed</span><span class="pun">))</span><span class="pln"> </span><span class="kwd">then</span><span class="pln">
            Utils</span><span class="pun">.</span><span class="pln">PlayAnim</span><span class="pun">(</span><span class="lit">1000</span><span class="pun">,</span><span class="pln"> </span><span class="str">'anim@amb@clubhouse@tutorial@bkr_tut_ig3@'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'machinic_loop_mechandplayer'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">-1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln">
            exports</span><span class="pun">.</span><span class="pln">ox_inventory</span><span class="pun">:</span><span class="pln">Progress</span><span class="pun">({</span><span class="pln">
                duration </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1000</span><span class="pun">,</span><span class="pln">
                label </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Prohledáváš osobu'</span><span class="pun">,</span><span class="pln">
                useWhileDead </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln">
                canCancel </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln">
                disable </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    move </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
                    car </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
                    combat </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
                    mouse </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pln">
                </span><span class="pun">},</span><span class="pln">
       
            </span><span class="pun">},</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">cancel</span><span class="pun">)</span><span class="pln">
               
            </span><span class="kwd">end</span><span class="pun">)</span><span class="pln">
            Utils</span><span class="pun">.</span><span class="pln">PlayAnim</span><span class="pun">(</span><span class="lit">2000</span><span class="pun">,</span><span class="pln"> </span><span class="str">'mp_common'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'givetake1_a'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">-1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln">
            client</span><span class="pun">.</span><span class="pln">openInventory</span><span class="pun">(</span><span class="str">'player'</span><span class="pun">,</span><span class="pln"> GetPlayerServerId</span><span class="pun">(</span><span class="pln">targetId</span><span class="pun">))</span><span class="pln">
        </span><span class="kwd">end</span><span class="pln">
    </span><span class="kwd">end</span><span class="pln">
</span><span class="kwd">end</span><span class="str">'</span></pre>

<p>
	<br />
	3. Krok (konečná verze)<br /><em>Celý source by měl vypadat takto: (nasledně si mužete měnit time prohlevaní nebo animace)</em>
</p>

<p>
	 
	</p><pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="kwd">local</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> openNearbyInventory</span><span class="pun">()</span><span class="pln">
	</span><span class="kwd">if</span><span class="pln"> canOpenInventory</span><span class="pun">()</span><span class="pln"> </span><span class="kwd">then</span><span class="pln">
		</span><span class="kwd">local</span><span class="pln"> targetId</span><span class="pun">,</span><span class="pln"> targetPed </span><span class="pun">=</span><span class="pln"> Utils</span><span class="pun">.</span><span class="pln">GetClosestPlayer</span><span class="pun">()</span><span class="pln">

		</span><span class="kwd">if</span><span class="pln"> targetId </span><span class="kwd">and</span><span class="pln"> </span><span class="pun">(</span><span class="pln">client</span><span class="pun">.</span><span class="pln">hasGroup</span><span class="pun">(</span><span class="pln">shared</span><span class="pun">.</span><span class="pln">police</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">or</span><span class="pln"> canOpenTarget</span><span class="pun">(</span><span class="pln">targetPed</span><span class="pun">))</span><span class="pln"> </span><span class="kwd">then</span><span class="pln">
			Utils</span><span class="pun">.</span><span class="pln">PlayAnim</span><span class="pun">(</span><span class="lit">1000</span><span class="pun">,</span><span class="pln"> </span><span class="str">'anim@amb@clubhouse@tutorial@bkr_tut_ig3@'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'machinic_loop_mechandplayer'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">-1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln">
			exports</span><span class="pun">.</span><span class="pln">ox_inventory</span><span class="pun">:</span><span class="pln">Progress</span><span class="pun">({</span><span class="pln">
				duration </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1000</span><span class="pun">,</span><span class="pln">
				label </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Prohledáváš osobu'</span><span class="pun">,</span><span class="pln">
				useWhileDead </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln">
				canCancel </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln">
				disable </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
					move </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
					car </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
					combat </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="pln">
					mouse </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pln">
				</span><span class="pun">},</span><span class="pln">
		
			</span><span class="pun">},</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">cancel</span><span class="pun">)</span><span class="pln">
			   
			</span><span class="kwd">end</span><span class="pun">)</span><span class="pln">
			Utils</span><span class="pun">.</span><span class="pln">PlayAnim</span><span class="pun">(</span><span class="lit">2000</span><span class="pun">,</span><span class="pln"> </span><span class="str">'mp_common'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'givetake1_a'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">-1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0.0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln">
			client</span><span class="pun">.</span><span class="pln">openInventory</span><span class="pun">(</span><span class="str">'player'</span><span class="pun">,</span><span class="pln"> GetPlayerServerId</span><span class="pun">(</span><span class="pln">targetId</span><span class="pun">))</span><span class="pln">
		</span><span class="kwd">end</span><span class="pln">
	</span><span class="kwd">end</span><span class="pln">
</span><span class="kwd">end</span><span class="pln">
exports</span><span class="pun">(</span><span class="str">'openNearbyInventory'</span><span class="pun">,</span><span class="pln"> openNearbyInventory</span><span class="pun">)</span></pre>

]]></description><guid isPermaLink="false">69</guid><pubDate>Mon, 27 Feb 2023 21:13:55 +0000</pubDate></item><item><title>Tvorba serveru od samotn&#xE9; 0 |  #1 Co si mus&#xED;&#x161; uv&#x11B;domit a vz&#xED;t v potaz!</title><link>https://fivem-dev.cz/topic/50-tvorba-serveru-od-samotn%C3%A9-0-1-co-si-mus%C3%AD%C5%A1-uv%C4%9Bdomit-a-vz%C3%ADt-v-potaz/</link><description><![CDATA[<p>
	Ahoj jmenuji se Dominik, a dnes s vámi projdu takovou záležitost. Jak vytvořit server. Ano čteš správně, jak vytvořit server od samotné nuly. Projdeme si různé rubriky a budeme se prodírat tvorbou serveru, budování komunity atd.. 
</p>

<p>
	<span style="font-size:22px;"><strong>Co si musíš uvědomit a vzít v potaz!</strong></span>
</p>

<p>
	Máme zde několik zásadních bodů co si musíš prvně uvědomit:
</p>

<ol><li>
		<strong>Velká konkurence</strong>
	</li>
	<li>
		<strong>Finanční náročnost</strong>
	</li>
	<li>
		<strong>Časová náročnost</strong>
	</li>
</ol><p>
	1. Na CZ/SK Fivem scéně je obrovská konkurence, a bojuješ zde o každého hráče! Musíš přijít s originálními nápady co lidi zaujmou a nadchnout natolik, aby zůstaly na tvém serveru. Jenže to není tak lehké, jelikož každému se líbí něco jiného. Jeden má rád realismus druhý zase arkádu. A dnešní velké servery (Většina z nich.) mají něco čím své hráče udržely. 
</p>

<p>
	 
</p>

<p>
	2. V dnešní době není nic zadarmo. A u fivem jakbysmet, jsou zde dvě povinné věci co musíš platit. První je hosting a druhý Patreon. Jestliže chceš splnit věci z bodu 1, tak k seznamu si můžeme připsat: Developera, skripty, marketing, web, doménu, modeláře na mapy/auta/objekty/oblečení/zbraně. A věř mi nejsou to levné položky. Nejdražší projekt v CZ/SK byl LSRP, který platil měsíčně okolo 45 tisíc za všechny tyto věci. V EN scéně nejdražší NoPixel, zde se to pohybuje přes 100 tisíc měsíčně. (Jedná se můj průzkum, je možné že některé z těch dvou informací jsou možná milné.)  Takže měsíčně nás to může, ale i nemusí přijít draho.
</p>

<p>
	 
</p>

<p>
	3. Tvorba vlastního serveru nás nestojí jen peníze, ale i čas. Jen na samotné tvorbě strávíte stovky ne-li tisíce hodin, ale tak i na údržbě a vylepšování. Nejen to, ale taky vymýšlení nových věcí vám zabere spousty hodin. <br /><br />
	Každý jeden z těchto návodů budu častou aktualizovat, takže se nebojte psát pokud vás něco napadne nebo pokud jsem na něco zapomněl.
</p>
]]></description><guid isPermaLink="false">50</guid><pubDate>Thu, 23 Feb 2023 20:26:18 +0000</pubDate></item><item><title>FiveM - Spu&#x161;t&#x11B;n&#xED; serveru na pozad&#xED;</title><link>https://fivem-dev.cz/topic/57-fivem-spu%C5%A1t%C4%9Bn%C3%AD-serveru-na-pozad%C3%AD/</link><description><![CDATA[<p style="text-align:center;">
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="59" data-ratio="65.46" width="359" alt="Untitled-2.png.23c96c0e38471522086b8973937760b3.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/Untitled-2.png.23c96c0e38471522086b8973937760b3.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	Jednotlivé příkazy které spustíme v <strong>BASH </strong>a jsou spuštěny tak, že čekají na ukončení. (Tzn: že běží stále) běží vždy dokud nejsou násilně ukončeny nebo není uzavřeno spojení s <strong>BASH</strong>.
</p>

<p>
	 
</p>

<p>
	Příklad: Když spustíme <strong>FiveM</strong> server, tak daný script běží do doby než nastanou tyto tři možnosti:
</p>

<ul><li>
		Server není ukončen chybou scriptu
	</li>
	<li>
		Server není ukončen ze strany uživatele
	</li>
	<li>
		Server není ukončen dokud není ukončeno spojení s <strong>BASH</strong>
	</li>
</ul><p>
	 
</p>

<p>
	Cílem je tedy potřeba spustit script tak aby běžel i po ukončení <strong>BASH </strong>spojení.
</p>

<p>
	Pro tuto potřebu se nejčastěji používá příkaz <strong>SCREEN</strong>
</p>

<p>
	Příkaz "<strong>screen</strong>" je nástroj pro práci s více okny nebo terminály v jednom sezení. <strong>Screen </strong>umožňuje uživatelům vytvářet, spouštět a přepínat mezi více pracovními plochami (tzv. "<strong>screens</strong>"), což umožňuje uživatelům spustit více úkolů nezávisle na sobě v jednom sezení terminálu.
</p>

<p>
	 
</p>

<p>
	<strong>Ukázkové použití pro FiveM server</strong>
</p>

<p>
	Zapnutí serveru pomocí screen
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">screen </span><span class="pun">-</span><span class="pln">L </span><span class="pun">-</span><span class="pln">d </span><span class="pun">-</span><span class="pln">m </span><span class="pun">-</span><span class="pln">S </span><span class="typ">NazevServeru</span><span class="pln"> bash </span><span class="pun">/</span><span class="pln">cesta</span><span class="pun">/</span><span class="pln">k</span><span class="pun">/</span><span class="pln">nasemu</span><span class="pun">/</span><span class="pln">serveru</span><span class="pun">/</span><span class="pln">fivem_server</span><span class="pun">/</span><span class="pln">run</span><span class="pun">.</span><span class="pln">sh </span><span class="pun">+</span><span class="pln">set serverProfile dev_server </span><span class="pun">+</span><span class="pln">set txAdminPort </span><span class="lit">40120</span></pre>

<p>
	Parametry:
</p>

<ul><li>
		<strong>-L </strong>Tento parametr umožňuje zapnout záznam výstupu ze screenu do souboru. Po zapnutí této funkce bude každý výstup z screenového sezení zapsán do souboru "screenlog.n", kde "n" je číslo screenu.
	</li>
	<li>
		<strong>-d session_name</strong>: Tento parametr umožňuje uživateli odpojit se od aktivního screenu s daným názvem, aniž by zastavil běžící procesy v tomto screenovém sezení.
	</li>
	<li>
		<strong>-m</strong>: Tento parametr umožňuje uživateli spustit nový proces v novém screenovém sezení, aniž by bylo třeba se připojovat k němu. Tento režim je užitečný pro spuštění skriptů nebo programů na pozadí, aniž by uživatel musel být aktivně připojen k screenu.
	</li>
	<li>
		<strong>-S session_name:</strong> Tento parametr umožňuje uživateli specifikovat název screenu pro vytvoření nového sezení.
	</li>
</ul><p>
	 
</p>

<p>
	Vypnutí serveru pomocí screen
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">screen </span><span class="pun">-</span><span class="pln">X </span><span class="pun">-</span><span class="pln">S </span><span class="typ">NazevServeru</span><span class="pln"> kill</span></pre>

<p>
	<strong>-S session_name: </strong>Tento parametr umožňuje uživateli specifikovat název screenu pro vytvoření nového sezení.
</p>

<p>
	<strong>-X:</strong> Tento parametr umožňuje uživateli posílat příkazy do běžícího screenového sezení. + použijeme příkaz <strong>kill</strong>
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">screen </span><span class="pun">-</span><span class="pln">X </span><span class="pun">-</span><span class="pln">S </span><span class="typ">NazevServeru</span><span class="pln"> </span><span class="pun">[</span><span class="pln">command</span><span class="pun">]</span></pre>

<p>
	 
</p>

<p>
	<span style="color:#c0392b;"><em>Pozor! Příkaz screen nemusí být v základní instalaci vaší distribuce nainstalován. V případě že nelze přípak použít, musíte si program screen nainstalovat pomocí vašeho balíčkovacího systému.</em></span>
</p>

<p>
	 
</p>

<p>
	<span style="color:#c0392b;"><em>Například:</em></span>
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">apt</span><span class="pun">-</span><span class="pln">get install screen
</span><span class="com">#nebo</span><span class="pln">
yum install screen</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">57</guid><pubDate>Sat, 25 Feb 2023 21:58:43 +0000</pubDate></item><item><title>Linux - Programov&#xE1;n&#xED;</title><link>https://fivem-dev.cz/topic/49-linux-programov%C3%A1n%C3%AD/</link><description><![CDATA[<p style="text-align:center;">
	 
</p>

<p style="text-align:center;">
	<img alt="1.png.9dc8b74b5b7f7c17d5558556d4189ef5.png" class="ipsImage ipsImage_thumbnailed" data-fileid="56" data-ratio="21.79" style="height:auto;" width="546" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/1.png.9dc8b74b5b7f7c17d5558556d4189ef5.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:20px;">shell </span></strong>není jen příkazový řádek pro jednotlivé příkazy
</p>

<ul><li>
		je to programovací jazyk pro psaní skriptů
	</li>
	<li>
		skript je soubor obsahující posloupnost příkazů
		<ul><li>
				Nezáleží na koncovce, nemusí být, je zvykem .sh
			</li>
			<li>
				Na prvním řádku označení interpretu (jaký program má tento skript zpracovat)
			</li>
		</ul></li>
</ul><p>
	 
</p>

<ul><li>
		 BASH (shell):
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="com">#!/bin/bash</span></pre>

<p>
	 
</p>

<ul><li>
		Např PHP
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="com">#!/bin/php -f</span></pre>

<p>
	<br />
	Existují dva druhy příkazů
</p>

<ul><li>
		interní příkazy BASHe
	</li>
	<li>
		externí programy
	</li>
</ul><p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>Základy SHELLu</strong></span>
</p>

<ul><li>
		Obvykle 1 příkaz na řádek
		<ul><li>
				více příkazů na řádek
			</li>
		</ul></li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pln">cd </span><span class="pun">/;</span><span class="pln"> echo </span><span class="pun">“</span><span class="typ">Text</span><span class="pun">“;</span><span class="pln"> mkdir samnick</span></pre>

<p>
	 
</p>

<ul><li>
		Jeden příkaz na více řádků (pro přehlednost)
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pln">prikaz </span><span class="pun">--</span><span class="pln">parametr1 </span><span class="pun">--</span><span class="pln">parametr2 \
</span><span class="pun">--</span><span class="pln">parametr3</span></pre>

<ul><li>
		Komentář<span>:</span> #
	</li>
</ul><p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>Parametry</strong></span>
</p>

<ul><li>
		Parametry jsou odděleny mezerou
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pun">./</span><span class="pln">skript</span><span class="pun">.</span><span class="pln">sh parametr1 parametr2</span></pre>

<ul><li>
		Parametr uzavřeme do uvozovek
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pun">./</span><span class="pln">skript</span><span class="pun">.</span><span class="pln">sh </span><span class="pun">“</span><span class="pln">toto je parametr </span><span class="lit">1</span><span class="pun">“</span><span class="pln"> parametr2</span></pre>

<ul><li>
		Pozor na víceslovné adresáře a soubory
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pln">cat </span><span class="typ">Program</span><span class="pln"> </span><span class="typ">Files</span><span class="pln">\soubor</span><span class="pun">.</span><span class="pln">txt</span></pre>

<p>
	Ve skript se k hodnotám parametrů dostaneme přes $N
</p>

<ul><li>
		$1 – první parametr
	</li>
	<li>
		$2 – druhý parametr atd.
	</li>
	<li>
		$0 – název skriptu (skript.sh)
	</li>
	<li>
		$$ - PID aktuálního procesu
	</li>
	<li>
		$# - počet parametrů
	</li>
</ul><p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>Proměnné</strong></span>
</p>

<p>
	Vytvoření proměnné zadáním hodnoty<br />
	Nepsaným standardem je psát proměnné velkými písmeny
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="pln">CESTA</span><span class="pun">=</span><span class="str">/files/</span><span class="pln">server
SOUBOR</span><span class="pun">=“</span><span class="pln">$1</span><span class="pun">“</span><span class="pln">
ZDROJ</span><span class="pun">=“</span><span class="pln">$CESTA</span><span class="pun">/</span><span class="pln">$SOUBOR</span><span class="pun">“</span><span class="pln">
CIL</span><span class="pun">=/</span><span class="pln">fivem</span></pre>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">cp </span><span class="pun">“</span><span class="pln">$ZDROJ</span><span class="pun">“</span><span class="pln"> </span><span class="pun">“</span><span class="pln">$CIL</span><span class="pun">“</span></pre>

<p>
	Pozor na víceslovné hodnoty
</p>

<ul><li>
		Je vždy lepší používat uvozovky
	</li>
	<li>
		Tento příkaz nefunguje a výsledkem je něco jiného
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pln">SOUBOR</span><span class="pun">=</span><span class="pln">nazev souboru</span></pre>

<p>
	 
</p>

<p>
	Složitější situace s názvem proměnné a následujícího textu
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">echo $PREFIX_nasledujici_text </span><span class="com"># špatně</span><span class="pln">
echo $</span><span class="pun">{</span><span class="pln">PREFIX</span><span class="pun">}</span><span class="pln">_nasledujici_text</span></pre>

<p>
	 
</p>

<ul><li>
		Pro získání výstupu příkazu se používá opačný apostrof `
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pln">ADRESAR</span><span class="pun">=`</span><span class="pln">pwd</span><span class="pun">`</span><span class="pln">
POCET</span><span class="pun">=`</span><span class="pln">ls $ADRESAR </span><span class="pun">|</span><span class="pln"> wc </span><span class="pun">-</span><span class="pln">l</span><span class="pun">`</span><span class="pln">
echo </span><span class="pun">“</span><span class="pln">v adresari $ADRESAR je $POCET souboru</span><span class="pun">“</span></pre>

<p>
	 
</p>

<ul><li>
		Přečtení jedné hodnoty =  čte řádek ze vstupu, tj. čeká na ENTER
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pln">echo </span><span class="pun">-</span><span class="pln">n </span><span class="pun">“</span><span class="typ">Zadej</span><span class="pln"> sve jmeno</span><span class="pun">:</span><span class="pln"> </span><span class="pun">“</span><span class="pln">
read JMENO
echo </span><span class="pun">“</span><span class="typ">Tve</span><span class="pln"> jmeno je $JMENO</span><span class="pun">“</span></pre>

<p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>Příkaz test = []</strong></span>
</p>

<ul><li>
		Příkaz test vyhodnocuje logickou podmínku
		<ul><li>
				Podle toho vrátí návratovou hodnotu (0 = true)
			</li>
		</ul></li>
	<li>
		Zkrácený zápis pomocí závorek []
		<ul><li>
				Pozor na mezery kolem závorek a operátorů!!!
			</li>
		</ul></li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pln">test </span><span class="pun">“</span><span class="pln">$1</span><span class="pun">“</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">“</span><span class="pln">fivem</span><span class="pun">“</span><span class="pln">
</span><span class="pun">[</span><span class="pln"> </span><span class="pun">“</span><span class="pln">$1</span><span class="pun">“</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">“</span><span class="pln">fivem</span><span class="pun">“</span><span class="pln"> </span><span class="pun">]</span><span class="pln"> </span><span class="com"># stejný zápis</span></pre>

<p>
	 
</p>

<ul><li>
		Příklad
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pun">[</span><span class="pln"> </span><span class="pun">-</span><span class="pln">n </span><span class="pun">“</span><span class="pln">$1</span><span class="pun">“</span><span class="pln"> </span><span class="pun">]</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="pun">(</span><span class="pln"> echo </span><span class="pun">“</span><span class="typ">Prvn</span><span class="pun">í</span><span class="pln"> parametr je prazdny</span><span class="pun">“;</span><span class="pln"> exit </span><span class="lit">1</span><span class="pln"> </span><span class="pun">)</span></pre>

<p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>if</strong></span>
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="kwd">if</span><span class="pln"> podminka</span><span class="pun">;</span><span class="pln"> </span><span class="kwd">then</span><span class="pln">
command
</span><span class="kwd">elif</span><span class="pln"> podminka</span><span class="pun">;</span><span class="pln"> </span><span class="kwd">then</span><span class="pln">
command
</span><span class="kwd">fi</span></pre>

<p>
	 
</p>

<ul><li>
		Zavolá se příkaz podmínka, rozhoduje se dle návratové hodnoty
	</li>
</ul><pre class="ipsCode prettyprint lang-php prettyprinted"><span class="kwd">if</span><span class="pln"> </span><span class="pun">[</span><span class="pln"> </span><span class="pun">-</span><span class="pln">f </span><span class="pun">“</span><span class="pln">$1</span><span class="pun">“</span><span class="pln"> </span><span class="pun">];</span><span class="pln"> </span><span class="kwd">then</span><span class="pln">
echo </span><span class="pun">“</span><span class="typ">Vypis</span><span class="pln"> souboru $1</span><span class="pun">“;</span><span class="pln"> cat </span><span class="pun">“</span><span class="pln">$1</span><span class="pun">“</span><span class="pln">
</span><span class="kwd">else</span><span class="pln">
echo </span><span class="pun">“</span><span class="typ">Soubor</span><span class="pln"> neexistuje</span><span class="pun">“</span><span class="pln">
</span><span class="kwd">exit</span><span class="pln"> </span><span class="lit">1</span><span class="pln">
</span><span class="kwd">fi</span></pre>

<p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>for</strong></span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">for PROM in VSTUP; do
echo $PROM
done</span></pre>

<p>
	 
</p>

<ul><li>
		Postupně bere slova za in (odděleno mezerami) a dosazuje to do proměnné PROM
	</li>
</ul><pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">for ROK in 2001 2002 2003 2004; do
mkdir rok_$ROK
done</span></pre>

<p>
	 
</p>

<ul><li>
		Použití většího interval
	</li>
</ul><pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">for ROK in `seq 2001 2020`; do ...</span></pre>

<p>
	 
</p>

<ul><li>
		cyklus se soubory v adresáři
	</li>
</ul><pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">for folder in *.txt; do
# komentar
if [ ! -f “$folder“ ]; then continue; fi
# pauza
if [ “$folder“ = “end.txt“ ]; then break; fi
echo “je tu soubor $folder“
done</span></pre>

<p>
	<br /><span style="font-size:20px;"><strong>while</strong></span>
</p>

<ul><li>
		Opakuje cyklus dokud je splněna podmínka, takže volaný příkaz v podmínce má návratovou hodnotu 0
		<ul><li>
				Upřesnění příkazu <strong>read</strong>

				<ul><li>
						Uvedením názvů více proměnný se vstup rozdělí dle mezer
					</li>
					<li>
						Do poslední proměnné se dá zbytek z řádku na vstupu
					</li>
					<li>
						Read vrací 0, když je ještě něco na vstupu, 1 znamená konec
					</li>
				</ul></li>
		</ul></li>
</ul><pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">while read JMENO PRIJMENI; do
echo “jmeno: $JMENO, prijmeni: $PRIJMENI“
done</span></pre>

<p>
	Pozn: musíme ale počítat že jsou na vstupu dodány dva parametry
</p>

<p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>subshell</strong></span>
</p>

<p>
	Pomocí kulatých závorek lze spustit subshell a pracovat s jeho vstupem a výstupem. Např. chceme číst řádky ze souboru a s nimi postupně provádět další operace
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">cat /etc/passwd | (
while read -d “:“ UZIV FOO; do
echo “uzivatel: $UZIV“
done
) &gt; vystup.txt</span></pre>

<ul><li>
		Parametrem -d změníme oddělování
	</li>
</ul><p>
	 
</p>

<p>
	<span style="font-size:20px;"><strong>funkce - podprogramy</strong></span>
</p>

<p>
	V případě používání funkcí jsou parametry $1, $2 atd. parametry funkce a nikoliv skriptu. Ve funkci se nelze dostat k parametrům scriptu. Ostatní proměnné jsou globální.
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">FIVEM=/fivem
start()
{
tar jcf $FIVEM/$1.tar.bz $2
}
start scipts /fivem_scipts
start data /fivem_data</span></pre>

<p>
	<br /><br />
	V příloze jsou uloženy dvě PDF kde jsou podrobnosti
</p>

<p>
	<a class="ipsAttachLink" data-fileid="o_1gq57mkbe1s7i1bu31tbiaf91a7fb" href="https://fivem-dev.cz/applications/core/interface/file/attachment.php?id=o_1gq57mkbe1s7i1bu31tbiaf91a7fb" rel="">bash_script.pdf</a>
</p>

<p>
	<a class="ipsAttachLink" data-fileext="pdf" data-fileid="58" href="https://fivem-dev.cz/applications/core/interface/file/attachment.php?id=58&amp;key=9be411b9bb94bab09094b12cb13ef474" rel="">bash_ocima_bohdana_milara.pdf</a>
</p>
]]></description><guid isPermaLink="false">49</guid><pubDate>Thu, 23 Feb 2023 18:29:21 +0000</pubDate></item><item><title>Linux - Z&#xE1;kladn&#xED; p&#x159;&#xED;kazy</title><link>https://fivem-dev.cz/topic/48-linux-z%C3%A1kladn%C3%AD-p%C5%99%C3%ADkazy/</link><description><![CDATA[<p style="text-align:center;">
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="55" data-ratio="21.79" width="546" alt="1.png.a65642d50afcaf041b8a227688b964f3.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/1.png.a65642d50afcaf041b8a227688b964f3.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p style="text-align:center;">
	 
</p>

<p>
	Pro práci se základními příkazy budeme potřebovat BASH - interpret příkazového řádku. Nejčastějším nástrojem pro vzdálené připojení k OS s BASH z OS Windows je např: SSH, Putty, mRemoteNG.
</p>

<p>
	<em><span style="color:#e67e22;">Mnoho začínajících uživatelů již při připojování zaskočí že nevidí zda-li píšou heslo, nebo alespon zástupné *** znaky. Bash nepoužívá při zadávání hesla ani jiných citlivých údajů standardní výstup na obrazovce, aby se zabránilo jejich zobrazení nebo zaznamenání. Místo toho Bash používá speciální techniku nazývanou "přímý výstup" (angl. "direct output"), když uživatel zadává heslo, kód se automaticky skryje a na obrazovce se nezobrazuje.</span></em>
</p>

<p>
	 
</p>

<p>
	<u><strong><span style="color:#e74c3c;"><span style="font-size:24px;">MAN</span></span></strong></u><br />
	Téměř každý příkaz v Linuxu má své parametry, dle kterých defingujeme způsob výstupu daného příkazu.<br />
	Aby nebylo potřeba si všechny parametry pamatovat, můžeme nejčastěji použít příkaz -help<br />
	Ale pro náročnější uživatele a celkové pochopení parametrů jsou nám k většině příkazů dostupné manuálové stránky.
</p>

<p>
	Parametry uvedené v hranatých závorkách nejsou povinné.<br />
	Je-li v závorkách uvedeno několik možností oddělených svislou čárou (znak | „ pajpa “), znamená to, že si můžeme vybrat jen jednu z nabízených možností parametru<br /><strong><span style="color:#c0392b;">Pozor! Linux je case sensitive!! "a" není "A"</span></strong>
</p>

<p>
	 
</p>

<p>
	<strong>Adresářová struktura</strong><br />
	Aktuální adresář - ten existuje vždy, neexistuje možnost nebýt v aktuálním adresáře
</p>

<p>
	<strong>můžeme používat:</strong>
</p>

<ul><li>
		relativní cesty
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pln">cd </span><span class="pun">../../..</span><span class="pln">
cat mujpodadresar</span><span class="pun">/</span><span class="pln">fivem</span><span class="pun">.</span><span class="pln">txt</span></pre>

<p>
	 
</p>

<ul><li>
		absolutní cesty
	</li>
</ul><pre class="ipsCode prettyprint prettyprinted"><span class="pln">cat </span><span class="pun">/</span><span class="pln">home</span><span class="pun">/</span><span class="pln">mujpodadresar</span><span class="pun">/</span><span class="pln">fivem</span><span class="pun">.</span><span class="pln">txt</span></pre>

<p>
	Spustitelný soubor se nehledá v aktuálním adresáři ale hledá se v cestách z proměnné PATH (= proměnná daného prostředí)
</p>

<p>
	# prikaz.sh <br />
	i když existuje prikaz.sh, nespustí se
</p>

<p>
	musí se explicitně říct, že chcete pustit soubor v aktuálním adresáři
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pun">./</span><span class="pln">prikaz</span><span class="pun">.</span><span class="pln">sh </span></pre>

<p>
	„.“ je aktuální adresář
</p>

<p>
	 
</p>

<p>
	<strong>Soubory a složky</strong><br />
	v Linuxu je všechno soubor, neexistuje složka, skutečné soubory jsou data na disku<br /><strong>Adresář </strong>- je jen soubor se seznamem souborů a informací<br /><strong>Sokety </strong>- jsou soubory, které reprezentují síťové spojení<br /><strong>Zařízení </strong>- disky, partition , klávesnice, periferie
</p>

<p>
	Protože je vše reprezentováno jako soubor, lze se vším pracovat způsobem:<br /><strong>open, close, read, write, delete</strong>
</p>

<p>
	Linux nelpí na koncovkách, jsou mu zcela jedno. Spustitelný soubor nemá žádnou koncovku "exe". Spustitelný je, pokud má nastavený příznak (x) v oprávnění souboru.
</p>

<p>
	 
</p>

<p>
	<strong>Zástupné znaky</strong><br />
	Zástupné znaky lze používat i na úrovni bash<br />
	Shell vždy rozloží příkaz, která až následně vyvolá a zpracuje.
</p>

<p>
	* - cokoliv, i nic<br />
	? - jeden znak<br />
	[a-f], [0-9] – jen určitý znak z dané množiny
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">cat </span><span class="pun">*.</span><span class="pln">txt</span></pre>

<p>
	je ve skutečnosti: # cat a.txt b.txt c.txt ..atd
</p>

<p>
	 
</p>

<p>
	<strong>Vstupy a výstupy</strong>
</p>

<p>
	Každý proces v Linux má 2 vstupy a 3 výstupy
</p>

<p>
	<strong>Vstupy </strong>(do procesu vstupuje) 
</p>

<ul><li>
		parametry na příkazovém řádku
	</li>
	<li>
		standardní vstup (stdin)
	</li>
</ul><p>
	<strong>Výstupy</strong>
</p>

<ul><li>
		standardní výstup (stdout)
	</li>
	<li>
		chybový výstup (stderr)
	</li>
	<li>
		návratová hodnoty
	</li>
</ul><p>
	● <strong>stdin</strong>, <strong>stdout </strong>a <strong>strerr </strong>lze různě propojovat a přesměrovávat a ukládat
</p>

<p>
	 
</p>

<p>
	Ve výchozím stavu je v Linuxu <strong>stdin </strong>napojen vždy na klávesnici
</p>

<ul><li>
		program &lt; vstup.txt
	</li>
</ul><p>
	<strong>roura (pipe) | (pajpa)</strong><br />
	propojí <strong>stdout </strong>procesu nalevo se <strong>stdin </strong>procesu vpravo
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">cat vstup</span><span class="pun">.</span><span class="pln">txt </span><span class="pun">|</span><span class="pln"> grep </span><span class="pun">‚</span><span class="pln">pepa</span><span class="pun">‘</span></pre>

<p>
	Pajp může být více a slouží k různému „filtrování“ a hledání v obsahu (např logu)
</p>

<p>
	Několik primitivních prográmků se spojí v silný nástroj
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">cat soubor</span><span class="pun">.</span><span class="pln">txt </span><span class="pun">|</span><span class="pln"> grep </span><span class="pun">“</span><span class="typ">Jiri</span><span class="pun">“</span><span class="pln"> </span><span class="pun">|</span><span class="pln"> sort </span><span class="pun">|</span><span class="pln"> head </span><span class="pun">-</span><span class="pln">n </span><span class="lit">10</span></pre>

<p>
	Vezme jen řádky obsahující „Jiri“, setřídí, vypíše prvních 10
</p>

<p>
	Např
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">cat soubor</span><span class="pun">.</span><span class="pln">txt </span><span class="pun">|</span><span class="pln"> bzip2 </span><span class="pun">&gt;</span><span class="pln"> soubor</span><span class="pun">.</span><span class="pln">txt</span><span class="pun">.</span><span class="pln">bz2</span></pre>

<p>
	<br />
	Ve výchozím stavu je vždy v Linuxu <strong>stdout </strong>nasměrován na obrazovku (terminál)
</p>

<ul><li>
		program &gt; vysledky.txt
	</li>
</ul><p>
	přesměrování do souboru (soubor se vytvoří či přepíše)
</p>

<ul><li>
		program &gt;&gt; vysledky.txt
	</li>
</ul><p>
	přidání na konec souboru<br />
	Např
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">yes </span><span class="pun">&gt;&gt;</span><span class="pln"> yes</span></pre>

<p>
	Přesměrování na vstup jiného programu (roura)
</p>

<ul><li>
		program | tee vysledek.txt
	</li>
</ul><p>
	<strong>tee </strong>čte vstup, zapisuje jej do souboru a posílá na výstup<br />
	 
</p>

<p>
	<strong>STDERR - </strong>Proč má Linux dvě výstupové hodnoty? Proč nestačí mít jen jednu?
</p>

<p>
	Standardně nechceme aby se nám míchal obsah výstupu. Cílem je oddělit standardní výstup a chybový výstup
</p>

<p>
	 
</p>

<ul><li>
		<strong>program &gt; vystup.txt</strong>
	</li>
</ul><p>
	výstup končí v souboru, chyby se vypisují na obrazovku
</p>

<ul><li>
		<strong>program 2&gt; chyby.txt</strong>
	</li>
</ul><p>
	výstup končí na obrazovce, chyby se zapisují do souboru
</p>

<ul><li>
		<strong>program 2&gt;&amp;1 &gt; vystup.txt</strong>
	</li>
</ul><p>
	obojí dostanu do souboru, nejprve přesměruji <strong>stderr </strong>do <strong>stdout</strong>, <strong>stdout </strong>pak do souboru
</p>

<p>
	 
</p>

<p>
	<strong>Ukázka základních příkazů:</strong> man, cd, pwd, mkdir, rmdir, ls, cat, chmod/chown, reboot, date, free, uptime, top/htop, kill, nice, ps, time, useradd, su, passwd, host, ping
</p>

<p>
	 
</p>

<p>
	man: zobrazí nápovědu k danému příkazu
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">man ls</span></pre>

<p>
	cd: změní aktuální pracovní adresář
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">cd </span><span class="pun">/</span><span class="pln">home</span><span class="pun">/</span><span class="pln">user</span><span class="pun">/</span><span class="pln">directory</span></pre>

<p>
	pwd: zobrazí aktuální pracovní adresář
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">pwd</span></pre>

<p>
	mkdir: vytvoří nový adresář
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">mkdir new_directory</span></pre>

<p>
	rmdir: odstraní prázdný adresář
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">rmdir empty_directory</span></pre>

<p>
	ls: vypíše obsah aktuálního adresáře
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">ls</span></pre>

<p>
	cat: vypíše obsah souboru
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">cat file</span><span class="pun">.</span><span class="pln">txt</span></pre>

<p>
	chmod/chown: změní oprávnění přístupu nebo vlastníka souboru/adresáře
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">chmod </span><span class="lit">755</span><span class="pln"> file</span><span class="pun">.</span><span class="pln">txt
chown user</span><span class="pun">:</span><span class="pln">group file</span><span class="pun">.</span><span class="pln">txt</span></pre>

<p>
	reboot: restartuje systém
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">reboot</span></pre>

<p>
	date: zobrazí aktuální datum a čas
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">date</span></pre>

<p>
	free: zobrazí informace o paměti
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">free</span></pre>

<p>
	uptime: zobrazí čas běhu systému
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">uptime</span></pre>

<p>
	top/htop: zobrazí informace o běžících procesech a jejich využití systémových zdrojů
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">top
htop</span></pre>

<p>
	kill: ukončí běžící proces
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">kill </span><span class="lit">1234</span></pre>

<p>
	nice: nastavuje prioritu běžícího procesu
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">nice </span><span class="pun">-</span><span class="pln">n </span><span class="lit">10</span><span class="pln"> command</span></pre>

<p>
	ps: zobrazí seznam běžících procesů
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">ps aux</span></pre>

<p>
	time: měří časovou náročnost běžícího procesu
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">time command</span></pre>

<p>
	useradd: vytvoří nového uživatele
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">useradd newuser</span></pre>

<p>
	su: přepíná uživatele
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">su username</span></pre>

<p>
	passwd: změní heslo uživatele
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">passwd username</span></pre>

<p>
	host: zobrazí informace o doméně
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">host example</span><span class="pun">.</span><span class="pln">com</span></pre>

<p>
	ping: testuje konektivitu sítě
</p>

<pre class="ipsCode prettyprint prettyprinted"><span class="pln">ping google</span><span class="pun">.</span><span class="pln">com</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">48</guid><pubDate>Thu, 23 Feb 2023 18:28:33 +0000</pubDate></item><item><title>Linux - Obecn&#xE1; teorie</title><link>https://fivem-dev.cz/topic/47-linux-obecn%C3%A1-teorie/</link><description><![CDATA[<p style="text-align:center;">
	<img alt="1.png.9888a0d7a0ec1b1421858a1cfb6757b2.png" class="ipsImage ipsImage_thumbnailed" data-fileid="54" data-ratio="21.79" style="height:auto;" width="546" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/1.png.9888a0d7a0ec1b1421858a1cfb6757b2.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	Na začátek si musíme říct že Linux není jen ta černá console/terminál kde bliká kurzor kam se cosi píše a Linux to udělá.
</p>

<p>
	Linux je operační systém založený na jádře Linux, který byl původně vytvořen Linusem Torvaldsem v roce 1991. Je to svobodný a otevřený software, což znamená, že uživatelé mají svobodu spouštět, kopírovat, distribuovat, studovat, změnit a vylepšovat software.
</p>

<p>
	 
</p>

<p>
	<span style="color:#d35400;"><em>Pro práci s Linuxem je důležité mít určité znalosti a dovednosti, jako je práce s příkazovým řádkem, správa balíčků a souborového systému. Nicméně existují také grafická uživatelská rozhraní pro Linux, která umožňují práci s operačním systémem bez nutnosti znalostí příkazové řádky, ale tyto grafické nadstavby jsou určeny spíše pro osobní počítače, než-li pro serverové využití.</em></span>
</p>

<p>
	 
</p>

<p>
	Linux tedy můžeme dál upravovat i prodávat, ale tento scénář se neděje. Protože licenční model je postaven tak, že pokud chcete upravit Linux a distribuovat ho dále, musíte zajistit, že vaše verze Linuxu bude stále svobodná a otevřená. To znamená, že musíte poskytnout zdrojový kód vaší verze Linuxu a zaručit, že každý, kdo dostane vaši verzi Linuxu, má stejné práva jako vy, včetně práva upravovat a distribuovat software dále.
</p>

<p>
	Standardně se pak používá model na bázi supportu, OS je free, ale support je paid.
</p>

<p>
	 
</p>

<p>
	Linux se dodává v mnoha různých distribucích, což jsou různé verze operačního systému, které se liší v závislosti na způsobu instalace, balíčkovacím systému a správě softwaru. Mezi nejznámější distribuce patří Ubuntu, Debian, Red Hat, Fedora a CentOS.
</p>

<p>
	Linux je možné používat na velké sféře zařízení a účelem použití. Může být osobním počítači, serveru, mobilním zařízení, superpočítače či různé <span><a href="https://cs.wikipedia.org/wiki/BYOD" rel="external nofollow">BYOD</a> </span>zařízení. 
</p>

<p>
	 
</p>

<p>
	Linux můžeme používat i na Desktop počítačích, tedy jako standardní OS pro práci s počítačem. Pro tyto účely bylo vytvořeno velké množství grafických nadstaveb pro Linux. Nejznámější jsou: GNOME, KDE, Xfce, LXDE, Unity(Pozor, neplést si s game engine).
</p>

<p>
	 
</p>

<p>
	Občas můžeme vidět několik dalších zkratek jako je <strong>UNIX</strong>, <strong>GNU</strong>, <strong>BASH</strong>, <strong>Kernel</strong>, <strong>KDE </strong>a nebo <strong>Xfce</strong>. Níže se popíšeme co znamenají.
</p>

<p>
	 
</p>

<p>
	<strong>UNIX</strong>
</p>

<p>
	Unix je starší operační systém, který byl původně vyvinut v AT&amp;T Bell Labs v roce 1969. Unix je uzavřený operační systém a jeho zdrojový kód není volně dostupný. Unix byl původně určen pro minipočítače a vysokovýkonné počítače. Unix byl původně navržen pro architekturu procesorů typu minipočítačů a vysokovýkonných počítačů (Nikoliv tedy pro x86). Závěrem lze říci, že Linux a Unix jsou oba operační systémy s podobnými funkcemi, ale liší se v mnoha klíčových oblastech, jako je licence, zdrojový kód, architektura, rozšiřitelnost a dostupnost.
</p>

<p>
	 
</p>

<p>
	<strong>GNU</strong>
</p>

<p>
	GNU je projekt svobodného software, který byl založen Richardem Stallmanem v roce 1983. GNU je zkratka pro "GNU's Not Unix" (GNU není Unix). Cílem projektu GNU bylo vytvořit kompletní operační systém s otevřeným zdrojovým kódem, který by byl kompatibilní s Unixem, ale bez závislosti na Unixových licenčních podmínkách.
</p>

<p>
	GNU je také spojeno s konceptem <a href="https://cs.wikipedia.org/wiki/Copyleft" rel="external nofollow">copyleft</a>, což je právní mechanismus pro ochranu svobodného softwaru. Copyleft zajišťuje, že jakýkoli software vytvořený na základě GNU projektu musí zůstat svobodný a otevřený pro další uživatele.
</p>

<p>
	Projekt GNU je dnes velmi rozšířený a mnoho moderních operačních systémů, jako je právě Linux, používá mnoho komponentů z projektu GNU. V současné době je projekt GNU stále aktivní a pokračuje ve vývoji a šíření svobodného softwaru. Proto je často používáno spojení <strong>GNU/Linux</strong>
</p>

<p>
	 
</p>

<p>
	<strong>BASH</strong>
</p>

<p>
	Bash (Bourne-Again SHell) je příkazový interpret a skriptovací jazyk pro Unixové a Unixově podobné operační systémy, včetně Linuxu. Bash je standardním příkazovým interpretem pro většinu distribucí Linuxu a je také součástí <strong>macOS</strong>.
</p>

<p>
	Bash umožňuje uživatelům spouštět příkazy v příkazové řádce nebo vytvářet skripty, což jsou soubory obsahující seznam příkazů, které mohou být spuštěny jako celek. Bash podporuje mnoho příkazů a funkcí, které umožňují uživatelům automatizovat různé úkoly nebo interagovat s operačním systémem a souborovým systémem. Více o BASH je v dalším díle <span><a href="https://fivem-dev.cz/topic/48-linux-z%C3%A1kladn%C3%AD-p%C5%99%C3%ADkazy/?do=getNewComment" rel="" style="background-color:transparent;color:inherit;" title="Linux - Základní příkazy (Click and hold to edit title)"><span>Linux - Základní příkazy</span></a></span>
</p>

<p>
	 
</p>

<p>
	<strong>Kernel</strong>
</p>

<p>
	Kernel (česky jádro) je základní část operačního systému, která představuje prostředníka mezi hardwarem počítače a softwarovými aplikacemi běžícími na tomto počítači. Jádro operačního systému řídí všechny aspekty systému, včetně správy paměti, správy procesů, vstupů a výstupů, sítě, správy souborů a zařízení a dalších funkcí. Poskytuje také rozhraní pro komunikaci mezi aplikacemi a hardwarem.
</p>

<p>
	Linux jádro (kernel) existuje pouze jedno. Na společném vývoji pracují desítky/stovky firem a vývojářů.
</p>

<p>
	 
</p>

<p>
	<strong>KDE a Xfce:</strong>
</p>

<p>
	jsou další populární grafické uživatelské rozhraní pro Linux. KDE je to velmi konfigurovatelné rozhraní, které umožňuje uživatelům přizpůsobit vzhled a chování systému podle svých potřeb. KDE používá mnoho widgetů a efektů, což umožňuje uživatelům pracovat s více aplikacemi najednou. Xfce je lehké grafické uživatelské rozhraní pro Linux, které je ideální pro starší počítače a zařízení s omezenými prostředky. Xfce má jednoduchý a elegantní vzhled a nabízí uživatelům snadný přístup k aplikacím a funkcím.
</p>

<p>
	 
</p>

<p>
	Trocha čísel:
</p>

<p>
	Podle statistik je poměr mezi Linuxem a Windows na osobních PC stále poměrně výrazný. Podle odhadů používá Linux na osobních počítačích méně než 2% uživatelů, zatímco Windows používá přes 75% uživatelů. Zbylých 23% je macOS, Chrome OS.
</p>

<p>
	Mnohem lepší situace pro Linux je pak ale ve využití jako serverový OS. Podle statistik je poměr použití Linuxu a Windows na serverech relativně vyrovnaný, přičemž Linux má v této oblasti podstatně větší podíl na trhu než na osobních počítačích.
</p>

<p>
	Podle statistik, které byly publikovány v srpnu 2021 společností W3Techs, Linux je operačním systémem používaným na více než 96% webových serverů, zatímco Windows je používán na méně než 1% webových serverů. To znamená, že Linux je prakticky dominantní operační systém na webových serverech.
</p>

<p>
	Na druhé straně jsou Windows serverové operační systémy stále populární pro určité účely, jako je například běh aplikací vyvinutých pro platformu Windows. Windows také nabízí některé funkce a vlastnosti, které jsou pro určité účely vhodnější než Linux. Případně aplikace přímo vyvíjené od Microsoft. 
</p>

<p>
	 
</p>

<p>
	Co je distribuce?
</p>

<p>
	Distribuce se skládá z:
</p>

<ul><li>
		základních programů
	</li>
	<li>
		shell interpretu - terminál/příkazová řádka
	</li>
	<li>
		GUI KDE, GNOME - Grafické rozhraní
	</li>
	<li>
		ovládacích scriptů
	</li>
	<li>
		instalační, aktualizační nástroje a balíčkovací systém
	</li>
	<li>
		vlastní aplikace
	</li>
</ul><p>
	 
</p>
]]></description><guid isPermaLink="false">47</guid><pubDate>Thu, 23 Feb 2023 18:27:42 +0000</pubDate></item><item><title>SQL - Pokro&#x10D;il&#xE1; pr&#xE1;ce s daty</title><link>https://fivem-dev.cz/topic/37-sql-pokro%C4%8Dil%C3%A1-pr%C3%A1ce-s-daty/</link><description><![CDATA[<p>
	Pro hlubší či složitější práci s daty si bohužel nevystačíme pouze s SQL dotazem SELECT, některé data potřebují být při zobrazení různě spojována, nahrazována a nebo přidávány virtuální sloupce. Jedná se pouze o zobrazení, takže níže uvedené dotazy <strong>nemění žádné data</strong>, ale pouze vytváří zobrazovaný pohled na data.
</p>

<p>
	 
</p>

<p>
	V tomto příkladu budeme používat SQL klíčové slova JOIN, UNION, CASE a dále si ukážeme Subquery.
</p>

<p>
	 
</p>

<p>
	Vytvoříme si nové data:
</p>

<p>
	První tabulka:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">CREATE TABLE </span><span class="typ">Zakaznici</span><span class="pln"> </span><span class="pun">(</span><span class="pln">
  id INT PRIMARY KEY</span><span class="pun">,</span><span class="pln">
  jmeno VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">)</span><span class="pln"> NOT NULL</span><span class="pun">,</span><span class="pln">
  prijmeni VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">)</span><span class="pln"> NOT NULL</span><span class="pun">,</span><span class="pln">
  email VARCHAR</span><span class="pun">(</span><span class="lit">100</span><span class="pun">)</span><span class="pln"> NOT NULL</span><span class="pun">,</span><span class="pln">
  adresa VARCHAR</span><span class="pun">(</span><span class="lit">200</span><span class="pun">)</span><span class="pln"> NOT NULL</span><span class="pun">,</span><span class="pln">
  mesto VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">)</span><span class="pln"> NOT NULL</span><span class="pun">,</span><span class="pln">
  stat VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">)</span><span class="pln"> NOT NULL</span><span class="pun">,</span><span class="pln">
  psc VARCHAR</span><span class="pun">(</span><span class="lit">10</span><span class="pun">)</span><span class="pln"> NOT NULL
</span><span class="pun">);</span><span class="pln">

INSERT INTO </span><span class="typ">Zakaznici</span><span class="pln"> </span><span class="pun">(</span><span class="pln">id</span><span class="pun">,</span><span class="pln"> jmeno</span><span class="pun">,</span><span class="pln"> prijmeni</span><span class="pun">,</span><span class="pln"> email</span><span class="pun">,</span><span class="pln"> adresa</span><span class="pun">,</span><span class="pln"> mesto</span><span class="pun">,</span><span class="pln"> stat</span><span class="pun">,</span><span class="pln"> psc</span><span class="pun">)</span><span class="pln">
VALUES
  </span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Jan'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Novák'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'jan.novak@email.com'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Hlavní 1'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Praha'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Česká republika'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'100 00'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Petr'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Svoboda'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'petr.svoboda@email.com'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Náměstí 2'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Brno'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Česká republika'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'602 00'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">3</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Kateřina'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Veselá'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'katerina.vesela@email.com'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Hrad 3'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Olomouc'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Česká republika'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'779 00'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">4</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Miroslav'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Kučera'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'miroslav.kucera@email.com'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Dlouhá 4'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Liberec'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Česká republika'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'460 01'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">5</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Lucie'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Novotná'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'lucie.novotna@email.com'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Hradčany 5'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Praha'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Česká republika'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'110 00'</span><span class="pun">);</span></pre>

<p>
	<img alt="image.png.9c137795c7d4ff9d1f26fe6cf25fc77a.png" class="ipsImage ipsImage_thumbnailed" data-fileid="48" data-ratio="31.97" style="height:auto;" width="513" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.9c137795c7d4ff9d1f26fe6cf25fc77a.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	Druhá tabulka:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">CREATE TABLE </span><span class="typ">Objednavky</span><span class="pln"> </span><span class="pun">(</span><span class="pln">
  id INT PRIMARY KEY</span><span class="pun">,</span><span class="pln">
  zakaznik_id INT NOT NULL</span><span class="pun">,</span><span class="pln">
  produkt VARCHAR</span><span class="pun">(</span><span class="lit">100</span><span class="pun">)</span><span class="pln"> NOT NULL</span><span class="pun">,</span><span class="pln">
  mnozstvi INT NOT NULL</span><span class="pun">,</span><span class="pln">
  cena DECIMAL</span><span class="pun">(</span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln"> NOT NULL</span><span class="pun">,</span><span class="pln">
  datum DATE NOT NULL</span><span class="pun">,</span><span class="pln">
  FOREIGN KEY </span><span class="pun">(</span><span class="pln">zakaznik_id</span><span class="pun">)</span><span class="pln"> REFERENCES </span><span class="typ">Zakaznici</span><span class="pun">(</span><span class="pln">id</span><span class="pun">)</span><span class="pln">
</span><span class="pun">);</span><span class="pln">

INSERT INTO </span><span class="typ">Objednavky</span><span class="pln"> </span><span class="pun">(</span><span class="pln">id</span><span class="pun">,</span><span class="pln"> zakaznik_id</span><span class="pun">,</span><span class="pln"> produkt</span><span class="pun">,</span><span class="pln"> mnozstvi</span><span class="pun">,</span><span class="pln"> cena</span><span class="pun">,</span><span class="pln"> datum</span><span class="pun">)</span><span class="pln">
VALUES
  </span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Kávovar'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2499.00</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-01-15'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Mixér'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1799.00</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-01-18'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">3</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Myčka'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">8999.00</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-01-22'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">4</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Trouba'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">5999.00</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-01-25'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">5</span><span class="pun">,</span><span class="pln"> </span><span class="lit">4</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Klimatizace'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">12999.00</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-01'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">6</span><span class="pun">,</span><span class="pln"> </span><span class="lit">5</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Prádelní stroj'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">8499.00</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-05'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">7</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Lednice'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">7999.00</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-07'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">8</span><span class="pun">,</span><span class="pln"> </span><span class="lit">4</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Tablet'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="lit">5699.00</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-11'</span><span class="pun">);</span></pre>

<p>
	<img alt="image.png.db6558359df96e68e5242510039e0cca.png" class="ipsImage ipsImage_thumbnailed" data-fileid="47" data-ratio="73.05" style="height:auto;" width="334" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.db6558359df96e68e5242510039e0cca.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:22px;">JOIN</span></strong>
</p>

<p>
	Spojení dvou tabulek pomocí sloupce, který mají obě nebo více tabulek společný.
</p>

<p>
	Ukázka:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">SELECT </span><span class="typ">Objednavky</span><span class="pun">.</span><span class="pln">id</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Zakaznici</span><span class="pun">.</span><span class="pln">jmeno</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Zakaznici</span><span class="pun">.</span><span class="pln">prijmeni</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Objednavky</span><span class="pun">.</span><span class="pln">produkt</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Objednavky</span><span class="pun">.</span><span class="pln">mnozstvi</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Objednavky</span><span class="pun">.</span><span class="pln">cena
FROM </span><span class="typ">Objednavky</span><span class="pln">
JOIN </span><span class="typ">Zakaznici</span><span class="pln"> ON </span><span class="typ">Objednavky</span><span class="pun">.</span><span class="pln">zakaznik_id </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Zakaznici</span><span class="pun">.</span><span class="pln">id</span><span class="pun">;</span></pre>

<p>
	Výstup dat:
</p>

<p>
	Výsledkem je tabulka obsahující sloupce <strong>id</strong>, <strong>jmeno</strong>, <strong>prijmeni</strong>, <strong>produkt</strong>, <strong>mnozstvi </strong>a cena spojená z tabulek <strong>Objednavky </strong>a <strong>Zakaznici</strong>.
</p>

<p>
	<img alt="image.png.2271dc8521e5ca571f7d967a617fbc29.png" class="ipsImage ipsImage_thumbnailed" data-fileid="49" data-ratio="75.24" style="height:auto;" width="311" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.2271dc8521e5ca571f7d967a617fbc29.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	<span style="font-size:22px;"><strong>UNION</strong></span>
</p>

<p>
	spojení výsledků dvou a více dotazů do jednoho výstupu.
</p>

<p>
	Ukázka:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">SELECT produkt</span><span class="pun">,</span><span class="pln"> mnozstvi</span><span class="pun">,</span><span class="pln"> cena</span><span class="pun">,</span><span class="pln"> zakaznik_id
FROM </span><span class="typ">Objednavky</span><span class="pln">
WHERE zakaznik_id </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pln">
UNION
SELECT produkt</span><span class="pun">,</span><span class="pln"> mnozstvi</span><span class="pun">,</span><span class="pln"> cena</span><span class="pun">,</span><span class="pln"> zakaznik_id
FROM </span><span class="typ">Objednavky</span><span class="pln">
WHERE zakaznik_id </span><span class="pun">=</span><span class="pln"> </span><span class="lit">3</span><span class="pun">;</span></pre>

<p>
	V tomto případě dotaz kombinuje výsledky dvou dotazů pomocí <strong>UNION</strong>. První <strong>SELECT </strong>vrací všechny řádky z tabulky <strong>Objednavky</strong>, kde má <strong>zákazník id 1</strong>. Druhý <strong>SELECT </strong>vrací všechny řádky z tabulky <strong>Objednavky</strong>, kde má zákazník <strong>id 3</strong>. <strong>UNION </strong>pak spojí výsledky obou dotazů do jedné tabulky a odstraní duplicity. Výsledkem dotazu bude tabulka obsahující řádky pro produkty, které si objednali zákazníci s<strong> id 1 </strong>nebo<strong> id 3.</strong>
</p>

<p>
	<img alt="image.png.146cc9314a502515d67a818f7411a5a6.png" class="ipsImage ipsImage_thumbnailed" data-fileid="50" data-ratio="50.64" style="height:auto;" width="233" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.146cc9314a502515d67a818f7411a5a6.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	<span style="font-size:22px;"><strong>CASE</strong></span>
</p>

<p>
	použití podmínky pro generování nového sloupce za určitých podmínek dle specifikovaných podmínek. 
</p>

<p>
	Ukázka:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">SELECT produkt</span><span class="pun">,</span><span class="pln"> mnozstvi</span><span class="pun">,</span><span class="pln"> cena</span><span class="pun">,</span><span class="pln">
  CASE
    WHEN cena </span><span class="pun">&lt;</span><span class="pln"> </span><span class="lit">5000</span><span class="pln"> THEN </span><span class="str">'levný'</span><span class="pln">
    WHEN cena </span><span class="pun">&gt;=</span><span class="pln"> </span><span class="lit">5000</span><span class="pln"> AND cena </span><span class="pun">&lt;</span><span class="pln"> </span><span class="lit">10000</span><span class="pln"> THEN </span><span class="str">'střední'</span><span class="pln">
    ELSE </span><span class="str">'drahý'</span><span class="pln">
  </span><span class="kwd">END</span><span class="pln"> AS cena_kategorie
FROM </span><span class="typ">Objednavky</span><span class="pun">;</span></pre>

<p>
	Výsledkem bude tabulka obsahující sloupce <strong>produkt</strong>, <strong>mnozstvi</strong>, <strong>cena </strong>a <span style="color:#c0392b;"><strong>cena_kategorie</strong></span>. Poslední sloupec je vytvořen pomocí podmínky <strong>CASE</strong>, která rozděluje produkty do tří kategorií podle jejich cen.
</p>

<p>
	<img alt="image.png.290500c694a070f320cc212071b6176c.png" class="ipsImage ipsImage_thumbnailed" data-fileid="52" data-ratio="90.67" style="height:auto;" width="268" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.290500c694a070f320cc212071b6176c.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<span style="font-size:22px;"><strong>SubQUERY</strong></span>
</p>

<p>
	V některých případech pro zobrazení dat potřebujeme první část dat nějak vyfiltrovat, na toto jsou vhodné subquery, jak je jasné z názvu, tak to znamená že je jeden příkaz vnořený do druhého. Takže pro použití výsledku jednoho dotazu jako vstup do druhého.
</p>

<p>
	 
</p>

<p>
	Ukázka:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">SELECT jmeno</span><span class="pun">,</span><span class="pln"> prijmeni
FROM </span><span class="typ">Zakaznici</span><span class="pln">
WHERE id IN </span><span class="pun">(</span><span class="pln">
  SELECT zakaznik_id
  FROM </span><span class="typ">Objednavky</span><span class="pln">
  WHERE produkt </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Klimatizace'</span><span class="pln">
</span><span class="pun">);</span></pre>

<p>
	Výsledkem bude tabulka obsahující sloupce <strong>jmeno </strong>a <strong>prijmeni </strong>pro zákazníky, kteří si objednali klimatizaci. Vnitřní <strong>SELECT </strong>vrací seznam ID zákazníků, kteří si objednali klimatizaci, a vnější <strong>SELECT </strong>používá tento seznam jako podmínku pro výběr zákazníků z tabulky <strong>Zakaznici</strong>.
</p>

<p>
	<img alt="image.png.293feeb0ed021660042942d311677126.png" class="ipsImage ipsImage_thumbnailed" data-fileid="53" data-ratio="52.59" style="height:auto;" width="116" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.293feeb0ed021660042942d311677126.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p><a href="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.198abc65f35addadc3f9335b78a7fb6d.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="51" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.198abc65f35addadc3f9335b78a7fb6d.png" data-ratio="50.64" width="233" class="ipsImage ipsImage_thumbnailed" alt="image.png"></a></p>]]></description><guid isPermaLink="false">37</guid><pubDate>Wed, 22 Feb 2023 17:53:38 +0000</pubDate></item><item><title>SQL - Pr&#xE1;ce s daty 2</title><link>https://fivem-dev.cz/topic/36-sql-pr%C3%A1ce-s-daty-2/</link><description><![CDATA[<p>
	Pokračování návodu <a href="https://fivem-dev.cz/topic/29-sql-pr%C3%A1ce-s-daty-1/" rel="">SQL - Práce s daty 1</a>
</p>

<p>
	 
</p>

<p>
	Vrátíme se k založeným tabulkám
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">CREATE TABLE </span><span class="typ">Customers</span><span class="pln"> </span><span class="pun">(</span><span class="pln">
  </span><span class="typ">CustomerID</span><span class="pln"> INT NOT NULL PRIMARY KEY</span><span class="pun">,</span><span class="pln">
  </span><span class="typ">FirstName</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">),</span><span class="pln">
  </span><span class="typ">LastName</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">),</span><span class="pln">
  </span><span class="typ">Address</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">100</span><span class="pun">),</span><span class="pln">
  </span><span class="typ">City</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">),</span><span class="pln">
  </span><span class="typ">Country</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">)</span><span class="pln">
</span><span class="pun">);</span><span class="pln">

CREATE TABLE </span><span class="typ">Orders</span><span class="pln"> </span><span class="pun">(</span><span class="pln">
  </span><span class="typ">OrderID</span><span class="pln"> INT NOT NULL PRIMARY KEY</span><span class="pun">,</span><span class="pln">
  </span><span class="typ">CustomerID</span><span class="pln"> INT NOT NULL</span><span class="pun">,</span><span class="pln">
  </span><span class="typ">OrderDate</span><span class="pln"> DATE</span><span class="pun">,</span><span class="pln">
  </span><span class="typ">TotalAmount</span><span class="pln"> DECIMAL</span><span class="pun">(</span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">),</span><span class="pln">
  FOREIGN KEY </span><span class="pun">(</span><span class="typ">CustomerID</span><span class="pun">)</span><span class="pln"> REFERENCES </span><span class="typ">Customers</span><span class="pun">(</span><span class="typ">CustomerID</span><span class="pun">)</span><span class="pln">
</span><span class="pun">);</span><span class="pln">

INSERT INTO </span><span class="typ">Customers</span><span class="pln"> </span><span class="pun">(</span><span class="typ">CustomerID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">FirstName</span><span class="pun">,</span><span class="pln"> </span><span class="typ">LastName</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Address</span><span class="pun">,</span><span class="pln"> </span><span class="typ">City</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Country</span><span class="pun">)</span><span class="pln">
VALUES
  </span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Pepa'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Novak'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'123 Main St'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Anytown'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'USA'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Jane'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Smith'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'456 Oak Ave'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Othertown'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'USA'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">3</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Bob'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Johnson'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'789 Elm St'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Somewhere'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'CR'</span><span class="pun">);</span><span class="pln">
  
INSERT INTO </span><span class="typ">Orders</span><span class="pln"> </span><span class="pun">(</span><span class="typ">OrderID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CustomerID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">OrderDate</span><span class="pun">,</span><span class="pln"> </span><span class="typ">TotalAmount</span><span class="pun">)</span><span class="pln">
VALUES
  </span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-15'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">100.00</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-17'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50.00</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">3</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-18'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">200.00</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">4</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-20'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">75.00</span><span class="pun">);</span></pre>

<p>
	<img alt="image.png.8e2e8e8c30f8b1edc377e4eb24c2a5e7.png" class="ipsImage ipsImage_thumbnailed" data-fileid="43" data-ratio="30.75" style="height:auto;" width="374" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.8e2e8e8c30f8b1edc377e4eb24c2a5e7.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	<img alt="image.png.844bb5c6cbc4e0b9f7b2407311e442bc.png" class="ipsImage ipsImage_thumbnailed" data-fileid="44" data-ratio="54.65" style="height:auto;" width="258" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.844bb5c6cbc4e0b9f7b2407311e442bc.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:22px;">UPDATE</span></strong>
</p>

<p>
	V ukázce provedeme změnu obsahu daných tabulkek. K tomu slouží příkaz <strong>UPDATE</strong>
</p>

<p>
	Příkaz <strong>UPDATE </strong>slouží k aktualizaci stávajících záznamů v databázové tabulce. Jeho syntaxe vypadá následovně:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">UPDATE table_name
SET column1 </span><span class="pun">=</span><span class="pln"> value1</span><span class="pun">,</span><span class="pln"> column2 </span><span class="pun">=</span><span class="pln"> value2</span><span class="pun">,</span><span class="pln"> </span><span class="pun">...</span><span class="pln">
WHERE condition</span><span class="pun">;</span></pre>

<p>
	Jednotlivé parametry tohoto příkazu:
</p>

<ul><li>
		<strong>table_name</strong>: Název tabulky, kterou chcete aktualizovat.
	</li>
	<li>
		<strong>column1</strong>, <strong>column2</strong>, ...: Názvy sloupců v tabulce, které chcete aktualizovat.
	</li>
	<li>
		<strong>value1</strong>, <strong>value2</strong>, ...: Nové hodnoty, které chcete přiřadit k jednotlivým sloupcům.
	</li>
	<li>
		<strong>condition</strong>: Podmínka, která určuje, které řádky v tabulce budou aktualizovány. Pokud tuto podmínku neuvedete, příkaz UPDATE aktualizuje všechny řádky v tabulce.
	</li>
</ul><p>
	Například: 
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">UPDATE </span><span class="typ">Customers</span><span class="pln">
SET </span><span class="typ">Address</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Nova Adresa 123'</span><span class="pln">
WHERE </span><span class="typ">CustomerID</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span></pre>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">UPDATE Customers
SET FirstName = 'Alice'
WHERE CustomerID = 3;</span></pre>

<p>
	<strong>Je důležité kontrolovat to, aby podmínka byla dostatečně specifická, aby nedošlo k aktualizaci nechtěných řádků. </strong>
</p>

<p>
	 
</p>

<p>
	Příklad pro update více hodnot v jednom příkazu:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">UPDATE </span><span class="typ">Customers</span><span class="pln">
SET </span><span class="typ">Address</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Adresa 123'</span><span class="pun">,</span><span class="pln">
    </span><span class="typ">City</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'Mesto'</span><span class="pun">,</span><span class="pln">
    </span><span class="typ">Country</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'CZ'</span><span class="pln">
WHERE </span><span class="typ">CustomerID</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span></pre>

<p>
	Příklad pro update více řádků a hodnot v jednom příkazu:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">UPDATE </span><span class="typ">Orders</span><span class="pln">
SET </span><span class="typ">TotalAmount</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">150.00</span><span class="pun">;</span></pre>

<p>
	Tento příkaz změní u všech řádků hodnotu sloupce <strong>TotalAmount </strong>na hodnotu <strong>150.00</strong>
</p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:22px;">DELETE</span></strong>
</p>

<p>
	Příkaz <strong>DELETE </strong>slouží ke smazání záznamů z databázové tabulky. Příkaz <strong>DELETE </strong>může mít nevratné dopady, pokud není správně použit. Pokud smažete řádky z tabulky, <em>"<span style="color:#3498db;">nelze je obnovit" </span> </em>Je důležité dbát na to, aby podmínka byla dostatečně specifická, aby neodstranila nechtěné řádky v tabulce.
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">DELETE FROM table_name
WHERE condition</span><span class="pun">;</span></pre>

<p>
	Jednotlivé parametry tohoto příkazu:
</p>

<ul><li>
		table_name: Název tabulky, ze které chcete smazat záznamy.
	</li>
	<li>
		condition: Podmínka, která určuje, které řádky v tabulce budou smazány. Pokud tuto podmínku neuvedete, příkaz DELETE smaže všechny záznamy v tabulce.
	</li>
</ul><p>
	 
</p>

<p>
	Příklady: 
</p>

<p>
	Smazání zákazníka s ID 1 z tabulky Customers
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">DELETE FROM </span><span class="typ">Customers</span><span class="pln">
WHERE </span><span class="typ">CustomerID</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	Smazání všech objednávek s datem objednání starším než "2022-02-19"
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">DELETE FROM </span><span class="typ">Orders</span><span class="pln">
WHERE </span><span class="typ">OrderDate</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln"> </span><span class="str">'2022-02-19'</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	<span style="color:#c0392b;">!!Smazání všech dat z dané tabulky!!</span>
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">DELETE FROM </span><span class="typ">Orders</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<strong><span style="font-size:22px;">ALTER</span></strong>
</p>

<p>
	Příkaz ALTER v SQL slouží ke změně struktury existující tabulky. Jeho syntaxe se liší v závislosti na tom, co chcete změnit.
</p>

<p>
	Zde jsou vysvětleny jednotlivé parametry, které můžete použít v příkazu ALTER
</p>

<ul><li>
		TABLE: Určuje název tabulky, kterou chcete změnit.
	</li>
	<li>
		ADD: Používá se ke přidání nového sloupce do tabulky.<br />
		 
	</li>
</ul><p>
	Například:
</p>

<p>
	 
</p>

<ul><li>
		TABLE: Určuje název tabulky, kterou chcete změnit.
	</li>
	<li>
		ADD: Používá se ke přidání nového sloupce do tabulky. 
	</li>
</ul><pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">ALTER TABLE table_name
ADD column_name data_type</span><span class="pun">;</span></pre>

<p>
	 
</p>

<ul><li>
		DROP: Používá se ke smazání sloupce z tabulky. 
	</li>
</ul><pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">ALTER TABLE table_name
DROP COLUMN column_name</span><span class="pun">;</span></pre>

<p>
	 
</p>

<ul><li>
		MODIFY: Používá se ke změně datového typu existujícího sloupce.
	</li>
</ul><pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">ALTER TABLE table_name
MODIFY COLUMN column_name new_data_type</span><span class="pun">;</span></pre>

<p>
	 
</p>

<ul><li>
		RENAME: Používá se ke změně názvu tabulky nebo sloupce. 
	</li>
</ul><pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">ALTER TABLE table_name
RENAME TO new_table_name</span><span class="pun">;</span><span class="pln">

ALTER TABLE table_name
RENAME COLUMN column_name TO new_column_name</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	Reálné příkazy pro naše tabulky:
</p>

<p>
	Přidání sloupce <strong>Phone </strong>do tabulky <strong>Customers</strong>
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">ALTER TABLE </span><span class="typ">Customers</span><span class="pln">
ADD </span><span class="typ">Phone</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">20</span><span class="pun">);</span></pre>

<p>
	 
</p>

<p>
	Odstranění sloupce <strong>TotalAmount </strong>z tabulky <strong>Orders</strong>
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">ALTER TABLE </span><span class="typ">Orders</span><span class="pln">
DROP COLUMN </span><span class="typ">TotalAmount</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	Změna datového typu sloupce <strong>Address </strong>v tabulce <strong>Customers </strong>z <strong>VARCHAR(100)</strong> na <strong>VARCHAR(200)</strong>
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">ALTER TABLE </span><span class="typ">Customers</span><span class="pln">
MODIFY COLUMN </span><span class="typ">Address</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">200</span><span class="pun">);</span></pre>

<p>
	 
</p>

<p>
	Přejmenování tabulky <strong>Customers </strong>na <strong>Clients</strong>
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">ALTER TABLE </span><span class="typ">Customers</span><span class="pln">
RENAME TO </span><span class="typ">Clients</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	Přejmenování sloupce City v tabulce <strong>Customers </strong>na <strong>Location</strong>
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">ALTER TABLE </span><span class="typ">Customers</span><span class="pln">
RENAME COLUMN </span><span class="typ">City</span><span class="pln"> TO </span><span class="typ">Location</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">36</guid><pubDate>Wed, 22 Feb 2023 17:34:43 +0000</pubDate></item><item><title>jak vytvo&#x159;it ymap</title><link>https://fivem-dev.cz/topic/35-jak-vytvo%C5%99it-ymap/</link><description><![CDATA[<p>
	Jak přidat ymap už někdo psal ale jak ho vytvořit by bylo taky dobré xd
</p>

<p>
	<span style="font-size:26px;">Co budeme potřebovat? </span>
</p>

<p>
	1. codewalker -&gt;<a href="https://www.gta5-mods.com/tools/codewalker-gtav-interactive-3d-map" rel="external nofollow">https://www.gta5-mods.com/tools/codewalker-gtav-interactive-3d-map</a>
</p>

<p>
	2. pevné nervy
</p>

<p>
	<span style="font-size:26px;">Příprava:</span> 
</p>

<p>
	1. Stáhneme si codewalker.
</p>

<p>
	2. Vytvoříme si script ve kterém bude složka stream a soubor fxmanifest.lua<br />
	3  Do fxmanifest.lua vložíme tohle: 
</p>

<div>
	<p>
		fx_version 'cerulean'
	</p>

	<p>
		game 'gta5'
	</p>

	<p>
		this_is_map 'yes'
	</p>

	<p>
		<span style="font-size:26px;">Postup:</span>
	</p>

	<p>
		1. Otevřeme si codewalker a po mapě si najdeme object který chceme poupravit (já budu dělat barikádu proti stunterů)
	</p>

	<p>
		2. Zmáčkneme <strong>T </strong>aby se nám ukázala taková tabulka: <img alt="fotka1.png" class="ipsImage" data-ratio="75.08" height="521" style="height:auto;" width="1000" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077994611223576648/fotka1.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

	<p>
		3. stiskneme <strong>CTRL+N  </strong>tak aby se nám otevřelo tohl<strong>e: <img alt="Snimek_obrazovky_2023-02-22_174705.png" class="ipsImage" data-ratio="68.56" height="556" style="height:auto;" width="811" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077995000303996988/Snimek_obrazovky_2023-02-22_174705.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></strong>
	</p>
</div>

<p>
	Klikneme na <strong>File-&gt;New-&gt;Ymap File <img alt="image.png" class="ipsImage" data-ratio="72.27" height="271" style="height:auto;" width="375" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077995226662187008/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></strong>
</p>

<p>
	<strong>a </strong>dostaneme tohle: <img alt="image.png" class="ipsImage" data-ratio="69.21" height="562" style="height:auto;" width="812" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077995734609186826/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	Půjdeme do Ymap (v horní navigaci) a tam na <strong>new entity</strong> <img alt="image.png" class="ipsImage" data-ratio="87.24" height="171" style="height:auto;" width="196" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077996070275129596/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	a otevře se nám tohle: 
</p>

<p>
	<img alt="image.png" class="ipsImage" data-ratio="67.98" height="554" style="height:auto;" width="815" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077996428422549584/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	Půjdeme na stránku <a href="https://gtahash.ru/" rel="external nofollow">https://gtahash.ru/</a> a zde si vybereme prop který potřebujeme a vezmeme z něho <b style="background-color:#ffffff;color:#212529;font-size:18px;text-align:left;">Object Name <img alt="image.png" class="ipsImage" data-ratio="83.04" height="372" style="height:auto;" width="448" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077996831176405002/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></b>
</p>

<p>
	<strong>zkopírujeme si ho a vložíme do archetype v codewalkeru <img alt="image.png" class="ipsImage" data-ratio="76.47" height="429" style="height:auto;" width="561" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077997290238791701/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></strong>
</p>

<p>
	<strong>tuhle tabulku minimalizujeme a vlevo nahoře zvolíme možnost pohybovat s propem <img alt="image.png" class="ipsImage" data-ratio="75.08" height="657" style="height:auto;" width="1000" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077998061793591398/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></strong>
</p>

<p>
	<strong>Prop napasujeme tam kam chceme (zde jsou potřeba nervy)</strong>
</p>

<p>
	 
</p>

<p>
	<strong>P</strong>o napasování tam kam pořebujeme půjdeme zpátky sem: 
</p>

<p>
	<img alt="image.png" class="ipsImage" data-ratio="69.72" height="564" style="height:auto;" width="809" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077998758735917228/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	klikneme na ymap file (v mém případě barikada.ymap), klikneme na calculate all flags a calculate extents 
</p>

<p>
	<img alt="image.png" class="ipsImage" data-ratio="69.51" height="563" style="height:auto;" width="810" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077999260202700921/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	Klikneme na file a save [to vaše jméno].ymap as
</p>

<p>
	<img alt="image.png" class="ipsImage" data-ratio="68.70" height="564" style="height:auto;" width="821" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077999608195715112/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	Budeme to navigovat do složky stream kterou jste si vytvořily v postupu a váš výtvor bude vytvořen <span>:DD </span>
</p>

<p>
	<span><img alt="image.png" class="ipsImage" data-ratio="56.60" height="532" style="height:auto;" width="940" data-src="https://cdn.discordapp.com/attachments/1072882078196187147/1077999996894453900/image.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></span>
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">35</guid><pubDate>Wed, 22 Feb 2023 17:09:25 +0000</pubDate></item><item><title>Vlastn&#xED; blip na map&#x11B;</title><link>https://fivem-dev.cz/topic/30-vlastn%C3%AD-blip-na-map%C4%9B/</link><description><![CDATA[<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<strong><span style="font-size:20px;">Co se zde naučíme?</span></strong>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	Jak si přidat vlastní vzhled blipů
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<strong><span style="font-size:26px;">Co je k tomu potřeba?</span></strong>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	budeme potřebovat: 1. open IV -&gt;<a href="https://openiv.com/" rel="external nofollow">https://openiv.com/</a>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	                                   2. program který dokáže poupravit  dds soubory já použiju <a href="https://www.getpaint.net/" rel="external nofollow">https://www.getpaint.net/</a>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	                                   3. program na export a import -&gt;<a href="https://www.gta5-mods.com/tools/texture-toolkit" rel="external nofollow">https://www.gta5-mods.com/tools/texture-toolkit</a>
</p>

<p style="background-color:rgb(255,255,255);color:rgb(53,60,65);">
	<strong><span style="font-size:26px;">Postup</span></strong>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	Vytvoříme si složku ve které to celé budeme provádět ať v tom není bordel.<br />
	Otevřeme OpenIV zvolíme GTAV a do vyhledání napíšeme <strong>blips.</strong>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	Oba dds soubory označíme a vložíme do již vytvořené složky.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	Soubory si otevřete ve svém malovacím programu (já v <a href="https://www.getpaint.net/" rel="external nofollow">https://www.getpaint.net/</a> ) a vybereme si blip který chceme poupravit a poupravíte si ho jak chcete.<br />
	Uděláte si primitivní script ve kterém bude  fxmanifest.lua  a složka stream.<br />
	Do fxmanifest.lua přidáme:
</p>

<div style="background-color:#002451;color:#ffffff;font-size:14px;">
	<div>
		<span style="color:#bbdaff;">fx_version</span><span style="color:#ffffff;"> </span><span style="color:#d1f1a9;">'adamant'</span>
	</div>
	 

	<div>
		<span style="color:#bbdaff;">game</span><span style="color:#ffffff;"> </span><span style="color:#d1f1a9;">'gta5'</span>
	</div>
</div>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	 <br />
	Otevřeme si TextureTool.exe zde dáme <strong>File </strong>a <strong>new </strong>poté <strong>edit </strong>a dáme <strong>Import </strong>vybereme si naše upravené dds soubory a importujeme je.
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	Půjdeme do File a dáme save as.. vybereme zde naší stream složku a pojmenujeme to <strong>minimap.ytd </strong>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<strong><span style="font-size:26px;">Předpřipravený script</span></strong>
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	zde vám dávám předpřipravený script a jeho ukázku
</p>

<p style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<a class="ipsAttachLink" data-fileid="40" href="https://fivem-dev.cz/applications/core/interface/file/attachment.php?id=40&amp;key=5c6d52b32d818a899815bb9b70b7efb9" data-fileext="rar" rel="">tbx_blip.rar</a><img class="ipsImage ipsImage_thumbnailed" data-fileid="41" data-ratio="54.81" width="135" alt="image.png.7255b1ea3398da2e8fe10f5a79a04ce5.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.7255b1ea3398da2e8fe10f5a79a04ce5.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>
]]></description><guid isPermaLink="false">30</guid><pubDate>Tue, 21 Feb 2023 19:27:55 +0000</pubDate></item><item><title>SQL - Pr&#xE1;ce s daty 1</title><link>https://fivem-dev.cz/topic/29-sql-pr%C3%A1ce-s-daty-1/</link><description><![CDATA[<p>
	<span style="background-color:#ffffff;color:#353c41;font-size:14px;">V článku </span><a href="https://fivem-dev.cz/topic/28-sql-pr%C3%A1ce-s-u%C5%BEivatelem/" rel="">SQL - Práce s uživatelem</a><span style="background-color:#ffffff;color:#353c41;font-size:14px;"> jsme si řekli základní informace o práci s uživatelem a ukázali si možnost založení uživatele a změnu jeho práv.</span>
</p>

<p>
	<span style="background-color:rgb(255,255,255);">V tomto článku si ukážeme základní operace s daty. Vytvoříme si v naší testovací databázi dvě tabulky. Na vytvoření použijeme příkaz CREATE s možností TABLE</span><br />
	 
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">CREATE TABLE </span><span class="typ">Customers</span><span class="pln"> </span><span class="pun">(</span><span class="pln">
  </span><span class="typ">CustomerID</span><span class="pln"> INT NOT NULL PRIMARY KEY</span><span class="pun">,</span><span class="pln">
  </span><span class="typ">FirstName</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">),</span><span class="pln">
  </span><span class="typ">LastName</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">),</span><span class="pln">
  </span><span class="typ">Address</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">100</span><span class="pun">),</span><span class="pln">
  </span><span class="typ">City</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">),</span><span class="pln">
  </span><span class="typ">Country</span><span class="pln"> VARCHAR</span><span class="pun">(</span><span class="lit">50</span><span class="pun">)</span><span class="pln">
</span><span class="pun">);</span></pre>

<p>
	A druhá tabulka
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">CREATE TABLE </span><span class="typ">Orders</span><span class="pln"> </span><span class="pun">(</span><span class="pln">
  </span><span class="typ">OrderID</span><span class="pln"> INT NOT NULL PRIMARY KEY</span><span class="pun">,</span><span class="pln">
  </span><span class="typ">CustomerID</span><span class="pln"> INT NOT NULL</span><span class="pun">,</span><span class="pln">
  </span><span class="typ">OrderDate</span><span class="pln"> DATE</span><span class="pun">,</span><span class="pln">
  </span><span class="typ">TotalAmount</span><span class="pln"> DECIMAL</span><span class="pun">(</span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">),</span><span class="pln">
  FOREIGN KEY </span><span class="pun">(</span><span class="typ">CustomerID</span><span class="pun">)</span><span class="pln"> REFERENCES </span><span class="typ">Customers</span><span class="pun">(</span><span class="typ">CustomerID</span><span class="pun">)</span><span class="pln">
</span><span class="pun">);</span></pre>

<p>
	Takto si vytvoříme dvě tabulky s názvem customers a orders.
</p>

<p>
	První tabulka obsahuje sloupce: CustomerID,FirstName,LastName,Address,City,Country
</p>

<p>
	Hint:<br />
	  <strong>CustomerID INT NOT NULL PRIMARY KEY</strong> definuje sloupec CustomerID v tabulce Customers.
</p>

<p>
	Popisuje následující informace o sloupci:
</p>

<ul><li>
		INT určuje <a href="https://cs.wikipedia.org/wiki/Datov%C3%BD_typ" rel="external nofollow">datový typ</a> sloupce jako celočíselný.
	</li>
	<li>
		NOT NULL určuje, že sloupec nemůže obsahovat hodnoty NULL - nesmí být prázdný.
	</li>
	<li>
		PRIMARY KEY určuje, že tento sloupec je primárním klíčem této tabulky. Primární klíč slouží k jednoznačné identifikaci každého záznamu v tabulce. Každá tabulka musí mít právě jeden primární klíč a musí být definován pomocí jednoho nebo více sloupců.
	</li>
</ul><p>
	 
</p>

<p>
	Takto vytvořené tabulky jsou ale prázdné, potřebujeme tedy nějaké data do tabulek vložit. K vložení dat použijeme příkaz INSERT
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">INSERT INTO </span><span class="typ">Customers</span><span class="pln"> </span><span class="pun">(</span><span class="typ">CustomerID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">FirstName</span><span class="pun">,</span><span class="pln"> </span><span class="typ">LastName</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Address</span><span class="pun">,</span><span class="pln"> </span><span class="typ">City</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Country</span><span class="pun">)</span><span class="pln">
VALUES
  </span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Pepa'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Novak'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'123 Main St'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Anytown'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'USA'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Jane'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Smith'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'456 Oak Ave'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Othertown'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'USA'</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">3</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Bob'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Johnson'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'789 Elm St'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'Somewhere'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'CR'</span><span class="pun">);</span></pre>

<p>
	Druhá tabulka
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">INSERT INTO </span><span class="typ">Orders</span><span class="pln"> </span><span class="pun">(</span><span class="typ">OrderID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">CustomerID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">OrderDate</span><span class="pun">,</span><span class="pln"> </span><span class="typ">TotalAmount</span><span class="pun">)</span><span class="pln">
VALUES
  </span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-15'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">100.00</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-17'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50.00</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">3</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-18'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">200.00</span><span class="pun">),</span><span class="pln">
  </span><span class="pun">(</span><span class="lit">4</span><span class="pun">,</span><span class="pln"> </span><span class="lit">3</span><span class="pun">,</span><span class="pln"> </span><span class="str">'2022-02-20'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">75.00</span><span class="pun">);</span></pre>

<p>
	<br />
	Tyto dva insert příkazy vkládají více řádků, příklad pouze pro jeden řádek:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">INSERT INTO table_name </span><span class="pun">(</span><span class="pln">column1</span><span class="pun">,</span><span class="pln"> column2</span><span class="pun">,</span><span class="pln"> column3</span><span class="pun">,</span><span class="pln"> </span><span class="pun">...)</span><span class="pln"> VALUES </span><span class="pun">(</span><span class="pln">value1</span><span class="pun">,</span><span class="pln"> value2</span><span class="pun">,</span><span class="pln"> value3</span><span class="pun">,</span><span class="pln"> </span><span class="pun">...);</span></pre>

<p>
	Možnost je vkládání dat i z jiné tabulky do jiné tabulky, tomu se říká poddotaz nebo vnořený dotaz:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">INSERT INTO table_name </span><span class="pun">(</span><span class="pln">column1</span><span class="pun">,</span><span class="pln"> column2</span><span class="pun">,</span><span class="pln"> column3</span><span class="pun">,</span><span class="pln"> </span><span class="pun">...)</span><span class="pln">
SELECT column1</span><span class="pun">,</span><span class="pln"> column2</span><span class="pun">,</span><span class="pln"> column3</span><span class="pun">,</span><span class="pln"> </span><span class="pun">...</span><span class="pln">
FROM another_table
WHERE condition</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	<span style="font-size:24px;">Práce s daty - SELECT</span>
</p>

<p>
	Struktura příkazu SELECT, některé jsou volitelné a mohou být vynechány/nepoužity
</p>

<p>
	<span style="color:#0099ff;">SELECT </span>column1, column2, column3, ...<br /><span style="color:#0099ff;">FROM </span>table_name<br /><span style="color:#0099ff;">WHERE </span>condition<br /><span style="color:#0099ff;">GROUP BY</span> column1<br /><span style="color:#0099ff;">HAVING </span>condition<br /><span style="color:#0099ff;">ORDER BY</span> column1 ASC/DESC<br /><span style="color:#0099ff;">LIMIT </span>number;<br />
	 
</p>

<p>
	Význam:
</p>

<ul><li>
		SELECT specifikuje seznam sloupců, které chceme získat z tabulky.
	</li>
	<li>
		FROM specifikuje jméno tabulky, ze které chceme data získat.
	</li>
	<li>
		WHERE specifikuje podmínky pro výběr řádků.
	</li>
	<li>
		GROUP BY specifikuje sloupce, podle kterých se řádky seskupují.
	</li>
	<li>
		HAVING specifikuje podmínky pro výběr skupin.
	</li>
	<li>
		ORDER BY specifikuje sloupec nebo sloupce, podle kterých se výsledky řadí a směr řazení.
	</li>
	<li>
		LIMIT specifikuje maximální počet řádků, které chceme získat.
	</li>
</ul><p>
	 
</p>

<p>
	Vyber všechny sloupce z tabulky
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">SELECT </span><span class="pun">*</span><span class="pln">
FROM </span><span class="typ">Customers</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	Vyber pouze zvolené sloupce z tabulky
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">SELECT </span><span class="typ">CustomerID</span><span class="pun">,</span><span class="pln"> </span><span class="typ">FirstName</span><span class="pun">,</span><span class="pln"> </span><span class="typ">Country</span><span class="pun">,</span><span class="pln"> </span><span class="pun">...</span><span class="pln">
FROM </span><span class="typ">Customers</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	Vyber zákazníků, kteří mají bydliště v USA
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">SELECT *
FROM Customers
WHERE Country = 'USA';</span></pre>

<p>
	 
</p>

<p>
	Seřaď zákazníky podle abecedy jejich křestního jména (Nedojde ke změně dat, pouze zobrazovaného výstupu)
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">SELECT *
FROM Customers
ORDER BY FirstName ASC;</span></pre>

<p>
	 
</p>

<p>
	V další části si ukážeme změnu dat v tabulce, UPDATE, DELETE, ALTER
</p>
]]></description><guid isPermaLink="false">29</guid><pubDate>Tue, 21 Feb 2023 17:05:39 +0000</pubDate></item><item><title>SQL - Pr&#xE1;ce s u&#x17E;ivatelem</title><link>https://fivem-dev.cz/topic/28-sql-pr%C3%A1ce-s-u%C5%BEivatelem/</link><description><![CDATA[<p>
	V článku <a href="https://fivem-dev.cz/topic/27-sql-z%C3%A1kladn%C3%AD-informace/" rel="">SQL - Základní informace</a> jsme si řekli základní informace o SQL a ukázali si možnost založení uživatele.
</p>

<p>
	V tomto článku se probereme více možnostmi pro práci s uživatelem.
</p>

<p>
	 
</p>

<p>
	Příkaz CREATE v jazyce SQL slouží k vytváření nových objektů v databázi, jako jsou tabulky, pohledy, indexy, procedury, funkce, uživatelé atd.
</p>

<p>
	Možnosti příkazu CREATE jsou specifické pro každý typ objektu, který se vytváří. Níže uvádím některé z možností příkazu CREATE pro nejčastěji používané typy objektů v databázi:
</p>

<ul><li>
		CREATE TABLE: vytvoří novou tabulku v databázi
	</li>
	<li>
		CREATE VIEW: vytvoří nový pohled na tabulku nebo pohledy v databázi
	</li>
	<li>
		CREATE INDEX: vytvoří nový index na tabulku nebo pohled v databázi
	</li>
	<li>
		CREATE PROCEDURE: vytvoří novou uloženou proceduru v databázi
	</li>
	<li>
		CREATE FUNCTION: vytvoří novou uloženou funkci v databázi
	</li>
	<li>
		CREATE TRIGGER: vytvoří nový trigger (spouštěč) pro sledování událostí v databázi
	</li>
	<li>
		CREATE USER: vytvoří nového uživatele databáze
	</li>
	<li>
		CREATE DATABASE: vytvoří novou databázi
	</li>
</ul><p>
	Každý z těchto příkazů má mnoho dalších možností a specifických syntaxí, které se používají pro vytváření konkrétních objektů v databázi.
</p>

<p>
	 
</p>

<p>
	Pro vytvoření uživatele tedy budeme potřebovat <strong>CREATE USER</strong>
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">CREATE USER user_name IDENTIFIED BY </span><span class="str">'password'</span><span class="pun">;</span></pre>

<p>
	Tento příkaz vytváří nového uživatele a přiděluje mu heslo pro přihlášení. <strong>user_name </strong>je jméno uživatele a <strong>password </strong>je heslo. Příkaz CREATE USER vytváří uživatele bez jakýchkoli oprávnění. Klíčové slovo IDENTIFIED BY slouží k přidělení hesla
</p>

<p>
	Když budeme chtít takto vytvořeného uživatele přiřadit k nějaké databázi a nastavit mu oprávnění, budeme potřebovat příkaz <strong>GRANT</strong>
</p>

<p>
	 
</p>

<p>
	Příkaz <strong>GRANT </strong>slouží k udělení přístupových práv uživatelům v databázi. Mezi hlavní možnosti patří:
</p>

<ul><li>
		GRANT SELECT - umožňuje uživateli číst data v tabulkách
	</li>
	<li>
		GRANT INSERT - umožňuje uživateli vkládat data do tabulek
	</li>
	<li>
		GRANT UPDATE - umožňuje uživateli aktualizovat data v tabulkách
	</li>
	<li>
		GRANT DELETE - umožňuje uživateli odstraňovat data z tabulek
	</li>
	<li>
		GRANT CREATE - umožňuje uživateli vytvářet nové databáze, tabulky nebo indexy
	</li>
	<li>
		GRANT DROP - umožňuje uživateli odstraňovat databáze, tabulky nebo indexy
	</li>
	<li>
		GRANT ALTER - umožňuje uživateli měnit strukturu tabulek
	</li>
	<li>
		GRANT ALL PRIVILEGES - umožňuje uživateli přístup ke všem funkcím databáze
	</li>
	<li>
		GRANT EXECUTE - umožňuje uživateli spouštět uložené procedury nebo funkce
	</li>
</ul><p>
	Při použití příkazu GRANT může být uvedeno i specifikum, jako je určení konkrétní tabulky nebo databáze, ke které se přístupová práva vztahují, a také specifikace konkrétního uživatele, kterým se práva přidělují
</p>

<p>
	Například
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">GRANT SELECT</span><span class="pun">,</span><span class="pln"> INSERT</span><span class="pun">,</span><span class="pln"> UPDATE ON database_name</span><span class="pun">.*</span><span class="pln"> TO user_name@</span><span class="str">'localhost'</span><span class="pln"> IDENTIFIED BY </span><span class="str">'password'</span><span class="pun">;</span></pre>

<p>
	Pozor, <strong>localhost </strong>v příkazu přiděluje oprávnění uživateli pro připojení pouze z lokálního serveru, ale pokud chcete umožnit připojení i z jiných míst, můžete změnit localhost za '%'. Použití <strong>localhost </strong>je vhodné když chcete mít jistotu v zabezpečení jako další faktor před manipulaci s daty cizí osobou. Nejčastěji se používá přímo pro aplikace která je spuštěna na stejném serveru jako je databáze.  
</p>

<p>
	 
</p>

<p>
	Tímto způsobem si můžete u uživatele nastavit oprávnění. Nyní ale potřebujeme změnu oprávnění.
</p>

<p>
	Přidělení nového oprávnění použijeme opět příkaz <strong>GRANT. </strong>V opačném případě je potreba příkaz <strong>REVOKE</strong>
</p>

<p>
	Mezi základní možnosti patří:
</p>

<ul><li>
		REVOKE ALL: Odebere všechna oprávnění uživateli pro daný objekt.
	</li>
	<li>
		REVOKE [název oprávnění]: Odebere konkrétní oprávnění uživateli pro daný objekt.
	</li>
	<li>
		REVOKE [název oprávnění] ON [název objektu] FROM [název uživatele]: Odebere konkrétní oprávnění uživateli pro daný objekt.
	</li>
</ul><p>
	Například: 
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">REVOKE SELECT ON database_name</span><span class="pun">.</span><span class="pln">table_name FROM </span><span class="str">'user_name'</span><span class="pun">@</span><span class="str">'%'</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	A jako poslední práci s uživatelem změníme uživatele heslo. Pro změnu hesla existuje v SQL příkaz <strong>ALTER.</strong>
</p>

<p>
	Příkaz ALTER v SQL slouží k úpravě již existujících objektů v databázi, jako jsou tabulky, pohledy, funkce, procedury, uživatelé atd. Možnosti příkazu ALTER se liší v závislosti na objektu, který chcete upravit. Zde je několik příkladů:
</p>

<ul><li>
		ALTER TABLE: slouží ke změně struktury tabulky, např. přidání/odebrání sloupců, změna datového typu sloupců nebo změna primárního klíče.
	</li>
	<li>
		ALTER VIEW: slouží k úpravě definice pohledu.
	</li>
	<li>
		ALTER FUNCTION nebo ALTER PROCEDURE: slouží ke změně těla funkce nebo procedury.
	</li>
	<li>
		ALTER USER: slouží ke změně vlastností uživatele, jako je například změna hesla nebo limitu připojení.
	</li>
</ul><p>
	Každý typ objektu má své vlastní specifické možnosti úpravy pomocí příkazu ALTER.
</p>

<p>
	 
</p>

<p>
	Pro změnu hesla použijeme <strong>ALTER USER </strong>
</p>

<p>
	Například:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">ALTER USER 'user_name'@'%' IDENTIFIED BY 'user_new_password';</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">28</guid><pubDate>Tue, 21 Feb 2023 15:41:05 +0000</pubDate></item><item><title>SQL - Z&#xE1;kladn&#xED; informace</title><link>https://fivem-dev.cz/topic/27-sql-z%C3%A1kladn%C3%AD-informace/</link><description><![CDATA[<p>
	<strong><span style="font-size:18px;">Teorie</span>:</strong><br />
	SQL (Structured Query Language) je standardní programovací jazyk pro ukládání, manipulaci a vyhledávání dat v relačních databázích.<br />
	SQL znamená strukturovaný dotazovací jazyk. SQL byl vyvinut v 70. letech společností IBM
</p>

<p>
	<strong><span style="font-size:14px;">Relační databáze</span></strong>
</p>

<p>
	Existuje mnoho typů databázových serverů,nejčastěji používané:
</p>

<ul><li>
		<strong>MySQL/MariaDB</strong>: Jedná se o open-source relační databázový server. Je to velmi populární volba pro webové aplikace, protože je snadno použitelný a podporuje mnoho programovacích jazyků.
	</li>
	<li>
		<strong>Microsoft SQL Server</strong>: Tento relační databázový server je vyvinutý společností Microsoft a je často používán v podnikových prostředích. Podporuje mnoho funkcí pro zpracování dat, jako jsou OLAP a data mining.
	</li>
	<li>
		<strong>Oracle Database</strong>: Je to jeden z nejvýkonnějších relačních databázových serverů a je často používán v podnikových prostředích. Podporuje mnoho funkcí, jako jsou replikace dat, zálohování a obnovení a mnoho dalších.
	</li>
	<li>
		<strong>PostgreSQL</strong>: Open-source relační databázový server s vysokou úrovní funkčnosti a rozšířenosti. Je často používán pro webové aplikace, ale také pro podnikové aplikace a GIS.
	</li>
	<li>
		<strong>MongoDB</strong>: NoSQL databázový server, který ukládá data ve formátu JSON a podporuje škálovatelnost a vysokou dostupnost. Je často používán pro aplikace, které pracují s nestrukturovanými daty, jako jsou aplikace sociálních médií nebo mobilní aplikace.
	</li>
</ul><p>
	 
</p>

<p>
	Pomocí SQL můžeme provádět určité operace na existující databázi a také můžeme použít tento jazyk k vytvoření databáze. SQL používá určité příkazy, jako jsou Create, Drop, Insert atd., k provedení požadovaných úkolů.
</p>

<p>
	Tyto příkazy SQL jsou hlavně rozděleny do pěti kategorií jako:
</p>

<p>
	 
</p>

<p>
	<strong>DDL </strong>– Data Definition Language - definuje strukturu databáze <br /><strong>DQL </strong>– Data Query Language - slouží k získávání dat z databáze <br /><strong>DML </strong>– Data Manipulation Language - se používá ke změně dat v databázi <br /><strong>DCL </strong>– Data Control Language - řídí přístup k datům v databázi <br /><strong>TCL </strong>– Transaction Control Language - řídí transakce v databázi
</p>

<p>
	<img class="ipsImage ipsImage_thumbnailed" data-fileid="38" data-ratio="52.41" width="561" alt="SQL-Commands-2018664638-1576589804123.png.d4f57b01718f2fe5c1533d2d7bfeb419.png" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/SQL-Commands-2018664638-1576589804123.png.d4f57b01718f2fe5c1533d2d7bfeb419.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	Příklad: Pro chod <a href="https://fivem.net/" rel="external nofollow">FiveM</a> vám stačí pouze toto:
</p>

<ul><li>
		DDL - CREATE, ALTER
	</li>
	<li>
		DML - INSERT, UPDATE
	</li>
	<li>
		DQL - SELECT
	</li>
</ul><p>
	Příklad na vytvoření takového uživatele:
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">CREATE USER </span><span class="str">'fivem_server_user'</span><span class="pun">@</span><span class="str">'%'</span><span class="pln"> IDENTIFIED BY </span><span class="str">'password'</span><span class="pun">;</span><span class="pln">
GRANT CREATE</span><span class="pun">,</span><span class="pln"> ALTER ON fivem_server_database</span><span class="pun">.*</span><span class="pln"> TO </span><span class="str">'fivem_server_user'</span><span class="pun">@</span><span class="str">'%'</span><span class="pun">;</span><span class="pln">
GRANT SELECT</span><span class="pun">,</span><span class="pln"> INSERT</span><span class="pun">,</span><span class="pln"> UPDATE ON fivem_server_database</span><span class="pun">.*</span><span class="pln"> TO </span><span class="str">'fivem_server_user'</span><span class="pun">@</span><span class="str">'%'</span><span class="pun">;</span><span class="pln">
REVOKE ALTER USER ON </span><span class="pun">*.*</span><span class="pln"> FROM </span><span class="str">'fivem_server_user'</span><span class="pun">@</span><span class="str">'%'</span><span class="pun">;</span></pre>

<p>
	Příkazy jsou ukázkové pro vytvoření uživatele "fivem_server_user" a jeho hesla "password" a musí již existovat databáze "fivem_server_database"
</p>

<p>
	Příklad pro vytvoření databáze: 
</p>

<pre class="ipsCode prettyprint lang-sql prettyprinted"><span class="pln">CREATE DATABASE fivem_server_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci</span><span class="pun">;</span></pre>

<p>
	Pozor! Databáze musí být vytvořena předtím než mají být nastaveny oprávnění pro uživatele. 
</p>

<p>
	Takto vytvořený uživatel a databáze vám zajistí základní zabezpečení v práci s daty, uživatel nemůže vytvářet jiné uživatele a databáze a změnit si heslo.
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">27</guid><pubDate>Tue, 21 Feb 2023 15:03:04 +0000</pubDate></item><item><title>Jak streamovat fonty v FiveM / Jak p&#x159;idat nov&#xFD; font</title><link>https://fivem-dev.cz/topic/23-jak-streamovat-fonty-v-fivem-jak-p%C5%99idat-nov%C3%BD-font/</link><description><![CDATA[<p>
	Ahoj, část z vás si pamatuje na staré fórum s starým návodem, který nefungoval správně všem tak znova a lépe přece jen 2 roky jsou 2 roky.<br /><br /><span style="font-size:20px;">Co se zde naučíme?</span>
</p>

<p>
	<span style="font-size:14px;">Naučíme se zde jak přidat do FiveM nový font, jak ho streamovat a jak ho používat ve scriptech.</span>
</p>

<p>
	<span style="font-size:26px;">Příprava</span>
</p>

<p>
	<span style="font-size:14px;">Vytvoříme si jednu složku někde na disku, kde si budeme ukládat všechny naše nástroje. Krom toho, že je to dobré tak pak v tom nemáme bordel. Já si například vytvořím složku na disku C s názvem streamovani_fontu vy si vytvořte, kde co chcete hlavně ať vše dáváš do jednoho.</span>
</p>

<p>
	<span style="font-size:18px;">Stažení vybraného fontu </span>
</p>

<p>
	<span style="font-size:14px;">Vybraný font potřebujeme stáhnout ve formátu TTF (TrueType) s tím počítá zbytek návodu fonty můžeme najít například na <a href="https://www.1001freefonts.com/" rel="external nofollow">https://www.1001freefonts.com/</a> </span>
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="25" href="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.cc32c9942346eebd6ea61d640ddcfc59.png" rel=""><img alt="image.thumb.png.5d7cc883a5206f68e373637f7592d81f.png" class="ipsImage ipsImage_thumbnailed" data-fileid="25" data-ratio="23.20" style="height:auto;" width="1000" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.thumb.png.5d7cc883a5206f68e373637f7592d81f.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	Složku rozbalte a najděte si soubor fontu, který chcete používat, může jich tam být více například bold, italic a různé variace. Já si vybral regular a zkontroloval přes vlastnosti (pravé kliknutí na soubor -&gt; vlastnosti), že je to typ soubory, který potřebuji.
</p>

<p>
	<img alt="image.png.4ad8526d46395a46a54c8cf6320e26e5.png" class="ipsImage ipsImage_thumbnailed" data-fileid="26" data-ratio="36.46" style="height:auto;" width="639" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.4ad8526d46395a46a54c8cf6320e26e5.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	<span style="font-size:18px;">Stažení swfmill nástroje</span>
</p>

<p>
	<span style="font-size:14px;">Pro streamování fontu potřebujeme stáhnout nástroj swfmill, který nám dovolí změnit TTF (typ souboru pro fonty) soubor do SWF formátu. Otevři webovou stránku <a href="https://www.swfmill.org/" rel="external nofollow">https://www.swfmill.org/</a> a klikni na stáhnout, máš tu dvě verze buď pro linux nebo pro windows, já si vyberu pro windows protože tento návod píšu na windows stroji.</span>
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="24" href="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.a157bd45fd85c84b511449e656031cb9.png" rel=""><img alt="image.thumb.png.db0ac39bd8a8c4c78f749c6d83d72c12.png" class="ipsImage ipsImage_thumbnailed" data-fileid="24" data-ratio="23.00" style="height:auto;" width="1000" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.thumb.png.db0ac39bd8a8c4c78f749c6d83d72c12.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	Soubor uložím do naší složky a jdeme dál.
</p>

<p>
	<span style="font-size:18px;">Získání GFX exportu</span>
</p>

<p>
	<span style="font-size:14px;">Nemohu vám tu dát soubory, které by jste si mohli stáhnout na to nemám práva ale můžu vás nasměrovat, kde se takový gfx export nachází. GFX export je součástí cry enginu, který si může každý stáhnout. Zde je návod na používání GFX exportu přímo od cry enginu.<br /><a href="https://docs.cryengine.com/display/CEMANUAL/Chapter+2+-+Flash+and+Gfx" rel="external nofollow">https://docs.cryengine.com/display/CEMANUAL/Chapter+2+-+Flash+and+Gfx</a></span>
</p>

<p>
	1) Stáhneme si CryEngine <a href="https://www.cryengine.com/download" rel="external nofollow">https://www.cryengine.com/download</a> a nainstalujeme<br />
	- po otevření launcheru se zaregistrujte/přihlašte a zmáčkněte na tlačítko download engine
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="28" href="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.401f1703f90eeb50c9690c42401071e7.png" rel=""><img alt="image.thumb.png.104ec0d0319f0c4962b462bf0b2caac6.png" class="ipsImage ipsImage_thumbnailed" data-fileid="28" data-ratio="52.80" style="height:auto;" width="1000" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.thumb.png.104ec0d0319f0c4962b462bf0b2caac6.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	2) Vytvoříme si složku GFXExport v naší složce, do které vložíme pozdější obsah
</p>

<p>
	<img alt="image.png.070cc6cd6de1431a6d75d89516716cda.png" class="ipsImage ipsImage_thumbnailed" data-fileid="27" data-ratio="55.20" style="height:auto;" width="346" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.070cc6cd6de1431a6d75d89516716cda.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	3) Otevřeme složku, kde se engine nachází - přejděte na položku Engines, klikněte na 3 tečky a stiskněte tlačítko Reveal in explorer.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="29" href="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.1cc12382ece90730ce8e29d7cb47cabb.png" rel=""><img alt="image.thumb.png.2453e0804855f91bbe35cb0411c89437.png" class="ipsImage ipsImage_thumbnailed" data-fileid="29" data-ratio="56.50" style="height:auto;" width="1000" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.thumb.png.2453e0804855f91bbe35cb0411c89437.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></a>
</p>

<p>
	4) Po otevření najděte složku tools a v ní GFxExport a Scaleform3 (Tools\GFxExport\Scaleform3)<br />
	5) Zkopírujte její obsah do naší složku GFXExport, kterou jsme si vytvořili předtím mělo by to vypadat asi takto<img alt="image.png.ff20559947f7402bd1108bbb06d4b6d7.png" class="ipsImage ipsImage_thumbnailed" data-fileid="30" data-ratio="69.36" style="height:auto;" width="297" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.ff20559947f7402bd1108bbb06d4b6d7.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	 
</p>

<p>
	<span style="font-size:26px;">Vytváření fontu</span>
</p>

<p>
	<span style="font-size:20px;">Vytvoření stuktury složek a kopírování potřebných souborů</span>
</p>

<p>
	<span style="font-size:14px;">1) Vytvoříme si složku fonts v streamovani_fontu<br />
	2) Do ní vytvoříme novou složku s názvem našeho fontu osobně budu tyto složky pojmenovávat font_nazevfontu takže v našem případě tvořím font s názvem dancing takže vytvořím složku font_dancing </span><img alt="image.png.dbb2e1c19758dc199a31f409ea8906dd.png" class="ipsImage ipsImage_thumbnailed" data-fileid="31" data-ratio="17.01" style="height:auto;" width="341" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.dbb2e1c19758dc199a31f409ea8906dd.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	<span style="font-size:14px;">3) Do této složky vložím náš vybraný font soubor pro mě DancingScript-Regular.ttf<br />
	4) Vytvořím nový <strong>XML soubor font.xml</strong>, můžete použít editor jaký chcete visual studio, notepad++ nebo cokoliv jiného. Pro zjednodušení si klidně otevřete přímo složku v editoru toto nechám na vás. Do tohoto souboru vložíme tento kód</span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"iso-8859-1"</span><span class="pln"> </span><span class="pun">?&gt;</span><span class="pln">

</span><span class="tag">&lt;movie</span><span class="pln"> </span><span class="atn">version</span><span class="pun">=</span><span class="atv">"8"</span><span class="pln"> </span><span class="atn">width</span><span class="pun">=</span><span class="atv">"320"</span><span class="pln"> </span><span class="atn">height</span><span class="pun">=</span><span class="atv">"240"</span><span class="pln"> </span><span class="atn">framerate</span><span class="pun">=</span><span class="atv">"12"</span><span class="tag">&gt;</span><span class="pln">
    </span><span class="tag">&lt;frame&gt;</span><span class="pln">
        </span><span class="tag">&lt;library&gt;</span><span class="pln">
            </span><span class="tag">&lt;font</span><span class="pln"> </span><span class="atn">id</span><span class="pun">=</span><span class="atv">"Dancing"</span><span class="pln"> </span><span class="atn">import</span><span class="pun">=</span><span class="atv">"DancingScript-Regular.ttf"</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">"Dancing"</span><span class="tag">/&gt;</span><span class="pln">
        </span><span class="tag">&lt;/library&gt;</span><span class="pln">
    </span><span class="tag">&lt;/frame&gt;</span><span class="pln">
</span><span class="tag">&lt;/movie&gt;</span></pre>

<p>
	<span style="background-color:#ffffff;color:#383838;font-size:16px;text-align:left;">ℹ </span><span style="font-size:12px;">U každého jiného fontu musíte upravit id a name parametry</span>
</p>

<p>
	 
</p>

<p>
	<span style="font-size:20px;">Konvertování XML to SWF</span>
</p>

<p>
	<span style="font-size:14px;">1) Extrahujeme swfmill zip soubor a vytvořenou složku přejmenuji na swfmill</span>
</p>

<p>
	<img alt="image.png.da0558d498464c41991e4ed04b4a70fe.png" class="ipsImage ipsImage_thumbnailed" data-fileid="32" data-ratio="19.26" style="height:auto;" width="680" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.da0558d498464c41991e4ed04b4a70fe.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	2) Otevřu si konzoli v editoru nebo cmd ve windows a vložím do něho příkaz 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">C:\streamovani_fontu\swfmill\swfmill.exe simple C:\streamovani_fontu\fonty\font_dancing\font.xml C:\streamovani_fontu\fonty\font_dancing\font.swf</span></pre>

<p>
	Cesty si upravte podle toho, kde jste danou složku vytvořili. Pro vysvětlení parametru:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">swfmill.exe simple CESTA_PRO_XML CESTA_PRO_VYSLEDNY_SWF_SOUBOR</span></pre>

<p>
	Po odeslání příkazu by to nemělo napsat žádné chyby a měl by se vytvořit SWF soubor.
</p>

<p>
	<span style="font-size:20px;">Konvertování SWF do GFX</span>
</p>

<p>
	<span style="font-size:14px;">1) Otevři konzoli a vlož příkaz</span>
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">C:\streamovani_fontu\GFXExport\gfxexport.exe C:\streamovani_fontu\fonty\font_dancing\font.swf</span></pre>

<p>
	Jako u i předchozího kroku změn cestu tak, jak potřebuješ. Po odeslání vypíše něco jako <img alt="image.png.30184b9171960805643fe58cf5b91d35.png" class="ipsImage ipsImage_thumbnailed" data-fileid="33" data-ratio="19.00" style="height:auto;" width="979" data-src="https://fivem-dev.cz/uploads/monthly_2023_02/image.png.30184b9171960805643fe58cf5b91d35.png" src="https://fivem-dev.cz/applications/core/interface/js/spacer.png" /></p>

<p>
	A uvidíme nový GFX soubor v naší složce.
</p>

<p>
	<span style="font-size:24px;">Použití ve FiveM</span>
</p>

<p>
	<span style="font-size:20px;">Vytvoření resourcu</span>
</p>

<p>
	1) Jelikož se jedná o banální věc, připravil jsem vám již preset, který si stáhněte zde
</p>
<iframe allowfullscreen="" data-embedauthorid="1" data-embedcontent="" data-embedid="embed738952219" style="height:265px;max-width:502px;" data-embed-src="https://fivem-dev.cz/files/file/3-font-preset/?do=embed"></iframe>

<p>
	2) Vložte do stream složky náš font.gfx<br />
	3) Otevřete fxmanifest.lua a upravte font_name a font_file <br /><br />
	Font name dáme stejný, jako jsme dávali name do XML souboru a font_file je název souboru v stream složce. Pro mě tedy
</p>

<p>
	4) Přejmenujte složku z font_preset na váš název pro mě font_dancing<br />
	5) Vložte do složky resources <br />
	6) Do server.cfg spustě pomocí 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">ensure font_dancing</span></pre>

<p>
	<span class="ipsEmoji">🔴</span> Fonty musíte zapnout vždy před ostatními scripty, které je mají využít!
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">font_name 'Dancing'
font_file 'font.gfx' --font file name in stream folder</span></pre>

<p>
	Takový resource se dá použít už ve hře. Hodím tedy tento resource do FiveM serveru do složky resources v další části si ukážeme, jak toto využívat ve scriptech.
</p>

<p>
	 
</p>

<p>
	<span style="font-size:20px;">Využití v kódu</span>
</p>

<p>
	<span style="font-size:14px;">Pozornější z vás si všimli, že preset má v sobě i client.lua část, kde se registruje font a zároveň jsem přidal i event, díky kterému se ID fontu bude moci jednoduše načíst v jiném scriptu. Nebudu vám sem popisovat kód pro vypsání 3D textu ale ukážu vám jakým způsobem získat ID a jak ho například v 3D textu používat.</span>
</p>

<p>
	<span style="font-size:18px;">Získání ID</span>
</p>

<p>
	<span style="font-size:14px;">V presetu je zároveň i přidaný event, kterým budeme získávat naše registrované ID fontu. Event nese název NAZEV_RESOURCE:getFontId takže v našem případě je to font_dancing:getFontId, tento event má jeden parametr a to je callback, tento parametr vrací fontId</span><br />
	 
</p>

<pre class="ipsCode prettyprint lang-lua prettyprinted"><span class="pln">TriggerEvent</span><span class="pun">(</span><span class="str">'font_dancing:getFontId'</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">fontId</span><span class="pun">)</span><span class="pln">
    print</span><span class="pun">(</span><span class="str">'Naše font ID: '</span><span class="pun">,</span><span class="pln"> fontId</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">end</span><span class="pun">)</span></pre>

<p>
	Pro použití v 3D textu se dá tento font nastavit pomocí nativní funkce
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">SetTextFont(fontId)</span></pre>

<p>
	<a href="https://docs.fivem.net/natives/?_0x66E0276CC5F6B9DA" rel="external nofollow">https://docs.fivem.net/natives/?_0x66E0276CC5F6B9DA</a>
</p>
]]></description><guid isPermaLink="false">23</guid><pubDate>Tue, 21 Feb 2023 10:52:16 +0000</pubDate></item><item><title>Double click inventory_hud</title><link>https://fivem-dev.cz/topic/22-double-click-inventory_hud/</link><description><![CDATA[<div style="background-color:#ffffff;color:#353c41;font-size:14px;">
	<p>
		<strong>Upozornění</strong>: Tento návod byl napsán v roce 2020 již nemusí takto fungovat a nebo většina z vás už nepoužívá esx_inventoryhud.
	</p>

	<p>
		Zdravíčko,
	</p>

	<p>
		pro ty z vás, co neví, jak si jednoduše upravit inventory_hud aby při dvojkliku na předmět se předmět použil tak Vám tu přikládám tento kus kodu který stačí dát do části kde se používá jquery draggable, používám inventory_hud, který již nemá podporu ale vím,že hodně z vás ho používá též.
	</p>

	<p>
		najdeme se inventory.js řádek cca 23 a měli by jsme tam najít tento kód
	</p>

	<pre style="border:1px solid #888888;font-size:1em;padding:2px;"><span style="color:#000000;">$</span><span style="color:#666600;">(</span><span style="color:#008800;">'.item'</span><span style="color:#666600;">).</span><span style="color:#000000;">draggable</span><span style="color:#666600;">({</span><span style="color:#000000;">
            helper</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#008800;">'clone'</span><span style="color:#666600;">,</span><span style="color:#000000;">
            appendTo</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#008800;">'body'</span><span style="color:#666600;">,</span><span style="color:#000000;">
            zIndex</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#006666;">99999</span><span style="color:#666600;">,</span><span style="color:#000000;">
            revert</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#008800;">'invalid'</span><span style="color:#666600;">,</span><span style="color:#000000;">
            start</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#000088;">function</span><span style="color:#000000;"> </span><span style="color:#666600;">(</span><span style="color:#000000;">event</span><span style="color:#666600;">,</span><span style="color:#000000;"> ui</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">css</span><span style="color:#666600;">(</span><span style="color:#008800;">'background-image'</span><span style="color:#666600;">,</span><span style="color:#000000;"> </span><span style="color:#008800;">'none'</span><span style="color:#666600;">);</span><span style="color:#000000;">
                itemData </span><span style="color:#666600;">=</span><span style="color:#000000;"> $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">data</span><span style="color:#666600;">(</span><span style="color:#008800;">"item"</span><span style="color:#666600;">);</span><span style="color:#000000;">

                </span><span style="color:#000088;">if</span><span style="color:#000000;"> </span><span style="color:#666600;">(!</span><span style="color:#000000;">itemData</span><span style="color:#666600;">.</span><span style="color:#000000;">canRemove</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                    $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#drop"</span><span style="color:#666600;">).</span><span style="color:#000000;">addClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                    $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#give"</span><span style="color:#666600;">).</span><span style="color:#000000;">addClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                </span><span style="color:#666600;">}</span><span style="color:#000000;">

                </span><span style="color:#000088;">if</span><span style="color:#000000;"> </span><span style="color:#666600;">(!</span><span style="color:#000000;">itemData</span><span style="color:#666600;">.</span><span style="color:#000000;">usable</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                    $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#use"</span><span style="color:#666600;">).</span><span style="color:#000000;">addClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                </span><span style="color:#666600;">}</span><span style="color:#000000;">
            </span><span style="color:#666600;">},</span><span style="color:#000000;">
            stop</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#000088;">function</span><span style="color:#000000;"> </span><span style="color:#666600;">()</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                itemData </span><span style="color:#666600;">=</span><span style="color:#000000;"> $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">data</span><span style="color:#666600;">(</span><span style="color:#008800;">"item"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">css</span><span style="color:#666600;">(</span><span style="color:#008800;">'background-image'</span><span style="color:#666600;">,</span><span style="color:#000000;"> </span><span style="color:#008800;">'url(\'img/items/'</span><span style="color:#000000;"> </span><span style="color:#666600;">+</span><span style="color:#000000;"> itemData</span><span style="color:#666600;">.</span><span style="color:#000000;">name </span><span style="color:#666600;">+</span><span style="color:#000000;"> </span><span style="color:#008800;">'.png\''</span><span style="color:#666600;">);</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#drop"</span><span style="color:#666600;">).</span><span style="color:#000000;">removeClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#use"</span><span style="color:#666600;">).</span><span style="color:#000000;">removeClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#give"</span><span style="color:#666600;">).</span><span style="color:#000000;">removeClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
            </span><span style="color:#666600;">}</span><span style="color:#000000;">
        </span><span style="color:#666600;">})</span></pre>

	<p>
		A my na konec přidáme tady tento event na double click a použití předmětu.
	</p>

	<pre style="border:1px solid #888888;font-size:1em;padding:2px;"><span style="color:#666600;">.</span><span style="color:#000000;">dblclick</span><span style="color:#666600;">(</span><span style="color:#000088;">function</span><span style="color:#000000;"> </span><span style="color:#666600;">()</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
            itemData </span><span style="color:#666600;">=</span><span style="color:#000000;"> $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">data</span><span style="color:#666600;">(</span><span style="color:#008800;">"item"</span><span style="color:#666600;">);</span><span style="color:#000000;">
            </span><span style="color:#000088;">if</span><span style="color:#000000;"> </span><span style="color:#666600;">(</span><span style="color:#000000;">itemData</span><span style="color:#666600;">.</span><span style="color:#000000;">usable</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                $</span><span style="color:#666600;">.</span><span style="color:#000000;">post</span><span style="color:#666600;">(</span><span style="color:#008800;">"http://esx_inventoryhud/UseItem"</span><span style="color:#666600;">,</span><span style="color:#000000;"> JSON</span><span style="color:#666600;">.</span><span style="color:#000000;">stringify</span><span style="color:#666600;">({</span><span style="color:#000000;">
                    item</span><span style="color:#666600;">:</span><span style="color:#000000;"> itemData
                </span><span style="color:#666600;">}));</span><span style="color:#000000;">
            </span><span style="color:#666600;">}</span><span style="color:#000000;">
        </span><span style="color:#666600;">});</span></pre>

	<p>
		Takže finální podoba bude:
	</p>

	<pre style="border:1px solid #888888;font-size:1em;padding:2px;"><span style="color:#000000;">$</span><span style="color:#666600;">(</span><span style="color:#008800;">'.item'</span><span style="color:#666600;">).</span><span style="color:#000000;">draggable</span><span style="color:#666600;">({</span><span style="color:#000000;">
            helper</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#008800;">'clone'</span><span style="color:#666600;">,</span><span style="color:#000000;">
            appendTo</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#008800;">'body'</span><span style="color:#666600;">,</span><span style="color:#000000;">
            zIndex</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#006666;">99999</span><span style="color:#666600;">,</span><span style="color:#000000;">
            revert</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#008800;">'invalid'</span><span style="color:#666600;">,</span><span style="color:#000000;">
            start</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#000088;">function</span><span style="color:#000000;"> </span><span style="color:#666600;">(</span><span style="color:#000000;">event</span><span style="color:#666600;">,</span><span style="color:#000000;"> ui</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">css</span><span style="color:#666600;">(</span><span style="color:#008800;">'background-image'</span><span style="color:#666600;">,</span><span style="color:#000000;"> </span><span style="color:#008800;">'none'</span><span style="color:#666600;">);</span><span style="color:#000000;">
                itemData </span><span style="color:#666600;">=</span><span style="color:#000000;"> $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">data</span><span style="color:#666600;">(</span><span style="color:#008800;">"item"</span><span style="color:#666600;">);</span><span style="color:#000000;">

                </span><span style="color:#000088;">if</span><span style="color:#000000;"> </span><span style="color:#666600;">(!</span><span style="color:#000000;">itemData</span><span style="color:#666600;">.</span><span style="color:#000000;">canRemove</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                    $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#drop"</span><span style="color:#666600;">).</span><span style="color:#000000;">addClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                    $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#give"</span><span style="color:#666600;">).</span><span style="color:#000000;">addClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                </span><span style="color:#666600;">}</span><span style="color:#000000;">

                </span><span style="color:#000088;">if</span><span style="color:#000000;"> </span><span style="color:#666600;">(!</span><span style="color:#000000;">itemData</span><span style="color:#666600;">.</span><span style="color:#000000;">usable</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                    $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#use"</span><span style="color:#666600;">).</span><span style="color:#000000;">addClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                </span><span style="color:#666600;">}</span><span style="color:#000000;">
            </span><span style="color:#666600;">},</span><span style="color:#000000;">
            stop</span><span style="color:#666600;">:</span><span style="color:#000000;"> </span><span style="color:#000088;">function</span><span style="color:#000000;"> </span><span style="color:#666600;">()</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                itemData </span><span style="color:#666600;">=</span><span style="color:#000000;"> $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">data</span><span style="color:#666600;">(</span><span style="color:#008800;">"item"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">css</span><span style="color:#666600;">(</span><span style="color:#008800;">'background-image'</span><span style="color:#666600;">,</span><span style="color:#000000;"> </span><span style="color:#008800;">'url(\'img/items/'</span><span style="color:#000000;"> </span><span style="color:#666600;">+</span><span style="color:#000000;"> itemData</span><span style="color:#666600;">.</span><span style="color:#000000;">name </span><span style="color:#666600;">+</span><span style="color:#000000;"> </span><span style="color:#008800;">'.png\''</span><span style="color:#666600;">);</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#drop"</span><span style="color:#666600;">).</span><span style="color:#000000;">removeClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#use"</span><span style="color:#666600;">).</span><span style="color:#000000;">removeClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
                $</span><span style="color:#666600;">(</span><span style="color:#008800;">"#give"</span><span style="color:#666600;">).</span><span style="color:#000000;">removeClass</span><span style="color:#666600;">(</span><span style="color:#008800;">"disabled"</span><span style="color:#666600;">);</span><span style="color:#000000;">
            </span><span style="color:#666600;">}</span><span style="color:#000000;">
        </span><span style="color:#666600;">}).</span><span style="color:#000000;">dblclick</span><span style="color:#666600;">(</span><span style="color:#000088;">function</span><span style="color:#000000;"> </span><span style="color:#666600;">()</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
            itemData </span><span style="color:#666600;">=</span><span style="color:#000000;"> $</span><span style="color:#666600;">(</span><span style="color:#000088;">this</span><span style="color:#666600;">).</span><span style="color:#000000;">data</span><span style="color:#666600;">(</span><span style="color:#008800;">"item"</span><span style="color:#666600;">);</span><span style="color:#000000;">
            </span><span style="color:#000088;">if</span><span style="color:#000000;"> </span><span style="color:#666600;">(</span><span style="color:#000000;">itemData</span><span style="color:#666600;">.</span><span style="color:#000000;">usable</span><span style="color:#666600;">)</span><span style="color:#000000;"> </span><span style="color:#666600;">{</span><span style="color:#000000;">
                $</span><span style="color:#666600;">.</span><span style="color:#000000;">post</span><span style="color:#666600;">(</span><span style="color:#008800;">"http://esx_inventoryhud/UseItem"</span><span style="color:#666600;">,</span><span style="color:#000000;"> JSON</span><span style="color:#666600;">.</span><span style="color:#000000;">stringify</span><span style="color:#666600;">({</span><span style="color:#000000;">
                    item</span><span style="color:#666600;">:</span><span style="color:#000000;"> itemData
                </span><span style="color:#666600;">}));</span><span style="color:#000000;">
            </span><span style="color:#666600;">}</span><span style="color:#000000;">
        </span><span style="color:#666600;">});</span></pre>

	<p>
		Není zač<span> </span><span><span><span><span class="ipsEmoji">🙂</span></span></span></span>
	</p>
</div>
]]></description><guid isPermaLink="false">22</guid><pubDate>Tue, 21 Feb 2023 09:38:04 +0000</pubDate></item></channel></rss>
