Opublikowano 4 Grudnia 20231 r Cześć wam, Przedstawię Ci dziś rozwiązanie dotyczące Szpuli Jedwabiu. Ten przedmiot umożliwia zapamiętywanie cen wystawianych przedmiotów w bazie danych w tabeli myshop_pricelist. Niestety, ta funkcjonalność oryginalnie nie działała. Dane były faktycznie umieszczane w tabeli, jednak tylko do kolumny owner_id. Dlaczego tak się dzieje? Chodzi o strukturę tabeli, która została użyta do obsługi aktualizacji cen wystawianych przedmiotów. Nie ma w tym pakiecie danych o pricelist, domyślnie była ta struktura: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Użyjemy 'TitemPriceListTable', ta struktura zawiera ceny przedmiotów: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Szpula Jedwabiu - umożliwia otwieranie prywatnego sklepu gracza przez 10 dni za darmo. Ten przedmiot ma jeszcze jedną właściwość, zapamiętuje ceny wystawianych przedmiotów. Wprowadzone zmiany: Dodałem na początku funkcji warunek sprawdzający, czy wskaźnik packet nie jest null pointerem. Zaktualizowałem komunikaty błędów, aby bardziej określały, czego dotyczą i w jakiej funkcji wystąpiły. W oryginalnej wersji użyto surowego wskaźnika new do alokacji pamięci. Użyłem smart pointerów, które automatycznie dbają o zwalnianie pamięci i zapobiegają wyciekom pamięci. Usunąłem funkcję GetTablePostfix, zastępując zapytanie stałymi wartościami. Zastąpiłem funkcję thecore_memcpy funkcją std::copy ze standardowej biblioteki. Ta funkcja jest bardziej odporna na błędy związane z rozmiarem kopii. Przedstawienie błędu: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Rozwiązanie błędu: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Implementacja: 📂 Lokalizacja pliku: 'game -> char.cpp' 🔍 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ♻️ Zamień 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'db -> ClientManager.cpp' 🔍 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ♻️ Zamień całą funkcję: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔍 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ♻️ Zamień 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'db -> ClientManager.h' 🔍 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ♻️ Zamień 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Poprawna wersja klienta: 📂 Lokalizacja pliku: 'root -> uiprivateshopbuilder.py' Spoiler 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'uiscript-> privateshopbuilder.py' Spoiler 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się
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ą.