Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

"[C++]: Buff de groupe"


Abass

Question

Version des fichiers/ Type d'émulateur : Team Fe 2016 by Saw.


En suivant cette tuto: 


J'ai reussi partie navicat et compilation. mais in-game il buff seulement le groupe.. même sans groupe, il buff personne (sauf moi). x)

mon (char_skill.cpp): 
    

	if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY))
		ComputeSkill(dwVnum, this);
	else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && !GetParty())
		ComputeSkill(dwVnum, this);
	else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty())
	{
		FPartyPIDCollector f;
		GetParty()->ForEachOnMapMember(f, GetMapIndex());
		for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++)
		{
			LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it);
			ComputeSkill(dwVnum, ch);
		}
	}
	else if (!IS_SET(pkSk->dwFlag, SKILL_FLAG_ATTACK))
		ComputeSkill(dwVnum, pkVictim);
	else if (dwVnum == SKILL_BYEURAK)
		ComputeSkill(dwVnum, pkVictim);
	else if (dwVnum == SKILL_MUYEONG || pkSk->IsChargeSkill())
		ComputeSkill(dwVnum, pkVictim);

	m_dwLastSkillTime = get_dword_time();

	return true;


En postant ma demande d'aide, j'affirme avoir lu et accepté le Règlement de Funky-Emulation.

Modifié par Kameyu
Amélioration de la lisibilité du code
Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 3
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

3 réponses à cette question

Messages recommandés

  • 0
  • Développeur

Bonjour,

 

Je présume que tu as la version partagée depuis 2015, dans ce cas c'est un bug assez courant et "Heathcliff™" a trouvé une solution très simple pour corriger ça.

 

Va dans "char_skill.cpp" et cherche cette ligne :

 

GetParty()->ForEachOnMapMember(f, GetMapIndex());

Puis juste après colle cette condition :
 

		if (!pkVictim->GetParty())
			ComputeSkill(dwVnum, pkVictim);

Compile et voilà ! :)

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Merci.. maintenant il buff le groupe et le personnage qui je target (quand je suis dans un groupe).. mais sans groupe il buff personne.. c'est relou x)

 

	if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY))
		ComputeSkill(dwVnum, this);
	else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && !GetParty())
		ComputeSkill(dwVnum, this);
	else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty())
	{
		FPartyPIDCollector f;
		GetParty()->ForEachOnMapMember(f, GetMapIndex());
		if (!pkVictim->GetParty())
			ComputeSkill(dwVnum, pkVictim);
		for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++)
		{
			LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it);
			ComputeSkill(dwVnum, ch);
		}
	}
	else if (!IS_SET(pkSk->dwFlag, SKILL_FLAG_ATTACK))
		ComputeSkill(dwVnum, pkVictim);
	else if (dwVnum == SKILL_BYEURAK)
		ComputeSkill(dwVnum, pkVictim);
	else if (dwVnum == SKILL_MUYEONG || pkSk->IsChargeSkill())
		ComputeSkill(dwVnum, pkVictim);

	m_dwLastSkillTime = get_dword_time();

	return true;

 

Modifié par Kameyu
Amélioration de la lisibilité du code
Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

    7. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.