Elleslande Module pour NWN
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Elleslande Module pour NWN

Forum d' Elleslande, module RP pour Neverwinter Nights
 
AccueilRechercherDernières imagesS'enregistrerConnexion
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal

 

 question de verouillage

Aller en bas 
3 participants
AuteurMessage
Ame Sombre
Novice
Ame Sombre


Nombre de messages : 18
Age : 39
Date d'inscription : 05/09/2006

question de verouillage Empty
MessageSujet: question de verouillage   question de verouillage EmptyMar 5 Sep - 4:35

question surement tres con***e.

Je fais un piti module la, mais le truc c'est que je chercher le script qui verrouille automatiquement une porte apres ouverture.

j'ai deja demandé a des scripteurs d'autre serveur sur lequel je jouais, nada, secret d'amateur, ils ne voulaient pas me le fournir, ni meme d'explication.

sans script,on peux la verouiller, la faire ouvrir uniquement par une clef, mais il faut re-utiliser la clef pour relocker la porte (aller expliquer ca a un dm amateur qui debute ... je parle de moi^^)

donc si qqun a un lien ou le script direct, je lui frotterais la tete gratos durant 3 jours non stop.
Pis je rajoute sous le menton, soyons fou! cheers

Merci biiiien
Revenir en haut Aller en bas
Astarode
Admin
Astarode


Nombre de messages : 374
Age : 53
Localisation : Elleslande
Date d'inscription : 16/11/2005

question de verouillage Empty
MessageSujet: Re: question de verouillage   question de verouillage EmptyMar 5 Sep - 19:59

Es-ce ça que tu cherches ?

https://elleslande.1fr1.net/viewtopic.forum?t=134


A moins que tu ne cherches juste qu'à refermer la porte...
... les joueurs les ouvrent mais ne les referment jamais... Bonjour les courants d'air ! drunken

void main()
{
// Referme la porte après un délai de 10 secondes
// A mettre dans le OnEnter de la porte


DelayCommand(10.0f,ActionCloseDoor(OBJECT_SELF));
}
Revenir en haut Aller en bas
https://elleslande.1fr1.net
Ame Sombre
Novice
Ame Sombre


Nombre de messages : 18
Age : 39
Date d'inscription : 05/09/2006

question de verouillage Empty
MessageSujet: Re: question de verouillage   question de verouillage EmptyMar 5 Sep - 23:59

Ce serait pour une geole, il faut donc que la porte soit verrouillée a la fermeture, de sorte qu'il n'y ai qu'une clef pour l'ouvrire.
Pour l'instant, j'arrive à la verrouiller, mais des qu'elle est ouverte avec une clef specifique, elle ne ce verrouille pas AUTOMATIQUEMENT à la fermeture.

J'ai deja 4 PNJ's qui font greve a cause des-dit courants d'air... Rolling Eyes

Est ce qu'avec le script de ci dessus, la porte ce ferme ET ce verrouille?
Revenir en haut Aller en bas
Silk
Faiseur d'Univers
Silk


Nombre de messages : 298
Age : 46
Localisation : Albi
Date d'inscription : 20/11/2005

question de verouillage Empty
MessageSujet: le scripting   question de verouillage EmptyMer 6 Sep - 8:11

Je te donne un lien interessant : http://nwnscript.coldwire.net/

il s'agit d'une base de donnée de fonction de scripting avec exemple.

Si tu regarde à ActionCloseDoor tu as cet exemple :

Citation :

