Login: Pass:
Miltiades



Inscrit le: 05 Nov 2006
Messages: 175
Message Posté le: 4/11/2007 22:55 Sujet du message: [Résolu]Vérouiller une porte avec une clef
Bonsoir^^

Voilà pour un joueur, je lui ai crée une chambre qui est fermée à clef. Donc il faut une clef pour l'ouvrir. Sans la clef, impossible d'ouvrir la porte de la chambre .
Mais il est impossible de revérouiller la porte à l'aide de la même clef une fois la porte ouverte.
Quelqu'un saurait-il comment faire?
Faut-il passer par un script? si oui lequel?


Merci


Dernière édition par Miltiades le 5/11/2007 17:57; édité 1 fois
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Argyl



Inscrit le: 26 Juil 2006
Messages: 347
Message Posté le: 4/11/2007 23:39 Sujet du message:
Je crois qu'il est possible dans les propriétés de la porte de définir si elle est "revérouillable".
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
KorTeX



Inscrit le: 28 Juin 2007
Messages: 22
Message Posté le: 5/11/2007 9:21 Sujet du message:
tu peux créer une clef pour la chambre.

Ensuite pour ma part je mets sur le OnClose de la porte


Code:
void main()
{
SetLocked (OBJECT_SELF, TRUE);
}


et une sorte de levier, qui servira à l'ouverture et fermeture de la porte. Il doit se trouver juste à côté, à l'intérieur de la chambre. Je place une variabe "door" de type string avec pour valeur le tag de la porte, et sur le OnUSe du levier, je mets

Code:
void main ()
{
// j'utilise GetNearest car si tu fais les portes en série, c'est plus simple et rapide que de changer les tag et les variables
object oDoor = GetNearestObjectByTag (GetLocalString (OBJECT_SELF, "door"));
if (GetIsOpen (oDoor))
    {
// doit fonctionner avec ActionCloseDoor (oDoor); mais à tester
    AssignCommand (oDoor, ActionCloseDoor (oDoor));
    }
else
    {
    SetLocked (oDoor, FALSE);
    AssignCommand (oDoor, ActionCloseDoor (oDoor));
    }
}



donc tu n'auras qu'à mettre sur le OnOpen de la porte

Code:
void main()
{
// ici j'ai mis 6 secondes pour un round, mais on peut mettre plus
DelayCommand (6.0f, ActionCloseDoor (OBJECT_SELF));
}



donc à chaque fois que la porte se refermera elle sera revérouillée. Le levier permet de la refermer manuellement, et donc de le revérouiller aussi.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Miltiades



Inscrit le: 05 Nov 2006
Messages: 175
Message Posté le: 5/11/2007 17:57 Sujet du message:
Merci beaucoup^^
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   

Page 1 sur 1
Sauter vers:  

 

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

Traduction par : phpBB-fr.com
Powered by phpBB © 2001, 2007 phpBB Group