|
|
| Auteur | Message |
|---|
Ame Sombre Novice

Age : 23 Inscrit le : 05 Sep 2006 Messages : 18
| Sujet: question de verouillage Mar 5 Sep - 3: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!
Merci biiiien |
|
 | |
Astarode Admin

Age : 37 Inscrit le : 16 Nov 2005 Messages : 374 Localisation : Elleslande
| Sujet: Re: question de verouillage Mar 5 Sep - 18:59 | |
| Es-ce ça que tu cherches ?
http://elleslande.forumzen.com/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 !
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)); } _________________ Pour me joindre sur MSN : ld10b@hotmail.com |
|
 | |
Ame Sombre Novice

Age : 23 Inscrit le : 05 Sep 2006 Messages : 18
| Sujet: Re: question de verouillage Mar 5 Sep - 22: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...
Est ce qu'avec le script de ci dessus, la porte ce ferme ET ce verrouille? |
|
 | |
Silk Faiseur d'Univers

Age : 30 Inscrit le : 20 Nov 2005 Messages : 298 Localisation : Albi
| Sujet: le scripting Mer 6 Sep - 7: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. _________________ ---------------------------------------- Peut être que l'on se retrouvera ... |
|
 | |
Ame Sombre Novice

Age : 23 Inscrit le : 05 Sep 2006 Messages : 18
| Sujet: Re: question de verouillage Mer 6 Sep - 15:46 | |
| Le script d'Asta modif by Silk me convient parfaitement.
Je l'essaye de suite, le tout en vous remerciant  |
|
 | |
Astarode Admin

Age : 37 Inscrit le : 16 Nov 2005 Messages : 374 Localisation : Elleslande
| Sujet: Re: question de verouillage Mer 6 Sep - 19: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.  _________________ Pour me joindre sur MSN : ld10b@hotmail.com |
|
 | |
Silk Faiseur d'Univers

Age : 30 Inscrit le : 20 Nov 2005 Messages : 298 Localisation : Albi
| Sujet: Re: question de verouillage Mer 6 Sep - 19:45 | |
| je pensais que le script passerais à la commande suivante en attendant que le delay s'effectue....
d'ou les 12s pour laisser le temps à la porte de se fermer... _________________ ---------------------------------------- Peut être que l'on se retrouvera ... |
|
 | |
Astarode Admin

Age : 37 Inscrit le : 16 Nov 2005 Messages : 374 Localisation : Elleslande
| Sujet: Re: question de verouillage Mer 6 Sep - 19: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  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); }
|
_________________ Pour me joindre sur MSN : ld10b@hotmail.com |
|
 | |
Silk Faiseur d'Univers

Age : 30 Inscrit le : 20 Nov 2005 Messages : 298 Localisation : Albi
| Sujet: effectivement Jeu 7 Sep - 8:05 | |
| effectivement pour le false j'ai fait un copier coller betement sans relire milles excuses ! _________________ ---------------------------------------- Peut être que l'on se retrouvera ... |
|
 | |
|