Skocz do zawartości

Naprawa komendy 'do_dice' która po wpisaniu określonych wartości powodowała awarię rdzenia gry

Opublikowano

image.png.a144663d4007d16872d3413c4a1a8bf3.png

 

Cześć wszystkim,

 

Dawno nic nie publikowałem, więc powoli staram się wrócić do regularności – wybaczcie za tę przerwę. Ale do rzeczy... co mamy dzisiaj na tapecie? Zajmiemy się znanym od lat problemem awarii rdzenia gry, który wywołuje komenda 'dice'. Jak wiecie, temat ten był omawiany już wiele razy, ale do tej pory nikt nie wrzucił konkretnego rozwiązania na nasze forum. A więc oto i ono!

 

Nie będziemy całkowicie usuwać tej komendy, bo przecież na oficjalnych serwerach jest ona wciąż dostępna. Szczerze mówiąc, nie jestem pewien, dlaczego została ona dopuszczona do użytku przez zwykłych graczy, ale mniejsza o to. Komenda ta powoduje losowanie liczby i symulację rzutu kostką. Na oficjalnych serwerach jest wykorzystywana do losowania dropu w grupie, więc ma swoje zastosowanie.

 

Przejdźmy do sedna. Oryginalnie komenda 'dice' przyjmuje dwa argumenty jako input, co może prowadzić do problemów. My przerobimy ją tak, by po wpisaniu /dice po prostu symulowała rzut kostką bez żadnych dodatkowych argumentów. To pozwoli uniknąć problemów i zachować funkcjonalność znaną z oficjalnych serwerów.

 

Dokładnie tego typu polecenie mogło spowodować crash: 

🔐 Ukryta Treść 🔐

 

Przedstawienie rozwiązania

Teraz po wpisaniu /dice dostaniemy tego typu komunikat z losowaniem zgodnie z oficjalnym serwerem, podanie argumentu nie będzie możliwe.

image.png.bc87331ab8f3de383afd494694f73a4b.png

 

 

Implementacja

📂 Lokalizacja pliku: 'game  -> src -> cmd_general.cpp'

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

♻️ Zamień

🔐 Ukryta Treść 🔐

Featured Replies

Brak postów do wyświetlenia.

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