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 13:59:05


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Inquisiteur-Loh
Acolyte
Inscrit le: 26 Fév 2005
Messages: 22
Répondre en citant
Posté le : 04/05/2005 17:54:59 Sujet du message : Script de Recyclage d'objet...

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
omega
Grand Chevalier
Inscrit le: 09 Jan 2004
Messages: 116
Répondre en citant
Posté le : 09/05/2006 03:05:48 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 09/05/2006 18:27:58 Sujet du message :

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*");
}
}
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.

_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
omega
Grand Chevalier
Inscrit le: 09 Jan 2004
Messages: 116
Répondre en citant
Posté le : 09/05/2006 20:39:01 Sujet du message :

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, "");
}
}
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.


moi, j'en suis là, mais j'arrive pas a trouver les commandes pour le reste.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 13/05/2006 14:32:25 Sujet du message :

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;
}

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.



Sinon ptet comparer le prix de l'item au prix de base de ce type d'objet peut être plus simple.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
omega
Grand Chevalier
Inscrit le: 09 Jan 2004
Messages: 116
Répondre en citant
Posté le : 13/05/2006 16:17:27 Sujet du message :

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 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 54.887ms