Jump to content

ffredyk

Majitel
  • Příspěvků

    3250
  • Registrován

  • Aktivní

  • Vítězných dnů

    54

Everything posted by ffredyk

  1. ffredyk

    ostatní Nemesis talk

    Jasné jasné to chápu, můj problém spočíval v tom, že jsem jednak až moc věřil těm dvěma borcům a druhak v tom, že jsme to teprve rozjížděli, takže NDA nebylo pořádně potřeba. Přijít o programátora, to mě tolik nesebralo, ale Pepík mě překvapil a celkem nasral (protože ten kancl jsem stavěl hlavně kvůli němu) :D Dneska se držím svého původního konceptu a jede to už fajně, bez brigádníků. Takže jsem nakonec i rád, že to dopadlo tak, jak to dopadlo. Cenná zkušenost, ve výsledku jsem o tolik nepřišel a borcům to stejně nejede (neumí se o to starat).
  2. Už tu na ní je dávno vytvořený topic
  3. ffredyk

    ostatní Nemesis talk

    Já si myslel, že to vyzní takhle blbě :D Mě nasralo, že využili moje nápady - můj koncept a defakto kompletně obšlehli můj návrh stavby kanclu :D Co se týká Pepíka a Arnošta, těm jsem nechtěl dávat pracovní smlouvu ze začátku, tak jsme měli jen dohodu o provedení práce. Ušetřilo mi to náklady na socky. Kancl zadarmo - samozřejmě, že jsem tlačil na nájemní smlouvu, byla slíbena (i přes opakované žádosti) přes dva týdny. Mezitím Pepík apeloval, aby se začlo stěhovat, ať můžeme otevřít co nejdřív, zaplať pánbůh mě to nestálo ani korunu, takže na tomto jsem netratil vůbec.
  4. My už se o tom interně bavíme pár dní s klukama :D
  5. Zdravím přátelé, Jelikož webtrh a jemu podobné stojí za vyliž prdel, co kdybychom udělali podobný systém tady u nás na pawnu? Měli byste zájem o trh placených zakázek? Samozřejmě by to nebylo hned a zakázek bude jak šafránu, nicméně jako způsob jak fórum otevřít více lidem by mohl fungovat i tento zakázkový trh Nejspíš bychom to upravili a ošetřili takovým způsobem, aby jsme co nejvíc zkvalitnili služby oboum stranám, tudíž by programátoři byli nuceni nastavit fixní časové sazby a budou hodnoceni. Na druhé straně u poptavatelů by šlo hlavně o hodnocení. Poptavatelé by měli mít možnost nastavit si poptávku jen pro určitý okruh programátorů (např. co nejvíc s nejnižší cenou, nebo profíky s vyššími cenami a lepším hodnocením).
  6. ffredyk

    ostatní Nemesis talk

    Zdarec, máte ve svém životě nějakého svého nemesise? Tedy totálního nepřítele, osobu, kterou nesnášíte. Někdo, kdo vám škodí, ublížil vám, nebo je tak vymletej, že se na něj nedá ani hledět? Story time Podělte se i o svoje trable s vaším nemesisem
  7. Tak z toho by byly dobrý halušky po celém bytě :D Už jsem koukal na ten epoxy coating no, ale s tím je sraní.
  8. Acetonem se dá uhladit jen ABS materiál - ten je jednak toxický a druhak vytváří kolem tisku toxickou atmosféru. Já tu tiskárnu mám za zády v pracovně, takže bych tu brzo skonal :D Tohle je PETG, to můžu vzít maximálně šmirglem, ale aspoň to zase dlouho vydrží :D
  9. Já nevím, co tě tak triggeruje :D Pawno.cz funguje pod mým IČO, které je i zapsané v kontaktních informacích. Nevím jak odlišné máte zákony na Slovensku, ale mám pocit, že při prodeji produktu by jsi měl uvést daňovou identifikaci (kterou na mrkaveja nemáš). Pokud tě tak hrozně sere, že pawno.cz rozdává ZDARMA své figurky a budí to v tobě potřebu na tom udělat reklamu na svůj produkt (o kterém si myslím, že asi moc úspěšný také nebude), tak se ti omlouvám, ale pokračovat v tom budeme dál
  10. Jsem rád, že zde máme lidi s tiskárnami (a ještě s rekordní světovou rychlostí 2 000mm/s), ale pointa soutěže je o tom, nabídnout figurku i lidem, kteří tiskárnu nemají a chtějí originální kus od tohoto fóra Jak již bylo zmíněno jde o vlastní originální model.
  11. Autor topicu by byl nejspíš rád, kdyby jsi to i rozepsal tohle není občanská výchova, na které vyhodime do éteru okopirovanej zdroj.. Můžeš o tom trochu podiskutovat? :D
  12. Znovu opakuji, pokud máte něco na srdci, je tu od toho tato sekce - všichni ve vedení jsme dospělí fungující lidé, a na soukromé zprávy se zde snadno zapomíná. Když založíš topic, tak to mají všichni na očích vždy
  13. Pokud chcete přidat do systému nové emoty, smajlíky, twitchcancer apod. tak je uveďte i se zdrojem v tomto topicu.
  14. Osobně si předsevzetí nedávám, vím že je poruším :D Snažím se naučit metodu vymysli-udělej: Pokud tě napadne něco, co by jsi chtěl udělat - udělej to co nejdřív, alespoň jednou. Po druhé už to bude jednodušší a tím, že to uděláš hned na to nezapomeneš. Jen mám problém to občas sám dodržovat a inklinuji k "odsouvání na později" :D Každopádně co se plánů na tento rok týče v dlouhodobém měřítku - jde o dotažení několika projektů, mezi nimi i obnova Pawno.cz
  15. Jen vyjasním jaký obsah se bude bodovat: Boduje se veškerý obsah, tvorba a text, který není součástí chatu na hlavní stránce. Cokoliv napíšete jako příspěvek, bude započítáno do bodového hodnocení.
  16. Zdravíčko přátelé Rád bych vám představil první soutěž tohoto roku - a současně bych vás rád tímto motivoval k aktivitě, psaní návodů, odpovídání na témata a diskuzi. Za vaši aktivitu vás od této chvíle každý měsíc odměníme dárkem v podobě vytištěné figurky pawno.cz v modré designové barvě. Resp. pošleme ji tomu nejaktivnějšímu z vás Figurka je z materiálu PETG, rozměrově je 10cm vysoká a 5.5cm do šířek. Jde o vlastní model, vytvořený na základě původní figurky jazyka Pawn - která byla i v prvním logu fóra. Bodovat budeme jednotlivě každého dle množství obsahu, které za daný soutěžní měsíc vypustil do fóra - body se budou udělovat za kvalitu obsahu, relevance příspěvku, informační hodnotu a originalitu. Za každé kolo zveřejníme 3 nejaktivnější uživatele a oceníme je dle umístění takto: Figurka Pawno.cz + speciální titul na fóru dle výběru Speciální titul na fóru dle relevance Speciální titul na fóru dle relevance Figurka bude zabalena do krabičky a odesílána přes zásilkovnu - výherce si bude moci anonymně vybrat jakékoliv odběrné místo, kam mu ji poté zašleme. Speciální tituly na fóru ještě doladíme s vedením, ale představte si je víceméně takto: Best Guide Ultimate Tutor Lord of Discussion Které by měli lépe přiblížit komunitní zaměření výherce soutěže První místo si může vybrat, jaký titul chce. Dalším je přidělíme na základě způsobu jejich aktivity. Začínáme ihned, tak vzhůru do psaní!
  17. Zdravíčko přátelé - pokud hrajete Armu 3 (případně jiné Arma tituly) jistě dobře víte o scriptovacím jazyku SQF, na kterém je hra kompletně postavená. Veškerý funkční content je psán v tomto jazyce a dá se s ním vyčarovat cokoliv si představíte. Pro mě je Arma 3 takový sandbox, ve kterém si vytvářím a realizuje nápady a myšlenky herních typů - engine nabízí kvalitní modely postav, objektů i terénu. Dá se říct, že si v Armě 3 můžete vytvořit svou vlastní hru. BIWiki Veškerou dokumentaci, podklady a zdroje najdete na jednom místě - https://community.bistudio.com Jsou tam rozepsané a popsané veškeré nativní funkce enginu, seznamy objektů, zbraní, vozidel a dalších zdrojů. Lze tam najít kompletní informace pro jakýkoliv druh příkazu, řešení, či návrhu. Bez tohoto se při scriptování v SQF určitě neobejdete. Základy SQF SQF je jednoduchý jazyk. Jakákoliv logika je defakto uložená v proměnné a celý interpreter jen pracuje s těmito proměnnými. Pokročilé vysvětlení zde. Datatypy Každá proměnná v jazyce SQF má vlastní způsob deklarace (a defakto automatické inicializace). Veškeré číselné hodnoty jsou podpultové floaty (tedy desetinná čísla), texty jsou stringové řetězce (a lze je rozebrat na bajty - ve formě číselných hodnot) - tedy cokoliv mezi uvozovkami "text", pole jsou jednoduché soustavy jakýchkoliv proměnných deklarovaný jako [obsah,obsah,obsah] a kód je cokoliv mezi závorkami {code}. Existují ještě speciální typy proměnných, jako například displayNull, controlNull, namespace, configNull, grpNull, locationNull, taskNull, objNull, scriptNull a pár dalších. Deklarace a inicializace probíhají ve stejném kroku a to při přiřazení hodnoty k proměnné, proměnné mohou měnit typy i hodnoty (jedinou výjimku tvoří kód prohnutý funkcí compileFinal - taková proměnná se zabije až se zabitím namespace, ve kterém pracuje - zůstává konstantní - vysvětlíme si později). Codespace SQF kód lze praktikovat takřka kdekoliv v enginu. Jedinou výjimku tvoří config, ve kterém pracujeme s C strukturami pro definice tříd a jejich vlastností. Celý engine hry funguje (a je postavený) na SQF - všechny kampaně, mise, addony a další komunitní obsah, obsahuje více, či méně prvků SQF. Kód se dá psát v Eden editoru (ve spínačích - triggerech), .sqf souborech ve složce mise/kampaně/addonu nebo v debug konzoli. Mnoho cheater řešení dříve užívalo exkluzivně děr v SQF interpreteru pro získání kontroly nad voláním funkcí za běhu - a byli psány celé v SQF. Lokální / globální proměnná SQF chápe lokalitu proměnných základně jen ve dvou bodech scope lokální a globální. Globální proměnná je deklarována s jakýmkoliv názvem, který se neshoduje s názvem nativní funkce, či již jiné deklarované globální proměnné. Lokální proměnná se deklaruje a volá s podtržítkem před názvem, spadá pod scope ve kterém je deklarována: globalniPromenna = 1; //Globální číselná proměnná func_cistaFunkce = //Globální proměnná obsahující kód { _lokalniPromenna = 2; //Spadá pod scope kódu func_cistaFunkce }; Hello World private ["_text"]; //Moderní (volitelná) deklarace lokální proměnné - kód se bez tohoto plně obejde _text = format["Hello world, %1", profileName]; //Vytvoření textu "Hello world, jméno-hráče" hint _text; //Vypsání textu na obrazovku (hint) Struktura kódu Každý příkaz, či operace musí být ve všech případech oddělena středníkem (;). Kód se může psát v jednom řádku (oddělený středníky) nativní funkce mohou být krmeny dvěma způsoby parametrů - před a za funkcí: player setPos [0,0,0]; //Příklad nativní funkce s před-za single parametry (před-odkaz na objekt hráče ; za-pozice hráče XYZ v poli) _stav = linearConversion //Deklarace lokální proměnné s hodnotou z outputu funkce linearConversion, která má jen multi-parametry za sebou v poli [ //Pole 0, //Výchozí bod konverze Z 60, //Výchozí bod konverze Do time, //Progress konverze 0, //Konverzní bod Z 100 //Konverzní bod Do ]; //při time=15 je výsledek 25 Scheduled/unscheduled SQF engine pracuje ve dvou prostředích. To hlavní, ve kterém poběží váš kód většinu času (resp. vy budete většinu času psát kód pro tento environment) a druhý real-time, na který engine počká před vykreslením frame. Při volání funkcí pomocí call se prostředí dědí od volajícího. Pokud ve scheduled prostředí voláme jinou funkci, spustí se také ve scheduled prostředí (a volající čeká na výsledek - neprovádí další logiku). Pokud je funkce volána z unscheduled prostředí, také bude pracovat v unscheduled. Voláním funkce pomocí spawn volanou funkci vždy spustí v scheduled prostředí. Unscheduled prostředí si můžeme vynutit trikem za použití funkce isNil. Scheduled (a k němu vázaný scheduler) environment je rozhraní, ve kterém mohou scripty běžet neustále, ve smyčce, nikdy nekončící, případně i vytěžující. Běží na pozadí vykreslování, engine na ně nečeká, případně je i pozastavuje v momentě slabšího výkonu. Scheduler je systém, který se stará o rozložení dostupného výpočetního výkonu a snaží se rozdat mezi všemi scripty rovným dílem. Může se stát, že váš script poběží jen v jednom frame z deseti, při dobrém výkonu poběží v každém frame. Spouštění scriptů v scheduled environmentu může být několik framů odloženo a při spuštění několika scriptů zároveň se tyto scripty reálně spustí nezávisle na sobě, i s rozdílem několika framů. Scheduled environment je defakto všechno spuštěné ze souboru, pomocí execVM nebo spawn. Unscheduled environment je pro změnu rozhraní, ve kterém engine zpracovává exkluzivně skripty až do konce. Nekonečné smyčky jsou schopné bricknout celou hru a nesmí být v tomto environmentu spouštěné. Také všechny odkládací funkce (sleep, waitUntil) v tomto prostředí nefungují, vyhodí chybu, či jsou ignorovány. Jen v tomto prostředí máte jistotu, že se vaše scripty spustí okamžitě, projdou veškerou logiku za sebou tak jak mají a vše stihnou v jednom frame - scheduler na základě výpočetní náročnosti takového scriptu poté pozastaví, či omezí spuštění jiných skriptů ve scheduled prostředí. Kam psát skripty? Většinou ze začátku vám bude stačit soubor init.sqf ve složce s misí (Dokumenty/Arma 3/missions/). Případně deriváty initPlayerLocal.sqf a initServer.sqf. Existují i další speciální názvy souborů, které engine spouští na základě různých událostí, to už dohledáte na BIWiki. Dalším způsobem psaní scriptů pro mise je přímo v editoru. Stačí hodit kamkoliv spínač (trigger), podmínku mu hodit jen true a do pole Po aktivaci vepsat kód (můžete si ho připravit v editoru jako VS Code). Případně do pole inicializace jednotek. Pro dočasná, či jednorázová spuštění kódu lze využít i debug konzoli, která je vždy dostupná editoru. Případně lze aktivovat i pro finální verzi pomocí atributů mise. Takto spuštěné skripty se nikam neukládají, a jsou spouštěny jen pro aktuální relaci mise. Na závěr Projděte si dokumentaci, experimentujte a tvořte. Pomocí SQF se dají vytvářet nehorázné blbosti a kreace. Vaším nejlepším přítelem je i fakt, že vše publikované pro Armu 3 podléhá open-source licenci, můžete číst všechny skripty ostatních autorů, vykrádat jejich obsah a učit se z nich. Najděte si na workshopu zajímavou misi, či addon - s pomocí programu PBO Manager můžete rozbalit balík, který obsahuje veškeré zdroje, soubory a skripty, který tento addon nese, tento program vám bude i velkým pomocníkem, až budete hledat textury základní hry - můžete si pomocí jej rozbalit i základní soubory hry a čerpat informace z nich (kampaně, objekty, funkce, textury) Úkol pro vás: Prohledejte BIWiki a zkuste si najít další event scripty, se kterými se dá pracovat. Vytvořte misi, ve které máte za úkol ukrást nepřátelské vozidlo - zkuste se držet podobného stylu jako v misích základní hry - využívejte tasky, naučte se s nimi pracovat ve scriptu, relevantní dokumentaci vyhledejte na BIWiki. Naučte se spojit prvky editoru se scripty, využijte spínače pro aktivování scriptovacích funkcí (nativní funkce call nebo spawn).
  18. Viz. edit původní citace - došlo mi to dřív, než jsi stihl zareagovat
  19. Používat kolizní detekci fyzikální cestou je zbytečná ztráta výpočetního výkonu (alespoň pro tento počin) - Celá věc se dá (jak již odpověděl @Hip) spočítat jen jednoduchou matematikou. Hráč po potvrzení úhlu a síly šťouchu "předá serveru" vstupní vektor, na základě kterého se vyšle bílá koule do prostoru a každým tickem se jí konstantně ubere rychlost a zároveň změří vzdálenost od ostatních koulí (s ohledem na jejich radius - resp. velikost). Pokud protne jinou kouli, spočítá se úhel mezi původním vektorem a vektorem do druhé koule (pozice bílé koule minus pozice kolizní koule) a na základě tohoto úhlu se poté vytvoří dva nové "vstupní" vektory, které se využijí pro novou aktivaci skriptu na obě koule s poloviční rychlostí bílé koule v místě kolize. A to celé se opakuje do té doby, než rychlost překročí nějaký limit (rychlost < 0.01 např) - poté se šťouch "dokončí" a začíná se na novo. EDIT: Případně se dá na základě kolizního úhlu vypočítat i poměr předané energie pro rozdělení rychlosti koulí (když bílá jen škrtne jinou kouli, nepředá ji půl rychlosti ale jen zlomek (90 - [uhel] / 90) * [rychlost bílé koule]
  20. Defakto jde jen o matematiku a nastavování pozic objektům.. Vše ostatní je jen obal, který si můžeš udělat jak chceš - předpokládám že v SAMP je to stále řešené přes textdrawy.
  21. O dvě minuty pozdě :P :D Každopádně i já přeji všem šťastný nový rok!
  22. Kámo, mám na starost DB o miliardách záznamů.. Já si tam nemůžu dovolit ani ty posraný JOINy :D Má to sta tisíce requestů za sekundu, tam se nedá už vůbec hnout - takže mi věř, že jsem strávil několik bezesných nocí nad řešením optimalizace posraných SQL :D
  23. Ten zátěžový overhead je zbytečný 😅 Nevím o ničem kde by se UNION nedal nahradit JOINem, v opačném případě máš napíču strukturu tabulek. Jak psal Om3n - z hlediska výkonu, čitelnosti a organizace je už spíše nasnadě to všechno narvat do jedny tabulky
  24. Chlapci, vy jste s dovolením prasata! Když už chcete srát 3 tabulky do jednoho výstupu, udělejte to přes JOIN.. Pokud to nejde přes JOIN, děláte to blbě, udělejte to prostě přes 3 různé SQL dotazy nezávisle na sobě..
  25. To je anténa navržená pro spojení dvou vzdálených bodů s přímou viditelností - má malý úhel. Určitě není navržená na pokrytí prostoru signálem. Mrkni spíš na něco jako tohle: https://www.i4wifi.cz/cs/210743-ubnt-unifi-ac-mesh-ap-2-4ghz-300mbps-5ghz-867mbps-1x-gbit-rj45-venkovni-poe-24v-802-3af-alta?gclid=CjwKCAiA25v_BRBNEiwAZb4-ZT4TLwQRbkQp2VGNsNAhSJ7SceoCLma0f9RLQdrq5mY4GyzcTVGouRoCZxcQAvD_BwE
×
×
  • Create New...