Opublikowano 29 Marca 20241 r syserr 0329 16:07:06141 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0329 16:07:06141 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0329 16:07:16268 :: icon/item/71095.tga not found. CItemData::__SetIconImage 0329 16:07:16372 :: Traceback (most recent call last): 0329 16:07:16372 :: File "networkModule.py", line 236, in SetGamePhase 0329 16:07:16372 :: File "game.py", line 112, in __init__ 0329 16:07:16372 :: File "game.py", line 1879, in __ServerCommand_Build 0329 16:07:16372 :: AttributeError 0329 16:07:16372 :: : 0329 16:07:16372 :: 'GameWindow' object has no attribute 'skillSelect' 0329 16:07:16372 ::
Opublikowano 29 Marca 20241 r Pokaż plik game.py w spoilerze albo jako załącznik. W funkcji: def __init__(self, stream): Dodałeś? self.skillSelect = None
Opublikowano 29 Marca 20241 r Autor Tak jest, ale teraz problem wygląda tak, że po wbiciu 5lvl nie pojawia się takie okienko:
Opublikowano 29 Marca 20241 r Masz jakieś błędy w sysser klienta gry? Jeśli tak wstaw je w spoilerze. Skompilowałeś questa, który wywołuje właśnie to okno wyboru umiejętności?
Opublikowano 29 Marca 20241 r Autor Właśnie wygląda to tak; dodałem do questa i śmiga pokazuje mi questa ale pisze ze nie znaleziono komendy Sysser: Spoiler 0329 16:51:09219 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0329 16:51:09219 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0329 16:51:18335 :: icon/item/71095.tga not found. CItemData::__SetIconImage 0329 16:51:25349 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0329 16:51:25349 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0329 16:51:39321 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0329 16:51:39321 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0329 16:51:44294 :: icon/item/71095.tga not found. CItemData::__SetIconImage 0329 16:52:50310 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0329 16:52:50310 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) Czy źle wprowadziłem do serwera ze nie działa?
Opublikowano 29 Marca 20241 r Gdzie wyskakuje taki komunikat, że nie znaleziono komendy? W pliku cmd.cpp poprawnie dodałeś nowe polecenia? W strukturze: struct command_info cmd_info[] = Dodałeś te nowe komendy? #ifdef ENABLE_SKILL_SELECT_FEATURE { "selectskill_open", do_selectskill_open, 0, POS_DEAD, GM_PLAYER }, { "selectskill_select", do_selectskill_select, 0, POS_DEAD, GM_PLAYER }, #endif Czy plik game podmieniłeś na serwerze?
Opublikowano 29 Marca 20241 r Autor aktualnie to nie moge wylaczyc serwera Spoiler dlatego własnie nie działa bo nie moge wylaczyc i wlaczyc Edytowane 29 Marca 20241 r przez maroin100
Opublikowano 29 Marca 20241 r Sprawdź, czy procesy są aktywne, poleceniem: ps Możesz spróbować wyłączyć w ten sposób jeśli skrypt nie działa poprawnie: killall -9 game
Opublikowano 29 Marca 20241 r Autor Wyłączyłem maszynę i włączyłem, ale to nic nie dało, dalej się pokazuje taki komunikat, że nie znaleziono ; dodałem komendy do pliku cmd.cpp Spoiler 0329 17:13:06797 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0329 17:13:06797 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0329 17:14:35494 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0329 17:14:35494 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0329 17:14:44274 :: icon/item/71095.tga not found. CItemData::__SetIconImage 0329 17:16:55972 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW) 0329 17:16:55972 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW) 0329 17:16:02630 :: icon/item/71095.tga not found. CItemData::__SetIconImage
Opublikowano 29 Marca 20241 r Wybacz za takie trywalne pytanie, ale czy podmieniłeś plik game? Na chacie gry dostajesz informacje, że komendy nie znaleziono, tak? Na górze pliku cmd.cpp dodałeś te dwa wpisy? ACMD(do_selectskill_open); ACMD(do_selectskill_select); Te błędy, które masz w sysser klienta gry nic nie mówią, nie mają związku z systemem skill selectu. Jeśli serwer odpowiada, że kokendy nie znaleziono to znaczy, że niepoprawnie zaimplementowałeś w game. Może zapomniałeś o czymś, ale wątpię, bo tam jest naprawdę bardzo mało do dodania. Inna opcja to nie podmieniłeś poprawnie game. Serwer gry, nie 'widzi' takiej komendy.
Opublikowano 29 Marca 20241 r Autor Juz sie pogubiłem nie wiem czy dobrze to zrobiłem podesle ci tam gdzie miałem wpisac Spoiler import mouseModule import consoleModule import localeInfo import playerSettingModule import interfaceModule import musicInfo import debugInfo import stringCommander if app.ENABLE_SKILL_SELECT_FEATURE: import uiselectskill from _weakref import proxy # SCREENSHOT_CWDSAVE SCREENSHOT_CWDSAVE = True SCREENSHOT_DIR = None Spoiler class GameWindow(ui.ScriptWindow): def __init__(self, stream): ui.ScriptWindow.__init__(self, "GAME") self.SetWindowName("game") net.SetPhaseWindow(net.PHASE_WINDOW_GAME, self) player.SetGameWindow(self) self.quickSlotPageIndex = 5 self.lastPKModeSendedTime = 0 self.pressNumber = None if app.ENABLE_SKILL_SELECT_FEATURE: self.skillSelect = uiselectskill.SkillSelectWindow() self.skillSelect = None self.skillSelect.Hide() self.guildWarQuestionDialog = None self.interface = None self.targetBoard = None self.console = None self.mapNameShower = None self.affectShower = None self.playerGauge = None Spoiler if constInfo.PVPMODE_TEST_ENABLE: self.testPKMode = ui.TextLine() self.testPKMode.SetFontName(localeInfo.UI_DEF_FONT) self.testPKMode.SetPosition(0, 15) self.testPKMode.SetWindowHorizontalAlignCenter() self.testPKMode.SetHorizontalAlignCenter() self.testPKMode.SetFeather() self.testPKMode.SetOutline() self.testPKMode.Show() self.testAlignment = ui.TextLine() self.testAlignment.SetFontName(localeInfo.UI_DEF_FONT) self.testAlignment.SetPosition(0, 35) self.testAlignment.SetWindowHorizontalAlignCenter() self.testAlignment.SetHorizontalAlignCenter() self.testAlignment.SetFeather() self.testAlignment.SetOutline() self.testAlignment.Show() self.__BuildKeyDict() self.__BuildDebugInfo() if app.ENABLE_SKILL_SELECT_FEATURE and self.skillSelect: self.skillSelect.Destroy() self.skillSelect = None # PRIVATE_SHOP_PRICE_LIST uiPrivateShopBuilder.Clear() # END_OF_PRIVATE_SHOP_PRICE_LIST Spoiler "ConsoleEnable" : self.__Console_Enable, "DayMode" : self.__DayMode_Update, "PRESERVE_DayMode" : self.__PRESERVE_DayMode_Update, "CloseRestartWindow" : self.__RestartDialog_Close, "OpenPrivateShop" : self.__PrivateShop_Open, "PartyHealReady" : self.PartyHealReady, "ShowMeSafeboxPassword" : self.AskSafeboxPassword, "CloseSafebox" : self.CommandCloseSafebox, "selectskill_open" : self.skillSelect.Open, syserr ma błędy Edytowane 29 Marca 20241 r przez maroin100
Opublikowano 29 Marca 20241 r To co przedstawiłeś to kod, który miałeś dodać do klienta gry. Musisz zrobić jeszcze edycję w źródle gry i skompilować następnie zamienić nowo utworzony plik game na serwerze w katalogu share. W kodzie klienta gry masz wszystko poprawnie zaimplementowane. Problemem jest z silnikiem gry (game), który nie widzi nowej komendy, która powinna zostać wywołana w kliencie gry i otworzyć okno wyboru. Czy wprowadzałeś zmiany do źródła gry i rekompikowałeś game?
Opublikowano 29 Marca 20241 r Masz źródło gry tych plików serwerowych, które posiadasz? Jeśli tak, musisz wprowadzić zmiany w kodzie źródłowym game w plikach cmd.cpp i cmd_general.cpp oraz dodać definicję do service.h następnie skompilować game i podmienić w plikach serwerowych. Inaczej nie będzie dostępna nowa komenda, którą wywołujesz w queście skill_select.lua
Opublikowano 29 Marca 20241 r Autor gdzieś znajde sysser komplikacji plikow db i game? bo chciałem zobaczyc błędy ale nie umiem sie doszukac
Opublikowano 29 Marca 20241 r Nie mam pojęcia to wszystko zależy od plików oraz skryptu. Jakim poleceniem kompilujesz game? Czy robisz to przez skrypt, czy bezpośrednio w terminalu?
Opublikowano 29 Marca 20241 r To błędy powinny wyskoczyć w terminalu. Możesz podesłać screena z ostatnich linii podczas procesu kompilacji?
Opublikowano 29 Marca 20241 r Autor wgrałem skrypt od Paszki na kompikacje itp i mi sie nie tworzy plik game 😒
Opublikowano 29 Marca 20241 r Otwórz skrypt którym kompilujesz i tam powinna być nazwa pliku i lokalizacja logów.
Opublikowano 29 Marca 20241 r Otwórz ten skrypt i zobacz w jakiej lokalizacji są logi z procesu kompilacji. Zapewne tam gdzie wygenerowany plik game albo katalog wyżej. Nie używałem tych plików więc ciężko mi powiedzieć, musisz to sprawdzić w kodzie skryptu kompilacji.
Opublikowano 29 Marca 20241 r Autor Spoiler #!/bin/sh cd /usr/src/mainline_released/mainline_sg/Srcs/Server && sh compile.sh kod komplikacji
Opublikowano 29 Marca 20241 r Przejdź do tego katalogu cd /usr/src/mainline_released/mainline_sg/Srcs/Serve i otwórz skrypt compile.sh w nim będziesz mieć ścieżkę do plików txt z logami kompilacji.
Opublikowano 29 Marca 20241 r Autor Spoiler #!/bin/sh echo -e "\033[32m \n Menu Kompilacji: Lista mozliwosci kompilacji: \n 1 - DB & GAME\n 2 - DB\n 3 - GAME\n 4 - Automatycznia Podmiana DB & GAME\n Wpisz wybrana cyfre:" read wybor case $wybor in 1*) cd /usr/src/mainline_released/mainline_sg/Srcs/Server/db/src sh build_db.sh sleep 2 cd /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src sh build.sh echo "########### Budowanie DB & GAME Zakończone ###########" ;; 2*) cd /usr/src/mainline_released/mainline_sg/Srcs/Server/db/src sh build_db.sh ;; 3*) cd /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src sh build.sh ;; 4*) mv -f /usr/src/mainline_released/mainline_sg/Srcs/Server/db/db /usr/home/mt2/db/ 2>/dev/null echo "########### Plik DB Został Przeniesiony ###########" sleep 2 mv -f /usr/src/mainline_released/mainline_sg/Srcs/Server/game/game /usr/home/mt2/share 2>/dev/null echo "########### Plik GAME Został Przeniesiony ###########" sleep 2 ;; esac ja nie widze .edit Edytowane 29 Marca 20241 r przez maroin100
Opublikowano 29 Marca 20241 r Kurcze, ale tu odnośników, dobrze to w pliku build.sh powinno być określony plik logów.
syserr
0329 16:07:06141 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=137) - Strange Skill Need Weapon(CLAW)
0329 16:07:06141 :: CPythonSkill::RegisterSkillDesc(dwSkillIndex=139) - Strange Skill Need Weapon(CLAW)
0329 16:07:16268 :: icon/item/71095.tga not found. CItemData::__SetIconImage
0329 16:07:16372 :: Traceback (most recent call last):
0329 16:07:16372 :: File "networkModule.py", line 236, in SetGamePhase
0329 16:07:16372 :: File "game.py", line 112, in __init__
0329 16:07:16372 :: File "game.py", line 1879, in __ServerCommand_Build
0329 16:07:16372 :: AttributeError
0329 16:07:16372 :: :
0329 16:07:16372 :: 'GameWindow' object has no attribute 'skillSelect'
0329 16:07:16372 ::