// Script placé dans l'évenement "OnHeartbeat" d'une porte.
// La porte se fermera et se verrouillera automatiquement au crépuscule,
// puis se déverrouillera et s'ouvrira automatiquement à l'aube.
void main()
{
if(GetIsDusk())
{
if(GetIsOpen(OBJECT_SELF))
ActionCloseDoor(OBJECT_SELF);

// La fonction "SetLocked()" est utilisée avec "ActionDoCommand()".
// Elle doit être dans la file d'action, afin que la porte se ferme
// complètement avant de se verrouiller.
if(!GetLocked(OBJECT_SELF)
ActionDoCommand(SetLocked(OBJECT_SELF,TRUE));
}
else if(GetIsDawn())
{
if(GetLocked(OBJECT_SELF))
ActionDoCommand(SetLocked(OBJECT_SELF,FALSE));

if(!GetIsOpen(OBJECT_SELF))
ActionOpenDoor(OBJECT_SELF);
}
}


Bien sur les script dans les Heartbeat sont a déconseiller car ils se lance toutes les 6s ce qui pourri la vie a ton serveur !

Par contre si tu reprend le script d'Asta :

Citation :

void main()
{
// Referme la porte après un délai de 10 secondes
// A mettre dans le OnEnter de la porte

DelayCommand(10.0f,ActionCloseDoor(OBJECT_SELF));
DelayCommand(12.0f,ActionDoCommand(SetLocked(OBJECT_SELF,FALSE)));
}


Voilà, à prioris au bout de 10s la porte se ferme et 2s après elle se reverouille...
Bien sur ne met pas ça sur une porte où tu choisi de "detruire la clef" après utilisation...

Je pense que comme ça ça devrait fonctionner.
Revenir en haut Aller en bas
http://aidtarn.free.fr
Ame Sombre
Novice
Ame Sombre


Nombre de messages : 18
Age : 39
Date d'inscription : 05/09/2006

question de verouillage Empty
MessageSujet: Re: question de verouillage   question de verouillage EmptyMer 6 Sep - 16:46

Le script d'Asta modif by Silk me convient parfaitement.

Je l'essaye de suite, le tout en vous remerciant Wink
Revenir en haut Aller en bas
Astarode
Admin
Astarode


Nombre de messages : 374
Age : 53
Localisation : Elleslande
Date d'inscription : 16/11/2005

question de verouillage Empty
MessageSujet: Re: question de verouillage   question de verouillage EmptyMer 6 Sep - 20:16

Je n'avais pas préciser pour la commande de verrouilage car ça me semblait couler de source. En revanche, tu peux, à la place du DelayCommande mettre DIRECTEMENT le SetLoked.

En, effet, le DelayCommand mets en place un timer qui exécute la commande spécifiée à la fin de décompte. Ici, tu peux verrouiller la porte dès qu'elle s'est refermée. pig
Revenir en haut Aller en bas
https://elleslande.1fr1.net
Silk
Faiseur d'Univers
Silk


Nombre de messages : 298
Age : 46
Localisation : Albi
Date d'inscription : 20/11/2005

question de verouillage Empty
MessageSujet: Re: question de verouillage   question de verouillage EmptyMer 6 Sep - 20:45

je pensais que le script passerais à la commande suivante en attendant que le delay s'effectue.... Smile

d'ou les 12s pour laisser le temps à la porte de se fermer...
Revenir en haut Aller en bas
http://aidtarn.free.fr
Astarode
Admin
Astarode


Nombre de messages : 374
Age : 53
Localisation : Elleslande
Date d'inscription : 16/11/2005

question de verouillage Empty
MessageSujet: Re: question de verouillage   question de verouillage EmptyMer 6 Sep - 20:53

Citation :

void main()
{
// Referme la porte après un délai de 10 secondes
// A mettre dans le OnEnter de la porte

DelayCommand(10.0f,ActionCloseDoor(OBJECT_SELF));
DelayCommand(12.0f,ActionDoCommand(SetLocked(OBJECT_SELF,FALSE)));
}

Dans le script que tu as proposé, la porte ne se reverrouille pas 2 mais 12 secondes après la fin de la commande précédente pig
De plus, il te faudra mettre le SetLocked à TRUE comme expliqué -->ici

Du "prêt-à-macher" donnera donc :
Astarode a écrit:
void main()
{
// Referme la porte après un délai de 10 secondes et la verrouille
// A mettre dans le OnEnter de la porte

DelayCommand(10.0f,ActionCloseDoor(OBJECT_SELF));
SetLocked(OBJECT_SELF,TRUE);
}
Revenir en haut Aller en bas
https://elleslande.1fr1.net
Silk
Faiseur d'Univers
Silk


Nombre de messages : 298
Age : 46
Localisation : Albi
Date d'inscription : 20/11/2005

question de verouillage Empty
MessageSujet: effectivement   question de verouillage EmptyJeu 7 Sep - 9:05

effectivement pour le false j'ai fait un copier coller betement sans relire milles excuses !
Revenir en haut Aller en bas
http://aidtarn.free.fr
Contenu sponsorisé





question de verouillage Empty
MessageSujet: Re: question de verouillage   question de verouillage Empty

Revenir en haut Aller en bas
 
question de verouillage
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Une question bête...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Elleslande Module pour NWN :: Zone technique :: Aurora : Le coin des invités-
Sauter vers: