[Release] Monster Buffs

08/12/2017 06:40 FlyffServices#16
Quote:
Originally Posted by Sedrika View Post
Hmm, lese ich lieber eine neue Datei ein und speichere die Daten in eine Map oder speichere ich die Daten lieber in jeden Mover der gespawnt wird... Kann mich nicht wirklich entscheiden was effizienter und resourcen schonender ist.
Die Daten in jeden Mover zu laden braucht x*4bytes. Bei 2k geladenen Movern entspreche das 8kb die zusätzlich auf dem Ram liegen.. nicht gerade weltbewegend.
08/12/2017 22:26 Burdenz2007#17
I got a question.
For example i used a Boss Monster as a target, then here come a party of 4 players, will the 4 players get the same buffs? or only one? :O
08/12/2017 22:45 Blouflash#18
Quote:
Originally Posted by Burdenz2007 View Post
I got a question.
For example i used a Boss Monster as a target, then here come a party of 4 players, will the 4 players get the same buffs? or only one? :O
No, but here is the code for it.

[AttackArbiter.cpp]
replace:
Code:
#ifdef __MONSTER_BUFFS
	map< int, int >::iterator it = prj.m_mapMonsterBuffs.find(m_pDefender->m_dwIndex);
	if (prj.m_mapMonsterBuffs.end() != it)
	{
		ItemProp* pProp = prj.GetItemProp(it->second);
		if (pProp)
			m_pAttacker->DoApplySkill(m_pAttacker, pProp, NULL);
	}
#endif // __MONSTER_BUFFS
with:
Code:
#ifdef __MONSTER_BUFFS
	map< int, int >::iterator it = prj.m_mapMonsterBuffs.find(m_pDefender->m_dwIndex);
	if (prj.m_mapMonsterBuffs.end() != it)
	{
		ItemProp* pProp = prj.GetItemProp(it->second);
		if (pProp)
		{
			CMover *pMember;
			CParty* pParty = g_PartyMng.GetParty(m_pAttacker->m_idparty);

			if (pParty)
			{
				for (int i = 0; i < pParty->m_nSizeofMember; i++)
				{
					pMember = (CMover *)g_UserMng.GetUserByPlayerID(pParty->m_aMember[i].m_uPlayerId);
					if (IsValidObj(pMember))
						((CUser*)pMember)->DoApplySkill(pMember, pProp, NULL);
				}
			}
			else 
				((CUser*)m_pAttacker)->DoApplySkill(m_pAttacker, pProp, NULL);
		}
	}
#endif // __MONSTER_BUFFS
08/12/2017 23:54 Burdenz2007#19
Tried this. But it seems its not working for some reason.
I tried adding it in Aibatts and Clockworks its not giving me buffs.
And i was not in any party. Never tried having party.
08/13/2017 13:31 Drabur#20
Quote:
Originally Posted by Blouflash View Post
No, but here is the code for it.

[AttackArbiter.cpp]
replace:
Code:
#ifdef __MONSTER_BUFFS
	map< int, int >::iterator it = prj.m_mapMonsterBuffs.find(m_pDefender->m_dwIndex);
	if (prj.m_mapMonsterBuffs.end() != it)
	{
		ItemProp* pProp = prj.GetItemProp(it->second);
		if (pProp)
			m_pAttacker->DoApplySkill(m_pAttacker, pProp, NULL);
	}
#endif // __MONSTER_BUFFS
with:
Code:
#ifdef __MONSTER_BUFFS
	map< int, int >::iterator it = prj.m_mapMonsterBuffs.find(m_pDefender->m_dwIndex);
	if (prj.m_mapMonsterBuffs.end() != it)
	{
		ItemProp* pProp = prj.GetItemProp(it->second);
		if (pProp)
		{
			CMover *pMember;
			CParty* pParty = g_PartyMng.GetParty(m_pAttacker->m_idparty);

			if (pParty)
			{
				for (int i = 0; i < pParty->m_nSizeofMember; i++)
				{
					pMember = (CMover *)g_UserMng.GetUserByPlayerID(pParty->m_aMember[i].m_uPlayerId);
					if (IsValidObj(pMember))
						((CUser*)pMember)->DoApplySkill(pMember, pProp, NULL);
				}
			}
			else 
				((CUser*)m_pAttacker)->DoApplySkill(m_pAttacker, pProp, NULL);
		}
	}
#endif // __MONSTER_BUFFS
Ich hätte noch eine Idee wie man etwas verbessern könnte.
Wenn das ganze für Bosse sein soll, kannst du noch eine Abfrage ergenzen die auf die gleiche Map checkt oder auf der Madrigal mal eine reichweite.
10/23/2017 20:09 flyffdev#21
Buffs Gone when you enter a guild war area
10/24/2017 13:43 Yolo143#22
I think its normal until you remove the "Automatic Debuff" when you're inside the GW Arena.

Quote:
Originally Posted by flyffdev View Post
Buffs Gone when you enter a guild war area
10/24/2017 20:26 flyffdev#23
Yeah I know but the Monster buff is not like Buffs skill its an Item Buffs like FITA or FLY, FOR, FUN Premium items
10/24/2017 21:26 iSynaptic#24
Der Faktor "Zeit" sowie "Chance" könnte durchaus noch mit in die TXT hinein. Es wäre ziemlich aufwendig diverse verschiedene ItemBuffs mit unterschiedlichen Zeitspannen als externen Eintrag einzufügen.

Ich denke hier an Spiele wie Tera, bei denen man nach dem Sammeln von Steinen zu einer gewissen Chance einen Buff erhält, der dann aber auch nur 10-30 Sekunden anhält. Beim Leveln wäre das sicher ein nettes Feature, aber meiner Meinung eben nur dann, wenn man sagt, dass der Buff a) nur zu einer X% Wahrscheinlichkeit ausgelöst wird und b) nicht länger als X Sekunden anhält.

MFG
10/26/2017 11:50 FlyffDeveloper#25
Cool stuff, is it easy to adapt to work with skill-buffs too?
11/01/2018 22:27 Naltalah#26
Ich bekomme die ganze Zeit den Fehler, dass er die Datei nicht laden könnte, obwohl sie vorhanden ist. Zugriffsrechte hab ich auch schon gecheckt, passt auch alles.

Woran könnte es noch liegen?
05/07/2021 23:30 aoyamananami#27
Is this the monster that have buff?
05/08/2021 02:48 flyffdev#28
Quote:
Originally Posted by aoyamananami View Post
Is this the monster that have buff?
this is when you kill a certain monster you will receive a buff.