La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 19/05/2024 01:32:51


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Mars
Seigneur
Inscrit le: 31 Mar 2004
Messages: 199
Répondre en citant
Posté le : 17/04/2005 15:15:35 Sujet du message : [Prob]CreateObject qui disparait

Bonjour tout le monde, ça faisait longtemps que j'avais pas eu de problèmes mais bon ça ne pouvait pas durée indéfiniment..

J'ai dans une zone 5 torches inaccessibles (séparés du joueur par un gouffre). C'est en réalité des éléments de tileset sur lesquelles j'ai déposé des objets invisibles.

J'ai déposé se script dans le OnPhysicalAttacked

NWScript :
void main()
{
object oPC = GetLastAttacker();
object oFleche = GetItemInSlot (INVENTORY_SLOT_ARROWS,oPC);
int nCount = GetLocalInt(oPC, "compteur_torche");
int nUtilise = GetLocalInt(OBJECT_SELF, "deja_utilise");

if ( GetTag(oFleche)== "NW_WAMMAR002" && nUtilise == 0 )
{
    location lDest = GetLocation(OBJECT_SELF);
    int nObjectType = OBJECT_TYPE_PLACEABLE;
    int bUseAppearAnimation=FALSE;
    string sFeu = "flamemedium001";
    CreateObject(nObjectType, sFeu, lDest, bUseAppearAnimation);

    SetLocalInt(OBJECT_SELF, "deja_utilise", 1); // on marque la torche comme allume
    SetLocalInt(oPC, "compteur_torche", nCount+1); // on augmente le compteur total

        if(nCount == 5) // s'il est a 5, on ouvre la porte
        {
        object oDoor = GetObjectByTag ("FIRE_DOOR");
        SpeakString("Vous entendez un cliquetis retentir, puis une porte s'ouvrir...");
        SetLocked(oDoor, FALSE);
        AssignCommand(oDoor, ActionOpenDoor(oDoor));
        }
    else
    {
      SpeakString("La torche s'enflame");
    }
  }

  else // Si la torche est deja allume
  {
    SpeakString("Il ne se passe rien...");
  }

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


Il est censé faire apparaitre un placable de type flamme sur mon objet invisible . Enfin cette partie là
NWScript :
location lDest = GetLocation(OBJECT_SELF);
    int nObjectType = OBJECT_TYPE_PLACEABLE;
    int bUseAppearAnimation=FALSE;
    string sFeu = "flamemedium001";
    CreateObject(nObjectType, sFeu, lDest, bUseAppearAnimation);
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.

le reste marche très bien.

Le problème c'est que la flame apparait bien mais disparait instantanément.
J'ai essayé de poser mon objet invisible par terre pour voir si ce n'était pas la location qui foirait mais même par terre j'ai le même problème.

Je ne sais plus quoi faire, j'ai montré le script à pas mal de monde et personne n'a su me répondre. :help:
_________________
Retour de forums d'aide aux créateurs
===> La communauté d'Aurora
===>Le sanctuaire des Scripts
===>Le salon de la 3D
Dernière édition par Mars le 18/04/2005 23:41:26; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Stan
Grand Chevalier
Inscrit le: 07 Avr 2005
Messages: 126
Répondre en citant
Posté le : 17/04/2005 16:17:18 Sujet du message :

*va surement dire une bétise mais bon*

L'object invisible est de quelle taille ? t'as essayé de le remplacer par un truc visible mais minuscule, voir si c'est pas l'object invisible qui cache ta flamme ? Confused

Deuxième question, tu as tenté de modifier légèrement la location pour la mettre quelques millimètre au dessus de ton object invisible ?

Donc de tête ça ferait un truc du genre :

NWScript :
vector lieu= GetPosition(OBJECT_SELF)+ Vector(0.0,0.0,0.2);
ldest= Location(GetArea(OBJECT_SELF), lieu, 0.0);
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.


A toi de modifier le Vector(0.0,0.0,0.2) pour qu'il déplace la flamme dans un endroit totalement libre, tu pourras ainsi voir si c'est bien le CreateObject qui déconne ou si la flamme reste bien dans la zone mais est invisible.

PS : ce n'est pas comme déplacer l'objet invisible lui même, car là on creerai la flamme dans un espace vide, et pas sur l'objet invisible.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Mars
Seigneur
Inscrit le: 31 Mar 2004
Messages: 199
Répondre en citant
Posté le : 18/04/2005 00:16:59 Sujet du message :

L'objet invisible est plutôt petit, plus petit que ma flamme à vue d'oeil (quoique il ne me laisse pas beaucoup de temps pour le voir^^)

Sinon Je vais essayer de déplacer légèrement ma flamme mais je ne me suis jamais penché sur cette commande;

NWScript :
vector lieu= GetPosition(OBJECT_SELF)+ Vector(0.0,0.0,0.2);
ldest= Location(GetArea(OBJECT_SELF), lieu, 0.0);
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.


Ils correspondent à quoi les (0.0,0.0,0.2);

Merci de t'être penché sur mon problème.
_________________
Retour de forums d'aide aux créateurs
===> La communauté d'Aurora
===>Le sanctuaire des Scripts
===>Le salon de la 3D
Dernière édition par Mars le 18/04/2005 23:42:09; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Stan
Grand Chevalier
Inscrit le: 07 Avr 2005
Messages: 126
Répondre en citant
Posté le : 18/04/2005 04:05:38 Sujet du message :

Ce sont des vecteurs.En gros en ajoutant un Vector(0.0,0.0,0.2) ça veut dire que tu remontes ton truc de 0.2

Comme si dans l'editeur du faisais un ajustement de position et que le z tu l'augmentais de 0.2
 
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 : 18/04/2005 11:11:27 Sujet du message :

Tes flammes sont détruite ou ne produise tout simplement pas d'effet de feu et en appuyant sur TAB tu vois son nom ?
Dans le second cas sa veut dire que l'objet plaçable flamme est verouillé ce qui bloque l'effet visuel, comme pour les colonne de lumière etc... quand on verouille sa coupe "l'effet"
_________________
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
 
Mars
Seigneur
Inscrit le: 31 Mar 2004
Messages: 199
Répondre en citant
Posté le : 19/04/2005 23:27:29 Sujet du message :

J'ai trouvé mon problème et vous allez rire.... Enfin pas si sur en fait. Very Happy
La solution de Stan 'a rien réglée, celle d'Ivellios non plus...

Normal puisque je créais un objet qui n'existait pas dans la palette alors forcément....

Comment j'ai pu faire une bourde pareille ?
Tout simple, un click droit sur mon placable générique, éditer-copier, je note le resref et j'annule Very Happy

Merci quand même pour le coup de pouce.
_________________
Retour de forums d'aide aux créateurs
===> La communauté d'Aurora
===>Le sanctuaire des Scripts
===>Le salon de la 3D
 
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 27.247ms