Opublikowano 3 Września 20231 r Cześć wszystkim! 🙌 Dzisiaj chcę podzielić się z Wami ważnym tematem dotyczącego błędu podczas zmiany pasów. Problem 🤔 Gdy gracz w Metin2 ma założony pas z większą liczbą odblokowanych slotów (np. 12) i ma na nich przedmioty pojawia się problem przy próbie przełączenia na pas z mniejszą liczbą slotów. Przedmioty na slotach, które zostają zablokowane zostają tam, a powinny wrócić do ekwipunku. Sposób naprawy: Podczas próby zmiany pasa, system sprawdzi, czy w ekwipunku jest wystarczająco dużo miejsca aby przenieść przedmioty ze slotów które zostaną zablokowane. Jeśli tak przedmioty wrócą do ekwipunku. Jeśli nie zostanie wyświetlony komunikat żeby gracz zwolnił miejsce w ekwipunku przed zmianą pasa. Prezentacja: Rozwiązanie: 📂 Lokalizacja pliku: 'game -> char_item.cpp' 🔍 Znajdź funkcję: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔍 Następnie znajdź w tej funkcji: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj pod: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'game lub common -> belt_inventory_helper.h' 🔍 Znajdź 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj na dole 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'game -> char_item.cpp' 🔍 Znajdź 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'game -> char.h' 🔍 Znajdź 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się
Opublikowano 19 Grudnia 20231 r Szukałem tego dwa dni.. a tu proszę. Ale odrazu pytanie. Pliki martysama, zablokowana możliwość zmiany pasa nawet jeśli ma tą samą ilość slotów. Czy kod, który tutaj zamieściłeś wystarczy, czy trzeba edytować coś jeszcze, żeby móc tej zmiany dokonać?
Opublikowano 19 Grudnia 20231 r Autor Jeśli masz klasę CBeltInventoryHelper to w niej powinna być funkcja ClearBelt. Zaktualizowałem temat o funkcję ClearBelt gdyby komuś brakowało.
Opublikowano 21 Grudnia 20231 r Spoiler belt_inventory_helper.h: In static member function 'static bool CBeltInventoryHe lper::ClearBelt(LPCHARACTER)': belt_inventory_helper.h:91:32: error: 'class CHARACTER' has no member named 'Get EmptyInventoryCount'; did you mean 'GetEmptyInventory'? 91 | int32_t EmptySlotCount = pc->GetEmptyInventoryCount(1); | ^~~~~~~~~~~~~~~~~~~~~~ | GetEmptyInventory belt_inventory_helper.h:92:27: error: 'GetItemCount' was not declared in this sc ope; did you mean 'BeltItemCount'? 92 | int32_t BeltItemCount = GetItemCount(pc); | ^~~~~~~~~~~~ | BeltItemCount char_item.cpp: In member function 'bool CHARACTER::SwapItem(BYTE, BYTE)': char_item.cpp:6169:48: error: 'bInvenCell' was not declared in this scope 6169 | if (!CanUnequipNow(item2, TItemPos(INVENTORY, bInvenCell)) || !CanEquip Now(item1)) | ^~~~~~~~~~ Takie sysery posypało. Pozmieniać według zaleceń?
Opublikowano 22 Grudnia 20231 r No to martysamka zaskoczyl.. Ma ktoś siłę na to, ewentualnie czas spojrzeć w pliki, jeśli wstawiłbym tutaj char_item i beltinventory? Mam wrazenie, ze ten kod rozni sie zupelnie od tego, na ktorym inni pracuja.. Chociazby dlatego, ze linijki, ktora jest tutaj w poradniku nie mam w ogole: if (!CanUnequipNow(item2, TItemPos(INVENTORY, bInvenCell)) || !CanEquipNow(item1)) return false; Spoiler
Opublikowano 22 Grudnia 20231 r Autor Musisz zadeklarować nowo dodaną funkcję w pliku char.h. Możesz wrzucić plik char_item.cpp zobaczymy.
Opublikowano 22 Grudnia 20231 r 8 minut temu, Sevence napisał(a): Musisz zadeklarować nowo dodaną funkcję w pliku char.h. Możesz wrzucić plik char_item.cpp zobaczymy. Się robi szefie.. Pousuwalem wszystkie funkcje, zeby zostawic go golego tak jak byl. char_item.cpp Edytowane 22 Grudnia 20231 r przez Makaveli
Opublikowano 22 Grudnia 20231 r Autor Tak, niestety na razie tak to wygląda, że treści w code, załączniki są ukrywane. Na ten moment nie będzie aktualizacji bo ciągle pracujemy nad nową wersją Sharegon, która wejdzie na początku 2024 wszystkie te błedy będą rozwiązane.
Opublikowano 23 Grudnia 20231 r Wszystko dziala jak nalezy. Sevence pan szef prezydent metinowej rp! Jednak po zmianie pasa usuwa wszystkie itemy z niego. Jest mozliwosc, aby usuniete zostaly tylko te, ktore sa na zablokowanych slotach?
Opublikowano 23 Grudnia 20231 r Autor Tak, ale trzeba tam sporo przepisywać, miałem to właśnie robić, ale będę przerabiał cały belt pod ten z oficjalnego i pewnie wtedy się tym zajmę.
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ą.