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

Naprawa funkcji 'SendScript' poprzez zarządzanie wskaźnikami dla większej stabilności gry

Nieaktywny

Featured Replies

Opublikowano

image.png.a144663d4007d16872d3413c4a1a8bf3.png

 

Cześć,

 

Funkcja 'SendScript' zawiera lukę bezpieczeństwa związaną z niewłaściwym zarządzaniem wskaźnikami. W oryginalnej wersji funkcji nie sprawdzano, czy wskaźniki 'GetCurrentCharacterPtr()' i 'GetCurrentCharacterPtr()->GetDesc()' są prawidłowo zainicjowane. Jeśli wskaźniki były nieprawidłowo zainicjowane lub równe 'nullptr', próba dostępu do nich mogła spowodować awarię rdzenia gry.

Aby rozwiązać ten problem, zmieniłem funkcję 'SendScript' tak, aby sprawdzała wskaźniki przed ich użyciem. Teraz wskaźniki są prawidłowo zainicjowane i funkcja działa stabilnie.

 

Wprowadzone zmiany w funkcji 'SendScript':

  • Rozszerzyłem warunek początkowy o sprawdzenie, czy 'm_strScript' jest pusty, oraz czy istnieje 'currentCharacterPtr' i jego deskryptor (currentCharacterPtr->GetDesc()).
  • Uprościłem warunki dla skryptów '[DONE]' i '[NEXT]' poprzez wprowadzenie zmiennych 'isDoneScript' i 'isNextScript'.
  • Zastosowałem zmienne lokalne, 'currentCharacterPtr' i 'characterDesc', aby poprawić czytelności i uniknąć wielokrotnego odwoływania się do tych samych obiektów.
  • Poprawiłem komunikat sys_log, dodając więcej szczegółów, w tym nazwę postaci, skrypt oraz jego rozmiar.

 

Implementacja:

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

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

🔐 Ukryta Treść 🔐

 

 

♻️ Zamień

🔐 Ukryta Treść 🔐

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

♻️ Zamień

🔐 Ukryta Treść 🔐

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

♻️ Zamień

🔐 Ukryta Treść 🔐

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

♻️ Zamień

🔐 Ukryta Treść 🔐

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

♻️ Zamień

🔐 Ukryta Treść 🔐
Opublikowano

Dzieląc się tym kodem, sprawiłeś, że gra jest o niebo lepsza. Dzięki!

 

  • 1 miesiąc temu...
  • 1 miesiąc temu...
  • 7 miesięcy temu...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Konto

Nawigacja

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.