Cytuj:
Oryginalnie napisane przez Lasooch
W sumie racja. Z drugiej spawn potwora trwa sporo czasu, serwer mógłby co sekundę losować liczbę i niezrespionym potworom dawać według niej jeden item, w następnej sekundzie drugi itd... ale pewnie jest to rozwiązane jakoś lepiej.
|
a nie lepiej po prostu wkleić sobie strzeszczenie jakiejś lektury w formacie .txt i zrobić tak aby serwer co restart odczytywał kolejne cztery bajty z pliku, tworzył z nich 32-bitowego integera i przy starcie serwera dawał seed na podstawie tej własnie liczby?

nie no to tak zartobliwie oczywiscie. nie ma potrzeby losowac co sekunde przedmiot, wystarczy losowy seed na starcie serwera. zreszta seed moglby byc nawet ten sam co restart serwera, to nie oznacza że codziennie będziemy z piątego smoka lootować dragon hammera, bo żeby tak było to na serwerze musiałyby się dziać cały czas te same rzeczy, a takiej powtarzalności nie jest nic w stanie zagwarantować. na przykład raz po restarcie serwera ktoś pójdzie na rotwormy i będzie je bił, a innym razem tego nie zrobi i to wystarczy aby wartość loota za każdym razem była inna. bo generowanie pseudolosowych liczb odbywa się za pomocą wyczytywania kolejnych liczb z pewnego zbioru, wskaźnik ulega tylu wachaniom że nie możliwe są dwie takie same wartości, polecam wikipedie
pozatym można tak zrobić żeby przy starcie serwera dać seed ustawiony na coś co zmienia się co restart serwera, na przykład rozmiar bazy danych w bajtach
albo po prostu można skorzystać z innych metod losowania liczb pseudolosowych, na przykład na stronie random.org seed nie jest losowany na podstawie czasu, tylko na podstawie dźwięków otoczenia

(atmospheric noise)