I've taken certain bits and pieces from various open source scripts.
I have it working and getting perms correctly, I'm just unsure how to actually get it to move.
Here is the script:
__________________________
// RC helicopter
// Made by Cypher Ragu, parts of this script were taken from other open-source scripts
default
{
state_entry() {
llListen(1,"", NULL_KEY, ""
;llSetStatus(STATUS_PHYSICS, FALSE);
}
on_rez(integer start_param){
llRequestPermissions(llGetOwner(),PERMISSION_TAKE_CONTROLS);
}
listen(integer channel, string name, key id, string message) {
if (message == "remote"
{llSetStatus(STATUS_PHYSICS, TRUE);
state remote; // switches the state
}
}
}
state remote
{
state_entry() {
llSay(0,"Remote control has been activated"
;llListen(1,"", NULL_KEY, ""
;llTakeControls(CONTROL_ML_LBUTTON | CONTROL_LBUTTON |CONTROL_FWD | CONTROL_BACK | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT | CONTROL_UP | CONTROL_DOWN, TRUE, FALSE);
//now begins the vehicle parameters
llSetVehicleType(VEHICLE_TYPE_AIRPLANE);
llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.1);
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 1.0);
llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 1);
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, .2);
llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 0.5);
llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 30);
llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.5);
llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 3);
llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1000,1000,1000>
;llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1000,1000,1000>
;llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0.5);
llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.1);
llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 3.0);
llSetVehicleFloatParam(VEHICLE_BANKING_EFFICIENCY, .5);
llSetVehicleFloatParam(VEHICLE_BANKING_MIX, 0.95);
llSetVehicleFloatParam(VEHICLE_BANKING_TIMESCALE, 0.1);
llSetCameraEyeOffset(<-15.0, 0.0, 3.0>
;llSetSitText("Ride"
;llSetCameraAtOffset(<0, 0, 1>
;}
listen(integer channel, string name, key id, string message) {
if (message == "noremote"
{llSetStatus(STATUS_PHYSICS, FALSE);
llReleaseControls();
state default; // switches the state
}
}
}
____________________________________
All help is appreciated, thanks.
