La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 19:44:16
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
BlackMagik Acolyte Messages: 22 |
Yop tout le monde !
Je suis en train de faire un script special PvP afin de faire droper les armes et l'or ( du moins j'aimerai bien ) des joueur tués. Les armes c'est pas un probleme c'est deja fait, mais je bloque sur l'or. Mise a part la fonction GiveGoldToCreature qui donnerai directement l'or au tueur. J'aimerai que l'or du PJ tué soit dropé à l'endroit de sa mort. Si quelqu'un sait comment faire ! Ca m'aiderai beaucoup ! Merci |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Et bien il suffit de créer un objet dans son inventaire de type "or". Tu indique le nombre de pièces et tu coche la case "Abandon possible".
Ne cherche pas compliqué. _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
BlackMagik Acolyte Messages: 22 |
Oui mais le nombre de piece d'or du joueur varie, donc le nombre de piece de l'objet dans l'inventaire devrait aussi ( si j'utilise ta façon ). Et c'est exactement a l'endroit la que je bloque. Voila le debut de mon script pour voir plus clair :
NWScript :
void main() { object oTueur = GetLastKiller (); object oJoueur = GetLastPlayerDied(); location lLoc = GetLocation (oJoueur); string sObjetDroit = GetTag (GetItemInSlot (INVENTORY_SLOT_RIGHTHAND, oJoueur)); string sObjetGauche = GetTag (GetItemInSlot (INVENTORY_SLOT_LEFTHAND, oJoueur)); if (GetIsPC(oTueur)) // Verifie si le tueur est bien un PJ { DestroyObject (GetItemInSlot (INVENTORY_SLOT_RIGHTHAND, oJoueur)); DestroyObject (GetItemInSlot (INVENTORY_SLOT_LEFTHAND, oJoueur)); CreateObject (OBJECT_TYPE_ITEM, sObjetDroit, lLoc, FALSE); CreateObject (OBJECT_TYPE_ITEM, sObjetGauche, lLoc, FALSE); } } Ce scrip est placé sur le OnDeath de mon module. Ce que j'aimerai c'est creer un objet Piece d'or du montant de l'argent du PJ tué, comme je le fais avec ses armes dans les mains gauche et droite. |
Revenir en haut | |
Athanagorn Acolyte Messages: 38 |
Tu devrais peut-etre utiliser GetResRef au lieu de GetTag, non? (sauf si tu est sûr que tous les items ont pour tag le blueprint, bien sûr)
Sinon, pour ton problème, j'essairai de creer un placable de type "tresor" et de le remplir avec la quantité d'or necessaire. |
Revenir en haut | |
BlackMagik Acolyte Messages: 22 |
Avec ResRef ça ne me créé pas les Items, J'ai deja essayé. Je veux bien creer un placeable tresor avec l'argent, mais comment faire pour que la valeur soit celle portée par le PJ tué.
|
Revenir en haut | |
Joubinator Ecuyer Messages: 42 Localisation: Yvelines |
salut,
Dejà pour obtenir la somme portée par le joueur tué tu as la fonction GetGold(); Ensuite sachant cela il faudrait placer cette somme sur le sol...... Peut être une fonction en boucle du style While (!tresor_au_sol==GetGold(Pjtué)) ( ajouter une pièce d'or sur la location du pj mort ) Il me semble bien aussi qu'il y a un probleme entre l'or et une zone ou le module. sinon cette fonction : GiveGoldToCreature(object, int) _________________ M'enfous si les pjs tuent mes monstres,.... j'en ai plein (paroles d'un DM d'expérience ) |
Revenir en haut | |
sinquem Ecuyer Messages: 68 |
Je pense que cela devrait te convenir.
Tu personnalises un sac et surtout tu vires sur le open la génération de tresor (note le blueprint "lootbag002" dans l'exemple) Tu fais la même chose pour la piece d'or. "Tu peux ensuite custumiser le sac pour lui donner l'apparence d'un tas d'or." Ici les script est fait pour droper l'or d'un pj par-terre !! lançable via la commande dm_runscript. Il est facile de l'adapter pour ton cas (GetFirstPC etant le cadavre NWScript :
void main() { object oPc = GetFirstPC(); location lPc = GetLocation(oPc); object oOr; int iOr = GetGold(oPc) ; // montant d'or en poche du pj int iCpt; object oSac = CreateObject(OBJECT_TYPE_PLACEABLE,"lootbag002",lPc); SendMessageToPC(oPc,GetName(oSac)); TakeGoldFromCreature(iOr, oPc,TRUE) ; // retire l'or CreateItemOnObject("it_gold002",oSac,iOr); } en esperant que cela te convienne |
Revenir en haut | |
Athanagorn Acolyte Messages: 38 |
Alors que je parcourrais le forum NWN-SYSTEME, j'ai trouvé ce bout de code pour déposer des PO:
Citation : object oOr = CreateObject(OBJECT_TYPE_ITEM, "it_gold002", lLoc);
il est signallé plus bas que le resref est mauvais, en effet je crois que c'est "nw_it_gold001", mais il faudra vérifier.
SetItemStackSize(oOr, Random(1000)+1); //ici tu peut changer l'or gagne donc, pour toi, cela pourrait donner quelque chose comme: (non testé) NWScript : int nGold = GetGold(oJoueur); TakeGold(nGold, oJoueur); SetItemStackSize(CreateObject(OBJECT_TYPE_ITEM, "nw_it_gold001", lLoc), nGold); |
Revenir en haut | |
BlackMagik Acolyte Messages: 22 |
Merci beaucoup, ça marche nikel Pour ceux qui veulent le script pour leur zone PvP le voici :
NWScript : void main() { object oTueur = GetLastKiller (); object oJoueur = GetLastPlayerDied(); location lLoc = GetLocation (oJoueur); int iGold = GetGold (oJoueur); string sObjetDroit = GetTag (GetItemInSlot (INVENTORY_SLOT_RIGHTHAND, oJoueur)); string sObjetGauche = GetTag (GetItemInSlot (INVENTORY_SLOT_LEFTHAND, oJoueur)); if (GetIsPC(oTueur)) { TakeGoldFromCreature(iGold, oJoueur, TRUE); DestroyObject (GetItemInSlot (INVENTORY_SLOT_RIGHTHAND, oJoueur)); DestroyObject (GetItemInSlot (INVENTORY_SLOT_LEFTHAND, oJoueur)); CreateObject (OBJECT_TYPE_ITEM, sObjetDroit, lLoc, FALSE); CreateObject (OBJECT_TYPE_ITEM, sObjetGauche, lLoc, FALSE); SetItemStackSize(CreateObject(OBJECT_TYPE_ITEM, "nw_it_gold001", lLoc), iGold); } } |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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