La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 05/12/2024 03:42:05


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
zogzog59
Grand Chevalier
Inscrit le: 16 Jan 2005
Messages: 123
Répondre en citant
Posté le : 30/12/2005 13:48:30 Sujet du message : script pour statue

glop glop a vous ...

je voudrais savoir si quelqu'un pourrai m'aider sur un script je suis en panne sèche la ^^. (pour dire vrai je suis pas très evolué sur les scripts mais je connais les bases).

voila je voudrai un script à placer dans le "on close" d'un placeable, qui quant on deposerait un objet avec un tag "A" dans l'inventaire de ce placeable et que l'on ferme l'inventaire ensuite, on face apparaître un eclair (un effet visuel) a un Waypoint donné et qu'un portail de tag "B" apparaisse.

en fait je resume ce pourquoi je demande ce script, je voudrai qu'un pj trouve un morceau de statue et qu'il le remet a sa place, sur la statue, ce qui s'en suivrai l'apparition d'une porte secrete ... voila ce que je veux faire.

merci d'avance ! et bonne année a tout le monde d'avance ^^
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 30/12/2005 20:02:59 Sujet du message : La statue est réparée !

Bonsoir ZogZog59,
Faire un script de création d'objet n'est pas très difficile, je te laisse regarder ce script pour que tu en comprennes le fonctionnement. J'ai respecté les TAGs que tu avais proposé, mais en minuscule ("a" et "b"). J'ai également créer un waypoint de TAG "way01" à l'endroit où le portail apparait. Il faut d'abord que tu places ta statue, et que tu ais créé dans la palette le placeable que tu ceux utiliser comme portail, cela peut être par exemple : placeable générique > objet secret > portail serveur, ou placeable générique > effet visuel > colone de lumière. Ce que tu veux. Il faut que cet objet soit utilisable, mais ça, je pense que tu dois le savoir.
Sur ta statue, tu enlèves tous les scripts s'il y en a, et tu mets ce script sur le OnClose :
NWScript :
// fonction permettant d'appliquer un delai a la creation d'un objet par Djezebel
void DelayCreatObject(int nObjectType, string sTemplate, location lLoc, int bUseAppearAnimation = FALSE, string sNewTag= "")
{
  CreateObject(nObjectType, sTemplate, lLoc, bUseAppearAnimation, sNewTag);
}


////////////////////////////// /////////////////////////////

void main()
{

    object oPC=GetLastClosedBy();
    object oItem = GetFirstItemInInventory(OBJECT_SELF);
    effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M); //un eclair
    string sTag = "a";
    object oWay01=GetWaypointByTag("way01");
    location lLoc= GetLocation(oWay01);

      if (GetIsObjectValid(oItem))
      {
          if (GetTag(oItem) == sTag )
        {
          if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
                {
                  return;
                }

            SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
            DelayCommand(1.0, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eVis,lLoc,5.0f));
            DelayCommand(2.0,DelayCreatObject(OBJECT_TYPE_PLACEABLE,"b",lLoc));
                                }
        if (GetTag(oItem) != sTag )

          {
            int iNumstakItem=GetNumStackedItems(oItem);
            string sResRef=GetResRef (oItem);
            SendMessageToPC(oPC,"Vous ne pouvez pas mettre cet objet sur une statue");
            CreateItemOnObject(sResRef, oPC, iNumstakItem);
            DestroyObject(oItem);
                }
          }
}
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.



Et voilà, ton portail est prêt !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
zogzog59
Grand Chevalier
Inscrit le: 16 Jan 2005
Messages: 123
Répondre en citant
Posté le : 31/12/2005 18:57:00 Sujet du message :

merci beaucoup a toi enki ca me depanne magnifiquement de plus avec ce script je comprend un peu mieux les scripts en general et j'espere en créer moi meme d'ici peu ...

encore merci !

EDIT: le script ne marche pas ca marque : erreur parsing variable list

il y a un probleme a la ligne suivante :

Code :
string sResRef=GetResRef (oItem);


si quelqu'un pouvait m'aider 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 : 01/01/2006 16:08:50 Sujet du message :

Enlève l'espace entre GetResref et (oItem).
_________________
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
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 02/01/2006 01:17:15 Sujet du message : Un point virgule ;

Bonsoir ZogZog59, et bonne année à toi ainsi qu'à Ivellios !
Je suis surpris de la réponse d'Ivellios car quand je compile ce script sous aurora, quel que soit l'espace entre le GetResRef et la parenthèse, tout compile correctement. Par contre, cette erreur (PARSING VARIABLE LIST) apparait souvent quand on oublie un point virgule à la ligne qui est au dessus de celle soulignée. Donc vérifie bien si tu as tout bien copié. A moi ça m'arrive souvent de faire des "copier-collers" incomplets. Embarassed
C'est tout ce qui me vient à l'esprit.
 
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 : 02/01/2006 01:52:47 Sujet du message :

Oui c'est exact, je me suis trompé (surement par l'habitude de ne jamais voir d'espace).
Sinon à par ça je ne vois pas l'erreur Razz
_________________
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
 
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 49.57ms