| question de verouillage | |
|
|
Auteur | Message |
---|
Ame Sombre Novice
Nombre de messages : 18 Age : 39 Date d'inscription : 05/09/2006
| Sujet: question de verouillage Mar 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! Merci biiiien | |
|
| |
Astarode Admin
Nombre de messages : 374 Age : 53 Localisation : Elleslande Date d'inscription : 16/11/2005
| Sujet: Re: question de verouillage Mar 5 Sep - 19:59 | |
| Es-ce ça que tu cherches ? https://elleslande.1fr1.net/viewtopic.forum?t=134A 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)); } | |
|
| |
Ame Sombre Novice
Nombre de messages : 18 Age : 39 Date d'inscription : 05/09/2006
| Sujet: Re: question de verouillage Mar 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... Est ce qu'avec le script de ci dessus, la porte ce ferme ET ce verrouille? | |
|
| |
Silk Faiseur d'Univers
Nombre de messages : 298 Age : 46 Localisation : Albi Date d'inscription : 20/11/2005
| Sujet: le scripting Mer 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. | |
|
| |
Ame Sombre Novice
Nombre de messages : 18 Age : 39 Date d'inscription : 05/09/2006
| Sujet: Re: question de verouillage Mer 6 Sep - 16:46 | |
| Le script d'Asta modif by Silk me convient parfaitement. Je l'essaye de suite, le tout en vous remerciant | |
|
| |
Astarode Admin
Nombre de messages : 374 Age : 53 Localisation : Elleslande Date d'inscription : 16/11/2005
| Sujet: Re: question de verouillage Mer 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. | |
|
| |
Silk Faiseur d'Univers
Nombre de messages : 298 Age : 46 Localisation : Albi Date d'inscription : 20/11/2005
| Sujet: Re: question de verouillage Mer 6 Sep - 20: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... | |
|
| |
Astarode Admin
Nombre de messages : 374 Age : 53 Localisation : Elleslande Date d'inscription : 16/11/2005
| Sujet: Re: question de verouillage Mer 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 De plus, il te faudra mettre le SetLocked à TRUE comme expliqué --> iciDu "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); }
| |
|
| |
Silk Faiseur d'Univers
Nombre de messages : 298 Age : 46 Localisation : Albi Date d'inscription : 20/11/2005
| Sujet: effectivement Jeu 7 Sep - 9:05 | |
| effectivement pour le false j'ai fait un copier coller betement sans relire milles excuses ! | |
|
| |
Contenu sponsorisé
| Sujet: Re: question de verouillage | |
| |
|
| |
| question de verouillage | |
|