Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Ilość życia potworka (C++, Python)


Rekomendowane odpowiedzi

  • 7 miesięcy temu...
  • 5 miesięcy temu...
Opublikowano

@NoName#2

Napisałeś

Poradnik: client, root

czy to oznacza, że można to zrobić na 2 sposoby, czy oba są wymagane ? Sorki zielony jestem (jeszcze)  :D

 



 

PORADNIK:

  • CLIENT:


1. Otwieramy:
\***\UserInterface\PythonNonPlayerModule.cpp
 
2. Szukamy:

void initNonPlayer()
i nad tym dodajemy:
PyObject * nonplayerGetMonsterMaxHp(PyObject * poSelf, PyObject * poArgs)
{
	int iVirtualID;
	if (!PyTuple_GetInteger(poArgs, 0, &iVirtualID))
		return Py_BuildException();

	CInstanceBase * pInstance = CPythonCharacterManager::Instance().GetInstancePtr(iVirtualID);

	if (!pInstance)
		return Py_BuildValue("i", -1);

	const CPythonNonPlayer::TMobTable * pMobTable = CPythonNonPlayer::Instance().GetTable(pInstance->GetVirtualNumber());

	if (!pMobTable)
		return Py_BuildValue("i", -1);

	return Py_BuildValue("i", pMobTable->dwMaxHP);
}
 
3. Szukamy:
{ "LoadNonPlayerData",			nonplayerLoadNonPlayerData,			METH_VARARGS },
i pod tym dodajemy:
{ "GetMonsterMaxHp",			nonplayerGetMonsterMaxHp,			METH_VARARGS },
 
4. Kompilujemy projekt naszej binki.

  • ROOT


1. Otwieramy:
\***\root\uitarget.py
 
2. Szukamy:

closeButton = ui.Button()
i nad tym dodajemy:
[TAB][TAB]hpText = ui.TextLine()
[TAB][TAB]hpText.SetPosition(0, -17)
[TAB][TAB]hpText.SetWindowHorizontalAlignCenter()
[TAB][TAB]hpText.SetHorizontalAlignCenter()
[TAB][TAB]hpText.Hide()
 
3. Szukamy:
self.closeButton = closeButton
i nad tym dodajemy:
[TAB][TAB]self.hpText = hpText
[TAB][TAB]hpText.SetParent(hpGauge)
 
4. Szukamy:
self.hpGauge = None
i pod tym dodajemy:
self.hpText = None
5. Szukamy:
self.SetSize(250, 40)
i nad tym dodajemy:
self.hpText.Hide()
6. Szukamy:
def SetHP(self, hpPercentage):
i całą tą definicję zamieniamy na:
[TAB]def SetHP(self, hpPercentage):
[TAB][TAB]if not self.hpGauge.IsShow():
[TAB][TAB][TAB]self.SetSize(200 + 7*self.nameLength, self.GetHeight())
[TAB][TAB][TAB]self.name.SetPosition(23, 13)
[TAB][TAB][TAB]self.name.SetWindowHorizontalAlignLeft()
[TAB][TAB][TAB]self.name.SetHorizontalAlignLeft()
[TAB][TAB][TAB]self.hpGauge.Show()
[TAB][TAB][TAB]self.hpText.Show()
[TAB][TAB][TAB]self.UpdatePosition()

[TAB][TAB]self.hpGauge.SetPercentage(hpPercentage, 100)
[TAB][TAB]self.hpText.SetText(str(int(float(hpPercentage)/100.00*float(nonplayer.GetMonsterMaxHp(self.vid)))) + "/" + str(nonplayer.GetMonsterMaxHp(self.vid)) + " (" + str(hpPercentage) + "%)")
[TAB][TAB]chr.SelectInstance(self.vid)
7. Pakujemy ROOT'y.


 

  • 2 lata później...
Opublikowano

Przepraszam że odkopuje tak stary temat, ale mam pytanie. Wszystko się pięknie dodało, ale chciałbym zmienić kordy wyświetlania tego statusu życia potworka. Chciałbym to trochę ściągnąć w dół, aby ładniej wyglądało. Jak to zrobić? Wygląda to tak:

% HP.png

Opublikowano
1 godzinę temu, michalsky394 napisał:

Przepraszam że odkopuje tak stary temat, ale mam pytanie. Wszystko się pięknie dodało, ale chciałbym zmienić kordy wyświetlania tego statusu życia potworka. Chciałbym to trochę ściągnąć w dół, aby ładniej wyglądało. Jak to zrobić? Wygląda to tak:

% HP.png

Nie mam kodu przy sobie i dawno nic nie pisałem, ale patrząc na to co wrzuciłem to próbowałbym edytować tę linijkę:

[TAB][TAB]hpText.SetPosition(0, -17)

tylko chyba to nie będzie tak logicznie się przesywało bo jest:

[TAB][TAB]hpText.SetWindowHorizontalAlignCenter()

[TAB][TAB]hpText.SetHorizontalAlignCenter()

Opublikowano
12 godzin temu, NoName#2 napisał:

Nie mam kodu przy sobie i dawno nic nie pisałem, ale patrząc na to co wrzuciłem to próbowałbym edytować tę linijkę:

[TAB][TAB]hpText.SetPosition(0, -17)

tylko chyba to nie będzie tak logicznie się przesywało bo jest:

[TAB][TAB]hpText.SetWindowHorizontalAlignCenter()

[TAB][TAB]hpText.SetHorizontalAlignCenter()

Właśnie edytowałem kod. Zmieniłem:

hpText.SetPosition(0, -17)

Na:

hpText.SetPosition(0, -14)

I jest perfekcyjnie. Dzięki za pomoc 🙂 !

Bez tytułu.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...