Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Edited by Interference. Bugger Giere Drachios.
- // Heights in meters
- float moveMPerStep = 0.00005; // Move x meters per step
- float changeStage = 0.003; // Increment speed to quicken then slow move
- integer steps = 50; // Number of steps per cycle
- integer count;
- vector pos;
- float Z;
- // Default state
- default
- {
- // Fires when we rez
- on_rez(integer start)
- {
- llResetScript(); // Just resets the script on rez, forcing state_entry to run again
- }
- // Fires when we enter this state or the script is reset
- state_entry()
- {
- // Set some variables
- count = 0;
- // Start this object rotating
- llTargetOmega(<0,0,3>,PI,100);
- // Set the timer event to trigger every 0.01 seconds
- llSetTimerEvent(0.01);
- // Sleep for 0.4 seconds then play a sound
- llSleep(0.4);
- llPlaySound(llGetInventoryName(INVENTORY_SOUND,0), 1.2);
- }
- // Timer event. Fires whenever llSetTimerEvent tells it to
- timer()
- {
- vector pos = llGetPos();
- if( count != steps )
- {
- if( count < steps/2)
- {
- moveMPerStep += changeStage;
- }
- else
- {
- moveMPerStep -= changeStage;
- }
- pos = llGetPos();
- pos.z += moveMPerStep;
- llSetRegionPos(pos);
- count ++;
- }
- // Check if we're done climbing. If we are, self delete!
- else if( count == steps )
- {
- llDie();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement