Découvrez le MMORPG RaiderZ
Junkuzu

 tutoriel
Probabilité des drops dans les palourdes

2 messages dans ce sujet

Bonsoir,

 

Je vais vous apprendre à changer la probabilité d'obtenir des drops dans les palourdes (perles, morceaux de pierres ou le risque d'avoir un coquillage vide).

 

Il existe déjà une façon qui consiste à modifier le type de la palourde pour lui donner la propriété d'une boîte et ainsi d'en modifier les drops dans le fichier approprié (je n'ai plus le fichier en tête ^^) c'est utile pour les files 2013 et antérieures, pour les files 2014 (surtout pour ceux qui se servent des sources) il existe bel et bien un moyen de modifier les diverses probabilités sans avoir à modifier le type de la palourde, ceci est très simple mais pour ceux qui débutent dans les sources, je vais vous faire comprendre au mieux le fonctionnement.

 

 

 

Ouvrez char-item.cpp

 

Faire une recherche avec ceci: 27987

 

Regardez bien l'image:

 

 

171225Parametrage-palourde.JPG

 

 

 

- le int r = number(1, 100) correspond à la probabilité donnée, ici c'est en pourcentage

 

- ceci:

 

if (r <= 50)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ???? ?????."));
AutoGiveItem(27990);
}
 

 

correspond à la chance d'avoir un morceau de pierre, vu que c'est en pourcentage, vous aurez compris, c'est 50% de chance d'avoir l'item 27990, autrement dit, le morceau de pierre

 

- Ensuite vient cette partie:

 

else
{
const int prob_table_euckr[] =
{
80, 90, 97
};

const int prob_table_gb2312[] =
{
95, 97, 99
};

const int * prob_table = !g_iUseLocale ? prob_table_euckr : prob_table_gb2312;

if (r <= prob_table[0])
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("??? ??? ?? ?????."));
}
else if (r <= prob_table[1])
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ???? ?????."));
AutoGiveItem(27992);
}
else if (r <= prob_table[2])
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ???? ?????."));
AutoGiveItem(27993);
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("???? ???? ?????."));
AutoGiveItem(27994);
}
}
 

 

On va s'occuper uniquement de la ligne : const int prob_table_gb2312[] =

 

La série de nombre en dessous correspond à la "jointure" des 100%, donc il faut faire 50 + ... = 95 puis 95 + ... = 97 ensuite 97 + ... = 99 et enfin 99 + ... = 100 . Le nombre à trouver dans cette opération à trou est le pourcentage de chance d'avoir item, à savoir qu'il faut tenir compte d'où on est dans la suite de nombre et de la ligne concernant l'item en question, dur à expliquer, certes. Pour mieux comprendre le raisonnement, regardez le petit bloc note sur le côté droit de l'image pour comprendre le calcul du pourcentage, puis les lignes tracés à la main pour vous faire comprendre la liaison entre la suite de nombre et l'item qui est désigné.

 

En gros, vous avez 50% de chance d'avoir un morceau de pierre, 45% d'avoir une palourde vide, 2% de chance d'avoir une perle blanche, 2% de chance d'avoir une perle bleue, et le 1% restant concerne la chance d'avoir une perle rouge.

 

 

Maintenant, vous avez toutes les cartes en main pour modifier les pourcentages à votre guise voir même ajouter de nouveaux drops, cependant, veillez toujours à avoir un résultat égal à 100%, pas plus, pas moins.

 

 

 

 

 

Source: Moi, en cherchant tout simplement dans les fichiers (il existe peut-être ailleurs, cependant je n'en ai pas connaissance).

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Tutoriel accepté, merci de ton investissement ! :)

0

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant