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

Nieskończone rosy, atak boga, dłoń krytyka itp


Rekomendowane odpowiedzi

Opublikowano

Cześć może mi ktoś powiedzieć gdzie mogę ustawić nieskończone rosy, atak boga, dłoń krytyka itp ew pomóc 

mamy w char_item.cpp case ITEM_USE czy jak zmienię wartości if (item->GetVnum() > 50800 && item->GetVnum() <= 50820) na id rosek itp to będą nieskończone czy muszę dodać poniżej następne case z atrybutami 

		case ITEM_USE:
			{
				if (item->GetVnum() > 50800 && item->GetVnum() <= 50820) //Wody 50813-20
				{
					if (test_server)
						sys_log (0, "ADD addtional effect : vnum(%d) subtype(%d)", item->GetOriginalVnum(), item->GetSubType());

					int affect_type = AFFECT_EXP_BONUS_EURO_FREE;
					int apply_type = aApplyInfo[item->GetValue(0)].bPointType;
					int apply_value = item->GetValue(2);
					int apply_duration = item->GetValue(1);

					switch (item->GetSubType())
					{
						case USE_ABILITY_UP:
							if (FindAffect(affect_type, apply_type))
							{
								ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이미 효과가 걸려 있습니다."));
								return false;
							}

							{
								switch (item->GetValue(0))
								{
									case APPLY_MOV_SPEED:
										AddAffect(affect_type, apply_type, apply_value, AFF_MOV_SPEED_POTION, apply_duration, 0, true, true);
										break;

									case APPLY_ATT_SPEED:
										AddAffect(affect_type, apply_type, apply_value, AFF_ATT_SPEED_POTION, apply_duration, 0, true, true);
										break;

									case APPLY_STR:
									case APPLY_DEX:
									case APPLY_CON:
									case APPLY_INT:
									case APPLY_CAST_SPEED:
									case APPLY_RESIST_MAGIC:
									case APPLY_ATT_GRADE_BONUS:
									case APPLY_DEF_GRADE_BONUS:
										AddAffect(affect_type, apply_type, apply_value, 0, apply_duration, 0, true, true);
										break;
								}
							}

							if (GetDungeon())
								GetDungeon()->UsePotion(this);

							if (GetWarMap())
								GetWarMap()->UsePotion(this, item);

							item->SetCount(item->GetCount() - 1);
							break;
									case APPLY_DEX:
									case APPLY_CON:
									case APPLY_INT:
									case APPLY_CAST_SPEED:
									case APPLY_RESIST_MAGIC:
									case APPLY_ATT_GRADE_BONUS:
									case APPLY_DEF_GRADE_BONUS:

Co z funkcją USE_AFFECT ? może wystarczy tutaj dodać komentarz blokowy ?

					case USE_AFFECT :
						{
							if (FindAffect(AFFECT_EXP_BONUS_EURO_FREE, aApplyInfo[item->GetValue(1)].bPointType))
							{
								ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이미 효과가 걸려 있습니다."));
							}
							else
							{
								// PC_BANG_ITEM_ADD
								if (item->IsPCBangItem() == true)
								{
									// PC방인지 체크해서 처리
									if (CPCBangManager::instance().IsPCBangIP(GetDesc()->GetHostName()) == false)
									{
										// PC방이 아님!
										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이 아이템은 PC방에서만 사용할 수 있습니다."));
										return false;
									}
								}
								// END_PC_BANG_ITEM_ADD

								AddAffect(AFFECT_EXP_BONUS_EURO_FREE, aApplyInfo[item->GetValue(1)].bPointType, item->GetValue(2), 0, item->GetValue(3), 0, false, true);
								item->SetCount(item->GetCount() - 1);

Jeszcze co mi przychodzi to funkcja USE_POTION_NODELAY czy jakbym użył rosek ? wiem że "używa potek bez czasu" ale gdyby spróbować?

No i na koniec 

							if (used)
							{
								if (item->GetVnum() == 50085 || item->GetVnum() == 50086) ID itemów które działają jak setki 
								{
									if (test_server)
										ChatPacket(CHAT_TYPE_INFO, LC_TEXT("월병 또는 종자 를 사용하였습니다"));
									SetUseSeedOrMoonBottleTime();
								}

 

Więc jest ktoś w stanie pomóc ?

Opublikowano
21 minut temu, Intern napisał:

//item->SetCount(item->GetCount() - 1);

 

Tyle to i ja wiem żeby tak zrobić ale chodzi mi o id czy jeśli wpiszę to nie będzie pobierało mi np rosek tylko będzie nieskończona i czy muszę coś dopisywać oprócz id 

Opublikowano
2 godziny temu, Owocek14 napisał:

Tyle to i ja wiem żeby tak zrobić ale chodzi mi o id czy jeśli wpiszę to nie będzie pobierało mi np rosek tylko będzie nieskończona i czy muszę coś dopisywać oprócz id 

Na logikę, jeśli wyłączysz z działania funkcję, która odpowiada za odejmowanie ilości to jak może ci nadal odejmować? Np. masz 100ros ros itd. i użyjesz to nadal będziesz miał te 100 bo nie ma funkcji która zabiera po użyciu.

Opublikowano

Nie rozumiemy się ..

Powiedz mi która linijka odpowiada za rosy, ataki itp ?

bo przecież nie chcę wszystkiego wyłączać i szukać teraz item->SetCount(item->GetCount() - 1);

Znalazłem rozwiązanie dodam bo może ktoś będzie szukać ale tylko daje nieskończone rosy

		case ITEM_BLEND: //Rosy

			sys_log(0,"ITEM_BLEND!!");
			if (Blend_Item_find(item->GetVnum()))
			{
				int		affect_type		= AFFECT_BLEND;
				if (item->GetSocket(0) >= _countof(aApplyInfo))
				{
					sys_err ("INVALID BLEND ITEM(id : %d, vnum : %d). APPLY TYPE IS %d.", item->GetID(), item->GetVnum(), item->GetSocket(0));
					return false;
				}
				int		apply_type		= aApplyInfo[item->GetSocket(0)].bPointType;
				int		apply_value		= item->GetSocket(1);
				int		apply_duration	= item->GetSocket(2);
				
				if (FindAffect(affect_type, apply_type))
				{
					ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이미 효과가 걸려 있습니다."));
				}
				else
				{
					if (FindAffect(AFFECT_EXP_BONUS_EURO_FREE, POINT_RESIST_MAGIC))
					{
						ChatPacket(CHAT_TYPE_INFO, LC_TEXT("이미 효과가 걸려 있습니다."));
					}
					else
					{
						AddAffect(affect_type, apply_type, apply_value, 0, apply_duration, 0, false);
						item->SetCount(item->GetCount() - 1); // Tutaj dodajemy komentarz blokowy
					}
				}
			}

Proszę o zamknięcie 

  • Aive zablokował(a) ten temat

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...