Opublikowano 28 Października 20231 r Cześć, Przedstawiam małą modyfikację, w której dodamy efekt na pieczęci po przywołaniu zwierzaka. Taka modyfikacja weszła na oficjalnych serwerach w patchu 17.5. Prezentacja: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Wymagane: Implementacja: 📂 Lokalizacja pliku: 'game -> PetSystem.cpp' 🔍 Szukaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ♻️ Zamień: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Niżej dodaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'game -> PetSystem.h' 🔍 Szukaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔍 Szukaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'UserInterface -> PythonItemModule.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: 'root -> uiinventory.py' 🔍 Szukaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'root -> constinfo.py' ➕ Dodaj na końcu: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 📂 Lokalizacja pliku: 'root -> uitaskbar.py' 🔍 Szukaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ➕ Dodaj: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się
Opublikowano 3 Grudnia 20231 r Posiadam problem z dodaniem. Po wybraniu passów i próbie zalogowania, klient się crashuje sysser: 1203 14:49:06075 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=92) - Strange Skill Attribute(IGNORE_BLOCK) 1203 14:49:06105 :: networkModule.py(line:200) SetSelectCharacterPhase system.py(line:115) __pack_import system.py(line:98) _process_result introSelect.py(line:23) <module> system.py(line:115) __pack_import networkModule.SetSelectCharacterPhase - <type 'exceptions.IndentationError'>:unindent does not match any outer indentation level (uiInventory.py, line 572) 1203 14:49:06105 :: ============================================================================================================ 1203 14:49:06105 :: Abort!!!! 1203 14:49:06105 :: filename = exception.py, name = Abort 1203 14:49:06105 :: filename = networkModule.py, name = SetSelectCharacterPhase 1203 14:49:06105 :: filename = prototype.py, name = RunApp 1203 14:49:06105 :: filename = prototype.py, name = <module> 1203 14:49:06105 :: filename = system.py, name = Run 1203 14:49:06105 :: filename = system.py, name = execfile 1203 14:49:06105 :: filename = system.py, name = RunMainScript 1203 14:49:06105 :: filename = system.py, name = <module> 1203 14:49:06105 :: filename = <string>, name = <module> uiinventory.py o którym mówi sysser: if constInfo.IS_AUTO_POTION(itemVnum): # metinSocket - [0] : Č°ĽşČ ż©şÎ, [1] : »çżëÇŃ ľç, [2] : ĂÖ´ë żë·® metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)] if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex: slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex isActivated = 0 != metinSocket[0] if isActivated: self.wndItem.ActivateSlot(slotNumber) potionType = 0; if constInfo.IS_AUTO_POTION_HP(itemVnum): potionType = player.AUTO_POTION_TYPE_HP elif constInfo.IS_AUTO_POTION_SP(itemVnum): potionType = player.AUTO_POTION_TYPE_SP usedAmount = int(metinSocket[1]) totalAmount = int(metinSocket[2]) player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i)) else: self.wndItem.DeactivateSlot(slotNumber) elif itemVnum == 70019: metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)] isActivated = 0 != metinSocket[0] if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex: slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex if isActivated: self.wndItem.ActivateSlot(slotNumber) else: self.wndItem.DeactivateSlot(slotNumber) elif constInfo.IS_PET_SEAL(itemVnum): metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)] isActivated = 0 != metinSocket[2] if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex: slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex if isActivated: self.wndItem.ActivateSlot(i) else: self.wndItem.DeactivateSlot(i) //EDIT Znalazłem rozwiązanie. Błąd IndentationError w Pythonie występuje, gdy w kodzie nie zgadza się poziom wcięcia (indentacji). Python używa wcięć do określania bloków kodu, a błąd ten oznacza, że w kodzie na linii 572 pliku uiInventory.py jest błąd związany z wcięciem. Może nam się wydawać, że taby nam się zgadzają. Aby upewnić się na 100% czy mamy poprawnie wypełnione wcięcia, należy włączyć wyświetlanie tabulatorów w danym edytorze. Jak widzimy pierwsza linia jest wypełniona poprawnie, drugą natomiast trzeba poprawić, aby error wcześniej wspomniany zniknął. Edytowane 3 Grudnia 20231 r przez atk
Cześć,
Przedstawiam małą modyfikację, w której dodamy efekt na pieczęci po przywołaniu zwierzaka. Taka modyfikacja weszła na oficjalnych serwerach w patchu 17.5.
Prezentacja:
Wymagane:
Implementacja:
📂 Lokalizacja pliku: 'game -> PetSystem.cpp'
🔍 Szukaj:
♻️ Zamień:
➕ Niżej dodaj:
📂 Lokalizacja pliku: 'game -> PetSystem.h'
🔍 Szukaj:
➕ Dodaj:
🔍 Szukaj:
➕ Dodaj:
📂 Lokalizacja pliku: 'UserInterface -> PythonItemModule.cpp'
🔍 Szukaj:
♻️ Zamień:
📂 Lokalizacja pliku: 'root -> uiinventory.py'
🔍 Szukaj:
➕ Dodaj:
📂 Lokalizacja pliku: 'root -> constinfo.py'
➕ Dodaj na końcu:
📂 Lokalizacja pliku: 'root -> uitaskbar.py'
🔍 Szukaj:
➕ Dodaj: