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/7bon tylko w kostiumach


Rekomendowane odpowiedzi

Opublikowano

@

@

@

@

@

@

@

@

@
@

@

@

@

@

@

@

CLIENT:

 

 

w uiInventory.py szukasz:

			elif "USE_CHANGE_ATTRIBUTE" == useType:
				if self.__CanChangeItemAttrList(dstSlotPos):
					return True

zmianiasz na:

			elif "USE_CHANGE_ATTRIBUTE" == useType:
				if srcItemVNum == 71052:
					if self.__CanChangeCostumeAttrList(dstSlotPos):
						return True
				else:
					if self.__CanChangeItemAttrList(dstSlotPos):
						return True

szukasz:

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

zmianiasz na:

			elif "USE_ADD_ATTRIBUTE" == useType:
				if srcItemVNum == 71051:
					if self.__CanAddCostumeAttrList(dstSlotPos):
						return True
				else:
					if self.__CanAddItemAttr(dstSlotPos):
						return True

szukasz:

	def __CanChangeItemAttrList(self, dstSlotPos):

i gdzieś nad tą funkcją dodajesz:

	def __CanChangeCostumeAttrList(self, dstSlotPos):
		dstItemVNum = player.GetItemIndex(dstSlotPos)
		if dstItemVNum == 0:
			return False

		item.SelectItem(dstItemVNum)

		if item.GetItemType() == item.ITEM_TYPE_COSTUME:
			return True

		return False

	def __CanAddCostumeAttrList(self, dstSlotPos):
		dstItemVNum = player.GetItemIndex(dstSlotPos)
		if dstItemVNum == 0:
			return False

		item.SelectItem(dstItemVNum)
		
		if item.GetItemType() == item.ITEM_TYPE_COSTUME:
			return True

		return False

 

 

GAME:

 

 

game/src/char_item.cpp:

							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 (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;

							case 71052 : // ???
								{
									// ??, ???, ??? ??? ????
									if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam())
										return false;

									LPITEM item2;

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

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

									if (item2->GetAttributeSetIndex() == -1)
									{
										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("??? ??? ? ?? ??????."));
										return false;
									}

									if (item2->ChangeRareAttribute() == true)
									{
										char buf[21];
										snprintf(buf, sizeof(buf), "%u", item2->GetID());
										LogManager::instance().ItemLog(this, item, "CHANGE_RARE_ATTR", buf);

										item->SetCount(item->GetCount() - 1);
									}
									else
									{
										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?? ?? ??? ????"));
									}
								}
								break;

zamianiasz na:

							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;

							case 71052 : // ???
								{
									// ??, ???, ??? ??? ????
									//if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam())
									//	return false;

									LPITEM item2;

									if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
										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->ChangeRareAttribute() == true)
									{
										char buf[21];
										snprintf(buf, sizeof(buf), "%u", item2->GetID());
										LogManager::instance().ItemLog(this, item, "CHANGE_RARE_ATTR", buf);

										item->SetCount(item->GetCount() - 1);
									}
									else
									{
										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("?? ?? ??? ????"));
									}
								}
								break;

 

 

WPISY:

 

 

cl:

71051	heheso	ITEM_USE	USE_ADD_ATTRIBUTE	1	ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP	ITEM_STACKABLE	NONE	NONE	0	0	0	0	0	LIMIT_NONE	0	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	0	0	0	0	0	0	0	0	0
71052	heheso2	ITEM_USE	USE_CHANGE_ATTRIBUTE	1	ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP	ITEM_STACKABLE	NONE	NONE	0	0	0	0	0	LIMIT_NONE	0	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	0	0	0	0	0	0	0	0	0

sf:

71051	"heheso"	"ITEM_USE"	"USE_SPECIAL"	1	"ANTI_DROP" | "ANTI_SELL" | "ANTI_GIVE" | "ANTI_MYSHOP"	"ITEM_STACKABLE"	"NONE"	"NONE"	0	0	0	0	0	"LIMIT_NONE"	0	"LIMIT_NONE"	0	"APPLY_NONE"	0	"APPLY_NONE"	0	"APPLY_NONE"	0	0	0	0	0	0	0	0	0	0
71052	"heheso2"	"ITEM_USE"	"USE_SPECIAL"	1	"ANTI_DROP" | "ANTI_SELL" | "ANTI_GIVE" | "ANTI_MYSHOP"	"ITEM_STACKABLE"	"NONE"	"NONE"	0	0	0	0	0	"LIMIT_NONE"	0	"LIMIT_NONE"	0	"APPLY_NONE"	0	"APPLY_NONE"	0	"APPLY_NONE"	0	0	0	0	0	0	0	0	0	0

 

 

Po co to dałem skoro dla niektórych to takie proste? Żeby ktoś to sprawdził, poza tym to moja pierwsza taka praca ;x

Dzięki za pomoc :

@1361622928-U485574.pngLajkkk

@Andryw

