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 13:59:05
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 |
Inquisiteur-Loh Acolyte Messages: 22 |
Bonjour à tous, étant toujours un apprenti dans le domaine du scripting NWN, je fais de nouveau appel à votre infinie sagesse pour un script assez original.
Les personnages disposent d'un objet utilisant un "pouvoir unique", destiné à cibler un objet de leur inventaire. Ce qui se passerait : - Si l'objet ciblé ne possède pas la variable "recycle" (ou est égale à 0), un message est envoyé : "cet objet n'est pas recyclable" et rien ne se passe d'autre. - Si la variable "recycle" de l'objet ciblé est égale à "1" : -- Un nombre de pièces d'or égal à la variable "gold" de l'objet ciblé est donné au personnage. -- Un objet de resref égal à la variable "rec1" de l'objet ciblé est donné au personnage. -- Un objet de resref égal à la variable "rec2" de l'objet ciblé est donné au personnage. -- L'objet ciblé est détruit. Ce script permettrait donc de transformer un objet en composants artisanaux et en pièces d'or, un peu à la guild wars. Je suis désolé de ne même pas fournir un petit bout de code et seulement l'idée, mais je suis assez mauvais en script. Merci d'avance ! _________________ Inquisiteur Loh |
Revenir en haut | |
omega Grand Chevalier Messages: 116 |
Je fais un petit up car ca m'interesse aussi.
Mais je le cherche moins compliqué. Je voudrais seulement que le script verifie si c'est un objet magique, et son prix, et que par rapport aux prix, il creait un composant X ou Y. Merci. |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Ce script est à utiliser avec le TagBase.
J'ai respecté à la lettre ta demande (pour une fois que quelqu'un fait quelque chose de clair), mais il y a moyen de faire plus flexible surtout pour les resref d'item et le nombre. Aussi si tu utilise la variable gold que sur les item recyclable elle pourrait être utilisé pour savoir si l'objet est recyclable au lieu d'en refaire une 2nd. NWScript : void main() { object oPC = GetItemActivator(); object oCible = GetItemActivatedTarget(); if(GetItemPossessor(oCible) == oPC) { int iRec = GetLocalInt(oCible, "recycle"); if(iRec == 1) { // Or GiveGoldToCreature(oPC, GetLocalInt(oCible, "gold")); // Rec1 + Rec2 CreateItemOnObject(GetLocalString(oCible, "rec1"), oPC); CreateItemOnObject(GetLocalString(oCible, "rec2"), oPC); // Destruction DestroyObject(oCible); } else { SendMessageToPC(oPC, ""); } } else { SendMessageToPC(oPC, "*Cet objet ne vous appartiens pas*"); } } _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
omega Grand Chevalier Messages: 116 |
Comment on fait pour que le script verifie si c''est un objet magique, et qu'il donne un objet par rapport aux prix ?
NWScript :
void main() { object oPC = GetItemActivator(); object oCible = GetItemActivatedTarget(); if(GetItemPossessor(oCible) == oPC) { CreateItemOnObject(GetLocalString(oCible, "rec1"), oPC); CreateItemOnObject(GetLocalString(oCible, "rec2"), oPC); DestroyObject(oCible); } else { SendMessageToPC(oPC, ""); } } moi, j'en suis là, mais j'arrive pas a trouver les commandes pour le reste. |
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Tout dépend ce que tu entends par objet magique.
On peut peut-être considérer que si un objet à une propriété permanente il est magique, voila une fonction qui pourrait t'aider : NWScript :
int IsMagic(object oMachin) { itemproperty ipProp = GetFirstItemProperty(oMachin); int nType; while (GetIsItemPropertyValid(ipProp)) { nType = GetItemPropertyType(ipProp); if ( nType != ITEM_PROPERTY_VISUALEFFECT && GetItemPropertyDurationType(ipProp) == DURATION_TYPE_PERMANENT && nType != ITEM_PROPERTY_ARCANE_SPELL_FAILURE && nType != ITEM_PROPERTY_BASE_ITEM_WEIGHT_REDUCTION && nType != ITEM_PROPERTY_NO_DAMAGE && nType != ITEM_PROPERTY_THIEVES_TOOLS && nType != ITEM_PROPERTY_HEALERS_KIT && nType != ITEM_PROPERTY_WEIGHT_INCREASE && nType != ITEM_PROPERTY_USE_LIMITATION_ALIGNMENT_GROUP && nType != ITEM_PROPERTY_USE_LIMITATION_CLASS && nType != ITEM_PROPERTY_USE_LIMITATION_RACIAL_TYPE && nType != ITEM_PROPERTY_USE_LIMITATION_SPECIFIC_ALIGNMENT ) return TRUE; ipProp = GetNextItemProperty(oMachin); } return FALSE; } Sinon ptet comparer le prix de l'item au prix de base de ce type d'objet peut être plus simple. |
Revenir en haut | |
omega Grand Chevalier Messages: 116 |
En gros c'est ca, les objets magique, même +1 depassent les 1.000 po.
Je voudrais que mon scripts me donne le prix de l'objet, et avec des conditions IF, cree un composant magique, genre, poussiere de magie, eclat de magie, et autre chose, celon le prix de l'objet. |
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