Jump to content

ffredyk

Majitel
  • Příspěvků

    3250
  • Registrován

  • Aktivní

  • Vítězných dnů

    54

Příspěvky posted by ffredyk

  1. před 5minutami, Jiu said:

    Takze teba sere, ze dvaja technicki antitalenti si zalozili rovnaku firmu ako ty a v dobe, ked to tebe vobec neprosperovalo? :D :D Takychto zamestnancov je plno a od toho su pracovne zmluvy, NDA, ... :D

    K tomu kanclu zadarmo si mal mat zmluvu na prenajom na dane obdobie a mozne predlzenie po demo obdobiu. Potom by ta odtial nevyhodil tak lahko.

    A pokial pepik nema riadnu pracovnu zmluvu, tak staci jeden telefonat na socialku, bernak a chlapec je v prdeli.

    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.

  2. 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).

  3. 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

    Spoiler

     

    Např. já jsem ještě na podzim minulého roku byl neskutečně nasranej na čtveřici vychcánků :) Měl jsem plány na stavbu firmy, bylo to zaměřené na software, důmyslný ERP systém + zakázková výroba menším-středním firmám. Abych měl z čeho žít, před dokončením nabídky portfolia, jsem odbavoval malé zakázky pro IT firmy - údržbové věci, opravy wordpressu, webové změny a stavba statických webů ze šablon. Přestával jsem stíhat odbavovat zakázky a věnovat se vývoji svého systému zároveň. Rozhodl jsem se, že si najmu brigádníka a rozhodil jsem sítě do okolí. Ozvalo se mi pár nepoužitelných individuí a mezi svoločí se objevili i tři zajímaví zájemci. Vzal jsem je všechny na pohovor.

    1. Zájemce byl profík full-stack developer, co hledal bokovku, na které se přiživit. Jeho budget ale přerůstal můj a tak jsme si jen vyměnili kontakty, poklábosili o programování (přes hodinu), předvedli svoje práce, podali si ruce a šli domů.
    2. Byl můj bývalý kolega z firmy, ve které jsem fungoval jako technik internetové sítě. Mladý klučina, jménem třeba Pepa, se na firmě zdál jako IT světa neznalý nováček. Stal se z něho "šéf" malého týmu programátorů pro německou firmu, pracoval i na svých zakázkách a hledal další možnosti zvětšení příjmů. Pracoval např. na projektu damsi.to (backend).
    3. Byl již dospělý chlápek, který neuměl vůbec programovat, ale chtěl se to naučit a zapadnout do týmu. Na pohovoru z něj vypadlo, že se ocital při založení 2 větších IT servisů v Chomutově. Má solidní znalosti v hardwarových opravách, stavbách a diagnostice. Říkejme mu třeba Arnošt.

    Před tím, než jsem se rozhodl vůbec živit další hladový krky, jsem měl vypracovaný solidní koncept a předpokládaný průběh postupování ve stavbě firmy. Od tohoto veledíla jsem se tímto činem začal trochu oddalovat. Víceméně jsem předpokládal, že bych najmul jednoho brigádníka až někdy na konci podzimu.

    Pepíka i Arnošta jsem nabral, sedli jsme si k jednomu stolu a začali vymýšlet jakou cestou se vydáme. Díky Arnoštovým hardwarovým znalostem jsem se rozhodl rozšířit působení ze software i na hardware oblast IT světa. Pronajmuli jsme kancelář, začali s nákupy a vybavením. Na pozadí jsem si nakecal ještě několik obchoďáků, kteří měli za provizi hledat a komunikovat zakázky. Všechno se začínalo celkem rozběhávat, zakázek jsme měli celkem dost, uživili jsme se. Přišel covid, přišla finanční panika. Naše cílová skupina si sedla na úspory a odmítali do čehokoliv investovat (a já jim to nezazlívám). Zakázek ubylo, naše tempo zpomalilo až i dokonce stagnovalo. Pepík přišel s nápadem. Prý se zná s dvojicí kluků, obchoďáků, kteří mají kontakty na větší firmy a mohla by z toho vzejít větší zakázka i pro větší tým (který bychom museli postavit). Sjednali jsme si schůzku na pokec.

    Bratři dorazili vohozený, slušiví, elegáni. Zasedli jsme a započali diskuzi. Jednalo se o potenciálním projektu pro větší lokální stavbařskou firmu (neurčitou - první red flag). Mezi témata spadala velikost vývojářského týmu, budget (statisícovej - druhej "menší" red flag), časové odhady a rozsah systému (zcela okrajový - další red flag). Schůzka skončila obecným tlacháním a s tím, že si sjednáme další ohledně bližších detailů. Ani po měsíci už jsem od nich neslyšel ani prd.

    Finanční situace se z hoven dostala do totálních sraček, zakázky spíše nebyly a ty co byly, měly problémy s včasným placením. Moje konto začalo brblat hladem, konto mých brigádníků asi taky trochu štěkalo. Pepík byl první, kdo to začal vzdávat. V první fázi si začal vybírat, jakou práci chce dělat - nakonec dělal jen menší úpravy wordpressů a mně přenechal hlubinné pohraby v jádru prestashopu (a to chceš, když máš zrovna rozlámaný dva další větší projekty). Ve druhé fázi jsem neměl ani na nájem, takže jsem mu (s jeho souhlasem) ukousl vejplatu s tím, že ji dostane do dvou měsíců - jinak bych mohl jít rovnou žrát z popelnic. V tu chvíli samozřejmě začal odmítat vytvářet jakékoliv další hodnoty.

    Pepík mi při náboru vyprávěl příběh o pracovním úřadu, problémy s nemocenskou v bývalém jobu a o tom, že pobírá podporu v nezaměstnanosti do konce září. Do té doby odmítá přijímat jakýkoliv revanž s tím, že to mám radši nalejt do firmy. I přes nechápavý výraz souhlasím a leju prachy do kanclu. Jako projev dobré vůle mu předávám klíče od kanclu i pro osobní využití a pro odbavování svých vlastních zakázek (aby si přece jen něco vydělal, když odmítá vejplatu za "oficiální" zakázku). I přesto Pepíkovi vštěpuji do hlavy, aby mi v případě jakéhokoliv finančního problému řekl a dostane k té nule přidáno.

    V průběhu srpna si Pepík uvědomil, že je pro něj kancelář malá a nájem, kterej neplatil, moc drahej. Přišel s novelou, že je potřeba vyměnit kancl za lepší, větší a levnější. Shodou okolností má Pepík najednou známého kamaráda, který vlastní celej velkej barák uprostřed Jirkova (ten je na Chomutov nalepenej jak moucha na mucholapce) a zjistil, že mu tam pavouci z volných kancelářských prostor vytvořili obrovský pavoučí harém, který za dobu svého působení dokázal vytvořit tuny lepkavého materiálu a vyžrat zdejší hmyzí ekosystém. Pepík mi to prodal jak Horst Fuchs, přeci jen jsou to 3 místnosti místo jedné, za stejnou cenu! Až po první prohlídce se Pepík svěřil, že tam sám měl svůj první kancl a svoje první podnikatelské působiště - a to byl evidentně jediný důvod, proč se tam prostě musel a musel přestěhovat. Moc mi ta písnička v uších nezvonila, tak Horst, teda Pepík vytáhl eso z rukávu a hodil prodejní smeč, když se dohodl s kamarádem na půlročním pronájemním demu bez platby za nájem. Jediné, čím se budeme revanžovat je stavba prestashopu! Tak jsme naložili tu tunu dřeva v původním kanclu a svezli to do nového. S Pepou jsme hodili očko na stěny a řekli jsme si, že takovej komunismus taková moderní firma mít v kanclu nemůže a je potřeba to strhat a předělat - majitel byl celej hrr, že to zařídí. Nakonec to musel odmakat Pepík - a majitel mu za to asi tu pětikajdu dal.

    Září nám začalo mávat sbohem a Pepík se asi inspiroval a přes zprávu v messengeru v 11 večer v noci mi zamával sbohem také. Prý už nemůže takhle dál, žena ho mlátí a nevlastní dítě neposlouchá. Já mu prý neplatím a jemu se práší z huby. Moc ho to mrzí a pak se domluvíme, kdy si přijedu pro nábytek, že si ten kancl nechá pro sebe.

    Po třetím přečtení, kdy mi to stále nedávalo smysl, jsem cítil jak mi nabíhá žíla na čele a ruka svírá v pěst. Ještě dva dny předtím jsme klábosili o plánech a budoucnosti - všechno bylo v pohodě. Nyní jsem četl jakési hovno rozmazané po klávesnici, které nedávalo kontextuálně žádný smysl. Na telefonáty Pepík odmítal reagovat a zprávy ani očkem nepřejel.

    Druhý den ráno, s bubnujícím čelem, sedím stále u monitoru a hledám skryté náznaky nebo možné důvody na pozadí. Vypadám jak po koňské dávce steroidů. Pepík stále nekomunikuje.

    Třetí den, brní mě nohy, veškerá krev se mi asi nahromadila v žíle na čele. Pepík zvedl telefon a moje hlasivky v hlasitosti klaksonu začaly pokládat otázky. Chtěl jsem se sejít osobně, Pepík moc ne. Nakonec svolil a že se sejdem u jeho kanclu. Pedálem jsem prokopl podlahu a pneumatikama trhal silnici, cestou jsem hlasitostí seřval špínu z oken. Pepík už stepoval u vstupních dveří, cigáro v hubě a klepal se jak čivava v bodu mrazu u klece pitbula. Kdybych si taky nevrazil cigáro do huby, tak vrazím ruku do jeho zubů, i třeba pětkrát. Pepík začal holčičím hlasem vysvětlovat, že přítelkyně začala prokazovat finanční nároky a že se jeho finanční rezervy chovaly jako led na betonu v létě. Pak za ním přišel princ na bílém koni a nabídl mu pracovní smlouvu. Pracovní smlouvu a milion korun na vybavení kanclu pod princovou firmou a princovým vedením. Pepíkovi se protočily očka jak výhernímu automatu a začal sypat podpisy.

    Jelikož Pepík odmítal vysvětlit, z jakého království princ přijel a proč zrovna o něj zakopl. Musel jsem se do pátrání vložit sám. Zkontaktoval jsem pár známých, zapátral po informacích a nedlouho poté jsem se dopátral, kdo, co a proč za tím stojí.

    Pamatujete Arnošta? Evidentně se mu nelíbil můj podnikatelský styl, ale moc se mu líbil můj podnikatelský koncept. Pamatujete obchoďáky elegány? To jsou Arnoštovi dlouhodobí kamarádi a chlebodárci. Také mají celkem vatový rodiče, kteří své děti náležitě sponzorují a podporují a sponzorují. Chlapci mají prachy, ale nemají fantazii a nápady. Arnoštovi cvaklo, že by mohli vzít můj koncept, mýho hardwarestu, můj kancl a fungovat beze mě. Takže z prince je čerstvě odrostlý puberťák s těžkou peněženkou. Arnošt věděl, že Pepík by rád pracovní smlouvu, a s touto informací se samozřejmě podělil s princem - ten už poté šel jen jak sklidit na zaseté půdičce. Arnošt nelenil a zjistil si o Pepíkovi ještě další slabůstky, na které princ střílel jak na padinu v terči. Sežral jim to i s navijákem, nemá exkluzivní smlouvu a můžou ho kdykoliv vylejt bez nároku na cokoliv.. Pepíku, sekej latinu, nebo čekej sekec mazec. Jo a odpovědný zástupce je princezna, princova pravá ruka, která se mnou také seděla u stolu při projednávání stotisícové zakázky.

    Alespoň trochu mě hřeje u srdíčka pomyšlení, že už je to několik měsíců a jejich nová firmička stále nějak nefunguje. Nikdo o nich neví, nikde nejsou vidět a i přes menší snahy organické propagace na facebooku o nich stále nikdo nemluví (např. ve vláknech "doporučte mi"). Pepík také sliboval jakou suprovou bude mít techniku a kolik zaměstnanců se v kanclu bude motat. Dle mě dostupných informací je tam stále sám (resp. Arnošt se tam také občas asi motá) a má jenom základní diagnostický a opravárenský setup - so much for the milión. Aneb když blbečci s prachama vyšoupou z businessu člověka se solidním plánem a know-how - zahučí a plavou a plavou :D

     

    Podělte se i o svoje trable s vaším nemesisem :)

  4. před 18 minutami, Om3n said:

     

    @ffredyk Zajímavý nápad :) Nenapadlo tě to ještě uhladit? Pokud si pamatuju správně, dělá se to pomocí výparů z acetonu.

    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

  5. před 13 minutami, Boy said:

    pawno nieje ani firma. Doma to vytlačil na tlačiarňi. Každý keď zadá správne súradnice bude mať takú figúrku... To vám radšej ja dám karton mojich energeťákov. a bude o to vadší záujem.

    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 :)

  6. před 13 minutami, Boy said:

    Takú čočotinu si vytlačím na 3D tlačiasni za 5sekúnd ;)

    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.

  7. před 25 minutami, XpresS said:

    Už som raz posielal vEndovi návrhy na nové emoty. Hovoril, že na nich pozrie a odvtedy prešlo už pol roka minimálne, takže otázka, má to cenu? 

    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 

  8. 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 :)

  9. 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 :) 

    IMG_20210105_202333.jpg

    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:

    1. Figurka Pawno.cz + speciální titul na fóru dle výběru
    2. Speciální titul na fóru dle relevance
    3. 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í! :)

    • Paráda! (+1) 1
    • Kappa 1
    • OMEGALUL 1
    • Zmatený 2
    • Haha! 1
    • Děkuji (+1) 1
    • Líbí se mi to! (+1) 1
  10. 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.

    Spoiler

    Ukázky mých výplodů:

    https://steamcommunity.com/sharedfiles/filedetails/?id=176318250 (Survivor - rychlá střílečka na vesnici)
    https://steamcommunity.com/sharedfiles/filedetails/?id=186388823 (SHOA - RTS na způsob Men of War)
    https://steamcommunity.com/sharedfiles/filedetails/?id=278701081 (Anti Air Arcade - arkádová destrukce nepřátelských letadel)
    https://steamcommunity.com/sharedfiles/filedetails/?id=756203516 (Waiting time - cinematic scéna)
    https://steamcommunity.com/sharedfiles/filedetails/?id=1420857501 (Curway: Aegis - vylepšená verze RTS systému SHOA)

    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).

  11. před 6 minutami, Hip said:

    Ne pozor! Koule nemají poloviční rychlost, ale procentuální rychlost v závislosti na úhlu. Pokud je úhel 0° (tedy přímo zepředu narazí do koule), tak se bílá zastaví úplně a předá 100% rychlosti druhé. Pokud náraz byl 45°, bude to půl a půl. Pokud to bude těsně pod úhlem 90° tak se bílá skoro nezastaví a druhá skoro nepohne. Více než 90° znamená, že koule druhou kouli minula, takže se to nemusí řešit. Úhel počítáš mezi vektorem pohybu a vektorem/úsečkou pozice koule 1 a 2.

    Viz. edit původní citace - došlo mi to dřív, než jsi stihl zareagovat :-P :haha:

    • Smutný 1
  12. před 10 minutami, DuFF said:

    Nevidel som, ako to na tých serveroch presne funguje, ale očakával by som, že na objekt biliardového stola je vložených niekoľko malých objektov biliardových gulí a že sa využíva ColAndreas plugin na zistenie, či guľa narazí do inej gule/hrany stola. Guliam vieš potom asi nastaviť rýchlosť a smer podľa rýchlosti a smeru gule, ktorá do nich narazila. U odrazov od hrán stola platí asi niečo na spôsob uhol dopadu = uhol odrazu.

    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]

     

    • Líbí se mi to! (+1) 1
  13. před 2 hodinami, ATomas said:

    Kamo asi jsi malo zazil :D Az budu v praci a budu mit cas asi ti ukazu hned nekolik pripadu kde je UNION nevyhnutelny :D A zatez? Na multicoru koho zajima .D Dokud je vysledek vracen do timeoutu je vse cajk a odpusteno :D

    A povidej mi tu o spatne navrzene databazi, kdyz na tom fabrika jede 20 let a ver mi ze to nechces menit :D

    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

    • Haha! 1
  14. před 3 hodinami, ATomas said:

    Ne vzdy JOIN je to co vyzadujes. Ja nijak blize nezkoumal jeho strukturu, ale kdyz mas data v ruznych tabulkach a srovnas si jejich strukturu a potrebujes to k te tabulce pridat, je pouziti UNION naprosto v poradku.

    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

  15. před 2 hodinami, Farleon said:

    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

    • Děkuji (+1) 1
  16. Zdravíčko přátelé - možná jste zabrouzdali na toto fórum náhodou, možná hledáte zdroje k výuce programování, či si jen stavíte informační balík a zvažujete, jestli se do toho pustit.

    Na všechny vaše základní otázky bych rád odpověděl jednou větou - programování je styl života. A dále ji rozvedu: Jakmile se jednou naučíte programovat, už se nedokážete na jakoukoliv technologii koukat stejným způsobem jako kdy dřív. Jakmile začnete myslet analyticky, změní se vám pohled na celý svět. Osvojíte si nové dovednosti nejen na počítači, ale i v běžném životě. Programování prostě nehorázně ovlivní váš každodenní život a pokud mu propadnete tak jako například já - dá se říct, že vás úplně pohltí. 

    Když se chce člověk naučit programovat, musí se naučit myslet jako stroj, představit si práci kódu, postup po řádcích a dokázat udržet v paměti kvantum informací. Při větších projektech jsem musel v hlavě udržet povědomí o několika stovkách názvů a vědět k čemu přesně slouží a případně kde jsou všude využity (a to mluvím jen o proměnných a vlastních funkcích). Nehledě na tisíce dalších názvů funkcí a dalších pojmů, které si musíte pamatovat při schopnosti jakéhokoliv psaní kódu.

    Programování rozvíjí všechny druhy mentálních schopností - logiku, matematiku, analytiku, strukturu, fantazii, kreativitu. Vy sami si určíte rychlost a intezitu, kterou to do sebe začnete prát - proto také nedoporučuji platit si výukové kurzy - budou to do vás prát rychlým tempem, protože čas jsou peníze a čím víc toho do vás co nejrychleji nahustí, tím více lidí dokážou "obsloužit".

    Ze zkušenosti vím, že většina nadaných programátorů startuje na programování ve hrách, které hrajou. Dává to smysl, protože právě pomocí her člověk najde v programování zálibu, koníček a smysl. Tvoříte vlastní svět, dle svých pravidel a realizujete vaše vlastní fantazie a nápady - tak jak se vám zachce. Objevujete nové funkce postupně a základy programovacích jazyků ve hrách jsou velmi jednoduché a často stavěné na syntaxi pokročilých jazyků, takže je potom přechod na vyšší level o hodně jednodušší. Z moderních her mohu doporučit jednoznačně Arma 3 (C-like SQF), Minecraft (Java), Rust (C#) a ze starších GTA SA:MP (C-like Pawn), CS GO (Lua / C-like Pawn), Garry's Mod (Lua).

    Začátek - první krůčky

    Učte se z dokumentace dané hry (či jazyka) za pomoci experimentování, snažte se vyřešit samostatně všechny chyby, bugy či pády - tímto způsobem se dá naučit nejrychleji, nejlépe a nejzábavněji. Pokud si myslíte, že problém se prostě nedá vyřešit, zkuste kód smazat a napsat ho úplně jinak, myslete tzv. outside-of-the-box - nemějte tunelové vidění. Jako v open-world hrách i programování má více řešení. Pokud problém vyřešíte, zkuste zapřemýšlet, proč to takhle funguje a proč to předtím nefungovalo - musíte do hlavy dostat všechny tyto informace a pospojovat relevance - poté začnete psát perfektní kódy neustále.

    Stanovte si nějaký cíl - například "Naprogramuji herní mód deathmatch, s počítáním skóre a textovými efekty vítěze" - po splnění zkuste něco obtížnějšího, něco co si nedokážete představit jak v tuto chvíli naprogramovat, ale přeci jen víte, že je to realizovatelné - například "Teď se pustím do capture the flag s náhodnými událostmi ovlivňující chování hry po každé získané vlajce" - hlavou vám proběhnou myšlenky jako "Sakra jak udělám tohle, a jak támhleto?" - v tuto chvíli je potřeba se naučit takové myšlenky vyházet z hlavy, jsou zbytečné. Řekněte si, co je potřeba udělat jako první, jako druhé a udělejte to, poté se vrhněte na další věci. Je dobré si ze začátku celý plán napsat bodově do nějakého dokumentu. 

    Spoiler

    Mozek dokáže pracovat buď v analytickém režimu, který je dobrý pro programování - nebo kreativním režimu, který se využívá pro stavbu konceptu. Někteří lidé dokáží využívat oba módy v jednu chvíli, těmto já závidím, většina z nás to neumí. Když začnete míchat programování s fantazírováním, začnete psát nefunkční odpad a zamotáte si celý koncept. 

    Proto je nejlepší začít tzv. s papírem a tužkou, načrtnout koncept do dokumentu, vymyslet všemožné funkce a prvky - představit si výsledek a jak funguje, přenést tyto myšlenky "na papír" Pokud vás v průběhu psaní kódu začnou napadat nové věci - přepněte do dokumentu a chvíli se zase věnujte vymýšlením a představováním jak to celé bude fungovat. Vždy upřednostněte fantazii před analytikou.

    Programování je obrovský blokátor fantazie, po letech programování je složité se dostat z analytického režimu do toho kreativního, protože programování zabere 80% celého času vývoje produktu. Proto může být důležité naučit se využívat fantazii naplno už na samotném počátku výuky programování, udržíte si schopnost vymýšlet kreativní a inovativní věci o hodně déle a bude pro vás jednodušší přepínat.

    V případě, že se pouštíte do HTML, PHP, či jiného webového jazyka (či neherního jazyka), si místo herních módu představte například vlastní blog, e-shop, portfolio, galerii, úložiště. Můžete zkoušet naprogramovat klony známých webů - idnes, dropbox, facebook, youtube, google - cokoliv vás napadne. V tuto chvíli nejde o výsledek - ale o experimentování, které vás zocelí ve znalostech.

    Další kroky

    Pamatujte, že v momentě kdy zjistíte, že vás to nebaví, je to moc složité na pochopení, vypadá to jakoby se někdo vyblil na klávesnici, nebo to píšou asi v latině - neztrácejte motivaci, zezačátku vždy experimentujeme - můžete se zkusit učit jiný jazyk, v jiné hře, jiném nástroji - tohle není čeština nebo angličtina, pokud se naučíte jeden programovací jazyk velmi dobře, je velmi pravděpodobné, že umíte základy dalších desítek programovacích jazyků. Jazyky se můžou lišit syntaxí, způsobem zápisu, ale ve výsledku jsou si všechny velmi podobné. Dá se říct, že největší skupina jazyků se označuje C-like (vyjadřují podobnost syntaxi jazyka C [wiki]). Poté tu máme originální Python, PHP, Pascal, Fortran, Perl, LISP. Jazyky se dělí na nespočet kategorií (druhů kategorií) a struktur, které je zbytečné znát [zdroj]. V tom největším měřítku se dají všechny jazyky obalit do 5 hlavních oddílů:

    • Strojový jazyk - to jsou jedničky a nuly, bitové informace, nečitelné pro člověka, ale jediný jazyk, ve kterém pracuje jakýkoliv procesor.
    • Assembly / LLL: low-level jazyk - jazyk vytvořený zvlášť pro různé procesory, nejnižší čitelná forma kódu (Assembler je program pro překlad tohoto jazyka na strojový jazyk)
    • HLL: High-level jazyk - velmi user-friendly jazyk, který se využívá v profesní lize, tvoří se v něm hry, aplikace, nástroje, weby a všemožné další výtvory. (C, C++, C#, PHP, Java, apod.)
    • VHLL: Very-high-level jazyk - je jazyk s velkou abstrakcí, většinou je částí již hotového produktu (tvořený v HLL), například jako součást moddovacích nástrojů her (SQF pro Arma 3, Pawn pro SA:MP)
    • Dětské jazyky - existují pro výuku programování dětem, jsou naprosto jednoduché, většinou přeložené do řeči rodné země. Nabízí naprosto minimum funkcí a slouží jen jako základní vstup do světa programování. (Scratch, Blockly)

    A nebo je můžeme rozdělit do typů dle stylu programování: (Programovací paradigmata [zdroj])

    Ve výsledku jde jen o to, zapamatovat si funkce, metody, proměnné a syntax. Vše ostatní už je jen schopnost toto všechno pospojovat dohromady - tomu se říká programování.

    • Líbí se mi to! (+1) 4
×
×
  • Create New...