Jump to content

Search the Community

Showing results for tags 'samp'.

  • 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. Obtížnost: Osnova: 1. Úvod, co je to pole 2. Deklarace pole 3. Práce s indexy (přiřazování hodnot) 4. Pole a řetězec 5. Vícerozměrné pole 6. Závěr 1. Úvod Zdravím, tohle je druhý ze série návodů pro začínající pawnery. Návod navazuje na ten předchozí o proměnných (klik). Znalost proměnných je nutná k pochopení tohoto návodu, proto Vám doporučuji, abyste si nejprve přečetli ten první návod (odkaz je k dispozici). Co je to pole? Pole (angl. array) je, zjednodušeně řečeno, proměnná, do které můžeme ukládat více hodnot. Funguje to tak, že se nám v paměti vymezí prostor a tento prostor se nám rozdělí na tolik buněk, kolik určíme. Jako kdybychom vzali dort a rozkrojili ho na námi určený počet kousků. K těmto jednotlivým buňkám (kouskům dortu) pak přistupujeme pomocí tzv. indexů. 2. Deklarace pole Jako první začneme s deklarací pole. Ta funguje stejně jako u proměnné, akorát s malým rozdílem. . new hraci[3]; . Opět jsme použili slůvko new, opět jsme zvolili název a opět jsme to všechno zakončili středníkem. Co se tedy změnilo? Hned za název jsme přidali hranaté závorky [ ] a do nich jsme vepsali velikost pole. Je tam 3, což znamená, že pole s názvem hraci má celkem 3 buňky. Samozřejmě můžeme deklarovat více polí naráz a přidat k nim různé tagy (pro různé datové typy), stejně jako u proměnných. . new hraci[3], Float:souradnice[4], bool:admin[10]; . 3. Práce s indexy (přiřazování hodnot) Nyní máme vytvořené pole. Jak teď do jednotlivých buněk uložíme hodnoty? Budeme k nim přistupovat přes, již zmíněné, indexy. Každá buňka má svůj unikátní index. Indexy vždy začínají od nuly. Poslední index bude vždy o jedno menší, než je velikost pole. Takže naše pole hraci bude mít indexy 0 až 2, pole souradnice bude mít indexy 0 až 3 a pole admin bude mít indexy 0 až 9. Teď pojďme poli hraci přiřadit nějaké hodnoty. . hraci[0] = 1; hraci[1] = 0; hraci[2] = -3; . Takhle jsme všem třem buňkám určili hodnotu. Indexy zapisujeme tam, kde jsme při deklaraci zapisovali velikost. Pro procvičení to samé uděláme i s druhým polem. . souradnice[0] = 4.7; //ukládáme čísla s desetinnou čárkou souradnice[1] = 8.52; souradnice[2] = -1.02; souradnice[3] = -0.5; . Pro zajímavost (rozklikněte spoiler): 4. Pole a řetězec Už u proměnných jsme narazili na tento způsob deklarace – jednalo se o řetězce. Je načase si říci, že řetězec není nic jiného než pole znaků. Každá buňka obsahuje jeden znak z řetězce. Podívejme se na následující příklad: . new pozdrav[4+1]; //deklarace pole znaků (řetězce), nezapomeňme přičíst jedničku (znak) navíc pozdrav = "ahoj"; . Teď máme v poli/řetězci pozdrav slovo "ahoj". Když si ho rozpitváme, zjistíme, že každý index v sobě má jedno písmeno. . pozdrav[0] = 'a' pozdrav[1] = 'h' pozdrav[2] = 'o' pozdrav[3] = 'j' . Index 4 jsem záměrně nezmínil. Proč? Podrobněji se tomu budu věnovat v návodu o řetězcích, prozatím si vystačíme s informací, že jedná-li se o řetězec (u ostatních polí to neplatí), musí poslední buňka zůstat nezměněná. Necháme ji prostě tak, jak je. Pro zajímavost (rozklikněte spoiler): 5. Vícerozměrné pole (pro středně pokročilé – rozklikněte spoiler) 6. Závěr A jsme na konci. Nyní už víme, jak funguje pole, jak jej vytvořit a jak s ním pracovat. Taky jsme si řekli něco málo o principu vícerozměrných polí a o tom, jaký vztah má řetězec k poli. Tento návod, stejně jako ten předchozí, je určen pro nováčky, pokročilejší věci byly buďto úplně vynechány, nebo jsou uvedeny ve spoilerech. Přesto, zdá-li se Vám, že jsem něco opomněl, někde jsem se spletl nebo se jen chcete vyjádřit, pište do tohoto tématu. Ověřený návod Tento návod prošel validací, a lze ho proto považovat za ověřený.
  2. Zdravím, asi jste si všimli, že přibyla nová sekce "Základy pawn". Po domluvě s Ewwem jsem se rozhodl, že většinu svých návodů z ewa (jiného fóra) přesunu i sem. Vyžádal jsem si na to svou sekci, za chvíli vysvětlím proč. Vlastně vysvětlím všechno. Proč to vzniklo? Jednoduše řečeno, je zde horda lidí, co žádají o pomoc se svým kódem nebo problémem, ale když jim někdo poskytne návod, jak toho dosáhnout, skončí to na tom, že dotyčný nezná základy. Odkázat jej na google či na samp wiki bez toho, aniž by to helper nějak přiblížil, má asi stejnou vypovídací hodnotu jako ten příspěvek od toho, co žádá pomoc. Řešením je odkázat jej na místní sekci "Návody", ale... ...ale to by v té sekci nesměl být takový bordel. Za ty roky se tam nahromadily stovky návodů, sice byl pokus o to je roztřídit (nice try, Petře, Hipe), ale že by to zrovna dvakrát pomohlo, to ne. Proto vznikla tato sekce, která bude sdružovat návody pro úplné začátečníky. Jakých návodů se to týká a co musí splňovat? Jsou to návody, které se věnují jednotlivým strukturám jazyka Pawn, jeho syntaxi apod. Já prozatím plánuji návody na proměnnou, pole, funkce, podmínky, cykly a řetězce. Co bude dál, to se uvidí. Přispět svým návodem může každý, ale návod v této sekci by měl splňovat tato pravidla, jinak by sekce postrádala smysl: 1. Návod musí být sepsán "jako pro blbce"; to znamená, že musí být vše pododrobna a srozumitelně vysvětleno, žádné odborné výrazy a úseky, popř. tyto úseky musí být od návodu nějak odděleny s upozorněním, že jde o něco navíc (já využívám spoilerů); 2. Tématem by neměla být žádná konkrétní funkce SA:MP (timery, 3dlabely apod.) ani žádný větší celek (jak udělat TDM, jak na anketu apod.), sekce je pouze pro věci týkající se Pawn; 3. Návod musí být v souladu s šablonou pro psaní návodů. Každý návod v této sekci musí projít schválením, když nebude splňovat bod 1 nebo 2, bude přesunut do sekce "Ostatní návody". V případě, že by nesplňoval bod 3, by jej uživatel musel nejprve upravit tak, aby byl v souladu s šablonou (není nutné to moderátorům znesnadňovat tím, že se to nebude dodržovat). Jak přesně to má pomoct? Zkušení pawneři mohou žadatelům o pomoc poslat odkaz na tuto sekci, pokud daný člověk nebude mít elementární znalosti Pawn. Závěrem Doufám, že se to osvědčí, udělat pořádek v celé sekci "Návody" si myslím je utopická myšlenka, takže tohle je (by mohla být?) ta zlatá střední cesta.
  3. Obtížnost: Osnova: 1. Úvod, co je to proměnná 2. Deklarace (vytvoření) proměnné 3. Přiřazování hodnot 4. Datové typy (tagy) 5. Lokální a globální proměnná 6. Závěr 1. Úvod Zdravím Vás, tohle je první ze série návodů věnujících se základům jazyka Pawn. Cílem těchto návodů je seznámit Vás se strukturami tohoto jazyka, s jeho syntaxí a s jeho využitím v praxi. Tento návod se bude věnovat proměnné. Co je to proměnná? Pod pojmem proměnná si můžeme představit nějaké místo v paměti, které má svůj název a do kterého si pro naše potřeby ukládáme hodnoty. Všichni proměnné už známe, a to z matematiky – zde proměnné jako x a y používáme nepřetržitě. A funguje to i podobně – v matematice za ně můžeme dosazovat různé hodnoty, v programování do nich také ukládáme různé hodnoty. 2. Deklarace (vytvoření) proměnné Prvním naším krokem bude deklarace proměnné. Když mluvíme o deklaraci proměnné, máme na mysli, víceméně, její vytvoření. To provedeme následovně: . new id; . Pomocí slova new deklarujeme nové proměnné. Jinak to nejde, jazyk to od nás vyžaduje. id je název (identifikátor) naší nové proměnné. V názvu můžeme používat standardní písmena (A až Z, a až z), číslice (0 až 9) a podtržítko (_). Název bychom měli volit tak, aby odpovídal tomu, k čemu budeme proměnnou potřebovat (např. penize – pro ukládání peněz apod.) Středníkem (;) deklaraci ukončíme. Jazyku tak sdělíme fakt, že jsme s tímto příkazem (s deklarací proměnné) skončili. Takhle to funguje i u jiných příkazů, ne jenom u deklarací. Pokud potřebujeme deklarovat více proměnných najednou, je to možné provést tak, že jednotlivé názvy oddělíme čárkou, takhle: . new id, penize, score; . Takto jsme vytvořili 3 proměnné naráz. 3. Přiřazování hodnot Teď už víme, jak proměnnou vytvořit. Jak do ní ale uložím hodnotu? To udělám pomocí operátoru rovnítko / rovná se (=). . id = 5; . Na levé straně (tzv. lvalue) máme proměnnou, do které chceme ukládat, poté následuje rovnítko, které nám určí, že do proměnné ukládáme hodnotu, a nakonec přichází samotná hodnota (tzv. rvalue). Hodnotou může být číslo, ale také jiná proměnná nebo výraz. Stejně jako deklaraci, tak i tento příkaz zakončíme středníkem. Ono středníkem budeme ukončovat téměř všechno, ale to brzy samo vyjde najevo. Pokud bychom chtěli přiřadit hodnotu už při deklaraci, tak i to nám Pawn dovoluje: . new id = 7; new id = 1, penize = 5000, score = -100; //znak mínus (-) před hodnotou nám značí zápornou hodnotu . Pro zajímavost (rozklikněte spoiler): 4. Datové typy (tagy) Už umíme proměnnou vytvořit a přiřadit jí hodnotu. Teď si musíme říct něco o datových typech. Datový typ nám určuje, jaké hodnoty můžeme do proměnné uložit. Může se jednat o běžná celá čísla (ty jsme používali do teď), ale pak také můžeme ukládat čísla s desetinnou čárkou, různé texty, znaky apod. Čím se nám to bude lišit, když budeme chtít do proměnné uložit např. číslo s desetinnou čárkou? Bude se to lišit způsobem deklarace. Vyjmenujme si všechny běžné datové typy a způsob, kterým je budeme deklarovat. a) Celá čísla (7, 666, -5, -114 apod.) new cela_cisla; //deklarujeme tak, jak jsme se před chvílí naučili cela_cisla = 7; . b ) Reálná čísla – čísla s desetinnou čárkou (3.14159, 10.254, -177.8, -23.23 apod.) new Float:realna_cisla; //před název proměnné jsme přidali tzv. tag, a to tag "Float:" realna_cisla = 3.14159; //tečka (.) nám v programování představuje desetinnou čárku . c) Logické hodnoty (true a false) Logické hodnoty máme jen dvě, a to pravda (true) a nepravda (false). . new bool:logicke_hodnoty; //doplníme tag "bool:" logicke_hodnoty = true; . d) Znaky Znakem může být cokoliv, co najdete na klávesnici – písmeno, číslice, vykřičník, pomlčka atd. Deklarace se neliší od celých čísel, ale ukládání ano! . new znak; //stejné jako u celých čísel znak = 'a'; //ukládaný znak musíme vložit mezi apostrofy (') . e) Řetězec/string ("abcd1234?!", "jak se máš?", "jsem programátor" apod.) Řetězec není nic jiného než posloupnost několika znaků. Jsou to slova, věty, hesla, vše, co nás napadne. Liší se deklarací i ukládáním! . new retezec[10+1]; //v hranatých závorkách [] udáváme délku řetězce, to je ta 10, a navíc přičteme ještě jedničku kvůli potřebám jazyka Pawn retezec = "abcd1234?!"; //ukládaný řetězec znaků musíme vložit mezi uvozovky (") . Pro zajímavost (rozklikněte spoiler): Těch tagů je omnoho více, ale když teď známe jejich princip, nebude těžké se vypořádat ani s těmi ostatními. 5. Lokální a globální proměnná Proměnná se dělí na dva typy podle toho, kde ji deklarujete. Globální proměnná se nejčastěji deklaruje nahoře ve scriptu, těsně pod #include a #define. S touto proměnnou můžete pracovat všude ve scriptu. Oproti tomu lokální proměnná se deklaruje v určitém bloku (bloky nám určují složené závorky { }) a má platnost pouze v něm a v podřazených blocích. Názorná ukázka: . public OnPlayerConnect(playerid) { if(playerid == 0) { new id; id = 5; //bude fungovat, tohle je stejný blok, kde je deklarace if(IsPlayerInAnyVehicle(playerid)) { id = 0; //bude fungovat, tohle je podřazený blok } } id = 7; //nebude fungovat, zahlásí nám to chybu, protože tohle už je nadřazený blok } . 6. Závěr A takhle jsme došli ke konci návodu o proměnné. Dnes jsme se dozvěděli, co je to proměnná, k čemu slouží, jak do ní ukládat hodnoty a výrazy, jaké hodnoty do ní lze ukládat a jak ji rozdělujeme dle platnosti. Navíc jsme si také ukázali, jak psát do kódu komentáře, to jsou ty poznámky, které jsme uvedli za znaky // (dvě lomítka). Za ně si lze psát své vlastní poznatky, připomínky atd. Ještě jednou říkám, že tento návod slouží pro úplné začátečníky, pokročilejší věci byly buďto úplně vynechány, nebo jsou uvedeny ve spoilerech. Přesto, zdá-li se Vám, že jsem něco opomněl, někde jsem se spletl nebo se jen chcete vyjádřit, pište do tohoto tématu. Ověřený návod Tento návod prošel validací, a lze ho proto považovat za ověřený.
  4. Web: Prozatím je jen zdarma doména, jak bude větší část módu hotová, tak zaplatím doménu .cz [http://pr-rp.8u.cz/index.php IP serveru: zatím není, probíhá testování na hamachi serveru. Kontakt: [email protected] Fórum SZ Hledám: Mappery Hotové věci: - Login - Register systém - Pár kontrolních otázek pro přihlášení - Imigrace postavy ( vyplnění věku, kontinentu odkud pochází, pohlaví ) - Tutorial - Základní RP příkazy ( /me a /do ) - Seznam online administrátorů - Nastavení věku a pohlaví Nedodělané věci: - Dynamický house systém - Dynamický systém frakcí - Dynamický systém benzínek - Vehicle systém - Drogy - Práce - Weapon systém - Banka, bankomaty - Občanka, řidičáky - Bude toho ještě více, jen to musím vše domyslet.
  5. Zdravím, tématem tohoto návodu bude hashování hesel; řeč bude zejména o nové funkci, která do SA:MP přibyla od verze 0.3.7 R1 – SHA256_PassHash. Opravdu jsem nevěděl, jakou zvolit obtížnost, ale vzhledem k úrovni vědomostí většiny místních uživatelů jsem se rozhodl pro 3/5 (pro středně pokročilé). Obtížnost: Co je hashování a k čemu slouží Pojem hashování znamená převod dat (v našem případě to budou hesla hráčů) na otisk neboli hash. K tomuto převodu nám slouží tzv. hashovací funkce. Hash, který nám vznikne, má několik klíčových vlastností: – nezáleží na tom, jak velká data jsou, výsledný hash bude mít velikost vždy pevně danou; – i při sebemenší změně dat (např. změna hesla z "ahoj123" na "ahej123") se bude výsledný hash podstatně lišit; – z hashe se k původním datům prakticky nelze dostat (proto jsou hashovací funkce označovány jako jednosměrné). Z těchto bodů by Vám už mělo být jasné, k čemu je hashování dobré – k ochraně citlivých údajů a procesů, kterými hesla nepochybně jsou. SHA-256 SHA-256 je hashovací funkce pocházející z rodiny hashovacích funkcí SHA-2. Používají ji kupříkladu protokoly TSL a SSL, ale své uplatnění najde i v Linuxu. V pawn tato funkce vypadá následovně: _ SHA256_PassHash(password[],salt[],ret_hash[],ret_hash_len) _ password[] – heslo, ze kterého chceme získat hash; salt[] – kryptovací "sůl", o které si za chvíli povíme; ret_hash[] – výsledný hash; ret_hash_len – délka výsledného hashe, která bude vždy 64. Solíme a solíme V úvodu o hashování jsem zmínil, že kryptografické hashovací funkce jsou jednosměrné, tedy že původní data z výsledného hashe už sotva získáme zpět. K těmto funkcím lze ještě přidat takzvanou sůl, což jsou náhodná data, která se připojují navíc k původním datům. Toto uplatníme právě při hashování hesel. Zvolí-li si uživatelé náhodou stejné heslo, díky unikátnímu "osolení" nám tak vznikne více variant, čímž zabráníme možným slovníkovým a podobným útokům. Co byste měli mít na paměti při generování soli: – sůl musí být vždy náhodně vygenerována, pokud budeme solit stále stejnou solí, bude to postrádat efekt; – tvoříme dlouhou sůl; pokud by si útočník chtěl udělat tabulku možných solí, sůl o délce dvou znaků by nám moc nepomohla. A jdeme skriptovat Teď, když už víme vše potřebné, je načase si ukázat, jak to bude vypadat v kódu. Vytvořím jednoduchý registrační systém, kam budu ukládat jen heslo a sůl. Jako první si nadeklarujeme potřebné proměnné. new pPassw[MAX_PLAYERS][65]; //hash bude mít vždy délku 64 znaků + EOS new pSalt[MAX_PLAYERS][11]; //délku soli jsem zvolil 10 znaků + EOS _ Následně si nadefinujeme pomocné funkce. GenerateSalt() //vygeneruje nám náhodnou sůl o délce 10 znaků { new salt[11]; for(new i;i<10;i++) salt[i] = random(126-33) + 33; //od ASCII 33 ('!') až po 126 ('~') salt[10] = EOS; return salt; } GetPath(playerid) //vrátí nám cestu k uživatelově souboru { new path[6+MAX_PLAYER_NAME+4+1]; GetPlayerName(playerid,path,sizeof path); format(path,sizeof path,"users/%s.txt",path); return path; } _ Nyní si ukážeme, jak to bude vypadat při registraci. public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[]) { if(dialogid == DIALOG_REGISTER) { new File:f,salt[11],str[100]; salt = GenerateSalt(); //vygenerujeme náhodnou sůl SHA256_PassHash(inputtext,salt,pPassw[playerid],sizeof pPassw[]); //k zadanému heslu (inputtext) se přidá sůl (salt) a výsledný hash se uloží do pPassw[playerid] f = fopen(GetPath(playerid),io_write); //otevření souboru v režimu zápisování format("%s\r\n%s\r\n",pPassw[playerid],salt); //zapisované údaje (heslo a sůl) fwrite(f,str); //zápis do souboru fclose(f); //uzavření souboru return 1; } } _ Registraci se zápisem hashe bychom měli. Nyní se podíváme na to, jak budeme postupovat při přihlášení. Navazujeme na kód výše dialogem pro přihlášení. else if(dialogid == DIALOG_LOGIN) { new File:f,hash[65]; f = fopen(GetPath(playerid),io_read); //otevření souboru v režimu čtení fread(f,pPassw[playerid]); //přečtení hesla ze souboru fseek(f,2,seek_current); //přeskočení bílých znaků fread(f,pSalt[playerid]); //přečtení soli ze souboru fclose(f); //uzavření souboru SHA256_PassHash(inputtext,pSalt[playerid],hash,sizeof hash); //k zadanému heslu (inputtext) se přidá sůl (pSalt[playerid]) a výsledný hash se uloží do proměnné hash if(!strcmp(hash,pPassw[playerid])) //pokud je přihlašovací hash shodný s hashem ze souboru, jsou hesla identická { //správné heslo = úspěšné přihlášení } else { //nesprávné heslo = neúspěšné přihlášení } return 1; } _ Tím, že jsme k přihlašovacímu heslu přidali stejnou sůl jako při registraci hráče a celé ho poté zahashovali, nám musí vzniknout identický hash s hashem v souboru. Je-li tomu tak, uživatel zadal správné heslo, došlo k úspěšnému přihlášení. Pokud se hashe shodovat nebudou, bylo zadáno špatné heslo. Právě z tohoto důvodu je nutné zapisovat sůl do souboru společně s otiskem hesla. Závěr A to by bylo vše. Probrali jsme základní principy hashování, možnost SHA-256 hashování v pawn, ukázali si, jak vytvořit registrační soubor. Mimoto také můžeme vidět, že se dá obejít bez různých includů pro práci se soubory. Předem varuji, že kódy slouží pouze a jen jako ukázka. Cílem nebylo vytvořit registrační systém, jen poukázat na možnosti hashování. Pozdější komentáře typu: "Zkopíroval jsem to a nejde mi to!" budou pravděpodobně ignorovány nebo tězce zkritizovány ostatními. Samozřejmě, pokud jste našli jakoukoli chybu v tom, co jsem napsal, neváhejte mi zde zanechat vzkaz! Totéž platí i v případě, chcete-li se na něco zeptat nebo mi jen vyjádřit svůj názor. 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ý
  6. Zdravím rád bych se zeptal na otázku která podle mě zajímá více uživatelů této stránky. Jak jsem viděl už na více serverech to že pokud má hráč ve své složce ve které má GTA určitej soubor tak ho to kickne. Dejme tomu že budem pracovat ze souborem mod_sa Shrnutí: Pokud má hráč ve své složce s GTA Soubor mod_sa Hráče bude kicknut Jak se to dá nějakou jednoduchou cestou udělat ? Děkuji za vaše odpovědi.
  7. Rozhodl jsem se spustit a dokončit můj mód Re-Volt, dnes jsem odbugoval na co jsem měl čas, do módu přibyde postupně mnoho funkcí, které jsem tam kdysi plánoval :-) o co jde snad nemusím popisovat, hru ReVolt zná asi každý, jediné v čem se to od této hry zatím liší je, že toto je na způsob crashday a ne race. Příkazy: /setspawn = tímto příkazem si můžete určit spawn např u určitého vozidla /rules = pravidla /rtv = jako v csku, hlasování o jinou mapu /respawn = respawn vím, že popis není nic moc ale spěchám na bus no nic ip serveru je: samp.ixel.cz:3537 komentujte, kritizujte, pište co se má přidat do módu přátelé, díky zatím ahoj :-)
  8. Zdravím chtěl bych vám představit nový herní mod na kterém jsem začal pracovat před 2-3 dny Mod se nazývá 4Life Herní mod by měl být klasický druh boje o přežití s ostatními hráči a zombie. Je pouze na vás pokud se spojíte s nějakým hráčem a rozjede nějakou skupinku kde můžete sbírat itemy a poté je dávat ostatním hráčum za herní měnu.Pokud vás to ovšem omrzí bejt "podnikatel" v boji o přežití můžete se pustit do lovu zombie. Za zabití hráče dostáváte nějaké zkušenostní body a zaty poté získáváte určité levely a stěma příchazí i nějaké výhody. Vlastně jak to probíhá sbíráte ze země předměty které využijete mezi předměty najdete i zbraně které se vám budou určitě hodit. V tomto herním modu také najdete spousty postav které vám můžou nějak pomoct ve tvorbě vašeho vlastního příběhu ve hře. Informátor přeživších Toto je prostě zakladní postava která by měla hráče informovat o ději modu. Jak to probíhá a co by měli udělat jako první věc. Prostě taková tutorial postava. Dealer předmětu Toto je postava která hráčum bude prodávat předměty jako je např jídlo,pití nebo items potřebné k práci. Např:Udice nebo GPS Výkupce předmětu Tato postava bude zas pro změnu předměty od hráču vykupovat o hodně menší cena než Dealer je bude prodávat. Je pouze na hráčích pokud si prodají své předměty za cenu která bude v nabídce. Za prodej předmětu hráči dostanou měnu bitcoin. Tato měna nefunguje jak v realitě je to čistě pro pojmenovaní. Prodejce zbraňí Tato postava bude prodávat zbraňě za nehorázně vysoké ceny hráčum proto je lepší když hráči si zbraně najdou nebo givnou mezi sebou.Záleží ovšem jak sem už říkal pouze na hráčich jestli jdou sami za sebe nebo si najdou spojence. Správce skladu Tato postava bude mejt na starosti skladiště které bude spravovat. Hráči si u něj budou moc kupovat sloty do kterých budou ukládat zbraňě. První slot na zbran bude mejt hráč zdarma poté si bude moc dokoupit asi 10 slotu. Do kterých bude moc vkládat zbraňě čímž si je bude ukládat a bude mejt jistotu že mu je nikdo nevezme. V modu bude také několik zadavatelů úkolu kteří vám vlastně pomůžou získat XP a Level. Úkolů bude asi 30-50 u několika postav bude záležet na vás jak se rozhodnete je plnit. Systém potřeb je založen na čtyřech zakladních bodech. Hlad Žízeň Spánek WC Tyto potřeby budete muset udržovat aby jste zůstali nějakej ten čas při životě. Každá potřeba má jinej druh ubíraní vaše status baru. Pomalejší nebo rychlejší. Injures systém to bude vlastně věc která bude určovat vaše zranění. Udejme si pár příkazu pro pochopení. Pokud hráč střelí hráče pomocí brokovnice ze 3 metrů hráč umře. Pokud ho střelí třeba s 20 metru kulka poškodí minimalní zranění. Pokud to bude něco mezi hráč bude krvácet. Krvacení bude lze zastavit pomocí obvazu čímž si můžete zachránit život. Každá zbraň bude mejt svoji možnost poškození takže každé napadení od zbraňě bude jiné. Samozřejmě že se pokusím udělat realistické. Ještě jedna věc a to je HeadShot na 1 ránu. Popravdě o tomto dost uvažuji sám ještě nevím zda tam dám že hlava = smrt. Uvidíme nechme se překvapit. Předměty můžete normalně sbírat a používat. Např udice rybaření. Pokud budete mejt pilu můžete kácet stromy. A podobně Zombie budou vytvořené na principu že pokud vás uvidí nebo uslyší vystřel jdou po vás. Zombie by měli mejt asi 200 hp pokud to teda zvládnu udělat. Protože tvorby zombie se opravdu bojím. Ale udělám proto všechno. Budete moc pokládat nazem předměty jako je plnej pytel nebo možnost zakladaní ohně a pár věcech. Každá věc bude mejt určitou vyhodu po použití. Ovšem protože toto by bylo suché tak uvažuji otom že by si hráči mohli zpracovávat material a zato by dostali stavební material Ze kterým by si mohli stavět a postavit třeba ukryt. Jenže když vidím pár hraču na serverech bojím se že budou dělat bordel pokud jim dám volnou možnost stavění. Budu doufat.
  9. Zdravím, zase po dlouhé době jsem se rozhodl zde publikovat jeden ze svých návodů. Předem říkám, že se nejedná o nic, čemu by se měli věnovat začátečníci, takže pozdější dotazy typu "Co je to if? Co je to funkce? Co je to pawn?" budou pravděpodobně ignorovány. Řeč bude o variabilních parametrech funkce a práce s těmito parametry. Obtížnost: Obsah 1. Úvod - základní principy a pojmy 2. Konstantní vs. variabilní parametry; kombinované parametry 3. Datové typy / tagy variabilních parametrů 4. numargs, getarg, setarg 5. Pořadí parametrů Úvod Než se do toho pustíme, uveďme a vysvětleme si pojmy, se kterými budeme pracovat. Je-li řeč o parametru (nebo také argumentu), je tím myšlen parametr/argument funkce. Variabilním (proměnným) počtem parametrů myslíme takové parametry, jejichž počet při definici funkce není pevně daný. To znamená, že při volání funkce můžeme dosadit vždy různý počet parametrů. Konec řečí, jdeme si ukázat, jak na to. Konstantní vs. variabilní parametry Ve většině případů pracujete s funkcemi, které mají konstantní (neměnný) počet parametrů. Může jít například o následující, notoricky známou funkci: SendClientMessage(playerid,color,const message[]); _ Při jejím volání se očekává, že pokaždé dosadíme 3 parametry (ID hráče, barvu zprávy a text zprávy), takže volání může vypadat například následovně: SendClientMessage(0,-1,"You're noob."). Pak tu jsou ale funkce, které mají variabilní (proměnný) počet parametrů. Příkladem nám může být mnou definovaná funkce pro sčítání libovolného počtu celých čísel: MultiSum(...) { new num = numargs(),sum; for(new i;i<num;i++) sum += getarg(i); return sum; } _ Když budeme volat tuto funkci, můžeme dosadit kolik parametrů jen chceme. MultiSum(3,8), MultiSum(9,3,-1,5,3) i MultiSum(1,1,1,-5,1,4,2,3,5,8) bude fungovat a bude fungovat správně. Jistě vám už došlo, že variabilitu počtu nám zajišťují tři tečky. Oba výše uvedené postupy lze zkombinovat, tedy určit několik pevně daných parametrů a zbytek nechat jako variabilní. Ale pozor, v tomto případě musí být konstatní parametry na začátku a tři tečky vždy na konci! Funkce pro formátování textu nám budiž příkladem: format(output[], len, const format[], {Float,_}:...); _ První tři parametry uvádíme vždy, další se odvíjí od počtu použitých specifikátorů. (více o funkci format) Datové typy / tagy variabilních parametrů Uvedeme-li při definici funkce pouhé tři tečky, funkce bude očekávat jen celočíselné parametry a řetězce. Chceme-li dosazovat i argumenty jiných datových typů / tagů (Float, File, Text apod.), zápis bude vypadat následovně: Float:... //pouze pro desetinná čísla {Float,_}:... //pro celá čísla, řetězce, čísla s desetinnou čárkou a logické hodnoty {Float,bool}:... //pro desetinná čísla a logické hodnoty {Text,Text3D,Menu}:... //pro ID textdrawů, 3D labelů a menu _ A takto bychom mohli pokračovat dál. Princip spočívá v tom, že před tečky uvedeme příslušný tag, pokud je jich více, uzavřeme je do složených závorek { } a oddělujeme čárkou. Znak _ (podtržítko) nám zastupuje celá čísla, logické hodnoty a řetězce. numargs, getarg, setarg Varování: Tento způsob tvoření parametrů (zejména v případě polí a řetězců) je dosti pomalý. Jsou i rychlejší alternativy, pokud umíte pracovat s direktivou emit. Nyní se dostáváme k funkcím, které pracují s parametry, jejichž počet neznáme. Již jsme je použili nahoře u funkce MultiSum. numargs() Tato funkce vrací celkový počet argumentů funkce, tedy i pevně dané argumenty, ne jen ty variabilní, na to pozor. MultiSumWithException(exception,...) { new num = numargs(),sum; for(new i=1;i<num;i++) { if(getarg(i) == exception) continue; sum += getarg(i); } return sum; } MultiSumWithException(4,1,5,3,4); //numargs vrátí číslo 5 (4 variabilní a 1 konstantní parametr) _ getarg(arg,index=0) Funkce vracející hodnotu argumentu podle zvoleného ID (arg). Začíná se od nuly, takže první argument bude mít ID 0, druhý ID 1 atd. Parametr index nám poslouží v případě, že v naší funkci použijeme řetězec nebo pole. Pole/řetězec se totiž jeví jako jeden argument (arg) a abychom se dostali k jeho buňkám / k jednotlivým znakům řetězce, musíme využít indexu (index). I tyto indexy začínají nulou. PrintThirdNumberFromArrays(...) //při volání dosadím pole a řetězec { new num = numargs(); for(new i;i<num;i++) { printf("%i",getarg(i,2)); //výpis hodnoty třetí buňky pole / třetího znaku řetězce } } PrintThirdNumberFromArrays({7,4,5,3},"ahoj"); //numargs vrátí číslo 2 (2 parametry - 1 pole a 1 řetězec), funkce vytiskne 5 a 111 (111 je hodnota znaku 'o' v ASCII tabulce, pro výpis znaku použijte specifikátor %c namísto %i) _ setarg(arg,index=0,value) Setarg nastavuje parametru hodnotu. Funguje podobně jako getarg, za arg dosadíme pořadí argumentu, index využijeme v případě polí a řetězců (jinak doplňte nulu) a za value novou hodnotu daného argumentu. Příklady: setarg(0,.value=1); //nastaví 1. argumentu hodnotu 1 setarg(3,.value=Text3D:5); //nastaví 4. argumentu hodnotu ID 3D labelu 5 (pozor, argumenty musí tento tag podporvat, viz výš) _ Pořadí parametrů Tohle až tak s tématem nesouvisí, ale když už jsme se dostali tak daleko, uvedeme si i toto. V kódu výše jsme použili .value. Tato syntaxe nám slouží k tomu, abychom nemuseli dosazovat za index nulu, ta je totiž výchozí hodnotou tohoto parametru. Zkrátka jsem tím přeskočil defaultně určený argument. Toto přeskakování parametrů můžete vidět například zde. Když se nám zachce (ale podotýkám, že je to zbytečné), můžeme tím měnit i pořadí normálních argumentů: SendClientMessage(0,0xFF0000FF,"Ahoj!"); //parametry doplněné v typickém pořadí playerid, barva, zpráva SendClientMessage(.color=0xFF0000FF,.message="Ahoj!",.playerid=0); //tatáž funkce, akorát jsem změnil pořadí argumentů _ Hodí se ještě uvést, že u variabilních parametrů toto nelze dělat. A proč? No protože nemají u definice funkce svůj název/identifikátor (jsou tam jen ty tři tečky, popř. tagy, to nestačí). No a to máme vše. Doufám, že jste se něčemu přiučili, profesionálové mi to mohou zkontrolovat, grammarové hledat gramatické a pravopisné chyby, hnidopichové podotknout, že tenhle návod je i jinde (áno, překvapivě jsem ho taky psal já ) a ostatní mi vyjádřit svůj názor, budu rád. Ok, I'm out. Ověřený návod Tento návod prošel validací, a lze ho proto považovat za ověřený.
  10. Ahoj! Plno z Vás pamatuje na hosting xEl.cz, já jsem jeho zakladatel, taky plno z Vás ví, že hosting byl prodán novému majitelovi, ten ho přejmenoval tak xEl neexistoval. Tímto Vám chci sdělit jeho částečné obnovení, bohužel na jiné doméně (ixEl.cz). Co Vám dokážeme poskytnout: - ZDARMA - SA:MP server - 50 slotů (možno více) - 10 NPC - Vyhrazený výkon procesoru - Neomezenou RAM Při velkém zatížení hostitelského serveru máme právo výkon Vašeho serveru omezit. Na Administračním prostředí stále pracuji tzn. opravuji "bugy", přidávám nové věci, hraju si s designem apod. Web zatím nemáme, ale pokuď se mezi Vámí někdo najde a byl by ochotný něco navrhnout nebraním se tomu a jsem ochotný něco zaplatit. Omezil jsem maximální počet hostovaných serverů na 50, to nám dokáže zajistit všechny servery bez lagů. Registrovat se můžete na: http://samp.ixel.cz/apanel!
  11. THE STREET CODEX IP adresa: 93.91.250.147:27389 Facebook: /TheStreetCodex Rád bych vám představil multiplayer server pro hru GTA San Andreas. Celý mód je posazen do pouštní oblasti okolo A51. Následující informace jsou seřazeny chronologicky podle toho, jak na ně ve hře můžete narazit. Věřím, že nebude nouze o příjemnou atmosféru a dokážeme spolu vytvořit zajímavou komunitu plnou skvělých lidí zapálených do této hry. Pojďte se bavit! Brigády ✓ Lepení plakátů ✓ Odnos barelů ✓ Krmení hadů ✓ Rozvoz novin ✓ Doplňování muničního skladu ✓ Úklid města ✓ Sekání trávy ✓ Rybaření Potřeby ✓ Toaleta ✓ Hlad ✓ Energie ✓ Tekutiny ✓ Hygiena Autoškoly ✓ Řidičský průkaz A ✓ Řidičský průkaz B ✓ Řidičský průkaz C ✓ Řidičský průkaz D Práce ✓ Policista El Quebrados ✓ Policista Fort Carson ✓ Lékař El Quebrados ✓ Lékař Fort Carson ✓ Hasič ✓ Mechanik ✓ Popelář ✓ ChickenBoy ✓ Pošťák Podniky ✓ Obchod ✓ Elektroobchod ✓ Čerpací stanice ✓ Autoservis ✓ Veřejné WC ✓ Zbrojnice Další... ✓ Občanský průkaz ✓ Zbrojní průkaz ✓ Inventář ✓ Banky + bankomaty ✓ Vehicle system ✓ HP system ✓ Online radio Připravujeme ✓ Střelnice ✓ House system ✓ VIP system ✓ Event system ✓ Web Nejnovější informace jsou zveřejňovány na naší FB stránce! Na závěr bych velice rád zmínil všechny, kteří se jakýmkoliv způsobem podíleli či stále podílí na vývoji TSC. Všem vám patří obrovské DÍKY. HighPrint, nehehe, [FoX]Majci[enR_, Michellee, Vítek, Lukasz, KarToon, Mauno, Winz Pagganiny
  12. Ahoj hledam sponzora pro start noveho gaming portalu. Tento portal bude obsahovat spise counter strike servery typu DD2 , Furien , Jail , Deathrun Co hledam ? - Sponzora ktery dokaze zajistit Counter-strike servery pro chod portalu. - Webhosting - zajisten - Domena - zajistena - Admin Team - zajisten - Web - hotov - Servery - pripraven DD2 , Deathrun (ceka se na hosting ) - TeamSpeak3 server - zajisten Jelikoz sam tvorim Counter-Strike servery na zakazky tak jsem schopen udelat velmi kvalitni servery , na kterych hraci zazijou plno zabavy. Moje webovky s tvorbou na Wextra.eu Co nabizim ? - VIP reklamu v hlavicce webu , na kazdem serveru reklamu v chatu kazdych 10 minut , po zavedeni VIP systemu na serverech nabizim 25% provizi z kazde objednavky , + zaslu i vyuctovani. Jen pro vazne zajemce PM
  13. Ahoj chci vás pozvat na nový hosting extreme-craft zabývá se hrou Gta samp mame zatím jedno vps Parametry: 2x CPU 2GB Ram 40GB disk link http://extreme-craft.eu/apanel/ fb https://www.facebook.com/extremesampfree?fref=ts používáme admin panel od lacess
  14. Ahoj nevím si rady chci když hráč není rcon admin aby mu to napsalo že není no tady to máte public OnPlayerCommandText(playerid, cmdtext[]) { if(IsPlayerAdmin(playerid)) if(!strcmp(cmdtext, "/adm", true)) { ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "{92e9ff}Admin Příkazy","{FF0000}Admin příkazy pouze pro rcon: {008000}/godmode", "Zavrit", ""); return 1; } else { ShowPlayerDialog(playerid, 5, DIALOG_STYLE_MSGBOX, "{92e9ff}Admin Příkazy","{FF0000}Nejsi Rcon Admin", "Zavrit", ""); return 1; }
  15. Čágo lidičky, chtěl jsem si udělat na serveru že když napíše ňáký příkaz na serveru tak mu to napíše Neznámý příkaz! ale mě to pořád ukazuje SERVER: Unknown command! nevíte v čem je chyba ? díky za pomoc... Kod: public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/Boost", true)) { if(EnableBoast[playerid]) { EnableBoast[playerid] = 0; SendClientMessage(playerid, 0x924161FF, "[ ! ] Boost Deaktivován."); } else { EnableBoast[playerid] = 1; SendClientMessage(playerid, 0x924161FF, "[ ! ] Boost Aktivován."); } return 1; } //-------------------------------------------------------------------------- return SendClientMessage(playerid, -1, "{FF0000}Neznámý příkaz!"); }
  16. ERRORY : Zdravím ! Mám tu drobné errory no už sedím pri nich okolo 3 hod. a na nič som neprišiel. errory. Riadky : Warningy ani nepotrebujem aby ste opravili,hlavne ERRORY,Ďakujem,PS : Som začiatočník.
  17. MajkX

    pomoc [Hledam] Samp Bot

    Ahojte pawneri potrebujem od vas mensiu pomoc. Hladam nejakeho SAMP BOTa , konkretnejsie progam , ktory by mi ingame obcas alebo aj vkuse hybal hracov , v urcitych intervaloch. Jedna sa svojim sposobom o nejake AntiAFK. Nasiel som uz vela scriptov , ktore vsak propagovali najme rusaci , a nebol som si nimy isty , preto pisem vam tu, aby ste mi poslali nieco co mate overene Je to na verziu 0.3z DAKUJEM
  18. Původně jsem to v plánu neměl, ale rozhodl jsem se, že tu trochu objasním, jak funguje ternární operátor ? : Obtížnost: Jak to funguje Nejprve trochu nezbytné teorie, tento operátor se nazývá ternární, protože, jako jediný v pawn, pracuje se třemi operandy. první operand ? druhý operand : třetí operand _ Operandem nazýváme výraz, se kterým operátor pracuje. Tohle by myslím stačilo, teď se podívejme na to, jak funguje. logický výraz ? pravda : nepravda _ Operátor nejprve vyhodnotí logický výraz, pokud je tento výraz pravdivý (true), vrátí to, co je za otazníkem. Pokud je výraz nepravdivý (false), tak vrátí to, co je za dvojtečkou. Uvedu příklad: #define CERVENA 0xFF0000FF #define MODRA 0x0000FF00 new color; color = GetPlayerTeam(playerid) == 1 ? CERVENA : MODRA; Nejprve dojde k vyhodnocení logického výrazu, kterým je GetPlayerTeam(playerid) == 1. Pokud hráčův tým je skutečně tým s ID 1, tak se do proměnné color uloží hodnota za otazníkem, tedy CERVENA. Pokud ovšem má hráčův tým jiné ID, uloží se do proměnné hodnota za dvojtečkou, tedy MODRA. Využití v praxi Ne všechno se dá pochopit z teorie, proto je lepší to ukázat na několika příkladech z praxe. Hráčův tým Vezměme si ještě jednou příklad seshora a trochu jej upravme. Budeme chtít, aby se proměnné color nastavila CERVENA, pokud bude hráčův tým mít ID v rozmezí od 1 do 10. Pokud ne, nastaví se proměnné hodnota MODRA. Jak to lze řešit přes podmínky: if(GetPlayerTeam(playerid) >= 1 && GetPlayerTeam(playerid) <= 10) color = CERVENA; else color = MODRA; _ Jak my to vyřešíme šikovně přes ternární operátor: color = GetPlayerTeam(playerid) >= 1 && GetPlayerTeam(playerid) <= 10 ? CERVENA : MODRA; GetPlayerTeam(playerid) >= 1 && GetPlayerTeam(playerid) - logický výraz CERVENA - hodnota, která se uloží, když je logický výraz pravdivý/true MODRA - hodnota, která se uloží, když je logický výraz nepravdivý/false Pokud se v tom pomalu ztrácíte a přijde vám to nepřehledné, můžete si to ozávorkovat: color = (GetPlayerTeam(playerid) >= 1 && GetPlayerTeam(playerid) <= 10) ? (CERVENA) : (MODRA); _ Else if? Někteří z vás si možná řeknou "A co když potřebuji další podmínku, tedy else if?!" I tohle je samozřejmě pomocí ternárního operátoru možné, ale předem vás varuji, že se v tom možná začnete ztrácet. Zadání je následující: pokud má hráčův tým ID 1, nastaví se CERVENA, pokud má ID 2, nastaví se MODRA, pokud má jiné ID, nastaví se ZELENA. color = (GetPlayerTeam(playerid) == 1) ? (CERVENA) : ((GetPlayerTeam(playerid) == 2) ? (MODRA) : (ZELENA)); Za dvojtečku jsme přidali další ternární operátor. Pokud se ID rovná jedné, není problém, nastaví se CERVENA. Pokud se jedné nerovná, přeskočí za dvojtečku, zde narazí na další ternární operátor. Vyhodnotí další logický výraz. Pokud se ID rovná dvěma, nastaví se hodnota MODRA. Pokud to nebude ani jedna a ani dva, tak je to logicky jiné ID => nastaví se ZELENA. Šlo by to takhle větvit i dál, vždy by se za dvojtečku přidal další ternární operátor, ale při větším počtu bude lepší využít klasických podmínek, popř. switche. Příklad na závěr A dáme si ještě příklad na závěr. Skloňování v češtině programátorům leckdy dost komplikuje práci, výsledek výpisu hlášek se nám mnohdy nelíbí, například tady: new pocetHracu = 3,str[145]; format(str,sizeof str,"%i hráčů na serveru.",pocetHracu); SendClientMessageToAll(-1,str); _ Server nám vypíše tohle: 3 hráčů na serveru. _ Ale my chceme, aby vypisoval: 1 hráč na serveru. 2/3/4 hráči na serveru. 5/6/atd. hráčů na serveru. _ Zkrátka aby to vypsalo správný tvar slova hráč podle počtu. Lze to řešit přes podmínky nebo switch: switch(pocetHracu) { case 1: format(str,sizeof str,"%i hráč na serveru.",pocetHracu); case 2,3,4: format(str,sizeof str,"%i hráči na serveru.",pocetHracu); default: format(str,sizeof str,"%i hráčů na serveru.",pocetHracu); } _ Ale my si to zkrátíme na jeden řádek pomocí ternárního operátoru. format(str, sizeof str,"%i %s na serveru.",pocetHracu,(pocetHracu == 1) ? ("hráč") : ((pocetHracu < 5) ? ("hráči") : ("hráčů"))); Za specifikátor %s se dosadí jeden z tvarů slova hráč. Je to také krásná ukázka toho, že ternární operátor lze použít i v parametru funkce. Ještě jedno upozornění na závěr, když má tento operátor vracet řetězec, tak jej uzavřete do závorek vždy! Nevím, zda problém stále trvá, ale dříve byly problémy s tím, že když to nebylo v závorkách, pawno mohlo spadnout. Edit: Potvrzeno, problém stále trvá, pokud řetězec do závorek neuzavřete, kompilátor přestane pracovat. Tímto ukončuji návod, doufám, že si z něj někteří něco odnesou a že vám tento operátor třeba v něčem ulehčí nebo pomůže. Pokud jste narazili na nějakou chybu nebo se chcete na něco zeptat nebo se jen vyjádřit, pište. Ověřený návod Tento návod prošel validací, a lze ho proto považovat za ověřený.
  19. Čau prosím pomožte mi nefunguje mi include YSI zkompiluju a hlásí mi to chyby zde je kód: http://pastebin.com/aAaiCfMq a zde je výpis z kompilace: C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(1530) : error 025: function heading differs from prototype C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(1575) : warning 235: public function lacks forward declaration (symbol "OnEnterExitModShop") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(1620) : error 025: function heading differs from prototype C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(1665) : error 025: function heading differs from prototype C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(1711) : warning 235: public function lacks forward declaration (symbol "OnVehicleDamageStatusUpdate") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(1755) : warning 235: public function lacks forward declaration (symbol "OnUnoccupiedVehicleUpdate") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(1983) : warning 235: public function lacks forward declaration (symbol "OnRconLoginAttempt") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(2028) : warning 235: public function lacks forward declaration (symbol "OnPlayerUpdate") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(2071) : warning 235: public function lacks forward declaration (symbol "OnPlayerStreamIn") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(2115) : warning 235: public function lacks forward declaration (symbol "OnPlayerStreamOut") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(2159) : warning 235: public function lacks forward declaration (symbol "OnVehicleStreamIn") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(2203) : warning 235: public function lacks forward declaration (symbol "OnVehicleStreamOut") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(2247) : warning 235: public function lacks forward declaration (symbol "OnDialogResponse") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(2294) : warning 235: public function lacks forward declaration (symbol "OnPlayerClickPlayer") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(2339) : warning 235: public function lacks forward declaration (symbol "OnPlayerTakeDamage") C:\Users\Dominik Rozporka\Desktop\Programy\Pawno\Pawno\include\YSI\y_hooks/impl.inc(2386) : warning 235: public function lacks forward declaration (symbol "OnPlayerGiveDamage") C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(63) : error 001: expected token: ";", but found "public" C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(65) : error 017: undefined symbol "UserPath" C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(67) : error 017: undefined symbol "UserPath" C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(77) : error 076: syntax error in the expression, or invalid function call C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(79) : error 017: undefined symbol "ShowPlayerDialog" C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(97) : error 017: undefined symbol "PlayerInfo" C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(97) : warning 215: expression has no effect C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(97) : error 001: expected token: ";", but found "]" C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(97) : error 029: invalid expression, assumed zero C:\Users\Dominik Rozporka\Desktop\EMenu+adminlevel.pwn(97) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 12 Errors. pomožte mi prosím
  20. Zdravím sliboval jsem RolePlay ale nějak jsem se necejtil... K věci: San Fierro Life 1.0 Zdravím představuji vám San Fierro Life. Oco jde ? Jde o herní mod který se už z názvu odehrává jen v San Fierru. Server by měl napodobit Realitu ale zaměřen jako mody TIPU: Street Life Realná Země Co můžete čekat v modu ? Pro všechny: -Register System - Registrace a Přihlašení -House System - Možnost Koupení a Prodání domu -Vehicle System - Možnost Koupení a Prodaní Domu + Ovládání -Povolaní - Možnost zaměstnat se a vydělávat peníze -Akce - Určitě zajímavé akce pořádané administrátory -Firmy - Každý hráč si Může koupit,Prodat a vydělávat -Obchody - V obchodě lze nakupovat různé věci -Banka - Banka vkládaní a vybíraní penez + Dražba přes banku Pro hráče: -Inventář - Možnost inventáře papání atd... -AutoŠkola - Možnosti dokončení autoškoly -Zbrojní Průkaz - Zakoupení Zbrojního průkazu -Dražba - Dražení zbraní (Pomocí banky) -Nákup Skinů - Nakupovaní Skinu -Nákup Zbraní - Nakupovaní Zbrani -Nákup Alkoholu - Nakupovaní Alkoholu -VIP - Možnost VIP pro Hráče -Vykrádaní - Vykrádaní baru a ostatního Zaujalo tě to aspoň trošku ? Přijd knám : IP: 109.73.208.219:8467 Děkuji a Přiji pěkné vánoce doufám že vás to zaujalo více než ponožky pod stromečkem..
  21. Ahoj, .. přejdu rovnou k věci, je to tak dva týdny, co jsem si změnil angličtinu na češtinu (u Windows 7) Vše je v pořádku, vše funguje jak má, až na jednu věc, kterou je Pawno a SAMP, v techhto dvouch programech mi nejdou háčky a čárky, nevíte někdo prosím čim by to mohl být? Přikládám screen z Pawna. Jo ještě, ty háčky.. když třeba v pawnu dám háčky, tak se mi zobrazujou tak jako na obrázku, ale ostatním se pak na serveru zobrují jako háčky Na obrázku je napsáno "příliš žluťoučký koníček" - všem děkuji předem za pomoc.
  22. Reálný Život 5.5 • Po více jak 2 letech přichází zcela nová verze jednoho z nejstarších SAMP serverů na CZ/SK scéně! • Spuštění: Dnes, 14.12. 2014, ve 14 hodin! • Autoři: mxco a XBlade (Freewall se do vývoje nového módu nezapojil) • Obsah nejdůležitějších novinek a screenů naleznete ZDE • Čeká na vás zcela nový systém nemovitostí (ať už domů nebo výdělečných komodit), nový systém domů, reforma povolání a mnoho dalšího! • Přijďte se podívat! Launch trailer První vydaný trailer na 5.5
  23. NovisS

    pomoc Help audio stream

    čaute potrebujem pomoc hladam plugin na Audio Stream cez link na pesnicku na stranke nasiel som jedno na Web Radiu cez text ale islo by to ak by si bol len v aute .Hladam taky plugin ktory by siel pre cely server a cez link zo stranky ... DIk za POMOC
  24. Dobrý den Chtěl bych vám dnes představit připravujicí se hosting relispo.cz. Pár z vás tu vidělo tu zkázu od Zdenka... No nebudu se k tomu vyjadřovat. Takže chtěl bych vám představit hosting, u kterého dělám správce a snažím se něco udělat k dobrému. Co hostujeme? Náš hosting je velice široký a máme připraveno pro hodně služeb. Krom toho i speciálních jako hosting rádia a pod. Ale to vše je v přípravě aktuálně připravujeme SAMP hosting a potom MTA server hosting. Tyto hry hostujeme na vlastních serverech. Kvalita? Naše servery fungují na VPS od firmy hostzona.cz a fungujeme na principu omezení počtu serveru na jednom VPS, každá produkt má svoje VPS tedy SAMP má svoje vps MTA bude mít svoje VPS a tak dál. Pokud je limit VPS vyčerpán (Max 50-60% výkonu) tak se připraví nový server a na ten se dávají nové serveru a takto to funguje dál. A proto se nebojí říct, že vaše servery mají tu nejlepší možnou kvalitu. Další služby? Jako je již standartem tak u nás můžete čekat web hosting k serveru zdarma a taktéž zálohy nebo autoinstaller K prezentaci vše. Doufám, že jsem na vás zapůsobil celkem dobře a že se aspoň podíváte. Popřípadě mi prosím napište konstruktivní kritiku k webu
  25. Zdravím vás. Dlouho v Multi Theft Auto (MTA) mi dělalo problem udělat Interier Jednoduše. Protože jak jsem psal do HELPU. Nejde mi MTA. Dneska jsem si hrál v MTA a našel jsem object o kterém jsem vědel ale nikdy mě nenapadlo ho využít. A pomocí něho jsem přišel nato jak udělat jednoduše interier. Zde dávám pomocí VIDEA. Omlovám se za kvalitu zvuku.(Už kupuji jen shit sluchátka z Mikrofonem protože každé nějak zničím) Doufám a Věřím že se to bude někomu hodit. Video: Informace o kanálu na YouTube: Určitě budu dělat i tutorials z Pawna atd.... Díky za pozornost Loučím se.
×
×
  • Create New...