Bonjour
J'ai récupéré un script pour faire un ascenseur.
Mon problème est qu'il ne va jamais exactement aux coordonnées que je lui entre.
Surtout au niveau de la hauteur, impossible de le faire descendre en dessous de 41.300 pour la coordonnée Z.
Voici le script :
vector pos = <240,16.5,39>;//Base Postion
vector end;//Target Position
key owner;
default
{
state_entry()
{
owner=llGetOwner();
llListen(0,"",owner,"");
llListen(34,"","","first");
llListen(34,"","","second");
llSetStatus(STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z,FALSE);
}
listen(integer a, string n, key id, string m)
{
// Quand l'objet entend align, il saisiera la position de base, et apres ca, tous les deplacements seront fait en ajustant
// la coordonnee Z de la position de base.
if(m=="align")
{
// pos=llGetPos();
llSetStatus(STATUS_PHYSICS,TRUE);
llMoveToTarget(pos,1.5);
}
// Pour le premier etage, nous voulons que l'ascenseur soit a sa position de base, so end(final resting place of the elevator) is the same as pos. I showed the addition of the vector <0,0,0> merely for continuity. The same comments about tau that apply to the llSetHoverHeight, apply to llMoveTarget.
if(m=="first")
{
end=pos;
llMoveToTarget(end,1.5);
}
if(m=="second")
{
end=pos+<0,0,8>;
llMoveToTarget(end,1.5);
}
}
}
toute aide sera la bienvenue
Olivier
|