Opublikowano 12 Lipca 202412 Lip Siemka, ma ktoś może system pokazywania szansy w cube? Chodzi mi o te stare cube, nie te nowe. Głowie się z tym jakiś czas już ale taka kiła mi wychodzi że szkoda gadać. Może ktoś ma plan jak to zrobić
Opublikowano 13 Lipca 202413 Lip Autor Znalazłem coś takiego, lecz nie ważne jak próbuje, to nie mogę wywołać tego w oknie cube.. 1. Otwórz cube.cpp i znajdź w nim: if (NULL == cube) { ch->ChatPacket(CHAT_TYPE_COMMAND, "cube info 0 0 0"); return false; } ch->ChatPacket(CHAT_TYPE_COMMAND, "cube info %d %d %d", cube->gold, 0, 0); Zamień na: if (NULL == cube) { ch->ChatPacket(CHAT_TYPE_COMMAND, "cube info 0 0 0 0"); return false; } ch->ChatPacket(CHAT_TYPE_COMMAND, "cube info %d %d %d %d", cube->gold, 0, 0, cube->percent); 2. Otwórz PythonNetworkStreamCommand.cpp i znajdź w nim: else if ("info" == TokenVector[1]) { if (5 != TokenVector.size()) { TraceError("CPythonNetworkStream::ServerCommand(c_szCommand=%s) - Strange Parameter Count : %s", c_szCommand); return; } UINT gold = atoi(TokenVector[2].c_str()); UINT itemVnum = atoi(TokenVector[3].c_str()); UINT count = atoi(TokenVector[4].c_str()); PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_Cube_UpdateInfo", Py_BuildValue("(iii)", gold, itemVnum, count)); } Zamień na: else if ("info" == TokenVector[1]) { if (5 != TokenVector.size()) { TraceError("CPythonNetworkStream::ServerCommand(c_szCommand=%s) - Strange Parameter Count : %s", c_szCommand); return; } UINT gold = atoi(TokenVector[2].c_str()); UINT itemVnum = atoi(TokenVector[3].c_str()); UINT count = atoi(TokenVector[4].c_str()); UINT percent = atoi(TokenVector[5].c_str()); PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_Cube_UpdateInfo", Py_BuildValue("(iiii)", gold, itemVnum, count, percent)); } 3. Otwórz game.py i znajdź w nim: def BINARY_Cube_UpdateInfo(self, gold, itemVnum, count): self.interface.UpdateCubeInfo(gold, itemVnum, count) Zamień na: def BINARY_Cube_UpdateInfo(self, gold, itemVnum, count, percent): self.interface.UpdateCubeInfo(gold, itemVnum, count, percent) 4. Otwórz interfaceModule.py i znajdź w nim: def UpdateCubeInfo(self, gold, itemVnum, count): self.wndCube.UpdateInfo(gold, itemVnum, count) Zamień na: def UpdateCubeInfo(self, gold, itemVnum, count, percent): self.wndCube.UpdateInfo(gold, itemVnum, count, percent)
Opublikowano 13 Lipca 202413 Lip To zostało Ci już bardzo niewiele, kwestia zmodyfikowania uiCube.py, musisz stworzyć nowy obiekt: 🔎Szukaj class CubeWindow(ui.ScriptWindow): def __init__(self): self.isUsable = FALSE ➕Dodaj (tu inicjujesz nowy obiekt): self.percent = None 🔎Szukaj def LoadWindow(self): self.materialSlots = [ [GetObject("material11"), GetObject("material12"), GetObject("material13"), GetObject("material14"), GetObject("material15")], [GetObject("material21"), GetObject("material22"), GetObject("material23"), GetObject("material24"), GetObject("material25")], [GetObject("material31"), GetObject("material32"), GetObject("material33"), GetObject("material34"), GetObject("material35")], ] ➕Dodaj self.percent = GetObject("PercentBar") 🔎Szukaj def UpdateInfo(self, gold, itemVnum, count): if self.needMoney: self.needMoney.SetText(localeInfo.NumberToMoneyString(gold)) self.Refresh() ♻️Zamień def UpdateInfo(self, gold, itemVnum, count, percent): if self.needMoney: self.needMoney.SetText(localeInfo.NumberToMoneyString(gold)) if self.percent: self.percent.SetText("Procent: %d%%" % percent) self.Refresh() 🔎Szukaj def Destroy(self): self.needMoney = None ➕Dodaj self.percent = None 🔎Szukaj def Close(self): if self.needMoney: self.needMoney.SetText("0") ➕Dodaj if self.percent: self.percent.SetText("") W pliku cubewindow.py musisz dodać nowy obiekt i ustawić mu pozycję o nazwie PercentBar jak tu przykładowo nazwałem: { "name" : "PercentBar", "type" : "text", "x" : 0, "y" : 0, },
Opublikowano 13 Lipca 202413 Lip Autor Nie mam siły do tego cube już... Zaimplementuje po prostu chyba te nowe.. Ciągle coś.. Raz że nie wyświetla, a dwa raz wywali klienta, a raz nie przy dodawaniu przedmiotów do okna. 0713 18:48:16279 :: Traceback (most recent call last): 0713 18:48:16279 :: File "game.py", line 1783, in BINARY_Cube_MaterialInfo 0713 18:48:16279 :: File "uiCube.py", line 485, in Refresh 0713 18:48:16279 :: KeyError 0713 18:48:16279 :: : 0713 18:48:16279 :: 1 0713 18:48:16279 :: 0713 18:48:17515 :: CPythonNetworkStream::ServerCommand(c_szCommand=cube info 0 0 0 0) - Strange Parameter Count : Ĺ !Ĺ$!|$ ś$¬ 0713 18:48:18390 :: CPythonNetworkStream::ServerCommand(c_szCommand=cube info 0 0 0 0) - Strange Parameter Count : Ĺ !Ĺ$!|$ ś$¬ 0713 18:48:18834 :: CPythonNetworkStream::ServerCommand(c_szCommand=cube info 0 0 0 0) - Strange Parameter Count : Ĺ !Ĺ$!|$ ś$¬ 0713 18:48:19396 :: CPythonNetworkStream::ServerCommand(c_szCommand=cube info 50000000 0 0 100) - Strange Parameter Count : Ĺ !Ĺ$!|$ ś$¬ 0713 18:49:37597 :: Traceback (most recent call last): 0713 18:49:37597 :: File "game.py", line 1686, in BINARY_Cube_Succeed 0713 18:49:37597 :: File "interfaceModule.py", line 1210, in SucceedCubeWork 0713 18:49:37597 :: File "uiCube.py", line 439, in Clear 0713 18:49:37597 :: File "uiCube.py", line 485, in Refresh 0713 18:49:37597 :: KeyError 0713 18:49:37597 :: : 0713 18:49:37597 :: 1 0713 18:49:37597 ::
Siemka, ma ktoś może system pokazywania szansy w cube? Chodzi mi o te stare cube, nie te nowe.
Głowie się z tym jakiś czas już ale taka kiła mi wychodzi że szkoda gadać. Może ktoś ma plan jak to zrobić