15.04.2023, 12:39
Moin, hat jemand eine Idee, wie man das Ruckeln aus dem Script bekommt?
Die Bewegung ist alles andere als sanft gleitend.
Die Bewegung ist alles andere als sanft gleitend.
PHP-Code:
// Menu controled on sit. Can also be controlled with local chat eg: /33 Floor2
integer CHANNEL = 36; // dialog channel
list MENU_MAIN = ["down","up"]; // the main menu
float BOTTOM = 20.60; // set platform ground floor height
float FLOOR_HEIGHT = 6.1; // alter to suit floor spacing
float SPEED = 0.4;
float target;
string sound = "ba0101f0-e6da-43cc-a33b-61c172cbfebc";
default
{
state_entry()
{
llListen(CHANNEL, "", NULL_KEY, "");
llSitTarget(<0.0, 0.0, 0.95>,ZERO_ROTATION);
llSetText("Sit",<0.2,0,0>,0.79);
target = BOTTOM;
llStopAnimation("sit");
llStopSound();
}
listen(integer channel, string name, key id, string message)
{
integer idx = llListFindList(MENU_MAIN, [message]);
if( idx!=-1 )
{
llLoopSound(sound, 1.0);
// llSay(0,"Elevator heading " + message + "." );
target = BOTTOM + (idx*FLOOR_HEIGHT);
state moving;
}
}
changed(integer change)
{
if (change & CHANGED_LINK)
{
key av = llAvatarOnSitTarget();
if (av !=NULL_KEY)
// if((llGetPermissions() & PERMISSION_TRIGGER_ANIMATION) && llGetPermissionsKey() == av)
{
// llStopAnimation("sit");
// llStartAnimation("vb stand_5arms up p2");
llPlaySound(sound, 1.0);
llDialog(av, "Where to?", MENU_MAIN, CHANNEL);
}
else
{
llStopSound();
// llRequestPermissions(av, PERMISSION_TRIGGER_ANIMATION);
}
}
}
}
state moving
{
state_entry()
{
llSetTimerEvent(0.1);
}
timer()
{
llSleep(0.25); // just to stop things happening instantly.
vector pos = llGetPos();
if( pos.z!=target )
{
if( pos.z>target )
{
pos.z = pos.z - SPEED;
}
else
{
pos.z = pos.z + SPEED;
}
}
if( llFabs(pos.z - target) < SPEED )
{
pos.z = target;
llSetTimerEvent(0);
llSetPos(pos);
// llSay(0,"Elevator has reached its target." );
state default;
}
llSetPos(pos);
}
}
Hypergrid : xenolandia.de:8002:Xenotown
Grid : xenolandia.de:8002
Erstelle dein Account im Xenolandia Grid
Page: https://Xenopolias.de
Grid : xenolandia.de:8002
Erstelle dein Account im Xenolandia Grid
Page: https://Xenopolias.de