Jump to content

Brobruhdude

Resident
  • Posts

    8
  • Joined

  • Last visited

Reputation

0 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. wow many times thanks and I think I see what it was that was done. So that helps a lot. I will send you a ty tip in world today sometime. tyty
  2. Is this better? //Drifting Thoughts Car script //by Kayla Stonecutter //Date: 3/20/2006 // //Basic settings float ForwardPower; //Forward power list ForwardPowerGears = [10, 30, 50, 100,110,200]; float ReversePower = -20; //Reverse power float TurnPower = 700; //Turning power float TurnSpeedAdjust = 0.1; //how much effect speed has on turning, higher numbers effect more. 0.0 to disable float FlightForwardPower = 24; float FlightReversePower = 16; float FlightUpPower = 14; float FlightDownPower = 14; float FlightStrafePower = 12; float FlightTurnPower = 4; string SitText = "Lets Roll!"; //Text to show on pie menu string NonOwnerMessage = "This is not your ride. Go get your own..."; //Message when someone other than owner tries to sit string OwnerName; integer ListenCh = 0; string HornCommand = "h"; string RevCommand = "r"; string IdleCommand = "i"; string StopCommand = "s"; string FlightCommand = "fly"; string GroundCommand = "drive"; string FlightSound = "plane"; string HornSound = "horn"; string IdleSound = "idle"; //Sound to play when idling string RunSound = "run"; //Sound to play when the gas in pressed string RevSound = "rev"; string StartupSound = "starter"; //Sound to play when owner sits string DrivingAnim = "driving generic"; //Animation to play when owner sits //Other variables key Owner; integer NumGears; integer Gear = 0; integer NewSound; string Sound; integer CurDir; integer LastDir; integer Forward; vector SpeedVec; vector Linear; vector Angular; integer Active; key sitting; integer Moving; string SimName; integer DIR_STOP = 100; integer DIR_START = 101; integer DIR_NORM = 102; integer DIR_LEFT = 103; integer DIR_RIGHT = 104; integer DIR_FLIGHT = 105; default { state_entry() { Owner = llGetOwner(); OwnerName = llKey2Name(Owner); TurnSpeedAdjust *= 0.01; ForwardPower = llList2Integer(ForwardPowerGears, 0); NumGears = llGetListLength(ForwardPowerGears); llSetSitText(SitText); llCollisionSound("", 0.0); llSitTarget(<0.8,0.0,0.65>, llEuler2Rot(<0,0,0> )); state Ground; } } state Ground { state_entry() { llListen(ListenCh, OwnerName, NULL_KEY, ""); llStopSound(); if(!Active) { llSetStatus(STATUS_PHYSICS, TRUE); llMessageLinked(LINK_ALL_CHILDREN , DIR_STOP, "", NULL_KEY); llUnSit(llAvatarOnSitTarget()); }else{ SimName = llGetRegionName(); llMessageLinked(LINK_ALL_CHILDREN, DIR_START, "", NULL_KEY); llMessageLinked(LINK_ALL_CHILDREN, DIR_NORM, "", NULL_KEY); NewSound = 1; Sound = IdleSound; Linear = <0,0,-2>; } llSetVehicleType(VEHICLE_TYPE_CAR); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.80); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.2); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 0.1); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 0.1); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.3); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 0.2); llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <100.0, 2.0, 1000.0> ); llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1000.0, 1000.0, 1000.0> ); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 300.0); llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0 ); llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0 ); llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 1000 ); llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0 ); llRemoveVehicleFlags(VEHICLE_FLAG_HOVER_WATER_ONLY | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT); llSetVehicleFlags(VEHICLE_FLAG_NO_DEFLECTION_UP | VEHICLE_FLAG_LIMIT_ROLL_ONLY | VEHICLE_FLAG_HOVER_UP_ONLY | VEHICLE_FLAG_LIMIT_MOTOR_UP); } on_rez(integer param) { llResetScript(); } listen(integer channel, string name, key id, string message) { message = llToLower(message); if(message == HornCommand) llMessageLinked(LINK_SET, 12345, HornSound, NULL_KEY); else if(message == RevCommand) llMessageLinked(LINK_SET, 12345, RevSound, NULL_KEY); else if(message == IdleCommand) llLoopSound(IdleSound, 1.0); else if(message == StopCommand) llStopSound(); else if((message == FlightCommand) && Active) state Flight; } changed(integer change) { if((change & CHANGED_LINK) == CHANGED_LINK) { sitting = llAvatarOnSitTarget(); if((sitting != NULL_KEY) && !Active) { llWhisper(0, NonOwnerMessage); llUnSit(sitting); }else{ llRequestPermissions(Owner, PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA); llTriggerSound(StartupSound, 1.0); llMessageLinked(LINK_ALL_CHILDREN, DIR_START, "", NULL_KEY); llSetPos(llGetPos() + <0,0,0.15>); llSetStatus(STATUS_PHYSICS, TRUE); SimName = llGetRegionName(); llLoopSound(IdleSound,1); llSetTimerEvent(0.1); CurDir = DIR_NORM; LastDir = DIR_NORM; } }else if((sitting == NULL_KEY) && Active) { llSetTimerEvent(0.0); llStopAnimation(DrivingAnim); Active = 0; llStopSound(); llSetStatus(STATUS_PHYSICS, FALSE); llMessageLinked(LINK_ALL_CHILDREN , DIR_STOP, "", NULL_KEY); llReleaseControls(); } } } run_time_permissions(integer perms) { if(perms == (PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA)) { Active = 1; Linear = <0,0,-2>; Angular = <0,0,0>; llStopAnimation("sit"); llStartAnimation(DrivingAnim); llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_DOWN | CONTROL_UP | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT, TRUE, FALSE); llSetCameraParams([ CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive CAMERA_BEHINDNESS_ANGLE, 2.0, // (0 to 180) degrees CAMERA_BEHINDNESS_LAG, 0.1, // (0 to 3) seconds CAMERA_DISTANCE, 8.0, // ( 0.5 to 10) meters // CAMERA_FOCUS, <0,0,0>, // region-relative position CAMERA_FOCUS_LAG, 0.1 , // (0 to 3) seconds CAMERA_FOCUS_LOCKED, FALSE, // (TRUE or FALSE) CAMERA_FOCUS_THRESHOLD, 0.5, // (0 to 4) meters CAMERA_PITCH, 20.0, // (-45 to 80) degrees // CAMERA_POSITION, <0,0,0>, // region-relative position CAMERA_POSITION_LAG, 0.1, // (0 to 3) seconds CAMERA_POSITION_LOCKED, FALSE, // (TRUE or FALSE) CAMERA_POSITION_THRESHOLD, 0.5, // (0 to 4) meters CAMERA_FOCUS_OFFSET, <0,0,0> // <-10,-10,-10> to <10,10,10> meters ]); } } control(key id, integer levels, integer edges) { if(!Moving) { Moving = 1; llSetStatus(STATUS_PHYSICS, TRUE); } SpeedVec = llGetVel() / llGetRot(); if((edges & levels & CONTROL_UP)) { if((Gear + 1) != NumGears) { ++Gear; llWhisper(0, "Gear " + (string)(Gear + 1)); ForwardPower = llList2Float(ForwardPowerGears, Gear); if(Linear.x > 0) Linear.x = ForwardPower; } }else if((edges & levels & CONTROL_DOWN)) { if((Gear - 1) != -1) { --Gear; llWhisper(0, "Gear " + (string)(Gear + 1)); ForwardPower = llList2Float(ForwardPowerGears, Gear); if(Linear.x > 0) Linear.x = ForwardPower; } } if((edges & levels & CONTROL_FWD)) { Linear.x += ForwardPower; NewSound = 1; }else if((edges & ~levels & CONTROL_FWD)) { Linear.x -= ForwardPower; NewSound = 1; } if((edges & levels & CONTROL_BACK)) { Linear.x += ReversePower; NewSound = 1; }else if((edges & ~levels & CONTROL_BACK)) { Linear.x -= ReversePower; NewSound = 1; } if(NewSound) { if(Linear.x) Sound = RunSound; else Sound = IdleSound; } if(llFabs(SpeedVec.x) < 0.5) { if(levels & CONTROL_ROT_LEFT) CurDir = DIR_LEFT; else if(levels & CONTROL_ROT_RIGHT) CurDir = DIR_RIGHT; else CurDir = DIR_NORM; Angular.z = 0.0; }else{ if(SpeedVec.x < 0.0) { Forward = -1; SpeedVec.x *= -TurnSpeedAdjust; }else{ Forward = 1; SpeedVec.x *= TurnSpeedAdjust; } if(levels & CONTROL_ROT_LEFT) { CurDir = DIR_LEFT; Angular.z = (TurnPower - SpeedVec.x) * Forward; }else if((edges & ~levels & CONTROL_ROT_LEFT)) { CurDir = DIR_NORM; Angular.z = 0; } if(levels & CONTROL_ROT_RIGHT) { CurDir = DIR_RIGHT; Angular.z = -((TurnPower - SpeedVec.x) * Forward); }else if((edges & ~levels & CONTROL_ROT_RIGHT)) { CurDir = DIR_NORM; Angular.z = 0; } } } moving_end() { if(llGetRegionName() == SimName) { Moving = 0; llSetStatus(STATUS_PHYSICS, FALSE); }else{ SimName = llGetRegionName(); } } timer() { if(Linear != <0.0, 0.0, -2.0>) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, Linear); llApplyImpulse(Linear, TRUE); } if(Angular != <0.0, 0.0, 0.0>) llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, Angular); if(CurDir != LastDir) { llMessageLinked(LINK_ALL_CHILDREN, CurDir, "", NULL_KEY); LastDir = CurDir; } if(NewSound) { llStopSound(); NewSound = 0; llLoopSound(Sound, 1.0); } } } state Flight { state_entry() { Linear = <0,0,0>; llStopSound(); llMessageLinked(LINK_ALL_CHILDREN, DIR_FLIGHT, "", NULL_KEY); llLoopSound(FlightSound, 1.0); llSetStatus(STATUS_PHYSICS, FALSE); llSetPos(llGetPos() + <0,0,0.25>); vector rot = llRot2Euler(llGetRot()); llSetRot(llEuler2Rot(<0,0,rot.z>)); llListen(ListenCh, OwnerName, NULL_KEY, ""); llSetVehicleType(VEHICLE_TYPE_AIRPLANE); // linear friction llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <100.0, 100.0, 100.0>); // uniform angular friction llSetVehicleFloatParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, 0.5); // linear motor llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0.0, 0.0, 0.0>); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 1.0); // angular motor llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, <0.0, 0.0, 0.0>); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 2.0); // hover llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0.0); llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 360.0); llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0.988); // linear deflection llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.0); // angular deflection llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.25); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 100.0); // vertical attractor llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 1.0); // banking llSetVehicleFloatParam(VEHICLE_BANKING_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_BANKING_MIX, 1.0); llSetVehicleFloatParam(VEHICLE_BANKING_TIMESCALE, 1.0); // default rotation of local frame llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, <0.00000, 0.00000, 0.00000, 0.00000>); // removed vehicle flags llRemoveVehicleFlags(VEHICLE_FLAG_NO_DEFLECTION_UP | VEHICLE_FLAG_HOVER_WATER_ONLY | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | VEHICLE_FLAG_HOVER_UP_ONLY | VEHICLE_FLAG_LIMIT_MOTOR_UP | VEHICLE_FLAG_LIMIT_ROLL_ONLY); // set vehicle flags llSetVehicleFlags(VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT); llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_ROT_LEFT | CONTROL_ROT_RIGHT | CONTROL_UP | CONTROL_DOWN | CONTROL_LBUTTON, TRUE, FALSE); llSetStatus(STATUS_PHYSICS, TRUE); } listen(integer channel, string name, key id, string message) { message = llToLower(message); if(message == GroundCommand) state Ground; } control(key name, integer levels, integer edges) { if((levels & CONTROL_LBUTTON)) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0,0,0>); llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, <0,0,0>); llSetStatus(STATUS_PHYSICS, FALSE); llSleep(0.1); llSetStatus(STATUS_PHYSICS, TRUE); return; } if((edges & levels & CONTROL_UP)) Linear.z += FlightUpPower; else if((edges & ~levels & CONTROL_UP)) Linear.z = 0.0; if((edges & levels & CONTROL_DOWN)) Linear.z -= FlightDownPower; else if((edges & ~levels & CONTROL_DOWN)) Linear.z = 0.0; if((edges & levels & CONTROL_FWD)) Linear.x += FlightForwardPower; else if((edges & ~levels & CONTROL_FWD)) Linear.x = 0.0; if((edges & levels & CONTROL_BACK)) Linear.x -= FlightReversePower; else if((edges & ~levels & CONTROL_BACK)) Linear.x = 0.0; if((edges & levels & CONTROL_LEFT)) Linear.y += FlightStrafePower; else if((edges & ~levels & CONTROL_LEFT)) Linear.y = 0.0; if((edges & levels & CONTROL_RIGHT)) Linear.y -= FlightStrafePower; else if((edges & ~levels & CONTROL_RIGHT)) Linear.y = 0.0; if((edges & levels & CONTROL_ROT_LEFT)) Angular.z = FlightTurnPower; else if((edges & ~levels & CONTROL_ROT_LEFT)) Angular.z = 0; if((edges & levels & CONTROL_ROT_RIGHT)) Angular.z = -FlightTurnPower; else if((edges & ~levels & CONTROL_ROT_RIGHT)) Angular.z = 0; } changed(integer change) { if((change & CHANGED_LINK) == CHANGED_LINK) { sitting = llAvatarOnSitTarget(); if(sitting == NULL_KEY) { llSetTimerEvent(0.0); llStopAnimation(DrivingAnim); Active = 0; llStopSound(); llSetStatus(STATUS_PHYSICS, FALSE); llMessageLinked(LINK_ALL_CHILDREN , DIR_STOP, "", NULL_KEY); llReleaseControls(); state Ground; } } } timer() { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, Linear); llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, Angular); } }
  3. Then, in state Flight, you have another listen event that has the same bailout: if(llGetOwnerKey(id) != Owner) return; i took that out. I dont know I guess my 60 year old brain cant figure it out, I have always sucked at scripting. I cant focus. How much to just do it and it gets paid inworld?
  4. //Drifting Thoughts Car script //by Kayla Stonecutter //Date: 3/20/2006 // //Basic settings float ForwardPower; //Forward power list ForwardPowerGears = [10, 30, 50, 100,110,200]; float ReversePower = -20; //Reverse power float TurnPower = 700; //Turning power float TurnSpeedAdjust = 0.1; //how much effect speed has on turning, higher numbers effect more. 0.0 to disable float FlightForwardPower = 24; float FlightReversePower = 16; float FlightUpPower = 14; float FlightDownPower = 14; float FlightStrafePower = 12; float FlightTurnPower = 4; string SitText = "Lets Roll!"; //Text to show on pie menu string NonOwnerMessage = "This is not your ride. Go get your own..."; //Message when someone other than owner tries to sit string OwnerName; integer ListenCh = 0; string HornCommand = "h"; string RevCommand = "r"; string IdleCommand = "i"; string StopCommand = "s"; string FlightCommand = "fly"; string GroundCommand = "drive"; string FlightSound = "plane"; string HornSound = "horn"; string IdleSound = "idle"; //Sound to play when idling string RunSound = "run"; //Sound to play when the gas in pressed string RevSound = "rev"; string StartupSound = "starter"; //Sound to play when owner sits string DrivingAnim = "driving generic"; //Animation to play when owner sits //Other variables key Owner; integer NumGears; integer Gear = 0; integer NewSound; string Sound; integer CurDir; integer LastDir; integer Forward; vector SpeedVec; vector Linear; vector Angular; integer Active; key sitting; integer Moving; string SimName; integer DIR_STOP = 100; integer DIR_START = 101; integer DIR_NORM = 102; integer DIR_LEFT = 103; integer DIR_RIGHT = 104; integer DIR_FLIGHT = 105; default { state_entry() { TurnSpeedAdjust *= 0.01; ForwardPower = llList2Integer(ForwardPowerGears, 0); NumGears = llGetListLength(ForwardPowerGears); llSetSitText(SitText); llCollisionSound("", 0.0); llSitTarget(<0.8,0.0,0.65>, llEuler2Rot(<0,0,0> )); state Ground; } } state Ground { state_entry() { llListen(ListenCh, OwnerName, NULL_KEY, ""); llStopSound(); if(!Active) { llSetStatus(STATUS_PHYSICS, TRUE); llMessageLinked(LINK_ALL_CHILDREN , DIR_STOP, "", NULL_KEY); llUnSit(llAvatarOnSitTarget()); }else{ SimName = llGetRegionName(); llMessageLinked(LINK_ALL_CHILDREN, DIR_START, "", NULL_KEY); llMessageLinked(LINK_ALL_CHILDREN, DIR_NORM, "", NULL_KEY); NewSound = 1; Sound = IdleSound; Linear = <0,0,-2>; } llSetVehicleType(VEHICLE_TYPE_CAR); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.80); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.2); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 0.1); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 0.1); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.3); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 0.2); llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <100.0, 2.0, 1000.0> ); llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1000.0, 1000.0, 1000.0> ); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 300.0); llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0 ); llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0 ); llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 1000 ); llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0 ); llRemoveVehicleFlags(VEHICLE_FLAG_HOVER_WATER_ONLY | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT); llSetVehicleFlags(VEHICLE_FLAG_NO_DEFLECTION_UP | VEHICLE_FLAG_LIMIT_ROLL_ONLY | VEHICLE_FLAG_HOVER_UP_ONLY | VEHICLE_FLAG_LIMIT_MOTOR_UP); } on_rez(integer param) { llResetScript(); } listen(integer channel, string name, key id, string message) { if(message == HornCommand) llMessageLinked(LINK_SET, 12345, HornSound, NULL_KEY); else if(message == RevCommand) llMessageLinked(LINK_SET, 12345, RevSound, NULL_KEY); else if(message == IdleCommand) llLoopSound(IdleSound, 1.0); else if(message == StopCommand) llStopSound(); else if((message == FlightCommand) && Active) state Flight; } changed(integer change) { if((change & CHANGED_LINK) == CHANGED_LINK) { sitting = llAvatarOnSitTarget(); if((sitting != NULL_KEY) && !Active) { { llRequestPermissions(Owner, PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA); llTriggerSound(StartupSound, 1.0); llMessageLinked(LINK_ALL_CHILDREN, DIR_START, "", NULL_KEY); llSetPos(llGetPos() + <0,0,0.15>); llSetStatus(STATUS_PHYSICS, TRUE); SimName = llGetRegionName(); llLoopSound(IdleSound,1); llSetTimerEvent(0.1); CurDir = DIR_NORM; LastDir = DIR_NORM; } }else if((sitting == NULL_KEY) && Active) { llSetTimerEvent(0.0); llStopAnimation(DrivingAnim); Active = 0; llStopSound(); llSetStatus(STATUS_PHYSICS, FALSE); llMessageLinked(LINK_ALL_CHILDREN , DIR_STOP, "", NULL_KEY); llReleaseControls(); } } } run_time_permissions(integer perms) { if(perms == (PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA)) { Active = 1; Linear = <0,0,-2>; Angular = <0,0,0>; llStopAnimation("sit"); llStartAnimation(DrivingAnim); llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_DOWN | CONTROL_UP | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT, TRUE, FALSE); llSetCameraParams([ CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive CAMERA_BEHINDNESS_ANGLE, 2.0, // (0 to 180) degrees CAMERA_BEHINDNESS_LAG, 0.1, // (0 to 3) seconds CAMERA_DISTANCE, 8.0, // ( 0.5 to 10) meters // CAMERA_FOCUS, <0,0,0>, // region-relative position CAMERA_FOCUS_LAG, 0.1 , // (0 to 3) seconds CAMERA_FOCUS_LOCKED, FALSE, // (TRUE or FALSE) CAMERA_FOCUS_THRESHOLD, 0.5, // (0 to 4) meters CAMERA_PITCH, 20.0, // (-45 to 80) degrees // CAMERA_POSITION, <0,0,0>, // region-relative position CAMERA_POSITION_LAG, 0.1, // (0 to 3) seconds CAMERA_POSITION_LOCKED, FALSE, // (TRUE or FALSE) CAMERA_POSITION_THRESHOLD, 0.5, // (0 to 4) meters CAMERA_FOCUS_OFFSET, <0,0,0> // <-10,-10,-10> to <10,10,10> meters ]); } } control(key id, integer levels, integer edges) { if(!Moving) { Moving = 1; llSetStatus(STATUS_PHYSICS, TRUE); } SpeedVec = llGetVel() / llGetRot(); if((edges & levels & CONTROL_UP)) { if((Gear + 1) != NumGears) { ++Gear; llWhisper(0, "Gear " + (string)(Gear + 1)); ForwardPower = llList2Float(ForwardPowerGears, Gear); if(Linear.x > 0) Linear.x = ForwardPower; } }else if((edges & levels & CONTROL_DOWN)) { if((Gear - 1) != -1) { --Gear; llWhisper(0, "Gear " + (string)(Gear + 1)); ForwardPower = llList2Float(ForwardPowerGears, Gear); if(Linear.x > 0) Linear.x = ForwardPower; } } if((edges & levels & CONTROL_FWD)) { Linear.x += ForwardPower; NewSound = 1; }else if((edges & ~levels & CONTROL_FWD)) { Linear.x -= ForwardPower; NewSound = 1; } if((edges & levels & CONTROL_BACK)) { Linear.x += ReversePower; NewSound = 1; }else if((edges & ~levels & CONTROL_BACK)) { Linear.x -= ReversePower; NewSound = 1; } if(NewSound) { if(Linear.x) Sound = RunSound; else Sound = IdleSound; } if(llFabs(SpeedVec.x) < 0.5) { if(levels & CONTROL_ROT_LEFT) CurDir = DIR_LEFT; else if(levels & CONTROL_ROT_RIGHT) CurDir = DIR_RIGHT; else CurDir = DIR_NORM; Angular.z = 0.0; }else{ if(SpeedVec.x < 0.0) { Forward = -1; SpeedVec.x *= -TurnSpeedAdjust; }else{ Forward = 1; SpeedVec.x *= TurnSpeedAdjust; } if(levels & CONTROL_ROT_LEFT) { CurDir = DIR_LEFT; Angular.z = (TurnPower - SpeedVec.x) * Forward; }else if((edges & ~levels & CONTROL_ROT_LEFT)) { CurDir = DIR_NORM; Angular.z = 0; } if(levels & CONTROL_ROT_RIGHT) { CurDir = DIR_RIGHT; Angular.z = -((TurnPower - SpeedVec.x) * Forward); }else if((edges & ~levels & CONTROL_ROT_RIGHT)) { CurDir = DIR_NORM; Angular.z = 0; } } } moving_end() { if(llGetRegionName() == SimName) { Moving = 0; llSetStatus(STATUS_PHYSICS, FALSE); }else{ SimName = llGetRegionName(); } } timer() { if(Linear != <0.0, 0.0, -2.0>) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, Linear); llApplyImpulse(Linear, TRUE); } if(Angular != <0.0, 0.0, 0.0>) llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, Angular); if(CurDir != LastDir) { llMessageLinked(LINK_ALL_CHILDREN, CurDir, "", NULL_KEY); LastDir = CurDir; } if(NewSound) { llStopSound(); NewSound = 0; llLoopSound(Sound, 1.0); } } } state Flight { state_entry() { Linear = <0,0,0>; llStopSound(); llMessageLinked(LINK_ALL_CHILDREN, DIR_FLIGHT, "", NULL_KEY); llLoopSound(FlightSound, 1.0); llSetStatus(STATUS_PHYSICS, FALSE); llSetPos(llGetPos() + <0,0,0.25>); vector rot = llRot2Euler(llGetRot()); llSetRot(llEuler2Rot(<0,0,rot.z>)); llSetVehicleType(VEHICLE_TYPE_AIRPLANE); // linear friction llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <100.0, 100.0, 100.0>); // uniform angular friction llSetVehicleFloatParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, 0.5); // linear motor llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0.0, 0.0, 0.0>); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 1.0); // angular motor llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, <0.0, 0.0, 0.0>); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 2.0); // hover llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0.0); llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 360.0); llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0.988); // linear deflection llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.0); // angular deflection llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.25); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 100.0); // vertical attractor llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 1.0); // banking llSetVehicleFloatParam(VEHICLE_BANKING_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_BANKING_MIX, 1.0); llSetVehicleFloatParam(VEHICLE_BANKING_TIMESCALE, 1.0); // default rotation of local frame llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, <0.00000, 0.00000, 0.00000, 0.00000>); // removed vehicle flags llRemoveVehicleFlags(VEHICLE_FLAG_NO_DEFLECTION_UP | VEHICLE_FLAG_HOVER_WATER_ONLY | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | VEHICLE_FLAG_HOVER_UP_ONLY | VEHICLE_FLAG_LIMIT_MOTOR_UP | VEHICLE_FLAG_LIMIT_ROLL_ONLY); // set vehicle flags llSetVehicleFlags(VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT); llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_ROT_LEFT | CONTROL_ROT_RIGHT | CONTROL_UP | CONTROL_DOWN | CONTROL_LBUTTON, TRUE, FALSE); llSetStatus(STATUS_PHYSICS, TRUE); } listen(integer channel, string name, key id, string message) { if(message == GroundCommand) state Ground; } control(key name, integer levels, integer edges) { if((levels & CONTROL_LBUTTON)) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0,0,0>); llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, <0,0,0>); llSetStatus(STATUS_PHYSICS, FALSE); llSleep(0.1); llSetStatus(STATUS_PHYSICS, TRUE); return; } if((edges & levels & CONTROL_UP)) Linear.z += FlightUpPower; else if((edges & ~levels & CONTROL_UP)) Linear.z = 0.0; if((edges & levels & CONTROL_DOWN)) Linear.z -= FlightDownPower; else if((edges & ~levels & CONTROL_DOWN)) Linear.z = 0.0; if((edges & levels & CONTROL_FWD)) Linear.x += FlightForwardPower; else if((edges & ~levels & CONTROL_FWD)) Linear.x = 0.0; if((edges & levels & CONTROL_BACK)) Linear.x -= FlightReversePower; else if((edges & ~levels & CONTROL_BACK)) Linear.x = 0.0; if((edges & levels & CONTROL_LEFT)) Linear.y += FlightStrafePower; else if((edges & ~levels & CONTROL_LEFT)) Linear.y = 0.0; if((edges & levels & CONTROL_RIGHT)) Linear.y -= FlightStrafePower; else if((edges & ~levels & CONTROL_RIGHT)) Linear.y = 0.0; if((edges & levels & CONTROL_ROT_LEFT)) Angular.z = FlightTurnPower; else if((edges & ~levels & CONTROL_ROT_LEFT)) Angular.z = 0; if((edges & levels & CONTROL_ROT_RIGHT)) Angular.z = -FlightTurnPower; else if((edges & ~levels & CONTROL_ROT_RIGHT)) Angular.z = 0; } changed(integer change) { if((change & CHANGED_LINK) == CHANGED_LINK) { sitting = llAvatarOnSitTarget(); if(sitting == NULL_KEY) { llSetTimerEvent(0.0); llStopAnimation(DrivingAnim); Active = 0; llStopSound(); llSetStatus(STATUS_PHYSICS, FALSE); llMessageLinked(LINK_ALL_CHILDREN , DIR_STOP, "", NULL_KEY); llReleaseControls(); state Ground; } } } timer() { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, Linear); llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, Angular); } } OK i yanked out what I think you said and this is what I got, I left big spaces so you can see where i pulled stuff out of. I cant get inworld right now to test but does it look right?
  5. i tried taking out anything that says owner but i just messes it up.
  6. so this is original //Drifting Thoughts Car script //by Kayla Stonecutter //Date: 3/20/2006 // //Basic settings float ForwardPower; //Forward power list ForwardPowerGears = [10, 30, 50, 100,110,200]; float ReversePower = -20; //Reverse power float TurnPower = 700; //Turning power float TurnSpeedAdjust = 0.1; //how much effect speed has on turning, higher numbers effect more. 0.0 to disable float FlightForwardPower = 24; float FlightReversePower = 16; float FlightUpPower = 14; float FlightDownPower = 14; float FlightStrafePower = 12; float FlightTurnPower = 4; string SitText = "Lets Roll!"; //Text to show on pie menu string NonOwnerMessage = "This is not your ride. Go get your own..."; //Message when someone other than owner tries to sit string OwnerName; integer ListenCh = 0; string HornCommand = "h"; string RevCommand = "r"; string IdleCommand = "i"; string StopCommand = "s"; string FlightCommand = "fly"; string GroundCommand = "drive"; string FlightSound = "plane"; string HornSound = "horn"; string IdleSound = "idle"; //Sound to play when idling string RunSound = "run"; //Sound to play when the gas in pressed string RevSound = "rev"; string StartupSound = "starter"; //Sound to play when owner sits string DrivingAnim = "driving generic"; //Animation to play when owner sits //Other variables key Owner; integer NumGears; integer Gear = 0; integer NewSound; string Sound; integer CurDir; integer LastDir; integer Forward; vector SpeedVec; vector Linear; vector Angular; integer Active; key sitting; integer Moving; string SimName; integer DIR_STOP = 100; integer DIR_START = 101; integer DIR_NORM = 102; integer DIR_LEFT = 103; integer DIR_RIGHT = 104; integer DIR_FLIGHT = 105; default { state_entry() { Owner = llGetOwner(); OwnerName = llKey2Name(Owner); TurnSpeedAdjust *= 0.01; ForwardPower = llList2Integer(ForwardPowerGears, 0); NumGears = llGetListLength(ForwardPowerGears); llSetSitText(SitText); llCollisionSound("", 0.0); llSitTarget(<0.8,0.0,0.65>, llEuler2Rot(<0,0,0> )); state Ground; } } state Ground { state_entry() { llListen(ListenCh, OwnerName, NULL_KEY, ""); llStopSound(); if(!Active) { llSetStatus(STATUS_PHYSICS, TRUE); llMessageLinked(LINK_ALL_CHILDREN , DIR_STOP, "", NULL_KEY); llUnSit(llAvatarOnSitTarget()); }else{ SimName = llGetRegionName(); llMessageLinked(LINK_ALL_CHILDREN, DIR_START, "", NULL_KEY); llMessageLinked(LINK_ALL_CHILDREN, DIR_NORM, "", NULL_KEY); NewSound = 1; Sound = IdleSound; Linear = <0,0,-2>; } llSetVehicleType(VEHICLE_TYPE_CAR); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.80); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.2); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 0.1); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 0.1); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.3); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 0.2); llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <100.0, 2.0, 1000.0> ); llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1000.0, 1000.0, 1000.0> ); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 300.0); llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0 ); llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0 ); llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 1000 ); llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0 ); llRemoveVehicleFlags(VEHICLE_FLAG_HOVER_WATER_ONLY | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT); llSetVehicleFlags(VEHICLE_FLAG_NO_DEFLECTION_UP | VEHICLE_FLAG_LIMIT_ROLL_ONLY | VEHICLE_FLAG_HOVER_UP_ONLY | VEHICLE_FLAG_LIMIT_MOTOR_UP); } on_rez(integer param) { llResetScript(); } listen(integer channel, string name, key id, string message) { if(llGetOwnerKey(id) != Owner) return; message = llToLower(message); if(message == HornCommand) llMessageLinked(LINK_SET, 12345, HornSound, NULL_KEY); else if(message == RevCommand) llMessageLinked(LINK_SET, 12345, RevSound, NULL_KEY); else if(message == IdleCommand) llLoopSound(IdleSound, 1.0); else if(message == StopCommand) llStopSound(); else if((message == FlightCommand) && Active) state Flight; } changed(integer change) { if((change & CHANGED_LINK) == CHANGED_LINK) { sitting = llAvatarOnSitTarget(); if((sitting != NULL_KEY) && !Active) { if(sitting != llGetOwner()) { llWhisper(0, NonOwnerMessage); llUnSit(sitting); }else{ llRequestPermissions(Owner, PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA); llTriggerSound(StartupSound, 1.0); llMessageLinked(LINK_ALL_CHILDREN, DIR_START, "", NULL_KEY); llSetPos(llGetPos() + <0,0,0.15>); llSetStatus(STATUS_PHYSICS, TRUE); SimName = llGetRegionName(); llLoopSound(IdleSound,1); llSetTimerEvent(0.1); CurDir = DIR_NORM; LastDir = DIR_NORM; } }else if((sitting == NULL_KEY) && Active) { llSetTimerEvent(0.0); llStopAnimation(DrivingAnim); Active = 0; llStopSound(); llSetStatus(STATUS_PHYSICS, FALSE); llMessageLinked(LINK_ALL_CHILDREN , DIR_STOP, "", NULL_KEY); llReleaseControls(); } } } run_time_permissions(integer perms) { if(perms == (PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA)) { Active = 1; Linear = <0,0,-2>; Angular = <0,0,0>; llStopAnimation("sit"); llStartAnimation(DrivingAnim); llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_DOWN | CONTROL_UP | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT, TRUE, FALSE); llSetCameraParams([ CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive CAMERA_BEHINDNESS_ANGLE, 2.0, // (0 to 180) degrees CAMERA_BEHINDNESS_LAG, 0.1, // (0 to 3) seconds CAMERA_DISTANCE, 8.0, // ( 0.5 to 10) meters // CAMERA_FOCUS, <0,0,0>, // region-relative position CAMERA_FOCUS_LAG, 0.1 , // (0 to 3) seconds CAMERA_FOCUS_LOCKED, FALSE, // (TRUE or FALSE) CAMERA_FOCUS_THRESHOLD, 0.5, // (0 to 4) meters CAMERA_PITCH, 20.0, // (-45 to 80) degrees // CAMERA_POSITION, <0,0,0>, // region-relative position CAMERA_POSITION_LAG, 0.1, // (0 to 3) seconds CAMERA_POSITION_LOCKED, FALSE, // (TRUE or FALSE) CAMERA_POSITION_THRESHOLD, 0.5, // (0 to 4) meters CAMERA_FOCUS_OFFSET, <0,0,0> // <-10,-10,-10> to <10,10,10> meters ]); } } control(key id, integer levels, integer edges) { if(!Moving) { Moving = 1; llSetStatus(STATUS_PHYSICS, TRUE); } SpeedVec = llGetVel() / llGetRot(); if((edges & levels & CONTROL_UP)) { if((Gear + 1) != NumGears) { ++Gear; llWhisper(0, "Gear " + (string)(Gear + 1)); ForwardPower = llList2Float(ForwardPowerGears, Gear); if(Linear.x > 0) Linear.x = ForwardPower; } }else if((edges & levels & CONTROL_DOWN)) { if((Gear - 1) != -1) { --Gear; llWhisper(0, "Gear " + (string)(Gear + 1)); ForwardPower = llList2Float(ForwardPowerGears, Gear); if(Linear.x > 0) Linear.x = ForwardPower; } } if((edges & levels & CONTROL_FWD)) { Linear.x += ForwardPower; NewSound = 1; }else if((edges & ~levels & CONTROL_FWD)) { Linear.x -= ForwardPower; NewSound = 1; } if((edges & levels & CONTROL_BACK)) { Linear.x += ReversePower; NewSound = 1; }else if((edges & ~levels & CONTROL_BACK)) { Linear.x -= ReversePower; NewSound = 1; } if(NewSound) { if(Linear.x) Sound = RunSound; else Sound = IdleSound; } if(llFabs(SpeedVec.x) < 0.5) { if(levels & CONTROL_ROT_LEFT) CurDir = DIR_LEFT; else if(levels & CONTROL_ROT_RIGHT) CurDir = DIR_RIGHT; else CurDir = DIR_NORM; Angular.z = 0.0; }else{ if(SpeedVec.x < 0.0) { Forward = -1; SpeedVec.x *= -TurnSpeedAdjust; }else{ Forward = 1; SpeedVec.x *= TurnSpeedAdjust; } if(levels & CONTROL_ROT_LEFT) { CurDir = DIR_LEFT; Angular.z = (TurnPower - SpeedVec.x) * Forward; }else if((edges & ~levels & CONTROL_ROT_LEFT)) { CurDir = DIR_NORM; Angular.z = 0; } if(levels & CONTROL_ROT_RIGHT) { CurDir = DIR_RIGHT; Angular.z = -((TurnPower - SpeedVec.x) * Forward); }else if((edges & ~levels & CONTROL_ROT_RIGHT)) { CurDir = DIR_NORM; Angular.z = 0; } } } moving_end() { if(llGetRegionName() == SimName) { Moving = 0; llSetStatus(STATUS_PHYSICS, FALSE); }else{ SimName = llGetRegionName(); } } timer() { if(Linear != <0.0, 0.0, -2.0>) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, Linear); llApplyImpulse(Linear, TRUE); } if(Angular != <0.0, 0.0, 0.0>) llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, Angular); if(CurDir != LastDir) { llMessageLinked(LINK_ALL_CHILDREN, CurDir, "", NULL_KEY); LastDir = CurDir; } if(NewSound) { llStopSound(); NewSound = 0; llLoopSound(Sound, 1.0); } } } state Flight { state_entry() { Linear = <0,0,0>; llStopSound(); llMessageLinked(LINK_ALL_CHILDREN, DIR_FLIGHT, "", NULL_KEY); llLoopSound(FlightSound, 1.0); llSetStatus(STATUS_PHYSICS, FALSE); llSetPos(llGetPos() + <0,0,0.25>); vector rot = llRot2Euler(llGetRot()); llSetRot(llEuler2Rot(<0,0,rot.z>)); llListen(ListenCh, OwnerName, NULL_KEY, ""); llSetVehicleType(VEHICLE_TYPE_AIRPLANE); // linear friction llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <100.0, 100.0, 100.0>); // uniform angular friction llSetVehicleFloatParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, 0.5); // linear motor llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0.0, 0.0, 0.0>); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 1.0); // angular motor llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, <0.0, 0.0, 0.0>); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 2.0); // hover llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0.0); llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 360.0); llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0.988); // linear deflection llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.0); // angular deflection llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.25); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 100.0); // vertical attractor llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 1.0); // banking llSetVehicleFloatParam(VEHICLE_BANKING_EFFICIENCY, 0.0); llSetVehicleFloatParam(VEHICLE_BANKING_MIX, 1.0); llSetVehicleFloatParam(VEHICLE_BANKING_TIMESCALE, 1.0); // default rotation of local frame llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, <0.00000, 0.00000, 0.00000, 0.00000>); // removed vehicle flags llRemoveVehicleFlags(VEHICLE_FLAG_NO_DEFLECTION_UP | VEHICLE_FLAG_HOVER_WATER_ONLY | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | VEHICLE_FLAG_HOVER_UP_ONLY | VEHICLE_FLAG_LIMIT_MOTOR_UP | VEHICLE_FLAG_LIMIT_ROLL_ONLY); // set vehicle flags llSetVehicleFlags(VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT); llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_ROT_LEFT | CONTROL_ROT_RIGHT | CONTROL_UP | CONTROL_DOWN | CONTROL_LBUTTON, TRUE, FALSE); llSetStatus(STATUS_PHYSICS, TRUE); } listen(integer channel, string name, key id, string message) { if(llGetOwnerKey(id) != Owner) return; message = llToLower(message); if(message == GroundCommand) state Ground; } control(key name, integer levels, integer edges) { if((levels & CONTROL_LBUTTON)) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0,0,0>); llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, <0,0,0>); llSetStatus(STATUS_PHYSICS, FALSE); llSleep(0.1); llSetStatus(STATUS_PHYSICS, TRUE); return; } if((edges & levels & CONTROL_UP)) Linear.z += FlightUpPower; else if((edges & ~levels & CONTROL_UP)) Linear.z = 0.0; if((edges & levels & CONTROL_DOWN)) Linear.z -= FlightDownPower; else if((edges & ~levels & CONTROL_DOWN)) Linear.z = 0.0; if((edges & levels & CONTROL_FWD)) Linear.x += FlightForwardPower; else if((edges & ~levels & CONTROL_FWD)) Linear.x = 0.0; if((edges & levels & CONTROL_BACK)) Linear.x -= FlightReversePower; else if((edges & ~levels & CONTROL_BACK)) Linear.x = 0.0; if((edges & levels & CONTROL_LEFT)) Linear.y += FlightStrafePower; else if((edges & ~levels & CONTROL_LEFT)) Linear.y = 0.0; if((edges & levels & CONTROL_RIGHT)) Linear.y -= FlightStrafePower; else if((edges & ~levels & CONTROL_RIGHT)) Linear.y = 0.0; if((edges & levels & CONTROL_ROT_LEFT)) Angular.z = FlightTurnPower; else if((edges & ~levels & CONTROL_ROT_LEFT)) Angular.z = 0; if((edges & levels & CONTROL_ROT_RIGHT)) Angular.z = -FlightTurnPower; else if((edges & ~levels & CONTROL_ROT_RIGHT)) Angular.z = 0; } changed(integer change) { if((change & CHANGED_LINK) == CHANGED_LINK) { sitting = llAvatarOnSitTarget(); if(sitting == NULL_KEY) { llSetTimerEvent(0.0); llStopAnimation(DrivingAnim); Active = 0; llStopSound(); llSetStatus(STATUS_PHYSICS, FALSE); llMessageLinked(LINK_ALL_CHILDREN , DIR_STOP, "", NULL_KEY); llReleaseControls(); state Ground; } } } timer() { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, Linear); llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, Angular); } }
  7. owner only basic car script open access how do I make it open to all?
  8. as the title says. my script allows just me to use it. how do i set it to all use.?
×
×
  • Create New...