JeuxOnLineForumsPlusConnectés : 175 (sites) | 332 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Fonction XP to level ? RSS
   
Répondre
Partager Outils Rechercher
Avatar de grenwald
grenwald
Roi
 
Avatar de grenwald
 

Fonction XP to level ?

Bonjour a tous

Voilà, je vous explique mon problème :
Je voudrais récupérer par une fonction le nombre d'XP nécessaire au joueur pour monter de niveau.
En fait, c'est pour être sûr de tomber à la base du niveau suivant, mais en prenant en compte que les multi-classes ne montent pas aussi vite (enfin il me semble )
Alors, si vous avez ce genre d'astuce dans vos cartons, je voudrai bien voir comment vous avez pu faire. Parce que là ca fait quelques heures que je cherche mon bonheur, mais sans succès
Menfin, si même pour les multi-classes, les limites sont identiques..... bah j'irais me cacher dans mon trou
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
Code PHP:
int GetXpLeftToUpLevel(int nXp)
{
    
int nXPLeft;
    if(
nXp <= XXXnXpLeft XXX nXP;
    else if(
nXp <= YYYnXpLeft YYY nXP;
    
//......
    
return nXP;

a la place de XXX tu met le taux d'xp qu'il faut pour arriver au dernier niveau, a la place de YYY , celui qu'il faut pour l'avant dernier, etc... jusqu'au premier niveau.
Lien direct vers le message - Vieux
Avatar de grenwald
grenwald
Roi
 
Avatar de grenwald
 
Yes, c'est déjà un début, mais mon problème c'est que si le perso est mal équilibré les passages de niveau ne sont pas les même que l'habitude. c'est pour ça que je voudrais pas les coder en dur.
Alors voila..... tu m'as déjà dépatouiller un peu, mais si il y avais moyen d'améliorer encore le truc, je cracherai pas dessus
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
avec
Code PHP:
// A creature can have up to three classes.  This function determines the
// creature's class level based on nClass Position.
// - nClassPosition: 1, 2 or 3
// - oCreature
// * Returns 0 if oCreature does not have a class in nClassPosition
//   (i.e. a single-class creature will only have a value in nClassLocation=1)
//   or if oCreature is not a valid creature.
int GetLevelByPosition(int nClassPositionobject oCreature=OBJECT_SELF
tu dois pouvoir réappliquer à la valeur récupérée les malus, si tu connais les règles ...
non ? c pas ca la question ? bon je sors ...
Lien direct vers le message - Vieux
Avatar de grenwald
grenwald
Roi
 
Avatar de grenwald
 
bin justement, le gros problème, c'est que je ne sais pas trop comment il gère tout ça
Peut-être que si je me pencher un peu sur le fichier xptable.2da, je trouverai quelque chose..... mais j'avoue que pour l'instant, je ne vois pas trop comment ça marche.

Parce que pour l'instant, j'arrive parfaitement a savoir ou le PC en est, mais pas où il va. C'est un peu rageant quand même

Enfin, si ça continue, je vais finir par croire que je suis tout seul a vouloir être gentil avec mes joueurs (enfin pas trop hein ) pour qu'ils gagnent vraiment un niveau (et pas juste un équivalent)...
Lien direct vers le message - Vieux
Avatar de grenwald
grenwald
Roi
 
Avatar de grenwald
 
arf.... je suis vraiment trop ****
La pénalité des multi-classes se calcule au moment des gains d'XP "automatiques" (Quand on tue des monstres par ex.) Mais effectivement, les passage de niveau se font toujours aux mêmes moment............
Donc maintenant, j'ai plus qu'a utilisé la trame de code que m'a filé Azra

Menfin, comme je le disais au début, je me suis pris la tête pour rien

*retourne au fond de son trou*
Lien direct vers le message - Vieux
Sire Pom-pom
Roi
 
Les passages de niveaux sont les mêmes, c'est la quantité d'xp gagnée qui n'est pas la même me semble-t-il (ah... Dongeons et Dradons, 25 ans d'existence et toujours cette manie de se perdre dans des détails impossibles...) . Donc avec SetXP tu es tranquille a priori (on ne sait jamais).


Pour faire passer un perso au niveau supérieur:

Code PHP:
int nLevel GetHitDice(oPC);
SetXP(oPC1000 nLevel * (nLevel+1) / 2); 
EDIT:
accessoirement 1000/2 ça fait 500...
J'ai passé trop de temps sur les bancs des écoles moi...
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Fonction XP to level ?
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 05h09.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite