Opublikowano 4 Lutego 20241 r Cześć, Gdy masz utworzoną drużynę i zdobędziesz przedmiot w momencie gdy inny gracz z grupy podniesie go dla ciebie przedmiot ten no zostanie połączony z innym jeśli już posiadasz taki w ekwipunku. Zamiast tego zostanie utworzony nowy stack z tymi przedmiotami i tak dla każdego przedmiotu, który mógłby zostać połączony. Postaram się rozwiązać ten problem raz na zawsze. W celu rozwiązanie tego problemu, wprowadziłem dwie nowe funkcje pomocnicze 'TryStackItemInInventory' i AddItemToInventory'. Pierwsze z nich odpowiada za sprawdzanie, czy podnoszony przedmiot może być połączony z przedmiotem tego samego typu, które już znajdują się w ekwipunku gracza. Funkcja ta bierze pod uwagę typ przedmiotu jak i inne czynniki np. flagę antistack, czy maksymalną ilość przedmiotów w stacku. Dodatkowo sprawdzamy, czy gracza dla którego podnosimy ma wystarczająco dużo miejsca. W momencie spełnienia wszystkich warunków funkcja połączy przedmioty poprawnie. Druga funkcja obsługuję przypadek gdy nie można połączyć przedmiotów. Uwaga: Jeśli masz wprowadzone zmiany w funkcji 'PickupItem' zrób analizę i wprowadź zmiany ręcznie nie podmieniając całej funkcji !!! Komunikaty locale stringa są zrobione pod klienta wersję musisz sobie przerobić. Prezentacja błędu: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Prezentacja rozwiązania: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Implementacja: 📂 Lokalizacja pliku: 'game -> src -> char_item.cpp' 🔍 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ♻️ Zamień 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'game -> src -> char.h' 🔍 Szukaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'locale -> pl -> locale_string.txt' ➕Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się
Opublikowano 4 Lutego 20241 r Dzięki Twojej pomocy gra stała się bardziej grywalna i przyjemna. Jestem Ci bardzo wdzięczny.
Opublikowano 5 Lutego 20241 r Poka Jeśli ktoś ma powiększone stacki musi uważać Edytowane 5 Lutego 20241 r przez Marchewa
Opublikowano 6 Lutego 20241 r dziekuje //Edit Jeśli ktoś będzie miał problem z takim errorem podczas kompilacji: Dodaj na początku pliku: #include <fmt/format.h> Ewentualnie zmienic ten log tak aby nie korzystac z fmt LogManager::instance().ItemLog(owner, item, "GET", item->GetName() + " " + std::to_string(item->GetCount()) + " " + std::to_string(item->GetOriginalVnum())); @Sevence możesz to dodać do tematu, jesli zapomniałeś Edytowane 6 Lutego 20241 r przez atk
Opublikowano 6 Lutego 20241 r Autor Tak, dodam po pracy zaponiałem. Jak ktoś nie ma biblioteki fmt to jest temat na forum.
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ą.