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

C++ - Drop Bonus aléatoire


Messages recommandés

Centre de Téléchargement

Hidden Content

    Give reaction to this post to see the hidden content.
( Interne )

Cette méthode utilise la fonction AddRareAttribute() ce sont donc les bonus 6/7 qui sont utilisé et configuré via la table attr_rare

Si vous souhaitez garder les 6/7, il est très simple d'ajouter une nouvelle fonction en reprenant l'existant ( AddRareRandomAttribute)

 

Service.h

Révélation
#define ENABLE_BONUS_RARE

 

 

 

item_attribute.cpp

Révélation
bool CItem::AddRareAttribute()
{

	if (GetType() == ITEM_WEAPON)
	{
		if (GetSubType() == WEAPON_ARROW)
			return false;

#ifdef __NEW_ARROW_SYSTEM__
		if (GetSubType() == WEAPON_UNLIMITED_ARROW)
			return false;
#endif
	}
#if defined(ENABLE_PENDANT) && defined(ENABLE_BONUS_RARE)
	else if (GetType() == ITEM_ARMOR)
	{
		if (GetSubType() == ARMOR_PENDANT)
			return false;
	}
#endif

	int count = GetRareAttrCount();
  
  .....
    

 

 

 

item_manager.cpp

Révélation
.........

#ifdef ENABLE_BONUS_RARE
bool inArr(int* tab, int line,int size) {
		for(int i = 0; i < size; i++){
				if(tab[i] == line)
					return true;           
			}
		return false;
}
#endif

LPITEM ITEM_MANAGER::CreateItem(DWORD vnum, DWORD count, DWORD id, bool bTryMagic, int iRarePct, bool bSkipSave)
  
  .........

 

 

item_manager.cpp

 

Révélation
..........

		if (bTryMagic)
		{
			if (iRarePct == -1)
				iRarePct = table->bAlterToMagicItemPct;

			if (number(1, 100) <= iRarePct)
				item->AlterToMagicItem();
#ifdef ENABLE_BONUS_RARE
			int RareArray[2] = {1,2};
			if(inArr(RareArray,item->GetType(),_countof(RareArray)))
			{
				if (number(1, 100) <= 70) //70% Chance
				{
					item->AddRareAttribute();
				}
				if (number(1, 100) <= 30) // 30% Chance
				{
					item->AddRareAttribute();
				}
			}
#endif
		}
              
              ........

 

 

  • Metin2 Dev 3
  • Good 1
  • Love 4
Lien vers le commentaire
Partager sur d’autres sites

  • 4 mois après...


  • 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.