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

6/7 bon tylko w kostiumach c++


Rekomendowane odpowiedzi

Opublikowano

nie chcę robić tego za Ciebie bo się nie nauczysz ;) Chcesz tylko w kostiumach i nie zabiera dodania - więc pomyśl..

daj instrukcje, która sprawdza type i dodaj setcount - to wszystko

Opublikowano
									if (item2->GetType() == ITEM_WEAPON && item2->GetType() == ITEM_ARMOR)
									{
										return false;
									}

Nie wiem czy to jest dobrze więc skompiluj i sprawdź czy możesz dodać do Zbroi i Broni. ;)

 

nie chcę robić tego za Ciebie bo się nie nauczysz ;) Chcesz tylko w kostiumach i nie zabiera dodania - więc pomyśl..

daj instrukcje, która sprawdza type i dodaj setcount - to wszystko

Ja tam wole porobić - czegoś się naucze :D

HIsRtAj.png

Opublikowano
									if (item2->GetType() == ITEM_WEAPON && item2->GetType() == ITEM_ARMOR)
									{
										return false;
									}
Nie wiem czy to jest dobrze więc skompiluj i sprawdź czy możesz dodać do Zbroi i Broni. ;)

 

Ja tam wole porobić - czegoś się naucze :D

Nie jestem aktualnie na PC ale pisząc taka instrukcje musialbym jeszcze dopisać || kolczyki || buty

Opublikowano

Nie jestem aktualnie na PC ale pisząc taka instrukcje musialbym jeszcze dopisać && kolczyki && buty

nie możesz dać item_weapon && item_armor, && - dotyczy pierwszego warunku. Musi być "||"

 

(coś nie może mieć równocześnie typu broni i zbroi - dla niekumatych)

Opublikowano

 

if (item2->GetType() == ITEM_WEAPON && item2->GetType() == ITEM_ARMOR)									{										return false;									}
Nie wiem czy to jest dobrze więc skompiluj i sprawdź czy możesz dodać do Zbroi i Broni. ;)

 

Ja tam wole porobić - czegoś się naucze :D

if ((item2->AddRareAttribute() == true)&&(item2->GetType() == ITEM_COSTUME && item2->GetSubType() == COSTUME_BODY))                                    {                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("성공적으로 속성이 추가 되었습니다"));
dodałem tą instrukcję która sprawdza type

a Cout już był

item->SetCount(item->GetCount() - 1);
po dodaniu tego
(item2->GetType() == ITEM_COSTUME && item2->GetSubType() == COSTUME_BODY)
nie odejmuje dodania

 

Chyba BD musiał się przyjrzeć funkcji GetAttributeSetIndex lub addRareAttribute a nie dodawać taki warunek co myślicie ?

Opublikowano

działa jak należy:

						case 71051 : // 진재가
								{
									// 유럽, 싱가폴, 베트남 진재가 사용금지
									//if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam())
									//	return false;

									LPITEM item2;

									if (!IsValidItemPosition(DestCell) || !(item2 = GetInventoryItem(wDestCell)))
										return false;

									if (item2->IsExchanging() == true)
										return false;

									if (item2->GetAttributeSetIndex() == -1)
									{
										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
										return false;
									}
									
									if(ITEM_COSTUME != item2->GetType())
										return false;
									
									if (item2->AddRareAttribute() == true)
									{
										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("성공적으로 속성이 추가 되었습니다"));

										int iAddedIdx = item2->GetRareAttrCount() + 4;
										char buf[21];
										snprintf(buf, sizeof(buf), "%u", item2->GetID());

										LogManager::instance().ItemLog(
												GetPlayerID(),
												item2->GetAttributeType(iAddedIdx),
												item2->GetAttributeValue(iAddedIdx),
												item->GetID(),
												"ADD_RARE_ATTR",
												buf,
												GetDesc()->GetHostName(),
												item->GetOriginalVnum());

										item->SetCount(item->GetCount() - 1);
									}
									else
									{
										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("더 이상 이 아이템으로 속성을 추가할 수 없습니다"));
									}
								}
								break;

jeszcze tylko problem bo w cliencie mam USE_ADD_ATTRIBUTE więc jak chce dodać do kostiumu mam na czerwono a jak do np broni to na złoto xD można to jakoś obejść? w którym pliku grzebać?

http://scr.hu/1up6/3mcic
http://scr.hu/1up6/8y2ry
 

domyślam się że trzeba będzie stworzyć nowy Typ ale czy to nie bedzie kolidowało z serverem

Opublikowano

domyślam się że trzeba będzie stworzyć nowy Typ ale czy to nie bedzie kolidowało z serverem

 

 

Ref

 

ehh sami nic nie pomyślicie ale proszę :

 

uiinventory.py

 

znajdź:

			elif "USE_ADD_ATTRIBUTE" == useType:
				if self.__CanAddItemAttr(dstSlotPos):
					return True

zmień na:

			elif "USE_ADD_ATTRIBUTE" == useType:
				if self.__CanAddItemAttr(dstSlotPos):
					return True
				if self.__CanAddItemAttr2(dstSlotPos):
					return True

a i oczywiście funkcja xD

 

znajdź:

def __CanAddItemAttr(self, dstSlotPos):

pod tą funkcją dodaj nową funkcję:

	def __CanAddItemAttr2(self, dstSlotPos):
		return True

 

oczywiście to tak najprościej zawsze zwróci true dodaj sobie warunek na kostium na podstawie funkcji wyżej i będzie ok

Opublikowano

 

 

 

ehh sami nic nie pomyślicie ale proszę :

 

uiinventory.py

 

znajdź:

			elif "USE_ADD_ATTRIBUTE" == useType:
				if self.__CanAddItemAttr(dstSlotPos):
					return True

zmień na:

			elif "USE_ADD_ATTRIBUTE" == useType:
				if self.__CanAddItemAttr(dstSlotPos):
					return True
				if self.__CanAddItemAttr2(dstSlotPos):
					return True

a i oczywiście funkcja xD

 

znajdź:

def __CanAddItemAttr(self, dstSlotPos):

pod tą funkcją dodaj nową funkcję:

	def __CanAddItemAttr2(self, dstSlotPos):
		return True

 

oczywiście to tak najprościej zawsze zwróci true dodaj sobie warunek na kostium na podstawie funkcji wyżej i będzie ok

poradziłem sobie z tym wcześniej wzorując się na kodzie z m2dev ale dzięki ;)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...