[Opensim-users] Wear Your Vehicle Script

InuYasha Meiji inuyasha.meiji at gmail.com
Sun Feb 26 20:28:35 UTC 2012


Thanks I am interested in anything that helps with opensim Vehicles, but 
I wasn't looking for vehicles that attach to my body.  I was actually 
looking for vehicles that would work on a leave out for anyone to just 
ride type.  Maybe with a little move control then the ones usually found 
in SL.

Any clues on how to achieve this.  I bought a wonderful horse in SL by 
timmi allen.  I would like to build something like it for opensim.  They 
look great, you can leave them out for owner, group, or all to use.  
Just jump on and ride.  They are sculpted and only 14 prims each.  They 
even have wandering within a certain range abilities.  They even have a 
home point they return to from any other sim to your home sim point.  
There is more.  They are stil the only horse in SL that will allow the 
owner to leave them out for others to just sit and ride.  No need to 
passout copies of a cheap low prim horse for others to grab and wear as 
an attachment.

I only see two drawbacks.  One is the cost, 10k each.  The way today's 
economy is and the number of users in SL lowering thier land ownership, 
leaving less open land to ride on.  I am surprised Timmi hasn't figured 
he made enough in sl and already made on for opensim.  The other 
drawback I am not even sure if it can be fixed.  Being physicle they 
have a hard time staying on a trail especially if on a hill.  I was 
hoping to try my hand at making ridable horses like them myself in opensim.

So not to become a friend's competiion I would make asian waterbuffalo's 
instead.  Hopinjg to make them pul carts.  But I don't want mine to 
slide down hill when stopped like the horses..  I also want to try to 
make them tilt up and down with the hill elevation.  That is the other 
thing that needs to be fixed with those horses.  They don't tilt.  There 
needs to be a way to use a sence of where the land is, so the front can 
be at one level and the rear at another.  Walking up a hill makes the 
rear of the horse hover.  While walkiing down a hill makes the front hover.

I haven't tried the command in a while but back when I tried to detect 
land elevation in SL, the command don't really work correctly.  It 
seemed to have an issue that was never solved.  Is there a good way to 
quickly get an accurate ground level at a point on the urface?  The 
other issue, how to use world coords to move and item to that position 
on your home grid?  So I can emulate a return home position on my grid?

Any help with this would be appreciated.
Some LSL compatibility is still not quite there yet.

InuYasha.



On 2/26/2012 10:57 AM, Kay McLennan wrote:
> To the group discussing the "Does OpenSim Fully Support Linden 
> [Vehicle] Scripts? (read:  Han, Garmin, InuYasha, Wade, R.Gunther, 
> Justin, Karen, M.E., etc.),
> I found a splendid "Wear your vehicle" script that works in the 
> OpenSim-- see below.  Further, when the vehicle is worn in concert 
> with an avatar flying, the script works for airplanes too (in the 
> OpenSim)!
> Best,
> Kay
>
> // Put this script in an object you wish to wear to appear to ride it, 
> include any animation for the AV to assume, in the Root Prim's 
> contents. First Attach to Pelvis, then you may just wear.
> string SitAO = "DriveCar2";// Replace sit with the animation's name 
> you include in object contents
>
> default
> {
>     attach(key id)
>     {
>         if(id)//tests if it is a valid key and not NULL_KEY and gets 
> permission to read the contols keys and start animation
>         {
>             llRequestPermissions(llGetOwner(), 
> PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS);
>             llStartAnimation(SitAO);//animation name is put here
>             llTakeControls(CONTROL_FWD |CONTROL_BACK |CONTROL_LEFT 
> |CONTROL_RIGHT |CONTROL_ROT_LEFT |CONTROL_ROT_RIGHT |CONTROL_UP 
> |CONTROL_DOWN |CONTROL_LBUTTON |CONTROL_ML_LBUTTON |0, TRUE, 
> TRUE);//Takes controls but passes them on to the Avatar too
>             llPlaySound("Sportscarstarts",1);
>             llSleep(1);
>             llLoopSound("Sportscaridle",.75);
>         }
>         else
>         {
>             llStopAnimation(SitAO);//animation name is put here too
>         }
>     }
>
>
>     control(key id, integer level, integer edge)//Event triggered when 
> any key is pressed or relased
>     {
>         integer start = level & edge;//define start as key was pressed
>         integer end = ~level & edge;//define end as key was released
>         integer held = level & ~edge;//define key is being held down
>         integer untouched = ~(level | edge);//define that no keys are 
> pressed
>
>            if(start & CONTROL_FWD)
>            {
>                   //llSay(0,"Fwd Key was pressed");
>             llMessageLinked(LINK_SET, 0, "RF", "");//sends messgage to 
> all other scripts RF=Right Forward
>             llMessageLinked(LINK_SET, 0, "LF", "");//sends messgage to 
> all other scripts LF=Left Forward
>             llMessageLinked(LINK_SET, 0, "SF", "");//sends messgage to 
> all other scripts SF=Spin Forward
>             llLoopSound("Sportscardriving",1);//Driving sound
>            }
>
>             if(end & CONTROL_FWD)
>            {
>                   //llSay(0,"Fwd Key was released");
>             llMessageLinked(LINK_SET, 0, "RS", "");//sends messgage to 
> all other scripts  RS=Right Stop
>             llMessageLinked(LINK_SET, 0, "LS", "");//sends messgage to 
> all other scripts  LS=Left Stop
>             llMessageLinked(LINK_SET, 0, "SS", "");//sends messgage to 
> all other scripts SF=Spin Stop
>             llLoopSound("Sportscaridle",.5);//Idle Sound
>            }
>
>
>            if(start & CONTROL_BACK)
>            {
>             llMessageLinked(LINK_SET, 0, "RR", "");//sends messgage to 
> all other scripts  RS=Right Reverse
>             llMessageLinked(LINK_SET, 0, "LR", "");//sends messgage to 
> all other scripts  LS=Left Reverse
>             llMessageLinked(LINK_SET, 0, "SR", "");//sends messgage to 
> all other scripts SF=Spin Reverse
>            }
>            if(end & CONTROL_BACK)
>            {
>             llMessageLinked(LINK_SET, 0, "RS", "");//sends messgage to 
> all other scripts  RS=Right Stop
>             llMessageLinked(LINK_SET, 0, "LS", "");//sends messgage to 
> all other scripts  LS=Left Stop
>             llMessageLinked(LINK_SET, 0, "SS", "");//sends messgage to 
> all other scripts SF=Spin Stop
>            }
>
>            if((start & CONTROL_RIGHT) | (CONTROL_ROT_RIGHT == (start)))
>            {
>             llMessageLinked(LINK_SET, 0, "TR", "");//send TR to front 
> tires
>             llMessageLinked(LINK_SET, 0, "LF", "");//sends messgage to 
> all other scripts  LS=Left Forward
>            }
>             if((end & CONTROL_RIGHT) | (CONTROL_ROT_RIGHT == (end)))
>            {
>                        if(held & CONTROL_FWD)//If Forward is held 
> don't stop
>                        {}
>                        else
>                         {
>                         llMessageLinked(LINK_SET, 0, "LS", "");//sends 
> messgage to all other scripts  LS=Left Stop
>                         }
>             llMessageLinked(LINK_SET, 0, "TS", "");//Straighten tires 
> when key released
>            }
>
>            if((start & CONTROL_LEFT) | (CONTROL_ROT_LEFT == (start)))
>            {
>             llMessageLinked(LINK_SET, 0, "TL", "");//send TL to front 
> tires
>             llMessageLinked(LINK_SET, 0, "RF", "");//sends messgage to 
> all other scripts  RF=Right Forward
>             }
>            if((end & CONTROL_LEFT) | (CONTROL_ROT_LEFT == (end)))
>            {
>                        if(held & CONTROL_FWD)//If Forward is held 
> don't stop
>                        {}
>                        else
>                        {
>                         llMessageLinked(LINK_SET, 0, "RS", "");//sends 
> messgage to all other scripts  RS=Right Stop
>                         }
>             llMessageLinked(LINK_SET, 0, "TS", "");//Straighten tires 
> when key released
>             }
>
>             // for flying
>            if(level & CONTROL_UP)
>            {
>                   //llSay(0,"Page Up");
>            }
>
>            if(level & CONTROL_DOWN)
>            {
>                   //llSay(0,"Page Down");
>            }
>             // End of FLying
>     }
>
>
>
>
>
>
> }
>
>
>
>
> _______________________________________________
> Opensim-users mailing list
> Opensim-users at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-users


-- 
________________________________________________________________
Opensim User: Standalone Grid on Version 0.7.2 with 56 Regions
on Windows 7, 64-bit. Phenom 9500 2.2 ghz Quad Core, Terabyte Hard
Drive, 8gig DDR2 RAM.  Used XAMPP to load PHP Version 5.3.0, Apache
and MySQL 5.1.41-community edition.  Groups, Profiles, Voice and
Offline Mesages all working.
________________________________________________________________




More information about the Opensim-users mailing list