Les valeurs à renseigner sont <x, y, z>.
Par conséquent :
sensor(integer total_number)
{
if (!ouvert) { llSetPos(llGetPos() + <-largeur, 0, 0>); }
ouvert=TRUE;
llSetTimerEvent(4.0);
}
timer()
{
if (ouvert) { llSetPos(llGetPos() + <largeur, 0, 0>); }
ouvert=FALSE;
llSetTimerEvent;
}
Tu peux influer sur une ouverture vers la gauche ou la droite en disposant le signe "-" sur la ligne appropriée.
Ah, et j'oubliais. vérifie bien que la largeur de ta porte est sur l'axe "y" (si tu as manipulé l'objet dans tous les sens ce n'est peut-être pas le cas). Si la largeur de ta porte est sur l'axe "x" de ta prim, il suffit de changer les "y" en gras ci dessous par des "x" dans cette partie du sript :
state_entry()
{
vector dimensions = llGetScale(); // dimensions de la porte
largeur = dimensions. y - (dimensions. y / 10); // détermination de la largeur du déplacement
//détecte tout avatar dans un rayon de 2 fois la largeur de la porte toute les 1 sec
llSensorRepeat("", NULL_KEY, AGENT, 2*dimensions. y , PI, 1);
llSay(0, "porte automatique"); // information
}
|