Witaj ;)
Bardzo się cieszę, że podoba Ci się pomysł, i miło że przykuł twoją uwagę :slight_smile:
Widzę, że znalazłeś kilka bugów, które mogłyby być zawarte w owym projekcie. Spróbuję wszystko wytłumaczyć.
Marcoral:
1. Czy podczas wyłączania serwera zapisywane są informacje o stanie każdego z tych jabłek? (tj. który gracz miał je w ekwipunku podczas wyłączania serwera). Przy starcie serwera muszą być one wczytywane. Jeżeli tak nie jest, możliwe będzie zdobycie mitycznej, niepsującej się żywności.
Nie było to planowane, ale miło że to spostrzegłeś :slight_smile:
Zapiszę sobie to. Możliwe, że będziemy zapisywać owe dane w bazie danych.
Marcoral:
2. Czy powyższy punkt działa również dla przedmiotów pochowanych do skrzyń? (jeżeli istnieje taka możliwość). Jeżeli tak nie jest, możliwe będzie zdobycie mitycznej, niepsującej się żywności.
"Psując" jedzenie planowaliśmy to robić wszędzie. Czy to w skrzyniach, czy to w piecykach, czy to nawet na ziemi (przedmiot na niej leżący). Dlatego napisałem "loopowanie serwera", a nie "loopowanie ekwipunków graczy" :>
Tak, nastawiliśmy się na to.
Ale to zadanie też nie należy do najłatwiejszych - Bo jak serwer miałby loopować wszystko co leży na ziemi? Plus jakby to było wykonalne, to o panie, ratuj się kto może! Spływ mocnego przeciążenia serwera nadchodzi!
Marcoral:
3. Czy podczas rutynowego sprawdzania “świeżości” pożywienia brane są również przedmioty, które zostały pochowane do skrzyń? Jeżeli tak nie jest, po schowaniu przedmiotu do jakiegoś containera nie będzie się ona psuła (to akurat można przekuć na jakąś logikę - jeżeli powiesz, że skrzynie pełnią rolę lodówek, będzie to miało sens - o ile przebrnąłeś przez pierwsze dwa punkty…)
Jak wyżej.
Dodatkowo dopowiem, że mieliśmy na uwadze stworzyć na serwerze coś w stylu "pojemników śniadaniowych", czy chociażby wyżej przez Ciebie wspomnianych lodówek, które miałyby na celu przedłużenie świeżości danego produktu. 😃
Marcoral:
4. A co, jeżeli będziesz musiał nagle “zabić” serwer i informacje o jabłkach nie będą mogły zostać zapisane?
Każdy crash serwera spowoduje, że żywność, która do tej pory była w grze, nie będzie się psuła. Auć!
Rozwiązaniem mogłyby być metatagi przypisywane do przedmiotów w trakcie ich utworzenia, a następnie wczytywane do pamięci przy wchodzeniu gracza na serwer - prawdopodobnie ja zrobiłbym to właśnie w ten sposób.
Jak napisałem przy pierwszym sub-punkcie, dane zapisywane byłyby do baz danych, przez co, co te 30 minut wraz ze znalezieniem posiłków mających więcej niż 3 godziny - plugin od razu by ich status na nowo zapisywał, albo wpisywał nowe posiłki ;)
Natomiast to wciąż daje szanse na stworzenie MITYCZNEGO, ULTRA-LEGENDARNEGO POSIŁKU bo nawet jakby minęło 29 minut - to nowe jabłko które zostało stworzone po 15 minutach - wciąż by nie było w bazie, a jakby potem plugin odczytywał to jabłko? Auć!
Ale pomyślę o meta-tagach, dobry pomysł.
Marcoral:
5. Jeżeli interwał pomiędzy sprawdzaniem świeżości jabłek będzie tak duży, a jednocześnie nie będzie w jakiś sposób losowy, przed “sprawdzaniem” można zwyczajnie na chwilę wyrzucić przedmiot z ekwipunku, aby uchronić go przed zepsuciem.
Punkt 2 - wczytywanie przedmiotów z ziemi :>
To wszystkie z punktów, które opisałeś. Mam nadzieję, że mój opis jest dość zrozumiały, i na wszelkie bugi znajdzie się ten "solution".
Zepsucie się posiłków to ogólnie dość ciężka sprawa. Dlatego ten pomysł przekładam na potem, co jest równoznaczne z mniejszym wkładem w niego.
Jeżeli natomiast uznamy pomysł za zbyt trudny i zbyt mało optymalny do zrealizowania - możemy zmienić zepsucia dynamiczne na statyczne - typu: podczas jesieni gracz zrywając jabłka będzie miał 30% na zdobycie zepsutego owego owocu ;)
Równie realistyczne, a jak mało-zasobożerne!
Zobaczymy w przyszłości. Tymczasem czas stworzyć nowe dwa pliczki - orzechy.psd i tequilla.psd ;)