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

Maksymalny Stack przedmiotów source


Rekomendowane odpowiedzi

Opublikowano

Siemanko!


Mam problem, otóż chciałem dodać sobie większy stack przedmiotów na moim serwerze(source).


Po części się udało, lecz jest jeden błąd.


-Mogę łączyć przedmioty do 1000sztuk, przywoływać, handlować, sprzedawać itd(kolor niebieski zaznaczone), lecz gdy przełożę stackiem większym niż 256 na inną pozycję w eq to się rozdziela(zaznaczone kolor czerwony jak to wygląda).


Głowię się nad tym od 2 dni i szukam błędu proszę o pomoc, dzięki kumple!


ss:


 


2ls8saa.jpg


 


 


 



Omnes puerum deriserunt.

Opublikowano

Nie edytowaleś jednej rzeczy w bince.

Właśnie, nie mogę tej rzeczy coś znaleźć. Jak ktoś się orientuję to proszę o informację chociaż w jakim pliku.


Omnes puerum deriserunt.

Opublikowano

Właśnie, nie mogę tej rzeczy coś znaleźć. Jak ktoś się orientuję to proszę o informację chociaż w jakim pliku.

O ile pamietam to w PythonNetworkStreamPhaseGameItem.cpp

 

bool CPythonNetworkStream::SendItemMovePacket(TItemPos pos, TItemPos change_pos, BYTE num)

 

na

 

bool CPythonNetworkStream::SendItemMovePacket(TItemPos pos, TItemPos change_pos, int num)

Opublikowano

O ile pamietam to w PythonNetworkStreamPhaseGameItem.cpp

 

bool CPythonNetworkStream::SendItemMovePacket(TItemPos pos, TItemPos change_pos, BYTE num)

 

na

 

bool CPythonNetworkStream::SendItemMovePacket(TItemPos pos, TItemPos change_pos, int num)

 

 

bool CPythonNetworkStream::SendItemMovePacket(TItemPos pos, TItemPos change_pos, WORD num)
{	
	if (!__CanActMainInstance())
		return true;
	
	if (__IsEquipItemInSlot(pos))
	{
		if (CPythonExchange::Instance().isTrading())
		{
			if (pos.IsEquipCell() || change_pos.IsEquipCell())
			{
				PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_AppendNotifyMessage", Py_BuildValue("(s)", "CANNOT_EQUIP_EXCHANGE"));
				return true;
			}
		}

		if (CPythonShop::Instance().IsOpen())
		{
			if (pos.IsEquipCell() || change_pos.IsEquipCell())
			{
				PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_AppendNotifyMessage", Py_BuildValue("(s)", "CANNOT_EQUIP_SHOP"));
				return true;
			}
		}

		if (__IsPlayerAttacking())
			return true;
	}

	__PlayInventoryItemDropSound(pos);

	TPacketCGItemMove	itemMovePacket;
	itemMovePacket.header = HEADER_CG_ITEM_MOVE;
	itemMovePacket.pos = pos;
	itemMovePacket.change_pos = change_pos;
	itemMovePacket.num = num;

	if (!Send(sizeof(TPacketCGItemMove), &itemMovePacket))
	{
		Tracen("SendItemMovePacket Error");
		return false;
	}

	return SendSequence();
}

 

 

Mam tą funkcję edytowaną, to coś innego.


Omnes puerum deriserunt.

Opublikowano

 

 

bool CPythonNetworkStream::SendItemMovePacket(TItemPos pos, TItemPos change_pos, WORD num)
{	
	if (!__CanActMainInstance())
		return true;
	
	if (__IsEquipItemInSlot(pos))
	{
		if (CPythonExchange::Instance().isTrading())
		{
			if (pos.IsEquipCell() || change_pos.IsEquipCell())
			{
				PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_AppendNotifyMessage", Py_BuildValue("(s)", "CANNOT_EQUIP_EXCHANGE"));
				return true;
			}
		}

		if (CPythonShop::Instance().IsOpen())
		{
			if (pos.IsEquipCell() || change_pos.IsEquipCell())
			{
				PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_AppendNotifyMessage", Py_BuildValue("(s)", "CANNOT_EQUIP_SHOP"));
				return true;
			}
		}

		if (__IsPlayerAttacking())
			return true;
	}

	__PlayInventoryItemDropSound(pos);

	TPacketCGItemMove	itemMovePacket;
	itemMovePacket.header = HEADER_CG_ITEM_MOVE;
	itemMovePacket.pos = pos;
	itemMovePacket.change_pos = change_pos;
	itemMovePacket.num = num;

	if (!Send(sizeof(TPacketCGItemMove), &itemMovePacket))
	{
		Tracen("SendItemMovePacket Error");
		return false;
	}

	return SendSequence();
}

 

 

Mam tą funkcję edytowaną, to coś innego.

No wlasnie nie masz zmienione tak jak napisalem.

Opublikowano

No wlasnie nie masz zmienione tak jak napisalem.

Mam byte na word. Stosuje zmienną word zamiast int (max. wartość 65535) więc jest dobra.


Omnes puerum deriserunt.

Opublikowano

Naprawione, okazało się, że w jednym pliku pominąłem (BYTE). Schował się dziad xD. Dzięki za chęć pomocy @1361622928-U485574.pngQarth ! Do zamknięcia!


Omnes puerum deriserunt.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...