This is an old revision of the document!
M28 - a cycle car
- subtitle
- a cycle car
- release
- March 15, 2017
- press event
- ULTRA
- category
- vehicle
- size
- 1.7 x 4 m
- land impacts
- 47
- permissions
- mod / copy / NO trans
- in-world sales
- discount @ ULTRA
- marketplace
- N/A
M28 is a cycle car about 100 years ago.
It does not drive but we prepared an optional driving script. With the script, you can drive with your friend.
AnalogMatic driving script (OPTIONAL)
Almost all cars in SecondLife turn left or right rapidly when we push cursor key. There are only two choices whether to turn or to go straight. However, the radius of the road curve varies, and we are obliged to drive meandering when driving Mainlands. I always thought that it would be nice if I could drive cars with analog operations.
This AnalogMatic driving script can gently change the angle at which the car turns.
Also you need not hold [↑] key when you drive. After you remove your finger from [↑] key, this script works as you keep moving forward. Do you understand this meaning?
— We can chat with passenger while we driving!!
Are you interested in ?
» more details
» try DEMO
developer kit
Our lifestyle changes every moment. The technology of SecondLife also evolves day by day. Even though you were satisfied immediately after purchasing, you may have experienced that you want additional features as time goes by, or you dissapoint that it does not suit your lifestyle.
The circumstances of the car of SecondLife may change greatly. The terrain may change and the date may come when it is hard to drive with fixed script. Even in that case, we will not steer with the rear wheel of this car. No matter how the environment changes, there are parts that this car can not change. If we extract only those parts and have basic scripts like OS, it is very easy to add or modify functions later.
We developed a script that corresponds to this OS and named it VIAS. It is an abbreviation for “Vehicles' Interactive Add-on System”. With VIAS, it will be easy to develop additional features in a few years and you can even create your own M28 from today. Developer kit is bundled with M28.
We also use VIAS to develop AnalogMatic.
3rd party showcase
Please tell me when you release your development. We introduce your works here.
textures customization
license
- You may use these textures only for customization with M28.
- You may sell or distribute your customize works but you MUST NOT sell my original textures.
download
specification
prim name | diffuse | UV | remarks |
---|---|---|---|
BOD | ✓ | ✓ | for body. |
CC | ✓ | ✓ | for engine cover center. |
CS | ✓ | ✓ | for engine cover side. both sides use same texture. |
FC | ✓ | ✓ | for front cowl. |
FS | for front shaft. this part uses 2 textures. | ||
✓ | ✓ | for metal part of FS. | |
✓ | for wood part of FS. you have to generate diffuse map from 2 images. One is “base-wood” and the other is “paint-overlay”. you should stack “paint-overlay” on “base-wood” with image processing software. modify color balance of “paint-overlay” and you may be able to re-color this part. | ||
LL / LR | ✓ | ✓ | for side light. “uv-map-inner” is the part of lighting. |
NP | ✓ | ✓ | for front number plate. including the original texture so that you can know where to put the letters. |
R | ✓ | ✓ | for rear body. |
RE | ✓ | ✓ | for edge of rear body. |
RT | ✓ | ✓ | for rear fuel tank. including the original texture so that you can know where to put the letters. |
texture-mod installer
Feel flee to use.
When you drop this script into your M28, textures will be installed, and this script self-extinguishes immediately.
// -------------------------------------------------------------------------------- TextureMod Installer for M28 // In most cases, this script SHOULD NOT be distributed or sold with FULL PERMISSION. The valuable asset texture // UUID is intercepted. // // rewrite the necessary UUID key BOD = "268609e0-74d5-166b-7fa8-319f7996501f"; key CC = "5b21c2d2-53f0-3f7a-8030-b4a3ba748dd0"; key CS = "ff2d14dc-7e59-be3c-d111-9f3260e26269"; key FC = "0fb35125-ff14-7a55-9795-916a7f8b7a72"; key FSM = "2a490b69-5a1c-1f63-64c0-aefe9ec0bea8"; // <--- for metal parts of FS key FSW = "ce044afa-eee9-0597-b808-6c14b1dad20c"; // <--- for wood parts of FS key LL = "0f135360-f598-9685-0243-4f63f9bc078b"; key NP = "1b0b66e2-0cf9-cd04-b0d0-c15dbb763a44"; key R = "6f5445af-9c9b-c617-a098-3768de982a23"; key RE = "386f27ef-4959-2ebf-72c0-977b71d77bf6"; key RT = "c0ac66a2-5786-57ca-81e7-89ce7adebbe0"; // --------------------------------------------------------------------------- you do not need to fix below this default{ state_entry(){ string str = llGetSubString((string)llGetKey(), 0, 3); integer ch = -1 - (integer)("0x" + str); llListen(ch, "", llGetOwner(), ""); llDialog(llGetOwner(), "Install ?", ["YES", "NO"], ch); } listen(integer channel, string name, key id, string str){ if (str == "YES"){ integer i; integer end = llGetObjectPrimCount(llGetKey()) + 1; string name; list params; vector repeat = <1.0, 1.0, 0.0>; for (i=2; i<end; i++){ name = llGetLinkName(i); if (name == "BOD"){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 1, BOD, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, 1, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "CC"){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, CC, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_TEXTURE, 1, CS, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "CS" && CS != NULL_KEY){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, CS, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, 0, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "FC" && FC != NULL_KEY){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, FC, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, 0, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "FS"){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, FSM, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_TEXTURE, 1, FSW, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "LL"){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, ALL_SIDES, LL, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "LR"){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, ALL_SIDES, LL, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "NP"){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 1, NP, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, 1, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "R"){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, ALL_SIDES, R, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "RE"){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, ALL_SIDES, RE, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_NONE, 0]; } else if (name == "RT"){ params += [PRIM_LINK_TARGET, i, PRIM_TEXTURE, 0, RT, repeat, ZERO_VECTOR, 0.0]; params += [PRIM_ALPHA_MODE, 0, PRIM_ALPHA_MODE_NONE, 0]; } } llSetLinkPrimitiveParamsFast(1, params); llRemoveInventory(llGetScriptName()); } } on_rez(integer start_param){ llResetScript(); } }
related products
- F01 - la voiture de grand-pere … old station wagon
external links
gallery (via flickr)
other products
Do you think the product name of anhelo is difficult?
See nomenclature of products and get tips of inventory searching!
Also search as event name