@ZoneWar.pl

Opublikowano

@up

To k***a z czystej przyzwoitości napisałby co i jak oraz oznaczył @Andryw, że mu pomógł lub cokolwiek :___:

 

Hahaha padłem...

Najpierw piszesz kolego w dziale pomoc w tworzeniu serwerów, ludzie ci pomogli a teraz zrobił poradnik ...

@link: http://www.mpcforum.pl/topic/1508792-67-bon-tylko-w-kostiumach-c 

eee chwila chwila chwila xD

@Andryw

w temacie był kod:

http://wklej.to/ak83G

konkretniej chodzi o to:

(item2->GetType() == ITEM_COSTUME && item2->GetSubType() == COSTUME_BODY)

twój post:

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

 

jak widać mam warunek sprawdzający i mam setcount w kodzie, więc w niczym mi nie pomogłeś, bo ze dodać warunek to ja wiedziałem, sam doszedłem do tego jaki to if. z małą pomocą Lajka, co do pythona posłużyłem się kodem z m2dev i go przerobiłem, szczerze i z ręką na sercu mogę powiedzieć ze nie skorzystałem z twojego kodu. Nie stresuj się bo nie chodziło mi o durnego plusa, dałem żeby ktoś mi to sprawdził, ale spoko, jeśli masz taki ból to Ci zaraz limit dam ehh..

 

Oznaczył byś Andrwa jak Ci pomógł ... a nie udajesz mądrego. hahahah

No spierdalaj :) napisanie jednego ifa to kwestia jednego poradnika, nie wiem o jakiej mądrości mówisz ;x

Opublikowano

eee chwila chwila chwila xD

@Andryw

w temacie był kod:

http://wklej.to/ak83G

konkretniej chodzi o to:

(item2->GetType() == ITEM_COSTUME && item2->GetSubType() == COSTUME_BODY)

twój post:

 

jak widać mam warunek sprawdzający i mam setcount w kodzie, więc w niczym mi nie pomogłeś, bo ze dodać warunek to ja wiedziałem, sam doszedłem do tego jaki to if. z małą pomocą Lajka, co do pythona posłużyłem się kodem z m2dev i go przerobiłem, szczerze i z ręką na sercu mogę powiedzieć ze nie skorzystałem z twojego kodu. Nie stresuj się bo nie chodziło mi o durnego plusa, dałem żeby ktoś mi to sprawdził, ale spoko, jeśli masz taki ból to Ci zaraz limit dam ehh..

 

No spierdalaj :) napisanie jednego ifa to kwestia jednego poradnika, nie wiem o jakiej mądrości mówisz ;x

 

tu nie chodzi ani o mnie, ani o lajki, które mam gdzieś :) (jak chyba każdy na tym forum)

chodzi mi o czystą przyzwoitość - widziałem, że np Lajk Ci pomagał więc wypadałoby by wspomnieć, że dzięki pomocy użytkowników forum udostępniam wam czy coś w tym stylu.

Opublikowano

tu nie chodzi ani o mnie, ani o lajki, które mam gdzieś :) (jak chyba każdy na tym forum)

chodzi mi o czystą przyzwoitość - widziałem, że np Lajk Ci pomagał więc wypadałoby by wspomnieć, że dzięki pomocy użytkowników forum udostępniam wam czy coś w tym stylu.

Naprowadził mnie na dobrą drogę z tym ifem, po prostu wydawało mi się to zbyt proste, nawet na udostępnianie, chciałem tylko żeby ktoś to sprawdził, mój błąd wybaczcie, zaraz poprawię, poza tym to mój pierwszy "poradnik" nie wiedziałem xD

Opublikowano

Japierdole... Nie lepiej tak:

									if (item2->GetType() != ITEM_COSTUME)
									{
										ChatPacket(CHAT_TYPE_INFO, "Przedmiot przeznaczony wyłącznie do kostiumów!");
										return false;
									}

									if (item2->GetType() == ITEM_COSTUME)
									{
										ChatPacket(CHAT_TYPE_INFO, "Zwykłe wzmocnienie nie jest przeznaczone do kostiumów.");
										return false;
									}

Prościej i szybciej ręce opadają.

@.Dynamic sorry mordko nie zauważyłem.


Omnes puerum deriserunt.

Opublikowano

Japierdole... Nie lepiej tak:

									if (item2->GetType() != ITEM_COSTUME)
									{
										ChatPacket(CHAT_TYPE_INFO, "Przedmiot przeznaczony wyłącznie do kostiumów!");
										return false;
									}

									if (item2->GetType() == ITEM_COSTUME)
									{
										ChatPacket(CHAT_TYPE_INFO, "Zwykłe wzmocnienie nie jest przeznaczone do kostiumów.");
										return false;
									}

Prościej i szybciej ręce opadają.

jak byś nie widział : http://scr.hu/1up6/e5mo6

http://scr.hu/1up6/m5epr

 

kk xD

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...