Jump to content

morfeus

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by morfeus

  1. Ahoj chtěl bych se podělit o svoje zkušenosti ve FiveM programování Začnu úplně od začátku, v roce 2018 jsem si nainstaloval do počítače modifikaci FiveM a zkoušel jsem nějaký ty roleplay servery a v té době jsem vůbec neměl páru o tom jak co funguje a proč to tak funguje. Vždy jsem si říkal že takový složitý server bych určitě nezvládnul nastavit a hodně jsem obdivoval vývojáře takových serverů a administrátory takže jsem do roku 2020 hrál roleplay a furt mi to nedalo a zajímalo mě jak ty skripty fungují takže jsem se rozhodl si vytvořit vlastní server a objevovat informace ale v ten moment jsem si neuvědomil že jsem začátečník a že vlastně ničemu nerozumím a většinou jsem koukal do kódu skriptu a nechápal jsem jak vlastně taková věc může v té hře fungovat. Těžké začátky V roce 2020 jsem poznal framework ES a ESX a našel hodně free skriptů a řekl jsem si že z nich zkusím udělat nějaký ten server ale to jsem nevěděl že většina skriptů byla neoptimalizovaná a nebylo moc pěkné když hráč každých 5 sekund měl při hraní jeden velký lag a s kamarádem jsme vůbec nevěděli proč to tak je takže skripty které tzv. dělaly bordel jsme odstranily ale mě to furt nedalo a zajímalo mě proč byly ty lagy takže jsem si zakoupil knihu o LUA a začal jsem studovat nějaký ten základ. Učíme se LUA V roce 2021 jsem už trochu znal nějaký základ (co je to proměnná, co je to for loop atd.) a měl jsem vytvořený server pro hráče takže jsme přečetli nějaký vlákna na FiveM dev fóru o optimalizaci a začali jsme optimalizovat tím že jsme na while true loopy dávali sleep podmínky a většinou to fungovalo, zátěž nebyla tak velká a lagy úplně vymizely. Roleplay server Od roku 2021 do 2022 jsem vlastnil roleplay server a tím že jsem se učil čím dál více tak jsem si uvědomoval jak je těžké ohledně programování takový server provozovat a hlavně na ESX, hráči nám furt psali že chtějí takovou frakci a makovou frakci, chtějí takový skript a další makový skript a další věc jsou modely aut, debugování aut které hráči chtěli a znovu optimalizace aut.. Takže jsem si uvědomil že provoz serveru je hodně těžký pro 2 tzv. programátory a pár administrátorů a byl jsem nucen server vypnout.. O pár měsíců pozděj jsem nabral další zkušenosti a uvědomil jsem ji že by se za pomocí programování dalo hodně věcí automatizovat (vytváření frakcí) a používat jen základní modely aut pokud do toho chceme dávat co nejméně peněz a času a věnovat se debugu ale pořád jsem si říkal jestli se hráči vrátí když jim nevyhovíme ve věcech které chtějí oni takže jsem to nechtěl ryskovat a žádný další projekt jsem nezakládal. Tvorba vlastních skriptů od roku 2023 jsem měl celý čas pro studium LUA jazyka a za tu dobu po současnost jsem zjistil že když programuji tak si chci vytvořit nějaký svoje debugovací prostředí většinou když píšu nebo upravuji nějaký skript tak začínám commandem přes který spouštím funkci kterou potřebuji a když jde o debug chyb tak používám print nebo nějakou funkci na výpis obsahu tabulek a když budete nabírat zkušenosti tak už vám pak bude na pohled jasné kde je chyba a co přesně printovat nebo kterou tabulku dumpovat a další věc co je good pochopit je struktura serveru, tohle je z hlavních důvodu proč jsem vypnul ten svůj a to je že by jste neměli dělat zbytečné thready jako např. na DrawMarker a tím myslím to že je potřeba ten LUA jazyk studovat a poznat jak funguje OOP (objektové programování) a za pomocí OOP můžete ušetřit klidne i 100 threadů které vytváříte zvlášť ve skriptech pro DrawMarker a ostatní funkce. Další věc co jsem pochopil je neregistrování zbytečných funkcí a eventů do paměti např. jsem si všiml že určitý RP chat do FiveM má zvlášť funkci na vykreslení 3D textu s rozdílem barvy a při tom nikoho nenapadlo tu barvu dát do argumentu funkce napsat jednu fuknci místo 3 dalších... To je asi všechno budu rád když si z toho každý něco vezme a děkuji FiveM dev fóru za skvělé návody které mi dost pomohli.. PS (nezrušte prosím staré fórum jsou tam ještě dost užitečné vlákna :D)
×
×
  • Create New...