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++ Zmiana widoczności 'kostiumu fryzury'


Rekomendowane odpowiedzi

Opublikowano

Macie ode mnie działającą zmianę widoczności fryzurki.

Praca w 100% autorska.

Nie jest to jakoś mega dobrze napisane. Ważne, że działa. Pozdrawiam :)

 

Ps: możecie trochę mieć inaczej co do samego poradnika ale kto trochę ogarnia załapie.

 

Gdyby ktoś potrzebował widoczności pod kostiumy, broni, szarfy, zbroje PW :)

 

cmd_general.cpp

ACMD(do_fryzura_change)
{
	EParts toSetPart = PART_MAX_NUM;
	toSetPart = PART_HAIR;
	CItem* pFryzura = ch->GetWear(WEAR_COSTUME_HAIR);
	
	if (ch->IsPolymorphed())
	{
		ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Nie mozesz tego wykonac. Jestes przemieniony w potwora."));
		return;
	}
	
	else if (!pFryzura)
	{
		ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Nie mozesz tego wykonac. Nie masz na sobie kostiumu fryzury."));
		return;
	}
	else
	{
		if (pFryzura)
		{
			DWORD toSetValue = pFryzura->GetVnum();
			
			toSetValue = pFryzura->GetValue(3);
			
			if (PART_MAX_NUM != toSetPart)
			{
				if (ch->GetQuestFlag("fryzurka.zmianaaaaaaa") > 0)
				{
					ch->SetQuestFlag("fryzurka.zmianaaaaaaa", 0);
					ch->SetPart((BYTE)toSetPart, 0);
					//ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("OFF"));
					ch->UpdatePacket();
				}
				else
				{
					ch->SetQuestFlag("fryzurka.zmianaaaaaaa", 1);
					ch->SetPart((BYTE)toSetPart, toSetValue);
					ch->UpdatePacket();		
					//ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ON"));
				}
			}
		}
	}
}

item.cpp

pod:

				if (PART_MAX_NUM != toSetPart)
				{
				
to:


					int zmianaaaaaaa = 0;
					quest::PC* pPC = quest::CQuestManager::instance().GetPC(m_pOwner->GetPlayerID());
					
					if (pPC)
					{
					
						zmianaaaaaaa = pPC->GetFlag("fryzurka.zmianaaaaaaa");
						
						else if (GetSubType() == COSTUME_HAIR) //musicie sobie zmienic na if jak nie macie zadnej widoczosci
						{	
							if (zmianaaaaaaa > 0)
							{
								m_pOwner->SetPart((BYTE)toSetPart, toSetValue);
								m_pOwner->UpdatePacket();		
							}
							else
							{
								m_pOwner->SetPart((BYTE)toSetPart, 0);
								m_pOwner->UpdatePacket();
							}
						}	

uiinventory.py


						
						
pod:

			self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))

to:

			self.costum4 = self.GetChild("button_fryzura")
			self.costum4.SetEvent(ui.__mem_func__(self.costum4_f))
			
pod:

		self.wndEquip = wndEquip
		
		
to:


	def	costum4_f(self):
		net.SendChatPacket("/fryzura_change")

uiscript/costumewindow.py

 

wielkość zmiamy 2x na:

	"width" : 140,
	"height" : 180 + 47+20+20+3,

nad:

## Equipment Slot

dodajemy:

				{
					"name" : "button_fryzura",
					"type" : "button",

					"x" : 72,
					"y" : 242,

					"text" : "Fryzura",

					"default_image" : "d:/ymir work/ui/game/windows/tab_button_middle_01.sub",
					"over_image" : "d:/ymir work/ui/game/windows/tab_button_middle_02.sub",
					"down_image" : "d:/ymir work/ui/game/windows/tab_button_middle_03.sub",
				},
Opublikowano

 

Oblukałem tylko funkcję do_fryzura_change i dziwnie troszkę piszesz.

 

Ważne, że działa co tu więcej dyskutować, wiem, że kod nie jest najlepszej jakości na szybko zrobione :p

 

Ok, ale minimum 2 ify całkowicie zbędne.
Opublikowano

Aaaaaaaaaaaaaaaa a ja już dostaje alerty że widoczność kostiumu wrzucili. W sumie się przyda na 2 rodzaje fryzur, dzięki!

Opublikowano

Aaaaaaaaaaaaaaaa a ja już dostaje alerty że widoczność kostiumu wrzucili. W sumie się przyda na 2 rodzaje fryzur, dzięki!

Mądra osoba z tego poradnika sobie zrobi na wszystko, wystarczy zmienić nazwy. ;pp

Opublikowano

Emm... na cholerę dajesz LC_TEXT jak piszesz polskie komunikaty?

Podaj jeden dobry argument przeciw używaniu LC_TEXT a również przestanę. :3

 

 

 

Emm... na cholerę dajesz LC_TEXT jak piszesz polskie komunikaty?

Podaj jeden dobry argument przeciw używaniu LC_TEXT a również przestanę. :3

 

Dobrego argumentu nie mam, ale po co tego używać skoro normalnie wczytuje polski tekst bez tego? Tutaj odp, a na gg to co?

 

Widzisz a ja mam dobry argument by stosować, w przypadku "literówek" nie musisz kompilować by zmienić tylko reload i wszystko jest poprawione. Na gg różnie bywam i różnie mam ochotę/chęci odpisywać.
Opublikowano

 

Emm... na cholerę dajesz LC_TEXT jak piszesz polskie komunikaty?

Podaj jeden dobry argument przeciw używaniu LC_TEXT a również przestanę. :3
Dobrego argumentu nie mam, ale po co tego używać skoro normalnie wczytuje polski tekst bez tego? Tutaj odp, a na gg to co?

BxFcm1v.gif

 

Opublikowano

 

 

Emm... na cholerę dajesz LC_TEXT jak piszesz polskie komunikaty?

Podaj jeden dobry argument przeciw używaniu LC_TEXT a również przestanę. :3

 

Nie syfi syserra.

 

o.O

Opublikowano

 

 

 

Emm... na cholerę dajesz LC_TEXT jak piszesz polskie komunikaty?

Podaj jeden dobry argument przeciw używaniu LC_TEXT a również przestanę. :3

 

Nie syfi syserra.

 

o.O

 

locale_find: LOCALE_ERROR: "Nie mozesz tego wykonac. Jestes przemieniony w potwora.";

 

:*

Opublikowano

Używanie LC_TEXT jest przyjemniejsze ze względu na późniejszą konfigurację. Będzie tekst do poprawienia bo np literówka? Szybciej znajdziecie w locale_string. Będziecie chcieli serwer dać po angielsku? Szybciej przetłumaczycie locale_string.

 

Opublikowano

 

 

 

 

Emm... na cholerę dajesz LC_TEXT jak piszesz polskie komunikaty?

Podaj jeden dobry argument przeciw używaniu LC_TEXT a również przestanę. :3

 

Nie syfi syserra.

 

o.O

 

locale_find: LOCALE_ERROR: "Nie mozesz tego wykonac. Jestes przemieniony w potwora.";

 

:*

 

._.  :yay:

Opublikowano

 

 

 

 

 

Emm... na cholerę dajesz LC_TEXT jak piszesz polskie komunikaty?

Podaj jeden dobry argument przeciw używaniu LC_TEXT a również przestanę. :3

 

Nie syfi syserra.

 

o.O

 

locale_find: LOCALE_ERROR: "Nie mozesz tego wykonac. Jestes przemieniony w potwora.";

 

:*

 

._.  :yay:

 

xD

  • 1 rok później...

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...