Skocz do zawartości

Naprawa awarii rdzenia podczas anulowania liczników czasu serwera

Opublikowano

Witam 🤓

Podczas anulowania timerów serwera rdzeń ulega awarii, ponieważ usuwa timer z mapy i dwukrotnie zwiększa iterator, wywołując funkcję erase(), a następnie zwiększa go ponownie, wchodząc w nowy cykl pętli. Jednym ze sposobów rozwiązania tego problemu jest najpierw zebranie timerów, które muszą zostać usunięte i wyczyści ich na końcu.
Można również dodać prosty licznik, który jest zwiększany na każdym końcu cyklu pętli i usunąć timer bezpośrednio z pierwszej pętli, określając pozycję za pomocą samego licznika.


Należy zauważyć, że ten problem wydaje się pojawiać po aktualizacji kodu do C++ 11 lub nowszego.

📁 Lokalizacja pliku: 'game -> 'questevent.cpp'


🔍 Szukaj:

   W funkcji:

🔐 Ukryta Treść 🔐


🔍 Znajdź:

🔐 Ukryta Treść 🔐


Następnie dodaj po:

🔐 Ukryta Treść 🔐


📁 Lokalizacja pliku: 'game -> 'questevent.h'

🔍 Szukaj:
 

🔐 Ukryta Treść 🔐


Następnie dodaj po:
 

🔐 Ukryta Treść 🔐


📁 Lokalizacja pliku: 'game -> 'questmanager.cpp'

🔍 Szukaj:

🔐 Ukryta Treść 🔐


dodaj po:

🔐 Ukryta Treść 🔐


🔍 Szukaj funkcje:

🔐 Ukryta Treść 🔐


🔄Zmień na:

🔐 Ukryta Treść 🔐


🔍 Szukaj funkcje:

🔐 Ukryta Treść 🔐


🔄Zmień na:

🔐 Ukryta Treść 🔐


Featured Replies

Opublikowano

Ogromne dzięki!

 

 

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...