Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Jak dokładnie działa state w questach i o co chodzi z problemem suspend quest state?

Featured Replies

Opublikowano

📌Wskazówki - jak szybciej uzyskać pomoc i uniknąć zbędnych pytań

Co powinieneś dołączyć do tematu?

  • sysser, syslog (z odpowiedniego kanału gry, klienta, db, auih)

Opisz dokładnie problem

  • Co się dzieje i w jakich okolicznościach?

  • Jakie pliki/systemy edytowałeś?

  • Jakie pliki serwerowe / źródło używasz?

  • Jeśli dodawałeś jakiś system podaj nazwę lub link/załącznik.

Dobre praktyki

  • Kod dodawaj zawsze jako 'blok kodu' - będzie łatwiejszy do analizowania (opcje znajdziesz w pierwszej liście rozwijanej w edytorze)

  • Nie wklejaj logów jako tekst - dodaj jako załączniki.

  • Udało Ci się rozwiązać problem samemu? Napisz JAK! Pomożesz wtedy również innym.

Awaria serwera? (awaria kanału gry, logowania, bazy)

Sprawdź, czy pojawił się plik '.core' w katalogu kanału/db/auth będzie on zawierał informacje o przyczynie awarii. Zrób debug tego pliku następnie wrzuć wynik (screen lub log) do tematu.

Opublikowano

Jedyne obostrzenia apropo questów jakie słyszałem, to żeby nie uzywac reload quest w grze ale to tylko w momencie jak sie chujowo questflagi zapisuje.
chodzi mniej więcej o to:

when login with pc.getf("first_login") == 0 begin

pc.setf("first_login", 1)

jak masz ustawiony flag jak powyżej to state'y mogą przeskoczyć i quest wykonywać się od nowa.
when login with pc.getf("settings","first_login") == 0 begin

pc.setf("settings","first_login", 1)

jak masz zrobione jak tutaj, to wszystko będzie si.

i mam dużo questów na serwerach i brak z nimi problemów.

Edytowane przez mrvns

Opublikowano

State w questach działa tak, że jak kompilujesz sobie questy to Twoje qc z każdej nazwy state w quescie tworzy crc32 checksum i zapisuje Ci to w object, stąd tez masz w bazie w player.quest do każdego questu __status i value te value to checksum nazwy state, wszystko poza state start które jest hardcodowane na 0 ma tak przypisany index, a gra po tym indexie wie po prostu w którym miejscu danego questu jest dany gracz.

Możesz mieć w queście 500 state i się nic nie stanie, możesz mieć te same nazwy state w różnych questach i się nic nie stanie.
To o czym słyszałeś to pewnie suspend quest state to jest co innego i jest to normalne działanie poczas np wait() / select() itp. aczkolwiek powoduje problemy przykładowo jak gracz wisi w suspend quest state i w tym momencie wykona inny quest to się on po prostu nie wykona w ogromnym skrócie. Czyli jak odpalisz sobie prosty quest i dasz w nim wait() i będziesz miał go otwartego i w tym samym momencie zabijesz moba który ma przypisane w queście wykonanie jakiejś akcji po .kill to się to nigdy nie wykona, tak samo na dungeonach. I jest to m.in jeden z kilku powodów dlaczego niektóre rzeczy przepisuje się do c++ z lua bo widziałem, że niektórzy się zastanawiali w jakimś temacie po co.
Reload quest crash też wynika z tego samego questflagi nie mają tutaj żadnego znaczenia

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.