Pickup Filter

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Avatar utilizator
wedi.
Utilizator interzis !

Utilizator interzis !
Mesaje: 84
Membru din: 16 Ian 2020, 21:09
Server: dev2
Regat: Shinsoo
Aprecieri: 11  
Mulţumiri: 9  
Discord: Copiază ID
Medalii

lasă şi tu funcţia cu case-urile aici.
Avatar utilizator
Redder
Nivel 3

Nivel 3
Mesaje: 326
Membru din: 10 Iun 2017, 12:42
Aprecieri: 119  
Mulţumiri: 8  
Medalii

wedi. scrie: ↑16 Ian 2020, 21:20 lasă şi tu funcţia cu case-urile aici.

PythonPlayer.cpp

Cod: Selectaţi tot

void CPythonPlayer::SendClickItemPacket(DWORD dwIID)
{

	if (IsObserverMode())
		return;

	const char * c_szOwnerName;
	CItemData * pItemData;
	if (!CPythonItem::Instance().GetOwnership(dwIID, &c_szOwnerName))
		return;
	if (strlen(c_szOwnerName) > 0)
		if (0 != strcmp(c_szOwnerName, GetName()))
		{

			if (!CItemManager::Instance().GetItemDataPointer(CPythonItem::Instance().GetVirtualNumberOfGroundItem(dwIID), &pItemData))
			{
				Tracenf("CPythonPlayer::SendClickItemPacket(dwIID=%d) : Non-exist item.", dwIID);
				return;
			}

			if (!IsPartyMemberByName(c_szOwnerName) || pItemData->IsAntiFlag(CItemData::ITEM_ANTIFLAG_DROP | CItemData::ITEM_ANTIFLAG_GIVE))
			{
				PyCallClassMemberFunc(m_ppyGameWindow, "OnCannotPickItem", Py_BuildValue("()"));
				return;
			}
		}
	if (!CItemManager::Instance().GetItemDataPointer(CPythonItem::Instance().GetVirtualNumberOfGroundItem(dwIID), &pItemData))
	{
		Tracenf("CPythonPlayer::SendClickItemPacket(dwIID=%d) : Non-exist item.", dwIID);
		return;
	}
	CPythonNetworkStream& rkNetStream = CPythonNetworkStream::Instance();
	if (CPythonSystem::Instance().IsPickUpFilterWeapon() && 
		!pItemData->IsWearableFlag(CItemData::WEARABLE_WEAPON))
			rkNetStream.SendItemPickUpPacket(dwIID);
	else if (CPythonSystem::Instance().IsPickUpFilterArmor() &&
		!pItemData->IsWearableFlag(CItemData::WEARABLE_BODY))
			rkNetStream.SendItemPickUpPacket(dwIID);
	else if (CPythonSystem::Instance().IsPickUpFilterEar() &&
		!pItemData->IsWearableFlag(CItemData::WEARABLE_EAR))
			rkNetStream.SendItemPickUpPacket(dwIID);
	else if (CPythonSystem::Instance().IsPickUpFilterNeck() &&
		!pItemData->IsWearableFlag(CItemData::WEARABLE_NECK))
			rkNetStream.SendItemPickUpPacket(dwIID);
	else if (CPythonSystem::Instance().IsPickUpFilterFoots() &&
		!pItemData->IsWearableFlag(CItemData::WEARABLE_FOOTS))
			rkNetStream.SendItemPickUpPacket(dwIID);
	else if (CPythonSystem::Instance().IsPickUpFilterShield() &&
		!pItemData->IsWearableFlag(CItemData::WEARABLE_SHIELD))
			rkNetStream.SendItemPickUpPacket(dwIID);
	else if (CPythonSystem::Instance().IsPickUpFilterStone() &&
		!pItemData->GetType() == CItemData::ITEM_TYPE_METIN)
			rkNetStream.SendItemPickUpPacket(dwIID);
	else if (!CPythonSystem::Instance().IsPickUpFilterWeapon() && !CPythonSystem::Instance().IsPickUpFilterArmor() && !CPythonSystem::Instance().IsPickUpFilterEar()
		&& !CPythonSystem::Instance().IsPickUpFilterNeck() && !CPythonSystem::Instance().IsPickUpFilterFoots() &&
		!CPythonSystem::Instance().IsPickUpFilterShield() &&
		!CPythonSystem::Instance().IsPickUpFilterStone())
		rkNetStream.SendItemPickUpPacket(dwIID);
}
Avatar utilizator
Redder
Nivel 3

Nivel 3
Mesaje: 326
Membru din: 10 Iun 2017, 12:42
Aprecieri: 119  
Mulţumiri: 8  
Medalii

push
Avatar utilizator
Redder
Nivel 3

Nivel 3
Mesaje: 326
Membru din: 10 Iun 2017, 12:42
Aprecieri: 119  
Mulţumiri: 8  
Medalii

upp
Avatar utilizator
Redder
Nivel 3

Nivel 3
Mesaje: 326
Membru din: 10 Iun 2017, 12:42
Aprecieri: 119  
Mulţumiri: 8  
Medalii

upp
Avatar utilizator
Redder
Nivel 3

Nivel 3
Mesaje: 326
Membru din: 10 Iun 2017, 12:42
Aprecieri: 119  
Mulţumiri: 8  
Medalii

upp
Închis
Răspunsuri
3
Vizualizări
461
Răspunsuri
1
Vizualizări
148
Răspunsuri
1
Vizualizări
65

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie