Zastanawia mnie, czy rozbicie sobie kodu serwera na poszczeg?lne resource chocia?by tak szczeg??owo, ?e np. jeden odpowiada za jedn? prac? na serwerze RPG nie spowolni jego dzia?ania? Oczywi?cie efektem takiego rozbicia b?dzie porz?dek w plikach, ale nie jestem pewien co do sprawno?ci dzia?ania w por?wnaniu z serverem napisanym w jednym pliku .lua.
Lepiej jak ty to m?wisz rozbi? poniewa? jak ty to m?wisz b?dzie to jeden du?y skrypt z kt?rego gracze b?d? korzystali i strasznie b?dzie #obci??ony wi?c lepiej ?eby go rozbi?.
Podziel na pliki. Serwer spisuje ka?d? funkcje z plik?w i ma je gotowe do u?ycia. Mimo ?e w jednym pliku b?dzie wszystko to b?dzie to plik o sumie linii kodu przekraczaj?cej 10000. Samo przewijanie takiego czego? to strata czasu... + nie masz porz?dku w plikach wi?c robi?c jedn? rzecz i nagle przeskakuj?c do drugiej tylko b?dziesz si? denerwowa?. Nie zapominaj?c ?e jest strona servera i clienta wi?c wywo?ywanie trigger?w raczej nie b?dzie do?? fajne.
Po co osobne zasoby? Nie lepiej zrobi? np folder 'Prace' i w nim np rozdzielenie na miasta SF,LS,LV i meta? Co to da, ?e rozbijesz na resource skoro na to samo wyjdzie... Tyle, ?e serwer nie b?dzie 'obci??ony' przez dany zas?b tylko przez kilka po trochu i rezultat b?dzie ten sam.
Moim zdaniem lepiej nie pisa? skrypt?w w jednym folderze. Dlatego ?e na przyk?ad gracze kt?rzy pracuj? lub loguj? si? b?d? mieli problem bo zrestartuj? si? wszystkie systemy na raz i b?d? mog?y im znikn?? dane. Troch? bezsens, chc? zrestartowa? zas?b pracy ale musz? jedn? komend? wszystkie skrypty w zasobie restartowa? i serwer si? obci??a podczas tego restartu i gracze mog? odczu? spadki FPS lub ?cinki
.WhiteBlue, wszystkie systemy same z siebie si? nie zrestartuj?. My?l?, ?e gdy kto? korzysta z kreowania gamemode w taki spos?b u?ywa elementdaty do zapisu jakichkolwiek podr?cznych danych, za? one nie wyparuj?. Spadki fps s? rzeczywi?cie mo?liwe, jednak maj? one miejsce do czasu ponownego za?adowania skryptu.
Wyobra?cie sobie tak? sytuacj?. Robicie zmian? w jakim? zasobie. Zasob?w powiedzmy macie ze 25 (.devGaming <3). 3-4 korzystaj? ze zmienionego zasobu. W momencie aktualizacji musicie pami?ta?, kt?re zasoby korzystaj? z tego akurat, by Wam przypadkiem serwera nie sypn??o.
Ja osobi?cie jestem za tym, by robi? wszystko w jednym zasobie i rozbija? na jak najwi?cej plik?w. Dzi?ki temu po aktualizacji resetujecie tylko 1 zas?b (a jeszcze fajniej mo?na temat ogarn?? dodaj?c jaki? "aktualizator", kt?ry po prostu zrestartuje zas?b gdy na serwerze b?dzie 0 graczy). Dla serwera nie ma to ?adnego znaczenia czy macie to w jednym pliku pisane czy rozbite.
Mo?ecie mi wierzy? b?d? nie ale wiele np. framework?w PHP jest pisanych w ten spos?b. Jest jeden taki ogromny kombajn, kt?ry ma potworzonych miliard klas (ka?da w osobnym pliku). Wszystkie co? robi? i wszystkie s? potrzebne.
1. W jednym zasobie i rozbijasz to na wi?cej plik?w tak jak napisa? Piorun.
2. W wielu zasobach i ka?dy odpowiada za co innego.
Opcja 1 dobra do ma?ych tryb?w gry, a 2 dobra do bardziej rozbudowanych tryb?w takich jak RPG, Freeroam.
Druga opcja trudniejsza, bo trzeba to sobie ju? na pocz?tku dobrze rozplanowa? i zawsze tworzy si? taki jakby zas?b g??wny, kt?ry odpowiada za najwa?niejsze elementy.
Du?ym plusem drugiej metody jest to ?e nie musisz restartowa? ca?ego trybu gry, gdy chcesz wprowadzi? jak?? zmian? lub poprawk? b??du.
Ja zawsze robie w wielu, bez sensu robi? w jednym skoro edytujemy jedn? prace (np. edytujemy zarobki) a jest 50 graczy na serwerze, i zrestartujemy ca?y GM.
Dlatego nie powinno si? robi? jednej zmiany i j? wprowadza? od razu na serwer. Lepiej przygotowa? ca?? paczk? zmian, a dopiero potem pakowa? j? na produkcj?. Wyobra?cie sobie jakby to wygl?da?o jakby tw?rcy gier wprowadza?y ma?ego bugfixa i codziennie mieliby?cie pobieran? now? aktualizacj?. Po to s? wersje, GIT i inne narz?dzia by wprowadza? du?e zmiany co jakie? par? tygodni, miesi?cy.
Rozbij sobie to na wiele skrypt?w, do tego mo?esz je jeszcze posegregowa? w folderach np. [skrypty], [prace], itd... Z reszt? tak samo, jak napisa? X0neX, zrestartujesz/dodasz cos, ca?y gm si? restartuje.. Bez sensu, a nie da Ci to optymalizacji, pogubisz si? jeszcze w zasobach.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach