De DigiWiki.
Simple Anti Gravity Simulation
float currentGrav = -9.8;
default
{
state_entry()
{
llSay(0, "Script running.");
}
touch_start(integer number)
{
llSetTimerEvent(0.25);
}
timer()
{
currentGrav += 1;
if(currentGrav == -0.8)
currentGrav = 0;
if(currentGrav >= 2)
llSetTimerEvent(0);
aaSetEnv (GRAVITY_FORCE_Z, [currentGrav]);
}
}
Simple Gravity Repulsor
default
{
state_entry()
{
//Disable normal gravity
aaSetEnv (ENABLE_GRAVITY, [0]);
float xPower = 0;
float yPower = 0;
float zPower = 150;
float Radius = 2;
integer identifer = 1;
//Forces things upwards
aaSetEnv (ADD_GRAVITY_FORCE, [llGetPos(), xPower, yPower, zPower, Radius, identifer]);
}
}
Simple Two Point Gravity Simulation
default
{
state_entry()
{
//Disable normal gravity
aaSetEnv (ENABLE_GRAVITY, [0]);
float GravPower = 1;
float Radius = 20;
integer identifer = 1;
//Add two points, 20m apart
aaSetEnv (ADD_GRAVITY_POINT, [llGetPos(), GravPower, Radius, identifer++]);
aaSetEnv (ADD_GRAVITY_POINT, [llGetPos() + <0, 0, 20>, GravPower, Radius, identifer]);
}
}
TimeReversalFunctions
integer isReverting = true;
default
{
state_entry()
{
llSay(0, "Collecting reversal data...");
aaSetEnv (START_TIME_REVERSAL_SAVING, []);
llSetTimerEvent(10);
}
touch_start(integer number)
{
if(isReverting)
{
//Stop reversing time
llSetTimerEvent(0);
llSay(0, "Stopping the reversal...");
aaSetEnv (STOP_TIME_REVERSAL, []);
}
else
{
llResetScript();
}
isReverting = !isReverting;
}
timer()
{
//Start reversing the last 10s
llSay(0, "Reversing the last 10 seconds...");
isReverting = FALSE;
llSetTimerEvent(0);
aaSetEnv (START_TIME_REVERSAL, []);
}
}