Jump to content

IZHRAH

Resident
  • Posts

    51
  • Joined

  • Last visited

Posts posted by IZHRAH

  1. Hello, is there anyone knows how can I manage update objects scripts that are rezzed in multiple regions? Example to make it simple I want to update the Object script that will update the its description based on the update info it received. I was thinking of using listener on the objects and send a message to that listener but the down side is I need to visit all thousand sims where my objects are rezzed. Is there a proper way or efficient way to do that in just one click even I'm in a single region that I can throw a update message across to those multiple sims? Please disregard of using HTTP because I want to make it work within SL only.

  2. Hi can you suggest what's missing on my script? I was trying to make my Helicopter Lift Up. I tried using VEHICULAR_LINEAR_MOTOR_DIRECTION on the CONTROL_UP and CONTROL_DOWN but it doesn't work.

     

    float FORWARD_POWER = 50.0;
    float REVERSE_POWER = -15.0;
    float TURNING_RATIO = 5.0; // how sharply the vehicle turns. Less is more sharply. (0.1 to 10.0)

    default
    {
        on_rez(integer start_param) { llResetScript(); }
        
        state_entry()
        {
            llSetSitText("Fly");
            llSitTarget(<2.5, 0.4, 0.1>, ZERO_ROTATION);
            
            llSetCameraEyeOffset(<-12.0, 0.0, 5.0>);
            llSetCameraAtOffset(<1.0, 0.0, 2.0>);
            
            llSetVehicleFlags(0);
            llSetVehicleType(VEHICLE_TYPE_AIRPLANE);
            
            llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1.0, 1.0, 1.0>);
            llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0.0, 0.0, 0.0>);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, 2.0);
            llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0);
            llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 0.05);        
            llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1.0);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 5.0);
            llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0.75);
            llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0.5);
            llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 2.0);
            llSetVehicleFloatParam(VEHICLE_BUOYANCY, 1.0);
            llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.5);
            llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 3.0);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.5);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 10.0);
            llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5);
            llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 2.0);
            llSetVehicleFloatParam(VEHICLE_BANKING_EFFICIENCY, 1.0);
            llSetVehicleFloatParam(VEHICLE_BANKING_MIX, 0.1);
            llSetVehicleFloatParam(VEHICLE_BANKING_TIMESCALE, 0.5);
            llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, ZERO_ROTATION);      
        }

        changed(integer change)
        {
            if(change & CHANGED_LINK)
            {
                key avatar = llAvatarOnSitTarget();
                if(avatar)
                {
                    if(avatar != llGetOwner())
                    {
                        llUnSit(avatar);
                    }
                    else
                    {
                        llSetStatus(STATUS_PHYSICS, TRUE);
                        llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA);
                    }
                }
                else
                {
                    llSetStatus(STATUS_PHYSICS, FALSE);
                    llReleaseControls();
                }
            }      
        }
        
        run_time_permissions(integer permission)
        {
            if(permission)
            {
                llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT | CONTROL_UP | CONTROL_DOWN, TRUE, FALSE);           
            }
        }
        
        control(key id, integer level, integer edge)
        {
            integer reverse = 1;
            vector angular_motor;
            
            // get current speed
            vector velocity = llGetVel();
            float speed = llVecMag(velocity);
        
            if(level & CONTROL_FWD)
            {
                llMessageLinked(LINK_ALL_CHILDREN, 0, "FORWARD", "");
                llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <FORWARD_POWER, 0.0, 0.0>);
                reverse = 1;
            }
            
            if(level & CONTROL_BACK)
            {   
                llMessageLinked(LINK_ALL_CHILDREN, 0, "REVERSE", "");
                llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <REVERSE_POWER, 0.0, 0.0>);
                reverse = -1;
            }
            
            if(level & CONTROL_UP)
            {

            }
            
            if(level & CONTROL_DOWN)
            {

            }
            
            if(level & (CONTROL_RIGHT | CONTROL_ROT_RIGHT))
            {
                angular_motor.z -= speed / TURNING_RATIO * reverse;
                angular_motor.x += 15;
            }
            
            if(level & (CONTROL_LEFT | CONTROL_ROT_LEFT))
            {
                angular_motor.z += speed / TURNING_RATIO * reverse;
                angular_motor.x -= 15;
            }
            
            if(level == 0)
            {            

            }
            
            llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, angular_motor);       
        }
    }

  3. Hi can you suggest what's missing on my script? I was trying to make my Helicopter Lift Up. I tried using VEHICULAR_LINEAR_MOTOR_DIRECTION on the CONTROL_UP and CONTROL_DOWN but it doesn't work.

     

    float FORWARD_POWER = 50.0;
    float REVERSE_POWER = -15.0;
    float TURNING_RATIO = 5.0; // how sharply the vehicle turns. Less is more sharply. (0.1 to 10.0)

    default
    {
        on_rez(integer start_param) { llResetScript(); }
        
        state_entry()
        {
            llSetSitText("Fly");
            llSitTarget(<2.5, 0.4, 0.1>, ZERO_ROTATION);
            
            llSetCameraEyeOffset(<-12.0, 0.0, 5.0>);
            llSetCameraAtOffset(<1.0, 0.0, 2.0>);
            
            llSetVehicleFlags(0);
            llSetVehicleType(VEHICLE_TYPE_AIRPLANE);
            
            llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1.0, 1.0, 1.0>);
            llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0.0, 0.0, 0.0>);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, 2.0);
            llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0);
            llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 0.05);        
            llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 1.0);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 5.0);
            llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0.75);
            llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0.5);
            llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 2.0);
            llSetVehicleFloatParam(VEHICLE_BUOYANCY, 1.0);
            llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.5);
            llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 3.0);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.5);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 10.0);
            llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.5);
            llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 2.0);
            llSetVehicleFloatParam(VEHICLE_BANKING_EFFICIENCY, 1.0);
            llSetVehicleFloatParam(VEHICLE_BANKING_MIX, 0.1);
            llSetVehicleFloatParam(VEHICLE_BANKING_TIMESCALE, 0.5);
            llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, ZERO_ROTATION);      
        }

        changed(integer change)
        {
            if(change & CHANGED_LINK)
            {
                key avatar = llAvatarOnSitTarget();
                if(avatar)
                {
                    if(avatar != llGetOwner())
                    {
                        llUnSit(avatar);
                    }
                    else
                    {
                        llSetStatus(STATUS_PHYSICS, TRUE);
                        llRequestPermissions(avatar, PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA);
                    }
                }
                else
                {
                    llSetStatus(STATUS_PHYSICS, FALSE);
                    llReleaseControls();
                }
            }      
        }
        
        run_time_permissions(integer permission)
        {
            if(permission)
            {
                llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT | CONTROL_UP | CONTROL_DOWN, TRUE, FALSE);           
            }
        }
        
        control(key id, integer level, integer edge)
        {
            integer reverse = 1;
            vector angular_motor;
            
            // get current speed
            vector velocity = llGetVel();
            float speed = llVecMag(velocity);
        
            if(level & CONTROL_FWD)
            {
                llMessageLinked(LINK_ALL_CHILDREN, 0, "FORWARD", "");
                llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <FORWARD_POWER, 0.0, 0.0>);
                reverse = 1;
            }
            
            if(level & CONTROL_BACK)
            {   
                llMessageLinked(LINK_ALL_CHILDREN, 0, "REVERSE", "");
                llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <REVERSE_POWER, 0.0, 0.0>);
                reverse = -1;
            }
            
            if(level & CONTROL_UP)
            {

            }
            
            if(level & CONTROL_DOWN)
            {

            }
            
            if(level & (CONTROL_RIGHT | CONTROL_ROT_RIGHT))
            {
                angular_motor.z -= speed / TURNING_RATIO * reverse;
                angular_motor.x += 15;
            }
            
            if(level & (CONTROL_LEFT | CONTROL_ROT_LEFT))
            {
                angular_motor.z += speed / TURNING_RATIO * reverse;
                angular_motor.x -= 15;
            }
            
            if(level == 0)
            {            

            }
            
            llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, angular_motor);       
        }
    }

  4. Want I want to do is create a HUD that displays names from the database. When I click that name it will popup a SL Textbox inworld. So that I can throw message to that specific name. Since I will do it in MOAP how can I make that names clickable and interacts inworld. Why I showed you a smart HUD image as a sample. But by looking at it that Smart HUD is made only of dynamic textures (correct me if I'm wrong).

  5. Hi guys, I want to create a HUD that display avatar list from the database. If I click a name on the HUD it will pop a SL textbox that and enter a message that will IM to that avatar. After sending the list it will update the list and remove the name of that notified avatar from the list. The avatar list acts like a visitors. A good example also of a HUD is the Universal Smart HUD of Neurolab:

    HUD.jpg

  6. Hi guys do you got any suggestions how to make multiple objects marching together by following a pattern.

    In the example image you're looking at top view red colors are the objects that need to march in a path which is the violet color.

    Path.jpg

  7. So you mean its impossible to get the exact max prims if the sim is divided into multiple parcels? I also noticed that when I manually chceck each parcel's max prim then total them together since its a full region I am expecting 15000 prims but what I get is 14996.

    Another thing how does the bonus prims work? Since I'm not yet familiar with the bonus prims, and are they affecting the llGetParcelMaxPrims function?

  8. Hi guys, does the llGetParcelMaxPrims work properly its weird that I scanned each parcel by scanning the region each 4x4, weird that my function llGetParcelPrimCount works properly but the llGetParcelMaxPrims does not even you are expecting 15000 prims in full region I get 14996, even in a homestead 3750 prims I get 5286 prims.

×
×
  • Create New...