Skocz do zawartości

Szukam modyfikacji do starego systemu cube z wyświetlaniem procentu

Opublikowano

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ć

Featured Replies

Opublikowano
  • 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

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
  • 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 :: 

 

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ą.

Gość
Dodaj odpowiedź do tematu...