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 krytycznego błędu - kopiowanie przedmiotów poprzez funkcję do zmiany nazwy gracza (pc_change_name)

Featured Replies

Opublikowano

Cześć,

 

Problem dotyczy funkcji 'pc_change_name', która zawiera błąd, pozwalający na duplikację przedmiotów. Oznacza to, że gracze mogą wykorzystać ten błąd do nielegalnego kopiowania przedmiotów w grze, co może zaburzyć równowagę gry i spowodować różne inne problemy. Dodatkowo, funkcja ta miała wiele błędów związanych z bezpieczeństwem. Poniżej przedstawiam poprawioną wersję funkcji. 

 

Informacje:

  • Zaktualizowałem nazwy zmiennych na bardziej opisowe dla lepszej czytelności kodu.
  • Zamieniłem przestarzałą funkcję sprintf na nowoczesną i dużo wydajniejszą fmt::format do formatowania zapytań SQL.
  • Dodałem więcej obsługi błędów poprzez sys_err, aby łatwiej diagnozować problemy w przypadku błędów.
  • Usunąłem operację flush cache zamiast tego zapisujemy stan obiektu currentCharacter używając metody Save.
  • Ustawiłem SetExchangeTime na obiekcie currentCharacter po wywołaniu Save.
  • Użyłem std::stoi do konwersji łańcucha znaków na liczbę zamiast używania str_to_number.
  • Dodałem sprawdzanie, czy currentCharacter nie jest null pointerem, aby unikać błędów czasu wykonania.

 

Uwaga:
Wymagana biblioteka libfmt oraz standardu C++20

 

Wdrożenie libfmt

 

 

Implementacja:

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

 

 🔍 Szukaj

Tylko zalogowani Zaloguj się, aby wyświetlić chronioną treść Ten post zawiera treści dostępne tylko dla członków. Zaloguj się lub utwórz konto, aby odblokować całą zawartość tego posta. Zaloguj się Utwórz konto

 

♻️ Zamień:

 

 🗒️Podgląd implementacji:

Spoiler

 

 🔍 Szukaj

 

 Dodaj:

 

 

📁 Lokalizacja pliku: 'share -> locale -> poland -> locale_string.txt'

 

 Dodaj:

 

  • 2 tygodnie później...
  • 4 tygodnie później...
Opublikowano

Dzięki

  • 10 miesięcy temu...
Opublikowano

popraw w tym 

 

HTMLKod został skopiowany
"PC_CHANGE_CHARACTER_NAME_SUCCES_INFO";"Sukces zmiany nazwy. Za chwilę zostaniesz wylogowany w celu zastosowania zmian.".

na to :

 

HTMLKod został skopiowany
"PC_CHANGE_CHARACTER_NAME_SUCCES_INFO";"Sukces zmiany nazwy. Za chwilę zostaniesz wylogowany w celu zastosowania zmian."

 

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.