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

C++ Level obok nazwy Potwora/Metina.


Rekomendowane odpowiedzi

Opublikowano

Cześć.

 

Tutorial nie jest mój!

 

InstanceBase.cpp

1.Zamieniamy to:

m_dwLevel = c_rkCreateData.m_dwLevel

na to:

BYTE level_mob = CPythonNonPlayer::Instance().GetMobLevel(c_rkCreateData.m_dwRace);
m_dwLevel = ((c_rkCreateData.m_dwRace > 8 && (c_rkCreateData.m_bType == CActorInstance::TYPE_ENEMY || c_rkCreateData.m_bType == CActorInstance::TYPE_STONE)) ? level_mob : c_rkCreateData.m_dwLevel);

PythonNonPlayer.h

1.Musimy dodać dwa wpisy:

std::map<DWORD, BYTE> LevelByVnum;
BYTE GetMobLevel(DWORD dwVnum);

aby to wyglądało w ten sposób[/edit to tam gdzie trzeba to dodać]:

d239daefd5f125d59dea4f9f41467a66.png

 

PythonNonPlayer.cpp

1.Dodajemy :

LevelByVnum[pNonPlayerData->dwVnum] = pNonPlayerData->bLevel; //edit

w to miejsce:

a9fe91b48aaed67d5c23997d9dfae657.png

 

2.Na samym końcu dodajemy to:

BYTE CPythonNonPlayer::GetMobLevel(DWORD dwVnum) //edit
{
map<DWORD, BYTE>::iterator it;
it = LevelByVnum.find(dwVnum);
if (it != LevelByVnum.end()) {
return it->second;
}
return 0;
}

z tabami wygląda to tak:

6577ccc758e76b13c2bba904f9bda9d1.png

 

 

 

Bonus ode mnie :rolleyes:

1.Otwieramy InstanceBaseEffect.cpp i edytujemy "void CInstanceBase::UpdateTexTailLevel(DWORD level)" w ten sposób:

void CInstanceBase::UpdateTexTailLevel(DWORD level)
{
	static D3DXCOLOR s_kLevelColor = D3DXColor(102.0f/255.0f, 255.0f/255.0f, 102.0f/255.0f, 1.0f);
	static D3DXCOLOR s_kLevelColorMob = D3DXColor(102.0f/255.0f, 255.0f/255.0f, 102.0f/255.0f, 1.0f);

	char szText[256];
	sprintf(szText, "Lv %d ", level);
	if (IsEnemy())
	{
		CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLecelColorMob);
	}
	else
	{
		CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLecelColor);
	}

I mamy oddzielny kolor dla moba i dla pc.

Opublikowano

Przepraszam, że pytam, ale może to głupi sposób na Lv obok nazwy moba, ale nie szybciej by było w mob_proto ten Lv mu dopisać?
Np z locale_name = "Dziki Pies" na locale_name = "[Lv. 1] Dziki Pies"

 

??

arijh2.jpg

Opublikowano

Przepraszam, że pytam, ale może to głupi sposób na Lv obok nazwy moba, ale nie szybciej by było w mob_proto ten Lv mu dopisać?

Np z locale_name = "Dziki Pies" na locale_name = "[Lv. 1] Dziki Pies"

 

??

Jednak to by było złe rozwiązanie ponieważ bardzo dużo roboty dodawać lvl dla każdegomoba oraz bardzo długie nazwy proto by były:)

Opublikowano

Przepraszam, że pytam, ale może to głupi sposób na Lv obok nazwy moba, ale nie szybciej by było w mob_proto ten Lv mu dopisać?

Np z locale_name = "Dziki Pies" na locale_name = "[Lv. 1] Dziki Pies"

 

??

Kolor byłby przystosowany do nazwy i by się to zlewało te zastosowanie jest o wiele lepsze bo tutaj masz i inny kolor [Lv. x ] i kolor moba.

1EPZ6G.gif

Opublikowano

Przepraszam, że pytam, ale może to głupi sposób na Lv obok nazwy moba, ale nie szybciej by było w mob_proto ten Lv mu dopisać?

Np z locale_name = "Dziki Pies" na locale_name = "[Lv. 1] Dziki Pies"

 

??

 

Nie, tym bardziej szybciej. xD

Opublikowano

Nie, tym bardziej szybciej. xD

 

Jedno zapytanie i masz wszystkie nazwy zmienione na takiej z Lv-lem. Wersja dla ludzi bez sorsa.

Opublikowano

­

 

Jedno zapytanie i masz wszystkie nazwy zmienione na takiej z Lv-lem. Wersja dla ludzi bez sorsa.

 

No tak, ale nazwa moba w bazie jest ograniczona do iluś tam znaków, a edycją w src tak czy siak Ci się przedrostek doda nawet jak bedzie maksimum liter w nazwie. Tak mi się wydaje bo nie sprawdzałem :s

Opublikowano

A wygląd? Oraz jak @harnaś pisał, ilość znaków?

#brain_on

 

Nie napisałem że jest to dobre rozwiązanie czy przejrzyste rozwiązanie napisałem że jest to rozwiązanie dla osób które nie używają src.

Jakbyś miał ten mózg to byś sam się domyślił i nie trzeba by Ci tłumaczyć jak dziecku.

Opublikowano

Nie napisałem że jest to dobre rozwiązanie czy przejrzyste rozwiązanie napisałem że jest to rozwiązanie dla osób które nie używają src.

Jakbyś miał ten mózg to byś sam się domyślił i nie trzeba by Ci tłumaczyć jak dziecku.

No widzisz to chyba ty nie zrozumiałeś, bo tylko idiota dodałby sobie na serwer (bez jak to piszesz src) w ten sposób, tworząc czerwoną kupę nad potworkiem (z uciętą nazwą). ;f

Więc to nie jest żadne wyjście według mnie, po prostu albo działasz na kodzie źródłowym, albo wychodzisz z tego tematu. :)

  • 1 rok później...
Opublikowano

 

 

Bonus ode mnie :rolleyes:

1.Otwieramy InstanceBaseEffect.cpp i edytujemy "void CInstanceBase::UpdateTexTailLevel(DWORD level)" w ten sposób:

void CInstanceBase::UpdateTexTailLevel(DWORD level)
{
	static D3DXCOLOR s_kLevelColor = D3DXColor(102.0f/255.0f, 255.0f/255.0f, 102.0f/255.0f, 1.0f);
	static D3DXCOLOR s_kLevelColorMob = D3DXColor(102.0f/255.0f, 255.0f/255.0f, 102.0f/255.0f, 1.0f);

	char szText[256];
	sprintf(szText, "Lv %d ", level);
	if (IsEnemy())
	{
		CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLecelColorMob);
	}
	else
	{
		CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLecelColor);
	}

I mamy oddzielny kolor dla moba i dla pc.

 

 

Dodaj jeszcze to:

else if (IsStone())
	{
		CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColorMob);
	}

Żeby kamienie metin też miały kolor jak mobek albo inny.

Opublikowano

jest osobny temat na kamienie 

10f6fl5.jpg


100 | 200 | 300 | 400 | 500 | 1000 | 2000 | 5000


Jeśli odpowiadasz na mój post, zacytuj go oraz oznacz mnie.


Planujesz do mnie napisać? Zapraszam na profil ;)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...