La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 29/04/2024 10:13:40


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
yellow submarine
Grand Chevalier
Inscrit le: 24 Oct 2003
Messages: 143
Répondre en citant
Posté le : 08/11/2005 16:16:26 Sujet du message : compteur de créatures mortes et paiement

bonjour

dans le OnDeath des NPJ j'ai mis ce script pour compter chaque NPJ tué

NWScript :
void main()
{
      int nMort = GetLocalInt(GetModule(), "nbMort");
    ++nMort;
    SetLocalInt(GetModule(), "nbMort", nMort);
  }
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.


dans le dialogue
je voudrai que lorsque le PJ demande sa récompense
il lui soit donner automatiquement des PO et des XP selon le nombre de nMort

et là je cale Confused

si qqun.....

amicalment
_________________
Rien ne vaut la recherche lorsqu'on veut trouver quelque chose.

[J. R. R. Tolkien]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Seth de Sombrelune
Seigneur
Inscrit le: 10 Jan 2005
Messages: 156
Répondre en citant
Posté le : 08/11/2005 17:26:20 Sujet du message :

là tu stock le nombre de créature tuée sur le module, donc, si un pj (A) tue 350 créatures et qu'un pj (B) tue 1 créature, le pj (B) recevras la récompense de 350+1 = 351 créature.

Tu ne doit pas stocker les donnée sur le module mais sur le PJ.

je te propose cette version du script :
NWScript :
void main()
{
object oPC=GetLastKiller();// on recupere le pj qui a tuer la creature
int nMort = GetLocalInt(oPC, "nbMort"); // on recupere son ancien score
int nMort2 =nMort+1; // on ajoute 1 a son ancien score
SetLocalInt(oPC, "nbMort", nMort2); // on stock son score sous forme de variable locale
}
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.


ensuite, il suffit de recuperer le score et de le traiter sous forme de recompense :
NWScript :
void main()
{
object oPC=GetPCSpeaker(); // on recupere le pj qui dialogue
int nMort = GetLocalInt(oPC, "nbMort"); // on recupere son ancien score
int iXPval=500; // on atribue la valeur en xp de chaque monstre tuer
int iGoldval=50; // on atribue la valeur en po de chaque monstre tuer
int iGold=nMort*iGoldval; // on calcul la recompense en po du score realise
int iXP=nMort*iXPval; // on calcul la recompense en xp du score realiser
GiveGoldToCreature(oPC,iGold); // on donne au pj l'or
GiveXPToCreature(oPC,iXP);// on donne au pj les xp
SendMessageToPC(oPC,"Vous recevez "+IntToString(iGold)+"po et "+IntToString(iXP)+"");//on informe le pj qu'il a recu son poignon et ses XP
DeleteLocalInt(oPC, "nbMort"); // on remet les compteur a zero en effacant le score
}
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.


Voilà, je pense que c'est ce que tu voulait, par contre on ne tient absolument pas compte du niveau du PJ pour atribuer la récompense. Tu règle la récompence en modifiant la valeur de iXPval et de iGoldval...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
yellow submarine
Grand Chevalier
Inscrit le: 24 Oct 2003
Messages: 143
Répondre en citant
Posté le : 09/11/2005 11:30:00 Sujet du message :

Bonjour et merci

ça marche nickel Very Happy


Citation :
là tu stock le nombre de créature tuée sur le module, donc, si un pj (A) tue 350 créatures et qu'un pj (B) tue 1 créature, le pj (B) recevras la récompense de 350+1 = 351 créature.

Tu ne doit pas stocker les donnée sur le module mais sur le PJ.
Petit problème si c'est le compagnon du PJ qui tue les creatures le PJ ne profite pas du NbMort

comment y remedier? Sad

amicalement
_________________
Rien ne vaut la recherche lorsqu'on veut trouver quelque chose.

[J. R. R. Tolkien]
 
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: 949
Répondre en citant
Posté le : 09/11/2005 12:52:50 Sujet du message :

je pense qu'il faudrait utiliser une commande qui permette de savoir qui est le maitre du familier qui a tué le monstre , mais je ne connais pas cette commande ...; ! Sad

Je vais essayer de chercher !

Peut être la commande " GetMaster(); "
_________________
Adresse du forum de mon module : Quetes et Legendes
" 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é Visiter le site web du posteur Ignorer l'utilisateur
 
yellow submarine
Grand Chevalier
Inscrit le: 24 Oct 2003
Messages: 143
Répondre en citant
Posté le : 09/11/2005 13:48:31 Sujet du message :

salut

GetMaster(); fonctionne aussi si c'est un hench le nettoyeur Very Happy
amicalement
_________________
Rien ne vaut la recherche lorsqu'on veut trouver quelque chose.

[J. R. R. Tolkien]
 
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.442ms