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


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 26/07/2005 21:54:13 Sujet du message : objet doublant l'xp reçue

Bonjour a tous!
Je cherche à creer un objet bien particulier, qui, lorsqu'il est équippé fait gagner le double d'xp reçu en combat a son possesseur (ici le pj).

Seulement je n'ai trouvé aucune commande permmettant cela, pouvez vous m'aider?

Merci d'avance
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 26/07/2005 23:56:22 Sujet du message :

le nombre d'xp percu est fonction du facteur puissance de l'ennemi , donc je pense que tu ne pourra pas doubler les xp a la mort du monstre , il n'y a pas a ma conaissance de commandes de script qui permettent de gérer les facteurs puissance.

Cela dit , il est possible a la mort du monstre d'attribuer plus ou moins d'xp au joueur en fonction du NIVEAU du monstre.

Il te faudrait donc faire attention a faire correspondre le LV du monstre et son facteur puissance , pour attribuer au joueur plus au moins d'xp ( a toi de voir ) selon qu'il a l'objet ou pas en fonction du niveau du monstre , qui , LUI , et disponible via les scripts.

Je chercherais plutôt dans cette direction.
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 27/07/2005 12:19:28 Sujet du message :

C'est une idée intéréssante, il faudrait donc augmenter le lvl du monstre au moment de sa mort? Mais l'xp est elle donnée avant ou après l'execution du script placé dans le ondeath???

Il y aurai peut etre une autre solution, placer un script dans le onheartbeat du module qui ressence quand le PJ reçoit de l'xp et le double quand il est équippé de l'objet....
Seulement, la rédaction de ce script me pose beaucoup de problèmes:oops:

Pouvez vous m'aider?
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 27/07/2005 19:04:14 Sujet du message :

non , lidée ne serais pas de faire des modifs sur le niveau du monstre a sa mort , mais simplement de relever quel est son niveau pour s'en servir comme coéficient pour calculer un " bonus " pour le joueur en fonction du niveau du monstre.

Par exemple , tu considére que tuer un monstre de niveau 1 doit rapporter les XP apellés XP_TOTAL :

d'ou

XP_TOTAL = XP_normaux_du_monstre_a_gagner + NIVEAU_DU_MONSTRE x 100

Si un rat lv1 rapporte en principe 36 xp , dans ce cas il rapportera 36+1*100=136 XP
si il est de niveau 2 il rapportera 236 xp , etc etc etc
_________________
" La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG
" La véritable école du Commandement est la culture générale. " CdG
" Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F
" La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG
" La fin de l'espoir est le commencement de la mort. " CdG
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 27/07/2005 21:58:45 Sujet du message :

Hey, c'est pas bète du tout, je vais me pencher dessus.

-Edité

Et voilà le script, je l'ai pas encore tésté mais ca va venir.
NWScript :
#include "x0_i0_spawncond"

void main()
{

object oPC = GetLastKiller();

if (!GetIsPC(oPC)) return;

if (GetTag(GetItemInSlot(INVENTORY_SLOT_ARMS, oPC)) != "bracelets")
  return;

GiveXPToCreature(oPC,GetHitDice(OBJECT_SELF)*100);



    int nClass = GetLevelByClass(CLASS_TYPE_COMMONER);
    int nAlign = GetAlignmentGoodEvil(OBJECT_SELF);
    object oKiller = GetLastKiller();

    // If we're a good/neutral commoner,
    // adjust the killer's alignment evil
    if(nClass > 0 && (nAlign == ALIGNMENT_GOOD || nAlign == ALIGNMENT_NEUTRAL))
    {
        AdjustAlignment(oKiller, ALIGNMENT_EVIL, 5);
    }

    // Call to allies to let them know we're dead
    SpeakString("NW_I_AM_DEAD", TALKVOLUME_SILENT_TALK);

    //Shout Attack my target, only works with the On Spawn In setup
    SpeakString("NW_ATTACK_MY_TARGET", TALKVOLUME_SILENT_TALK);

    // NOTE: the OnDeath user-defined event does not
    // trigger reliably and should probably be removed
    if(GetSpawnInCondition(NW_FLAG_DEATH_EVENT))
    {
        SignalEvent(OBJECT_SELF, EventUserDefined(1007));
    }
    craft_drop_items(oKiller);
}
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.


-Re-edité

Ca marche,merci pour ton aide Very Happy
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
edisnotdead
Grand Chevalier
Inscrit le: 19 Fév 2005
Messages: 132
Répondre en citant
Posté le : 29/07/2005 08:40:35 Sujet du message :

je sais pas si ca marchera comme ca car ca me parait trop beau pour etre vrai lol

NWScript :
#include "x2_inc_compon"

              #include "x0_i0_spawncond"
void main()
{


  object okiller = GetLastKiller();
    int nDifLvl = GetCombatDifficulty(OBJECT_SELF); //fp du monstre
    object oItem = GetItemPossessedBy(okiller, "tag de l objet ");

if (oItem != OBJECT_INVALID)
  {
    int nDifLvl = nDifLvl * 2 ;
}
}
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.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Torghal Torchbière
Acolyte
Inscrit le: 11 Oct 2002
Messages: 27
Localisation: taverne du petit homme comblé
Répondre en citant
Posté le : 29/07/2005 23:18:04 Sujet du message :

Confused Ben non, ça a pas marché, mais c'est pas grave, le script plus haut me convient, meme si c'est as vraiment 2* plus d'xp
_________________
Une bonne chope est une chope vide. A boire
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 35.061ms