La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/09/2024 00:33:04


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
aeslad
Voyageur
Inscrit le: 30 Jan 2005
Messages: 4
Localisation: Doubs
Répondre en citant
Posté le : 30/01/2005 10:09:51 Sujet du message : Mort et respawn

Bonjour à tous,

Fan de DD depuis très très longtemps, je cherche a recreer un respawn qui corresponde aux regles de base, c'est à dire que quand il revient à la vie le personnage perd un niveau et se retrouve à mi chemin entre les deux niveau. C'est à dire s'il est niveau trois, il repasse niveau 2 et a 2000 XP.

J'ai trouvé la formule qui doit permettre de le faire, je la met dans un script de respawn, mais visiblement ca marche pas...... ou est l'erreur?

void ApplyPenalty(object oDead)
{
SetXP (oDead, 0);
int x = GetHitDice(oDead);
int nNewXP = ((x*(x-1)/2)*1000)-((x-1)*500);

SetXP(oDead, nNewXP);


}
void main()
{
object oRespawner = GetLastRespawnButtonPresser();
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);

}


Merci ca fait un moment que je cherche à trouver la solution mais sans succes....
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 30/01/2005 10:25:23 Sujet du message :

Ben tu as une fonction créer nommé ApplyPenalty,
mais tu l'utilise pas dans ton main, donc il ne se lance jamais...

Essai comme ça pour voir?

NWScript :
void ApplyPenalty(object oDead)
{
int x = GetHitDice(oDead);
int nNewXP = ((x*(x-1)/2)*1000)-((x-1)*500);
SetXP (oDead, 0);
SetXP(oDead, nNewXP);
}

void main()
{
object oRespawner = GetLastRespawnButtonPresser();
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
ApplyPenalty(oRespawner);
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
aeslad
Voyageur
Inscrit le: 30 Jan 2005
Messages: 4
Localisation: Doubs
Répondre en citant
Posté le : 30/01/2005 10:56:29 Sujet du message :

voilà le script définitif qui marche, merci.

NWScript :

void ApplyPenalty(object oDead)
{
int x = GetHitDice(oDead);
int nNewXP = ((x*(x-1)/2)*1000)-((x-1)*500);
SetXP(oDead, nNewXP);
}

void main()
{
object oRespawner = GetLastRespawnButtonPresser();
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oRespawner);
ApplyPenalty(oRespawner);
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


J'avais fait l'erreur de mettre les xp à 0 avant de les recalculer, ce qui fait que le personnage tombait niveau 1 puis regagnait ces niveaux......
Je suis content c'est mon premier script maison, et il marche maintenant, youpie Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 45.469ms