Problema compilare

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
Noby
Nivel 1

Nivel 1
Mesaje: 51
Membru din: 21 Feb 2017, 18:47
Server: Nu
Regat: Jinno
Aprecieri: 47  
Mulţumiri: 3  
Medalii

Salutari, am adaugat asta -> si primesc urmatoarea eroare la compilarea sursei

*Problemă/Întrebare:
Tipologie server: PVM
*Resursă folosită:sursa/affect-blend-potion-t83558.html
*ServerFiles utilizat:MegaRelease
*Syserr:
Poză:https://gyazo.com/bb0e57016feaeceef594d23d47081249
*Detalii suplimentare:


char_affect.cpp partea cu problema| Afiseaza codul
void CHARACTER::ClearAffect(bool bSave)
{
	TAffectFlag afOld = m_afAffectFlag;
	WORD	wMovSpd = GetPoint(POINT_MOV_SPEED);
	WORD	wAttSpd = GetPoint(POINT_ATT_SPEED);

	itertype(m_list_pkAffect) it = m_list_pkAffect.begin();

	while (it != m_list_pkAffect.end())
	{
		CAffect * pkAff = *it;

		if (bSave)
		{
			if ( IS_NO_CLEAR_ON_DEATH_AFFECT(pkAff->dwType) || IS_NO_SAVE_AFFECT(pkAff->dwType) )
			{
				++it;
				continue;
			}

#ifdef ENABLE_NEW_AFFECT_POTION
int listAffects[] = {
        AFFECT_POTION_1,
        AFFECT_POTION_2,
        AFFECT_POTION_3,
        AFFECT_POTION_4,
        AFFECT_POTION_5,
        AFFECT_POTION_6
};

for (int i = 0; i < _countof(listAffects); i++) 
{
        if (pkAff - > dwType == listAffects) 
		{
                ++it;
                continue;
        }
}
#endif
		
Avatar utilizator
[GabrieL]
Utilizator interzis !

Utilizator interzis !
Mesaje: 288
Membru din: 31 Aug 2014, 10:24
Server: Metin2Class
Regat: Shinsoo
Aprecieri: 21  
Mulţumiri: 445  
Discord: Copiază ID
Medalii

if (pkAff - > dwType == listAffects) //// sterge spatiul dintre "-" si ">" pentru ca nu ti-l ma ia drept pointer/structura sau cum e declarat el.
Avatar utilizator
Noby
Nivel 1

Nivel 1
Mesaje: 51
Membru din: 21 Feb 2017, 18:47
Server: Nu
Regat: Jinno
Aprecieri: 47  
Mulţumiri: 3  
Medalii

gaby22gaby scrie: ↑16 Apr 2020, 09:06 if (pkAff - > dwType == listAffects) //// sterge spatiul dintre "-" si ">" pentru ca nu ti-l ma ia drept pointer/structura sau cum e declarat el.
Am facut, acum primesc asta https://gyazo.com/aadc2623841805b45df4a011a7dcf22d

char_item.cpp| Afiseaza codul
void CHARACTER::UseSilkBotary(void)
{
	if (m_bNoOpenedShop) {
		DWORD dwPlayerID = GetPlayerID();
		db_clientdesc->DBPacket(HEADER_GD_MYSHOP_PRICELIST_REQ, GetDesc()->GetHandle(), &dwPlayerID, sizeof(DWORD));
		m_bNoOpenedShop = false;
	} else {
		__OpenPrivateShop();
	}
#ifdef ENABLE_NEW_AFFECT_POTION
void CHARACTER::SetAffectPotion(LPITEM item)
{
int listAffectPotion[] =
{
AFFECT_POTION_1, AFFECT_POTION_2, AFFECT_POTION_3, AFFECT_POTION_4, AFFECT_POTION_5, AFFECT_POTION_6};

int listVnums[] =
{50821, 50822, 50823, 50824, 50825, 50826};

for (int i = 0; i < _countof(listVnums); i++)
{
if (item->GetVnum() == listVnums)
{
AddAffect(listAffectPotion, APPLY_NONE, 0, AFF_NONE, item->GetSocket(2), 0, false, false);
ChatPacket(CHAT_TYPE_INFO, "<Affect Potion> Set icon ingame for item: [%s]", item->GetName());
}
}
}
#endif
char_affect.cpp| Afiseaza codul
void CHARACTER::ClearAffect(bool bSave)
{
	TAffectFlag afOld = m_afAffectFlag;
	WORD	wMovSpd = GetPoint(POINT_MOV_SPEED);
	WORD	wAttSpd = GetPoint(POINT_ATT_SPEED);

	itertype(m_list_pkAffect) it = m_list_pkAffect.begin();

	while (it != m_list_pkAffect.end())
	{
		CAffect * pkAff = *it;

		if (bSave)
		{
			if ( IS_NO_CLEAR_ON_DEATH_AFFECT(pkAff->dwType) || IS_NO_SAVE_AFFECT(pkAff->dwType) )
			{
				++it;
				continue;
			}

#ifdef ENABLE_NEW_AFFECT_POTION
int listAffects[] = {
        AFFECT_POTION_1,
        AFFECT_POTION_2,
        AFFECT_POTION_3,
        AFFECT_POTION_4,
        AFFECT_POTION_5,
        AFFECT_POTION_6
};

for (int i = 0; i < _countof(listAffects); i++) 
{
        if (pkAff -> dwType == listAffects) 
		{
                ++it;
                continue;
        }
}
Avatar utilizator
[GabrieL]
Utilizator interzis !

Utilizator interzis !
Mesaje: 288
Membru din: 31 Aug 2014, 10:24
Server: Metin2Class
Regat: Shinsoo
Aprecieri: 21  
Mulţumiri: 445  
Discord: Copiază ID
Medalii

Incearca sa inlocuiesti functia respectiva cu :
void CHARACTER::ClearAffect(bool bSave)
{
TAffectFlag afOld = m_afAffectFlag;
WORD wMovSpd = GetPoint(POINT_MOV_SPEED);
WORD wAttSpd = GetPoint(POINT_ATT_SPEED);

itertype(m_list_pkAffect) it = m_list_pkAffect.begin();

while (it != m_list_pkAffect.end())
{
CAffect * pkAff = *it;

if (bSave)
{
if ( IS_NO_CLEAR_ON_DEATH_AFFECT(pkAff->dwType) || IS_NO_SAVE_AFFECT(pkAff->dwType) )
{
++it;
continue;
}

if (IsPC())
{
SendAffectRemovePacket(GetDesc(), GetPlayerID(), pkAff->dwType, pkAff->bApplyOn);
}
}

ComputeAffect(pkAff, false);

it = m_list_pkAffect.erase(it);
CAffect::Release(pkAff);
}

if (afOld != m_afAffectFlag ||
wMovSpd != GetPoint(POINT_MOV_SPEED) ||
wAttSpd != GetPoint(POINT_ATT_SPEED))
UpdatePacket();

CheckMaximumPoints();

if (m_list_pkAffect.empty())
event_cancel(&m_pkAffectEvent);
}
Pentru acest mesaj, [GabrieL] for the post:
brmmark
Avatar utilizator
Noby
Nivel 1

Nivel 1
Mesaje: 51
Membru din: 21 Feb 2017, 18:47
Server: Nu
Regat: Jinno
Aprecieri: 47  
Mulţumiri: 3  
Medalii

gaby22gaby scrie: ↑16 Apr 2020, 09:26 Incearca sa inlocuiesti functia respectiva cu :
void CHARACTER::ClearAffect(bool bSave)
{
TAffectFlag afOld = m_afAffectFlag;
WORD wMovSpd = GetPoint(POINT_MOV_SPEED);
WORD wAttSpd = GetPoint(POINT_ATT_SPEED);

itertype(m_list_pkAffect) it = m_list_pkAffect.begin();

while (it != m_list_pkAffect.end())
{
CAffect * pkAff = *it;

if (bSave)
{
if ( IS_NO_CLEAR_ON_DEATH_AFFECT(pkAff->dwType) || IS_NO_SAVE_AFFECT(pkAff->dwType) )
{
++it;
continue;
}

if (IsPC())
{
SendAffectRemovePacket(GetDesc(), GetPlayerID(), pkAff->dwType, pkAff->bApplyOn);
}
}

ComputeAffect(pkAff, false);

it = m_list_pkAffect.erase(it);
CAffect::Release(pkAff);
}

if (afOld != m_afAffectFlag ||
wMovSpd != GetPoint(POINT_MOV_SPEED) ||
wAttSpd != GetPoint(POINT_ATT_SPEED))
UpdatePacket();

CheckMaximumPoints();

if (m_list_pkAffect.empty())
event_cancel(&m_pkAffectEvent);
}
Pai daca fac asta nu mai exista
#ifdef ENABLE_NEW_AFFECT_POTION
int listAffects[] = {
AFFECT_POTION_1,
AFFECT_POTION_2,
AFFECT_POTION_3,
AFFECT_POTION_4,
AFFECT_POTION_5,
AFFECT_POTION_6
};

Si nu o sa functioneze affect-urile
Avatar utilizator
Ionuţ M.
Metin Master

Metin Master
Mesaje: 2680
Membru din: 28 Noi 2015, 22:02
Aprecieri: 170  
Mulţumiri: 12723  
  Rezolvări prob.: 2
Discord: Copiază ID
 Contact:
Medalii

Arhivat.
Imagine
Afișează semnătura
Închis

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

  • Informaţie