Jump to content

Search the Community

Showing results for tags 'návod'.

  • Search By Tags

    Oddělujte čárkami
  • Search By Author

Content Type


Fórum

  • Obecné
    • Všeobecné
    • Všechno možné
  • Programování
    • Poradna
    • Návody
    • Tvorba
    • Hledám programátora
  • Herní oblast
    • Poradna
    • Jak na to?
    • Herní kontext
    • Herní zážitky
    • Komunita
  • Grafika
    • Poradna
    • Návody
    • Tvorba
  • Ostatní
    • Hardware a software
    • Hledám/nabízím
    • Archiv
    • 3D Tisk

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Web


Facebook


Jabber


Skype


Steam


Twitter


Github


Pastebin

  1. Jáá

    návod Antideamx

    AntiDeAmx Toto je program na zmenenie suboru tipu amx na pwn . Nikto si zrejme neželá aby jeho scripty niekto zverejnoval v pwn verzii a pod iním menom .. Ako tomu zabránit ? #include <a_samp> AntiDeAMX() { new a[][] = { "Unarmed (Fist)", "Brass K" }; #pragma unused a } public OnPlayerRequestSpawn(playerid) { return 1; } public OnPlayerSpawn(playerid) { AntiDeAMX(); return 1; } public OnPlayerDeath(playerid, killerid, reason) { return 1; } Jednoducho !
  2. Ahoj, řekl bych že ne každý kdo poprvé vidí MTA SA map editor ví kde, co a jak začít. Natočil jsem takový videonávod, kde se budu snažit vše popsat. Možná je nic moc, ale to hlavní je myslím v prvních 10 minutách. http://www.youtube.com/watch?v=tOQxRHRhOWA
  3. Guest

    návod Ako Otestovať Svoj Script

    Ako otestovať svoj Script Ahoj. Určite si kladiete otázku, čo je toto za blbý tutorial? Veď každý vie ako ho otestovať. Vysvetlím. Nedávno som mal Script ktorý som nutne potreboval otestovať, avšak potreboval som spoluhráča. Kedže nemám server, len localhost, nemal som ako. Takže tento Tutorial je o testovaní Scriptu s viacerými hráčmi. Na niektoré script potrebujete viacero hráčov, napr. Killing Spree. Avšak niekedy nemáte nikoho s kým by ste to mohli vyskúšať. Táto téma je taký menší Tutorial, pretože sa nebudem moc rozpisovať. Poprve ak máte na Počítači jeden účet (uživateľský), vytvorte si další. Ak nie tak nemusíte. Na prvom (hlavnom) si nastavte server, hoďte tam script ktorý potrebujete otestovať, zapnite server a pripojte sa. Podruhé Prepnite uživateľa, pozor: z hlavného účtu sa neodhlasujte. Na druhom účte spustíte SA-MP a zadajte IP vášho Localhostu (v tomto prípade len port napr.: Ja mám port 7777 tak zadám :7777). Zvoľte si meno a pripojte sa. Potom môžte svoj Script odskúšať. Touto metódou ho rýchlo vyskúšate, nie ako ja som pobehoval po stránkach a hľadal niekoho Nepotrebuje žiadný hosting, len Localhost. Túto možnosť som objavil len nedávne a už odvtedy mi je veľmi užitočná. Pri tejto metóde vám počítač neseká, takže sa vám bude testovať dobre. Niekto má viacero PC/Notásov, ale kto nemá tak pre toho bude tento návod užitočný. Tento spôsob funguje na viacero hrách. Otestoval som ale len na SA-MP a L4D2. Dúfam že vám tento Návod pomohol.
  4. H{3}nr{1}

    návod On-Line Hudba

    Čaute dávám sem svůj první Tut na hudbu v dialogu.. (snad to tu ještě není) Jděte do public OnPlayerCommandText(playerid, cmdtext[]) a tam dejte if (strcmp("/hudba", cmdtext, true, 10) == 0) { ShowPlayerDialog(playerid, 19841, DIALOG_STYLE_LIST, "{FF00FF}Music =D", "{B7FF00}Skyfall\n, "Přehrát", "Konec"); return 1; } return InvalidCommand(playerid); /////////////// } //_______________A TED DO ONDIALOGRESPONSE!!!!!!_________________________________________________________________________________________// public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { //============================================================================== ///////////////////////////// if(dialogid==19841) { if(response) { switch(listitem) { case 0: { SendClientMessage(playerid, 0xFF0000FF, "Adele Skyfall"); StopAudioStreamForPlayer(playerid); PlayAudioStreamForPlayer(playerid, "http://www.gtasa.hys.cz/songs/001.mp3"); }/ Ták a pokud chcete svoje písničky z webu musí tam být koncovka .mp3 Pokud máte zájem tak nezkušeným pawnerům udělám 5 písniček zadarmo do FS/GM Pokud máte tak funkce napište /hudba(můžete si příkaz změnit) a začne hrát hudba a podle návodu si dokážete přidat asi další samy .. xD Pokud něco chybí nebo něčemu nerozumíte písněte Henryášek
  5. PART 1 - SA-MP možnosti tvorby modu PART 1 - Return PART 2 - Kontrolujeme správny chod podmíne PART 2 - Zátvorky PART 3 - Cyklus PART 4 - Podmienky PART 4 - Dialogy PART 4 - Odlehčení modu PART 5 - Gangzony PART 6 - NPC Takto som sa učil pawno jazyk ja . Takto je to všetko zaradom ako by to malo byt a čo sa najprv učit . Neskôr môžete vytvárat vlastný include .
  6. Youtube testuje nový design youtube vypadá takto: Pokud používáte prohlížeč Google Chrome: Pokud používáte prohlížeč Mozzila Firefox: Pokud používáte prohlížeč Opera: Pokud používáte prohlížeč IE: Pokud chcete vrátit starý design, zadejte tento kód: Pokud se vám nezobrazuje nový design zkuste pročistit Cache a Cookies. Zdroj: http://4webmaster.cz...si-ho-t629.html
  7. Napíšem Vám tu návod na SA:MP Server Status. Nepodporované webhostingy: Endora
  8. Odborná práce se stringem Zdravím, napadlo mě, že jsem již dlouho nespravil tutoriál na něco užitečného. Tak mě napadlo udělat tutoriál na práci se stringem. Budu očekávat, že víte co je to string a jak je možné ho zapisovat. Začněme: Obtížnost: Obsah Strmid, strdel, strfind Vyhledávání určitého textu pomocí while Připojování nového textu (strins) Strmid, strdel, strfind Určitě jste již někdě slyšeli o těchto funkcích. Já vám v této krátké části ukážu jejich funkci, co umí a jak nejlépe s nimi pracovat Strmid: Tato funkce "vyřízne" kus nějakého textu ze string1 a zapíše ho do textového řetězce string2 podle začátečního a koncevého bodu řezání. new string1[16]; //vytvoříme proměnnou string1 s 16 poly new string2[16]; // vytvoříme druhou proměnnou string2 s 16 poly ////////////////////////////// format(string1,16,"Ahoj jak se mas"); // do stringu 1 zapiseme chteny text ////////////////////////////// new pocatecniBod = 5; new koncovyBod = 9; strmid(string2,string1,pocatecniBod,koncovyBod); // nyni ve string2 je "jak" Strdel: Tato funkce zase ořeže kus textu. new string1[16]; //vytvoříme proměnnou string1 s 16 poly ////////////////////////////// format(string1,16,"Ahoj jak se mas"); // do stringu 1 zapiseme chteny text ////////////////////////////// new pocatecniBod = 5; new koncovyBod = 9; strdel(string1,pocatecniBod,koncovyBod); //nyní se ve string1 nachází "Ahoj se mas" Strfind: Tuto funkci by jste měli už znát, takže se s ní nebudu dlouho zabývat. Tato funkce vyhledá v textu určitý kus textu a vrací jeho počáteční bod. Pokud se v textu nenachází tak navrátí -1. Pro opáčko: http://wiki.sa-mp.com/wiki/Strfind Vyhledávání určitého textu pomocí while Toto je už celkem těžší na pochopení ale není to vůbec těžké. Řekněme že chceme udělat cenzuru která každé sprosté slovo smaže pomocí funkce strdel Ukážu vám, jak k tomu nejlépe docílit, pokud vám to pálí :-D tak to pochopíte new string[128]; // vytvoříme string se 128 poly format(string,128,"Není možné jaký deb*l je a to je opravdový deb*l"); // vulgární text, který může uživatel odeslat do chatu new cenzura[6] = "deb*l"; // slovo které ve větě nechceme new pos; // tato proměnná nám bude odkazovat tam odkuď budeme řezat text //////////////////////////////// //////////////////////////////// while((pos = strfind(string1,cenzura,true)) != -1) // pokud se ve string 1 najde slovo deb*l tak se do proměnné pos zapíše jeho začáteční bod { strdel(string1,pos,pos+strlen(cenzura)); //odřízneme ze string 1 slovo deb*l tím, že začneme řezat od začátku (pos) a odřízneme celé slovo tím že přidáme délku slova deb*l } // cyklus jede tak dlouho dokuď se nesplní podmínka tj. pokud se pos = -1 //Hotovo, ve string1 se nyní nachází: "Není možné jaký je a to je opravdový " Připojování nového textu (strins) Další užitečná věc je strins. Díky tomu se dá připojovat nový text k už vytvořenému textu. Ano, možná si říkáte, že na to je i strcat. Máte pravdu, jen jedna malá vyjímka - pomocí strins můžeme vložit text do jakékoliv části! Řekněme, že nechceme u cenzury ořezat kus textu ale nahradit ho třeba hvězdičkami. Ukážu vám, jak na to, pokud jste pochopily minulý příklad, toto pro vás bude nic )) new string1[128] = "Není možné jaký deb*l je a to je opravdový deb*l"; // string1 new cenzura[6] = "deb*l"; // cenzura new pos; while((pos = strfind(string1,cenzura,true))!=-1) // cyklus { strdel(string1,pos,pos + strlen(cenzura)); // ořežeme strins(string1, pos, "*****"); // vložíme } printf("%s",string1); // pro jistotu vypíšeme // Vypíše se nám: Není možné jaký ***** je a to je opravdový ***** Tohle je jen pro začátečnické zorientování, budu sem přikládat další fígly a příklady, naučím vás vše co umím se stringem. Pro dnešek by to stačilo, pokud jsem vám nějak pomohl, můžete mi okomentovat tutoriál (a samozřejmě mi zvednout reputaci )), pokud mám někde chybu tak mi ji taky nahlašte a díky za přečtení tutoriálu. Děkuji, Mort.
  9. Vertikální a horizontální vycentrování Určitě jste někdy potřebovali umístit nějaký prvek přesně doprostřed stránky. Tady máte mini TUT jak na to: Ná stránce máme například tento DIV: <div id="content"> </div> Pokud ho tedy chceme umístit vertikálně i horizontálně doprostřed stránky , stačí použít tento krátký CSS kód: #content { position: absolute; /*Dovolí nám posunout prvek z původního místa*/ top: 50%; /*Posuneme prvek o 50% dolů od horní hrany*/ left: 50%; /*Posuneme prvek o 50% doprava od levé hrany*/ width: 100px; /*Šířka*/ height: 200px; /*Výška*/ /*Tady posuneme obrázek ještě o polovinu šířky doleva a o polovinu výšky nahoru*/ margin-top: -100px; margin-left: -50px; /*Teď je prvek přesně uprostřed stránky. Dále si můžete dopsat ještě další vlastnosti prvku*/ background-color:red; } Doufám že vám tento Mini TUT pomohl. Případné dotazy pište do tohoto topicu .
  10. Základné tagy pre HTML Tak chcel som sem vypísat všetky základné tagy pre HTML ako tučné písmo , podčiarknuté písmo , center atd.. Tak tučné písmo : text výsledok : text Kurzíva : text výsledok : text Podčiarknutý text : text výsledok : text Vetší text : text výsledok : text Velkosti textov : text text text text text výsledok : h2 : text h3 : text h4 : text h5 : text h6 : text Tieto velkosti sú odhadované mnou takže presnú velkost neviem . Sú približné.. Oddeluje text od seba alebo pod seba výsledok : text text Prosím žiadne primitívne komentáre . Je to len pre začiatočníkov si to nevedia nájst na www.jakpsatweb.cz Farby Základné windows paleta HTML id farieb Vkládajú sa taktoTento text je červený. výsledok : Tento text je červený. black 000000 navy 000080 green 008000 teal 008080 maroon 800000 purple 800080 olive 808000 silver C0C0C0 gray 808080 blue 0000FF lime 00FF00 aqua 00FFFF red FF0000 fuchsia FF00FF yellow FFFF00 white FFFFFF
  11. Predstavujem vám triedu MySQL pre zjednodušenie práce s MySQL. Zatiaľ je vo verzii Beta (1.0). Čoskoro urobím ďalšie verzie.. Chyby mi nahláste sem alebo do PM. Ďakujem.
  12. Zdravím dělal jsem pro svoji stránku abecední výpis výsledků ačkoliv je to primitivní tak Vám se SQL příkaz napíšu : SELECT
  13. Ahojte. Dnes mám konečne trocha času tak vám sem dávam návod na untethered jailbreak pre iOS 5.1.1 (zariadenia s nižším iOS nie sú podporované a preto je treba aktualizovať). Postup je úplne jednoduchý a zvládnuť by ho mal každý. Samotné JB trvá cca 2-3 minúty. Potom ešte iPhone / iPad bude chvíľku pracovať so súbormi. Môžem potvrdiť funkčnosť (bezproblémovú!) na iPhone 4S, iPad 2 WiFi, iPhone 4 a iPad 2 3G (GSM) Všetky podporované zariadenia: iPhone 3Gs iPhone 4 iPhone 4 CDMA iPhone 4S iPad 1 iPad 2 Wifi iPad 2 GSM iPad 2 CDMA iPad 3 Wifi iPad 3 CDMA iPad 3 Global iPod 3G iPod 4G AppleTV 2 Ešte vám sem prihodím zoznam z jedného nemenovaného fóra. Je tam vlastne prečo sa oplatí jailbreaknúť Postup: 1. Stiahnite si samotný nástroj (Dostupný pre Windows, Mac OS a Linux) - 1.1 Windows - 1.2 Mac OS - 1.3 Linux 2. Spustite program (absinthe.exe) ktorý nájdete v priečinku (začnú sa extrahovať súbory a aj ďalšie absinthe.exe tak nato kliknite). 3. Pripojte váš iDevice k počítaču a počkajte kým vám nevypíše, že bolo detekované zariadenie. 4. Kliknite na 'Jailbreak' 5. Počkajte kým nenapíše 'Done, enjoy'. 6. Teraz vaše zariadenie nainštaluje súbory ktoré treba potom sa iDevice reštartuje a mali by ste tam nájsť 'Cydia' ak ju tam máte, všetko je v poriadku, ak nie skúste znova! Klady: + Voľnosť zariadenia (možnosť kompletne upraviť zariadenie od tém až po fonty + Hry zadarmo + Jailbreak je untethered to znamená, že ho máte nastálo a netreba ho pri každom vypnutí robiť znova Zápory: - Pri prepojení s iTunes vám zmiznú hry, ktoré ste si stiahli mimo AppStore (dá sa to riešiť programom AppSync z Cydie ktorý ale zatiaľ nepodporuje iOS 5.1.1 - Strata záruky iDevice (po restore na výrobné nastavenia je nesponateľné že na zariadení bol Jailbreak tzn. Záruka je naspäť ----------------------------- Ak máte problémy napíšte SZ. Neskôr ešte napíšem ako si do zariadenia môžete sťahovať hry zdarma a ako používať Cydiu
  14. Zdravím, Jelikož hodně lidí se mě ptá jak jsem na http://www.mobilniplatby.cz (nebrat jako reklamu) udělal, že když dojde sms zapíše se mi do DB. tady je script vč. vysvětlivek formou komentářů. <?php //připojení k DB $server = "IP"; // jméno serveru $login = "JMENO"; // přihlašovací jméno $heslo = "IP"; // heslo $databaze = "DB"; // název databáze kde máte sql soubor (je níže) $tabulka = 'ucty'; MySQL_Connect($server, $login, $heslo) or die("Nepodařilo se připojit k databázi"); // připojení k databázi MySQL_Select_DB($databaze) or die("Nepodařilo se otevřít databázi"); // výběr databáze $id = $_GET['text']; //Definování textu ze sms třetí slovo //váš tvar sms je většinou PM NECO a to co je dané za NECO třeba číslo 10000 je ta $id = $_GET['text'] $smss = mysql_query("SELECT * FROM $tabulka WHERE id='{$id}'"); //Vyber z tabulky podle ID zadaného v sms while($sms = mysql_fetch_array($smss)){ //Switch funkce když nekdo posle sms v urcite hodnote switch ($_GET['price']) { case 10.00: // sms ceny 10 CZK ( 903 33 10 ) $cena = '0.10'; // pocet kreditu kolik dostanete $kcena = $sms['kredit'] + $cena; //pricteni kreditu break; //Ukončení case 10.00: (tak je to u všch) case 20.00: $cena = '0.20'; $kcena = $sms['kredit'] + $cena; break; case 30.00: $cena = '0.30'; $kcena = $sms['kredit'] + $cena; break; case 50.00: $cena = '0.50'; $kcena = $sms['kredit'] + $cena; break; case 79.00: $cena = '0.80'; $kcena = $sms['kredit'] + $cena; break; case 99.00: $cena = '1.2'; $kcena = $sms['kredit'] + $cena; break; } } if($_GET['hash'] == 'emulator') die('EMULATOR NENI POVOLEN'); //Zablokování spamování sms přes testovací emulátor else{ //pokud je sms poslaná z mobilu a ne z emulátoru (co ma mobilniplatby.cz) na webu //tak se ptovede tohle $query = mysql_query("UPDATE $tabulka SET kredit = '{$kcena}' WHERE id='{$id}'")or die(mysql_error().' na radku update'); //Zapsání kreditu uživateli echo "Kredit na ID {$id} zvysen na {$kcena}"; //Odpověd poocí SMS } ?> SQL CREATE TABLE `ucty` ( `id` int(11) NOT NULL AUTO_INCREMENT, `jmeno` varchar(255) DEFAULT NULL, `kredit` varchar(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1; INSERT INTO `ucty` VALUES ('1', 'Test', '10.2');
  15. Jelikož mě nespočet lidí otravuje na skype at jim poradim jak nainstalovat phpbb tak jsem se rozhodl napsat o tom podrobný tutoriál co a jak. Ostatně isntalace sama o sobě je velice intuitivní a primitivní takže lituji člověka který tento tutoriál potřebuje ale tak co nadělám... 1.Krok Nahrajeme soubory na web do ftp. Nastavíme všem souborům chmod 777. 2.Krok Přejdeme na stránku na které má být fórum. Pokud jsem nahráli soubory správně mělo by se Vám zobrazit toto Podařilo se ? Výborně přejdeme na krok 3. 3.Krok Klikneme na kartu Instalovat(Install,Instalacia) Zobrazí se nám toto Není nutno pročítat jen shrnutí podpory a tak dále. Klikneme na Pokračovat na další krok. 4.Krok Zobrazí se nám toto Důležité je aby vše vypadalo minimálně takto zeleně.Pokud Vám bude chybět některá část instalace nepůjde.Nejsou povinné všechny jen MSQL,MSQLi, A Kategorie Složky asoubory musí být zelené. Pokud ne vraťte se ke kroku 1. Pokud vše odpovídá tak jako na screenech klikněte na Začít instalaci. 5.Krok Objeví se toto Vyplníme našimi udaji z webhostingu můžeme vynechat pouze Port databázového serveru. Pokud je vše vyplněno pokračujeme na další krok. v tom případě můžeme pokračovat stisknutím Pokračovat na další krok. Pokud obrázek nesouhlasí vratťe se na předchozí krok. 6.Krok Vyplníme nacionále administrátora a pokračujeme na další krok. 7.Krok Pokud jste udaje správně vyplnily (hesla a emaily se shodují) uvidíte toto Ano ? Tak pokračujte stisknutím tlačítka pokračovat. 8.Krok Pokud vidíte toto tak směle pokračujte. 9.Krok Uvidíte toto Nic nevyplnujte a pokračujte na další krok 10.Krok Zobrazí se Vám tato informace . Po kliknutí se spustí doinstalace která bude trvat chvilku déle než načtení předchozích kroků. 11.Krok Zobrazí se Vám gratulace o uspěchu při instalaci fóra. 12.Krok Nyní minimalizujeme prohlížeč a otevřeme si FPT k fóru. Nalezneme složku install a přejmenujeme ji na instalace.Bude se to hodit věřte mi. Nastavíme souboru config.php chmod 644. Tím je dokonáno. Nyní už stačí opět maximalizovat prohlížeč a stisknout tlačítko přihlásit se . Děkuji za pozornost. Návod je zakázáno rozšiřovat bez mého výslovného svolení. Děkuji Image Uploaderu IMG-Ewoutions za poskytnutý prostor pro screeny.
  16. JoJo

    návod SAMP-BANLIST

    Ahoj takže chcem vám predstaviť SampBanlist ktorý som vlastnoručne vyrobil spolu aj kamarát mi pomáhal... Tento Banlist je Automatický čiže je je prepojený spolu server z banlistom.. Dá sa nastaviť na hoci jakú zložku v FTP-Servera momentálne je na samp.ban. Funguje to takto. $file = fopen("ftp://FTPNICK:FTPHESLO@IP:21/samp.ban", "r") or exit("Unable to open file!"); //-FTPNICK: To je FTP login na váš server.. //-FTPHESLO: To je FTP heslo na váš server.. //-IP:To je IP adresa servera POZOR port ostáva 21 //-/samp.ban: Tu sa dá nastaviť skade je súbor čítaný Celé to vyzerá a aj Graficky takto. Ak má dakto záujem PM-SKYPE Ďakujem..
  17. YoMom

    návod JS Hlášky

    Zdravím chcem vám predstaviť môj TuT pre JS=JavaScript Hlášky takže začneme Sú 3 tipy hlášok 1.Alert - Zobrazí uživatelovi informačnú správu dá sa použiť napr. pri stránkach ktoré sú vo výstavbe napr. "POZOR ! Stránka je vo výstavbe !" 2.Confirm - Pýta sa uživatela či chce niečo potvrdiť či zamietnuť napr. "Chcete pokračovať ?" 3.Prompt - Žiada uživatela o zadanie nějakéj informacie napr. "Zadaj svoje meno" Alert Confirm Prompt Dúfam že tomu chápete ak nie SZ Obrázky Alert: Confirm: Prompt:Obrázok som nenašiel. ________________________________________________________________________ Tu to máš pixel pokracovat = confirm("Smrdíte?"); if(pokracovat) document.write("Fuj ale smrdíš"); ================================================== Ospravedlnte môj pravopis
  18. Guest

    návod Timer

    TIMER Obtížnost: 2 / 5 Obsah Co je to timer Kde se dá využít Rozdělení Teorie SetTimer Teorie SetTimerEx Co je to timer Timer (z ang. ,,časovač") jak už napovídá název je funkce, která podle časových úseků vyvolává nějaký callback. Kde se dá využít Říká se, že každý správný mód má svůj ,,sekundový timer". Ve většině je tomu tak, je to proto, že některou funkci prostě potřebujete vyvolávat za dobu zapnutého serveru. Mluvím o věcech které být nemusí (př. Tachometr). Samozřejmě, timery se dají využít třeba i při závodech. Když jsou závody, tak se nám zobrazuje časovač který nám vypisuje 3,2,1,START. To vše má na svědomí timer, aneb pokud by jsme neměli timer, nemohli by jsme dělat tyto super věci. Rozdělení Máme celkem dvě funkce pro vyvolání timeru. SetTimer a SetTimerEx. SetTimer nám odesílá prázdné parametry funkce, proto je méně zátěžový. SetTimerEx nám ale dokáže hodnoty parametrů odeslat. Teorie SetTimer Zjistili jsme, že SetTimer nám odesílá prázdné parametry funkce. Ale co si pod tímto pojmem přestavit? Jednoduše, když vytvoříme callback (public), automaticky se všechny parametry které do něj vložíme mají hodnotu 0 (tedy pokud je nenastavíme). SetTimer nic nemění, odešle funkci tak jak je, jen provede kód uvnitř svorek { }. SetTimer vkládáme nejčastěji do OnGameModeInit(). Parametry SetTimer: funcname[],interval,bool:repeating funcname[] - jméno publicu, který chceme vyvolat. Vždy zadáváme přesný název publicu interval - interval opakování v milisekundách (ms). (1000ms = 1s) bool:repeating - boolean má pouze dvě hodnoty - true & false ( 1 & 0 ). Při nastavení hodnoty true se nám public opakuje, při false pouze jednou. Př.: forward TestovniTimer(); public OnGameModeInit() { SetTimer("TestovniTimer",1000,true); return 1; } public TestovniTimer() { static x = 0; x++; printf("%d",x); return 1; } Nyní se nám každou sekundu přičte do statické proměnné x jedna hodnota a vypíše se do konzole. Bude se vypisovat tak dlouho dokuď nevypnete server . Teorie SetTimerEx Jak už jsem říkal, SetTimer a SetTimerEx se liší odesílání parametrů. Tudíž můžeme odeslat např. hráčovo ID. To se hodí když chceme třeba na příkaz hráče za 5 vteřin zabít. Parametry SetTimerEx (funcname[], interval, bool:repeating, const format[], {Float,_}:...) funcname[] - to samé jako u SetTimer, název publicu interval - interval v milisekundách bool:repeating - opakování (true/false) const format[] - formát pro speciální typy hodnot (při něm se ještě pozastavím) {Float,_}:... - parametry fcí Takže pozastavím se u const format[] const je konstatní proměnná (neměnná) ale to je teď jedno. format[] značí parametry funkcí, třeba pokus chceme použít string, dáme jako format[] s , integer d atd. Lepší to bude na příkladu: SetTimerEx("TestPublic",5000,false,"ds",playerid,"Ahoj"); Můžeme to použít třeba do OnPlayerConnect forward TestPublic(pid,str[]); public OnPlayerConnect(playerid) { SetTimerEx("TestPublic",5000,false,"ds",playerid,"Ahoj"); return 1; } public TestPublic(pid,str[]) { SendClientMessage(pid,-1,str); return 1; } A za pět sekund po připojení hráče se mu vypíše zpráva "Ahoj" Více parametrů: WIKI: SetTimerEx Doufám že jste si něco nového přinesli, Mort.
  19. Manipulace s bity Obtížnost: Obsah: Co je to bit a bitové číslo (binárka) Bitové operace Co je to Bit a bitové číslo: ,,Binárka'' je číselná soustava, která používá dva jedinečné symboly - Jedničky a nuly. My v pawn budeme používat dvojkovou soustavu né desítkovou. Možná že se vám může zdát že je toto zbytečné, není nutné znát ale v každodenním životě jej používáme, možná o tom ani nevíte. Když třeba zapínáte elektřinu, udělají to za vás jedničky a nuly. Bez nich by všechny naše technologie nemohli existovat a hlavně je binárka důležitá pro ty, kteří se zajímají o počítače. Bit je základní jednotka informace. Možná že jste už slyšeli někde, že v pawn používáme 32bitové proměnné. Opravdu je tomu tak. Kdybychom použíívali 1bit proměnné tak bychom měli pouze dvě možnosti - 1 a 0. Aneb říká se tomu logická proměnná nebo-li boolean. Ale tím se teď nebudu zabývat. 8 bitů odpovídá jednomu bajtu. Tudíž můžeme říci že mám 4 bajtovou proměnnou. Př.: new test; ZAJÍMAVOST: proměnná zabírá přesně 0,000000004 GB Zjistili jsme co je bit, teď se dostávám k bitovému číslu. Možná jste už viděli pokročilejší script kde jste objevili př.: 0b00011010 Tohle je bitové číslo. V pawn ho takto zapisujeme. Tato bitová hodnota se rovná číslu 26. Chtěli by jste vědět, jak jsem se k tomuto číslu dostal? Jednoduše, zapnul jsem kalkulačku na Win7 a přepl na režim programátorská . Ale dá se udělat zkouška. Smažeme první dva charaktery aneb 0b Dostaneme číslo 00011010 A začneme počítat. Hodnota * 2 * pořadí číslice (začínáme od 0) S prvním číslem nemusíme nic dělat. První číslo: 0 (0 * 2 * 0) = 0 Druhé číslo: 0 (0 * 2 * 1) = 0 Třetí číslo: 0 (0 * 2 * 2) = 0 Čtvrté číslo: 1 (1 * 2 * 3) = 6 Páté číslo: 1 (1 * 2 * 4) = 8 Šesté číslo: 0 (0 * 2 * 5) = 0 Sedmé číslo: 1 (1 * 2 * 6) = 12 Osmé číslo: 0 (0 * 2 * 7) = 0 A teď všechny hodnoty sečteme 0+0+0+6+8+0+12+0 = 26 Je to jednoduché. Nyní vám ukážu jak z čísla 26 vytvořit binární číslo. Postup je jednoduchý, jen ho pochopit. 26 % 2 = 0 Zbytek: 13 13 % 2 = 1 Zbytek: 6,5 (Zaokrouhlíme na 6) 6 % 2 = 0 Zbytek: 3 3 % 2 = 1 Zbytek: 1,5 (Zaokrouhlíme na 1) 1 % 2 = 1 Zbytek: 0,5 (Zaokrouhlíme na 0) Získáme binární číslo (shora dolů): 01011(000) Ale musíme nyní všechny čísla obrátit!!!! Získáme nyní číslo: 00011010 Čísla souhlasí . Doufám že už tyhlety Jednoduché věci chápete. Bitové operace: Samozřejmě musí být pro práci s bity i nějaké operace, no a taky jsou. Máme jich celkem 7: Aritmetický bitový posun doleva << Aritmetický bitový posun doprava >> Logický posun doprava >>> Logický AND (logický součin) & Logický OR (logický součet) | Logický exklusivní součet ^ Bitová negace ~ Aritmetický bitový posun doleva <<: Použití: x << y Aritmetický posun doleva posune bitové čísla x o y míst doleva a zprava se doplní nuly. Př.: 00001111 // 15 << 2 = 00111100 //60 � 00100011 // 35 << 1 = 01000110 // 70 � Vztah pro výpočet bitového posunu doleva: x << y = x * 2^y Můžeme počítat i dvojnásobek nějakého čísla pomocí bitového posunu. Je to rychlejší než násobení *2 Viz.: #define DvaKrat(%0) (%0 << 1) � Aritmetický posun doprava >> Použití: x >> y Posuneme bitové čísla x o y míst. Z levé strany se doplní nuly. Př.: 00001100 // 12 >> 2 = 00000011 // 3 � 01001000 // 72 >> 3 = 00001001 // 9 � Vztah pro výpočet bitového posunu doprava: x >> y = x / 2^y Logický posun doprava >>> Je to opak posunu aritmetického levého. >>> posune nulu na první pozici vlevo. Př.: 01001101 // 77 >>> 2 = 00010011 // 19 � 11111111111111111111111111111000 // -8 >>> 1 = 011111111111111111111111111111000 // 2147483644 � Logický součin (&) (AND) Logický součin nám vynásobí všechny jedničky a nuly podle toho jak jdou za sebou. x & y = x (bitové číslo) & y (čím to máme vynásobit) Př.: 00010001 // 17 & 00001100 // 12 = 00000000 // 0 ///////////// 00010001 00001100 ________ 00000000 Tudíž: 17 & 12 = 0 Nevěříte? Zkuste si to Ještě jeden příklad aby jste lépe pochopili 01110111 // 119 & 000000100 // 2 = 00000100 // 2 ///////////// 01110111 00000100 ________ 00000100 Logický součet (|) (OR): Doufám že všichni ví že součet je +. Jako u součinu sčítáme čísla pod sebou a nelekněte se jedné věci: Pokud narazíme že se nachází 1 + 1 = 2 !!!! NE, 1 + 1 u bitového součtu se rovná jedné !!!! Př.: 01010101 // 85 | 00100000 // 32 = 01110101 // 117 /////////////// 01010101 00100000 ________ 01110101 00010001 // 17 | 01111111 // 127 = 01111111 // 127 /////////////// 00010001 01111111 ________ 01111111 Logický exklusivní součet (^): Exklusivní součet je podobný jako obyčejný logický součet, jenže s tou výjimkou že !!!!!! 1 + 1 = 0 !!!!!! Př.: 00100000 // 32 ^ 00100000 // 32 = 00000000 // 0 //////////////////// 00100000 00100000 ________ 00000000 00111111 // 63 ^ 00101010 // 42 = 00010101 // 21 ///////////////// 00111111 00101010 ________ 00010101 Bitová negace ~: Narozdíl od všech ostatních operátorů má pouze jeden operand. Tudíž neděláme toto: 17 ~ 11 Ale jen toto: ~17 Z nuly je jednička a z jedničky je nula ... Př.: ~ 00010110�//�22 = 11101001�//�(-23) ///////////////////// 00010110 ________ 11101001 ~ 00000001�//�1 � = 11111110�//�-2 ///////////////// 00000001 ________ 11111110 ------------------------------------------------------------------------------ Tak doufám že se Vám TuT líbil a že jste si něco nového přinesli. Je mi jasné že to hned napoprvé nepochopíte (já se to učil sám víceméně měsíc). Mort. Ověřený návod Tento návod prošel validací, a lze ho proto považovat za ověřený.
  20. Jak vytvořit pickup Obtížnost : Zdravím, takže jsem se rozhodl vytvořit pro Vás takový menší TuT, jak vytvořit pickup. Začneme vysvětlením, co to takový pickup je a k čemu se dá použít. Co je to pickup? Jak ho použít? Pickup je v podstatě létající objekt, sloužící jako ukazatel pozice. Může být použit v podstatě na nemalé množství možností. Např. : Warp - přesun do interiéru a zpět, přesun z místa A do místa B Odměna - pickup sloužící jako skrytá odměna, která slouží jako odměna pro hráče, který odměnu našel ( např. peníze, zbraně + munice, zdraví, vesta, atd ) Menu - pickup můžeme použít také jako menu u nějakého povolání, nebo jako ovládací panel u bran, mostů, závor a podobně CreatePickup [color=#000000]balik = CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1);[/color] balik - Název použitého pickupu 1242 - ID použitého pickupu - Kopletní seznam možných pickupů najdete zde. 2 - Číslo stylu pickupu - viz. vysvětlení níže. 1503.3359 - Souřadnice X 1432.3585 - Souřadnice Y 10.1191 - Souřadnice Z -1 - Virtual World - virtuální svět ( -1 - pro všechny, 1 - pro hráče, co jsou ve Virtual World 1 ) Styly pickupu Nyní samotný návod Připojíme se na jakýkoliv server (localhost, nebo na nějaký od hostingu). Půjdeme na místo, kde chceme mít pickup. Zadáme příkaz /save - tím se Nám uloží souřadnice do PC - Dokumenty/GTA San Andreas User Files/SAMP/savedpositions.txt Otevřeme soubor savedpositions.txt, ve kterém najdeme řádek s požadovanými souřadnicemi (vysvětleno níže) Vysvětlivky ( AddPlayerClass, AddStaticVehicle ) AddPlayerClass - Tato funkce Nám udává pozici postavy hráče. AddStaticVehicle - Tato funkce Nám naopak udává pozici vozidla, ve kterém hráč pozici uložil Nyní samotný code Vytvoříme si proměnnou. new balik; // proměnná pro samotný pickup Do public OnFilterScriptInit() / OnGameModeInit() - ( Záleží zda děláte FS nebo GM ) vložíme: balik = CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1); Dále musíme do pwn code zapsat, co pickup s ID "balik" bude dělat. To uděláme tak, že do public OnPlayerPickUpPickup() vložime: if( pickupid == balik) { GivePlayerWeapon(playerid, 27, 160); SendClientMessage(playerid, 0xFFFFFFAA, "[ {00FF00}!{FFFFFF} ] Našel jsi Combat brokovnici se 160 náboji!"); return 1; } PŘEČTĚTE SI TAKÉ: Jak zabránit prohazování akcí v pickupech To je asi vše, co bych Vám mohl říct o pickupech. Doufám, že se Vám TuT líbí a že někomu pomůže pochopit, jak vlastně pickup funguje. Hodnoťte, kritizujte, nadávejte. Prostě cokoliv, co Vás napadne. Návod označen jako platný Ten to návod byl označen jako platný.Návod může být kdykoli označen jako nevhodný či neplatný
  21. A) Návody se zárukou kvality a přehlednosti. Tyto návody byly odsouhlaseny skupinou "Tvůrců návodů Pawno.cz". Návody jsou tvořené podle jednotné šablony a jsou označeny obtížností probíraného tématu. B ) Ostatní návody Tyto návody jsou vytvořeny uživateli fóra a není u nich zaručená správnost a vysoká kvalita. C) Jak udělat... Návody v této sekci se zaměřují na konkrétní tvorbu v jazyku Pawn pro SA:MP herní scripty. Návody jsou vytvořeny uživateli fóra a není u nich zaručená správnost a vysoká kvalita. Neaktuální rozdělení Toto rozdělení není od 3. 8. 2016 aktuální.
  22. include = Rozdiel je v tom, že pokiaľ použijete include a ten includovaný súbor neexistuje, script vypíše upozornenie ( warning ) a ide ďalej.. require = Pri require pokiaľ súbor neexistuje, script sa zastaví a nedovolí to spustiť až kým nenahrajete určený súbor. Použitie: include "x.php"; require "x.php"; Ukážka: • include • require
  23. Ahoj mám na své stránce script a potřebuju nějaké tlačítko které odešle script který je na té stránce.
  24. [TuT] Povolání přes dialog Obtížnost: (podle pravidel doplní tuteři) Obsah: [*:1tohn3rv] Úvod [*:1tohn3rv] Co je to dialog? [*:1tohn3rv] Co budeme využívat? [*:1tohn3rv] Kódy a vysvětlení Upozornění: Výplaty nejsou součástí tutorialu, toto je pouze vysvětlení principu Úvod: Pro začátek - vím, že to tu je, ale žádný není v sekci "Návody", proto se ho tam pokusím dostat. Proč tedy zrovna přes dialog? Dle mého názoru se tam hodí. My budeme vytvářet dialog s dvěma možnostmi: Chceš se přidat k taxikářům? (Ano) (Ne). Po tomto kroku hráč dostane zbraně a skin. Co je to dialog? Dialog je okno, kde je otázka, 1 - 2 tlačítka, popřípadě seznam. Ten co budeme využívat my vypadá asi takto: Myslím, že na vysvětlní Co je to dialog to zatím stačí. Pawněním a samozdřejmě i hraním se seznámíte s více druhy dialogu. Co budeme využívat? 1) Samozdřejmě proměnné 2) Barvy 3) Různé zkratky, jako třeba SCM 4) IsPlayerInSphere 5) Dialogy 6) }else{ 7) if(... Kódy a vysvětlení Takže, budeme potřebovat includ a_samp (v novém scriptu už je): #include Přidáme pragmu kvůli tabování: #pragma tabsize 0 Teď bychom si měli udělat definice: #define COLOR_YELLOW 0xFFFF00AA #define taxikar 4 #define SCM SendClienMessage #define COLOR_YELLOW 0xFFFF00AA #define taxikar 4 #define SCM SendClienMessage Definujeme si COLOR_RED jako barvu Definujeme "taxikar" jako dialog s ID 4 Pro ulehčení - nadefinujeme SCM jako SendClientMessage Teď si musíme vytvořit nějaké proměnné new Job; new taxikarpick[1]; new Job; new taxikarpick[1]; Proměnná povolání Proměnná pickupu Teď se přesuneme k publicu OnGameModeInit... Zde si vytvoříme pickup na námi určených souřadnicích X, Y a Z. (Souřadnice tam dávám jako ukázkové) taxikarpick[0] = CreatePickup(1581,1,2183.6685,1805.3363,11.0000); taxikarpick[0] = CreatePickup(1581,1,2183.6685,1805.3363,11.0000); Vytvoří pickup s id 1581 na zapsaných souřadnicích. Dovolí jej vyvolávat jako "taxikar" Nyní se přesuneme k publicu OnPlayerPickuPickup a vytvoříme si dialog: if(pickupid == taxikar) { ShowPlayerDialog(playerid,taxikarpick[0],DIALOG_STYLE_MSGBOX,"Zaměstnání - Taxikář", "Chceš se zaměstnat jako taxikář?","Ano","Ne"); } if(pickupid == taxikar) { ShowPlayerDialog(playerid,taxikar,DIALOG_STYLE_MSGBOX,"Zaměstnání - Taxikář", "Chceš se zaměstnat jako taxikář?","Ano","Ne"); } Pokud je ID pickupu Ukáže hráči dialog s ID playerid (Nahoře jsme jej definovali). Typ dialogu bude MSGBOX, nadpis Zaměstnání - Taxikář, otázka Chceš se zaměstnant jako taxikář? Odpovědi - Ano, Ne A nyní nás čeká poslední a asi nejtěžší část - public OnDialogResponse. Přejdeme k němu: if(dialogid == taxikar) { if(response == 1) { if(Job==1) { SCM(playerid,COLOR_YELLOW,"[POVOLÁNÍ] Zde už jsi zaměstnán"); } else { SCM(playerid, COLOR_YELLOW, "[POVOLÁNÍ] Zaměstnal jsi se jako taxikář"); GivePlayerWeapon(playerid,22,100); SetPlayerSkin(playerid, 171); } } if(dialogid == taxikar) { if(response == 1) { if(Job==1) { SCM(playerid,COLOR_YELLOW,"[POVOLÁNÍ] Zde už jsi zaměstnán"); } else { SCM(playerid, COLOR_YELLOW, "[POVOLÁNÍ] Zaměstnal jsi se jako taxikář"); GivePlayerWeapon(playerid,22,100); SetPlayerSkin(playerid, 171); } } Pokud je dialog "taxikar" { Pokud hráč klikne na tlačítko 1 { Pokud je již jeho povolání "1" Pošle zprávu pokud není zaměstnán jako "1" Pošle zprávu o tom, že se úspěšně zaměstnal Dá hráči skin a zbraně (můžetes si upravit). } } GivePlayerWeapon(playerid,IDZBRANE,NABOJE); SetPlayerSkin(playerid, IDSKINU); Autor: dadanek1999 Poděkování: Uživatel TonySVK za pomoc při mé epické chybě Doba tvorby v Pawnu: cca 7 minut Doba tvorby TuTu: přes hodinu Tip: Prosím, nekopírujte to. Projděte si vysvětlivky, pochopte funkce, princip, jakým se tvoří povolání ať tomu rozumíte. Než napíšete komenář typu: "Mě to háže error..." skuste se zamyslet, co by to mohlo způsobit //EDIT: Ještě je možno použít IsPlayerInSphere http://www.pawno.cz/jak-zabranit-prohaz ... 23652.html
×
×
  • Create New...