Hallo, Gast |
Sie müssen sich registrieren bevor Sie auf unserer Seite Beiträge schreiben können.
|
Foren-Statistiken |
» Mitglieder: 23
» Neuestes Mitglied: Lilida
» Foren-Themen: 599
» Foren-Beiträge: 1.567
Komplettstatistiken
|
Aktive Themen |
Red light district
Forum: Informationen und aktuelle Meldungen
Letzter Beitrag: Cheryl Furse
Gestern, 13:45
» Antworten: 3
» Ansichten: 84
|
Tanzball rezzen
Forum: OpenSim-Manager
Letzter Beitrag: Lilida
16.04.2024, 14:27
» Antworten: 6
» Ansichten: 479
|
Was ist ne Kaffestube ohn...
Forum: Kaffeestube
Letzter Beitrag: Susan
15.04.2024, 15:17
» Antworten: 0
» Ansichten: 203
|
Sim geht in Schlafmodus
Forum: OpenSim
Letzter Beitrag: Scarlett Candor
11.04.2024, 10:16
» Antworten: 3
» Ansichten: 439
|
C Programmierung und bull...
Forum: Scripting
Letzter Beitrag: Cheryl Furse
07.04.2024, 00:50
» Antworten: 2
» Ansichten: 302
|
Steampunk-Party mit Marlo...
Forum: Informationen und aktuelle Meldungen
Letzter Beitrag: ThunderTower
02.04.2024, 18:29
» Antworten: 0
» Ansichten: 235
|
ERÖFFNUNG FLORES SEA Wild...
Forum: Informationen und aktuelle Meldungen
Letzter Beitrag: ThunderTower
01.04.2024, 18:52
» Antworten: 3
» Ansichten: 314
|
Einladung zur SCIFI Party...
Forum: Virtual Africa
Letzter Beitrag: Cheryl Furse
31.03.2024, 13:32
» Antworten: 7
» Ansichten: 636
|
Das Ei ist hart
Forum: Kaffeestube
Letzter Beitrag: ThunderTower
30.03.2024, 16:38
» Antworten: 0
» Ansichten: 248
|
Lukas, melde dich bitte, ...
Forum: Kaffeestube
Letzter Beitrag: Tron Mcp
25.03.2024, 12:31
» Antworten: 2
» Ansichten: 307
|
|
|
Eigenes OpenSim Server Hosting mit Ubuntu 20.04.3 LTS Teil 2 |
Geschrieben von: ThunderTower - 15.12.2021, 15:12 - Forum: Serversoftware
- Keine Antworten
|
|
Ubuntu 20.04.3 LTS wurde erfolgreich auf einem Rechner im LAN installiert. Ich bin nun mit diesem Rechner über SSH verbunden.
Ja, es gibt nur ein schwarzes Fenster! Nichts erinnert an ein buntes, verkaspertes und verschachteltes Windows.
Da steht man nun da, wie die Kuh vorm Neuen Tor. Willkommen in der Welt von Linux!
Heute:
- Einen Benutzer unter Linux anlegen (wird für das Setup von OpenSim benötigt)
- Einen Sudo-fähigen Benutzer unter Linux anlegen
- Einen Ordner erstellen
- Eine Datei erstellen
- Eine Datei umbenennen
- Eine Datei mit nano anzeigen und editieren
- Eine Datei downloaden und extrahieren
- Navigieren im Terminal
Einen Benutzer unter Linux anlegen:
root@kiste:~# adduser salatbieger
Adding user `salatbieger' ...
Adding new group `salatbieger' (1003) ...
Adding new user `salatbieger' (1003) with group `salatbieger' ...
Creating home directory `/home/salatbieger' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for salatbieger
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
Einen salatbieger unter Linux Sudo-Rechte geben:
usermod -aG sudo salatbieger
Einen Ordner für die Installation erstellen:
salatbieger@kiste:~$ mkdir opensim
Ordner anzeigen:
salatbieger@kiste:~$ ls
opensim
In diesen Ordner opensim wechseln:
salatbieger@kiste:~$ cd opensim
salatbieger@kiste:~/opensim$
Eine Datei in diesem Ordner erstellen:
salatbieger@kiste:~/opensim$ touch test.txt
Datei bearbeiten:
nano test.txt
Datei test.txt umbennenen:
mv test.txt nochmal.txt
Datei nochmal.txt löschen:
rm nochmal.txt
Rekursiv löschen (inkl aller Unterverzeichnisse und Dateien)
rm -R Ordnername
OpenSim downloaden und extrahieren:
curl -O http://opensimulator.org/dist/opensim-0.9.2.0.tar.gz
tar xzvf opensim-0.9.2.0.tar.gz
Navigieren im Terminal in den bin Ordner:
cd ~/opensim/opensim-0.9.2.0/bin
OpenSim.ini anzeigen - bearbeiten:
nano OpenSim.ini
Änderungen abspeichern:
Strg+o
OpenSim.ini schließen:
Strg+x
Start von OpenSim:
mono OpenSim.exe
Herunterfahren von OpenSim:
shutdown
Diese wenigen Grundlagen helfen Dir im Umgang mit der Konsole!
|
|
|
MOTORRAD SCRIPT für BULLET in OPENSIM |
Geschrieben von: Tron Mcp - 13.12.2021, 21:51 - Forum: Scripting
- Antworten (7)
|
|
MOTORRAD SCRIPT für BULLET Physik in OPENSIM by Tron
Nachdem sich meine Bikescripte in Opensim verbreiten und ich mehrere positive Rückmeldungen über das angenehm präzise Fahrverhalten erhalten habe,
veröffentliche ich nun dieses Script hier im Forum unter fairen Bedingungen:
Es darf frei in Opensim verbeitet werden, aber nicht gegen Geld verkauft werden. Der Hinweis auf mich als Autor ist zu belassen.
Verkauf und Veröffentlichung in SL ist alleinig mir vorbehalten.
Mögen alle damit Spaß haben die gerne auf ihrer Sim biken wollen.
Das Script ist Fahrtechnisch ausgereift und fertig. Allerdings kann man Features noch hinzufügen.
Etliches ist bereits integriert was ich bei Nachfrage gesondert beschreiben werde.
Hier nun das Basis Script. Diese kommt in ein unsichtbares Root Prim. Die Form des Rootprims ist für die Fahrdynamik sehr wichtig. Früher habe ich bei Autos zu einen abgeschrägten Primwürfel geraten. Das ist aber nicht für ein gutes Motorrad zielführend. Minimum muss der Würfel von allen 4 Seiten abgeschrägt sein damit man sich in die Kurven legen kann. Besser ist ein Eiförmiges Mesh mit entsprechender Physik. Dieses ermöglicht sanftes in die Kurve legen.
Das Fahrzeug selber wird dann mit diesem "PhysikPrim" verlinkt, und zur Fahrzeit phantom.
Einige Features:
FAHREN:
- das Bike hat 5 Vorwärtsgänge, Leerlauf und Rückwärtsgang.
- es gibt Unterstützung für schnelle Schaltvorgänge.
Bremst man bei hoher Geschwindigkeit schaltet das Bike einen Gang herab um besseres Fahrverhalten und höhere Beschleunigung zu erzielen.
- Fahrparameter ändern sich dynamisch in Abhängigkeit von Gang und Fahrtgeschwindigkeit.
Dies gilt für Lenkung, Kurvenneigung, Spurtreue, Driften, Radhaftung sowie Aufsteigen des Vorderrades.
- Es gibt einen Leerlauf in dem das Bike nicht driftet. Auch wird in diesem Modus getankt.
- Im ersten Gang neigt das Bike zum Aufsteigen des Vorderrades wenn man Pfeil Links und Pfeil Rechts gleichzeitig drückt.
- Im ersten Gang driftet das Bike wenn Gasgeben und Lenken zusammen erfolgt. Dann Raucht auch das Hinterrad
FAHRERANIMATIONEN:
- Es wird pro Gang eine eigene Fahrer Animation unterstützt.
BENZINVERBRAUCH:
- Das Bike verbaucht je nach Fahrtgeschwindigkeit unterschiedlich Benzin. Dafür habe ich euch ein Tankstellenscript mit erstellt.
Der Sprittank sollte der Fahrzeuggröße angepasst sein. Für ein normales Motorrad hat sich als "vollertank" 600 bewährt.
Die initiale Tankfüllung nach Scriptreset wird in "benzintank" festgelegt. Es kann ja sein das man frisch gerezzte Bikes erstmal 1/3 voll haben will damit anfangs getankt werden muss.
Aktuell ist das Scritp beim Start auf vollen Tank eingestellt. Probiert aber mal 200 als "benzintank" aus.
PARKEN:
- Es gibt einen Parkmodus auf dem Seitenständer wenn ihr absteigt.
LICHT:
- es gibt Unterstützung für Bremslicht/Rücklicht.
- es gibt Unterstützung für einen Frontscheinwerfer.
- es gibt Unterstützung für einen optionalen Lichtkegel vor dem Fahrzeug zur Strassenbeleuchtung.
- die Einstellung der Paramater wird halbautomatisch unterstützt:
- das Script sucht sich selber die Linknummern heraus wenn ihr die entsprechenden Teile im Mesh folgendermaßen benennt: (auf Gross/Kleinschreibung achten)
"Bremslicht", "Scheinwerfer", "Lichtkegel", "Hinterrad".
Die zugehörigen Faces müsst ihr aber per Hand eintragen:
für Bremslicht in"bremslichtface" damit im Mesh die richtige Fläche leuchtet, und für Scheinwerfer in "frontlichtface".
Code: // P318 Motorrad mit Renngetriebe für Simcrossing in Opensim 09 by Tron V50
// Stand 12.09.2021 V2.0
// unterstützt Hinterraddrift, Gangschaltung mit Leerlauf
// Partikel Textur vorladen auf Fahrzeugprim, damit diese sofort angezeigt wird
//==== FAHRZEUG CHARAKTERISTIKA VARIABLEN: ====
// MOTOR
float bremskraft = 6; // Kraft der Betriebsbremse. Größer bremst stärker
float motorbremse = 1.0; // Motorbremswirkung 1.0 gut, 2.0 weniger Bremswirkung für längerere Auslauf
list getriebeliste = [ -5 , 0.001, 15, 25, 35, 45, 55 ]; // Maximalkraft & Geschwindigkeit des Motors je Gang [ -5 , 0, 15, 25, 35, 55, 70 ];
list beschleunigungsListe = [1.0, 100.0 , 1.0, 3.0, 6.0, 10.0, 15.0]; // Beschleunigungsdauer des Motors bis maximaler Ganggeschwindigkeit. 1 = schnell [1.0, 100.0 , 1.0, 3.0, 6.0, 10.0, 15.0];
list ganganimationListe = ["Bikerfahrer","Bikerfahrer","Bikerfahrer","Bikerfahrer","Bikerfahrer","Bikerfahrer","Bikerfahrer"];
list gangListe = ["Rückwärts","Leerlauf","1. Gang","2. Gang","3. Gang","4. Gang","5. Gang"];
// LENKUNG
float lenkansprechverhalten = 0.32; // 0.32 REAKTIONSZEIT der LENKUNG 0.2 knackig, 0.3 medium, 0,4träge
float lenkberuhgungszeit = 0.8; // 0.50 NACHWIRKZEIT der LENKUNG 0.2++ sehr direkt // 0.5 gut // 1.2 träge
float kurvenkraenkung; // 3 - 6 für Motorrad wird dynamisch zugewiesen
float einknicken = 4;
float lenkradius = 4; // Basiswirkung der Lenkung. größere Werte ermöglichen kleinerer Wendekreise. Wirkung wird dynamisch gesteuert: gut 4
integer racemode = TRUE; // Zeigt Geschwindigkeit und Benzin an, und verbraucht Benzin
vector sitzposition = < -0.690, 0.0, 1.65>; // Sitzposition
// Linknummern des FAHRZEUGS werden automatisch ermittelt anhand LINKNAMEN. Faces manuell eingetragen
integer bremslichtlink; // Bremslicht
integer bremslichtface = ALL_SIDES; // Face des Bremslichtes
integer frontlichtlink; // Frontscheinwerfer
integer frontlichtface = 6; // Face des Frontscheinwerfer manuell eintragen
integer lichtkegellink; // Lichtkegelprims vor dem Bike
integer hinterradlink = 5; // Linknummer des Hinterrades für Rauch
// TANKDIMENSIONIERUNG
float vollertank = 600; // Voller Tank
float benzintank = 600; // Initiale Tankfüllung
integer benzin;
//==== ENDE FAHRZEUG CHARAKTERISTIKA VARIABLEN ====
integer debug = TRUE;
// TANKEN
integer listenhandle; // für Tanken
integer channel = -1000; // Fernbedienungs Kanal für Tankstelle
// GLOBALE VARIABLEN
key biker;
integer bikefahrt;
integer gang; // aktuell eingelegter Gang
float antriebskraft;
integer ganganzahl;
string gangname;
string animation; // aktuell gespielte Animation
vector vel;
float fahrtgeschwindigkeit; // aktuelle Geschwindigkeit
float fahrfaktor; // Hilfsvariable zur Rechenreduktion
integer rechtslenk;
integer linkslenk;
integer bremslicht_ist_an; // aktueller Zustand
// RAUCH
integer rauchpartikelzahl = 1; // Anzahl Partikel pro Ausstoß und Prim
integer raddrift; // aktueller Zustand
list particle_parameters;
//==== E N D G L O B A L V A R I A B L E D E C L A R A T I O N ====
// Ermitteln der aktuellen Linknummer anhand des Linknamens
integer getlink(string linkname)
{
integer linknummer = llGetNumberOfPrims();
do
{
if (linkname == llGetLinkName(linknummer)) { return (linknummer);}
linknummer--;
}
while (linknummer > 0);
return (0);
}
rauchpartikel() // Rauchpartikel Vorab initialisieren um in der Fahrschleife Zeit zu sparen
{
particle_parameters =
[
PSYS_SRC_TEXTURE, llGetInventoryName(INVENTORY_TEXTURE, 0), // erste Textur aus Prim auslesen und nehmen
PSYS_PART_START_SCALE, <3.0000,3.00000,3.00000>,
PSYS_PART_END_SCALE, <7.5,7.5,7.5>,
PSYS_PART_START_COLOR, <0.2 , 0.2 ,0.2 >,
PSYS_PART_END_COLOR, <0.4,0.4,0.4>,
PSYS_PART_START_ALPHA, 0.75,
PSYS_PART_END_ALPHA, 0.0,
PSYS_SRC_BURST_PART_COUNT, rauchpartikelzahl,
PSYS_SRC_BURST_RATE, 0.1, //0.3
PSYS_PART_MAX_AGE, 2.0,
PSYS_SRC_MAX_AGE,(float) 0.0,
PSYS_SRC_PATTERN, 2,
PSYS_SRC_BURST_SPEED_MIN, 1.0,
PSYS_SRC_BURST_SPEED_MAX, 2.05,
PSYS_SRC_BURST_RADIUS, 0.1,
PSYS_SRC_ANGLE_BEGIN, (float) 0.08*PI,
PSYS_SRC_ANGLE_END, (float) 0.08*PI,
PSYS_SRC_ACCEL, <2,0,-.3>,
PSYS_PART_FLAGS, (integer)( 0 | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_EMISSIVE_MASK )
];
}
hinterraddrift(integer raddriftenlassen) // Durchdrehendes Hinterrad: Rauch Erzeugung und Fahrwerte ändern: an / aus
{
raddrift = raddriftenlassen;
if (raddrift)
{
llMessageLinked(LINK_SET, 10, "2", NULL_KEY);
llLinkParticleSystem(hinterradlink, particle_parameters );
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY,0.1); // SPURTREUE: starkes seitliches Driften des Hinterrades 0.2
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 40.00); // DRIFTZEIT: starkes Nachdriften des durchdrehenden Hinterrades 10.0
lenkradius = 8;
}
else
{
llMessageLinked(LINK_SET, 10, "1", NULL_KEY);
llLinkParticleSystem(hinterradlink, []);
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY,1.0); // SPURTREUE: kein seitliches Driften des Hinterrades 1.0
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.0); // DRIFTZEIT: wenig Nachdriften des Hinterrades 1.0
lenkradius = 4;
}
}
bikeausrichten(integer park) // Richtet das Bike in Park und Fahr Positionen aus
{
rotation bikerot = llGetRot();
if (park) llSetRot(<-0.4, bikerot.y, bikerot.z, PI>); // Bike parken (<0.0, -0.20, bikerot.z, PI>);
else llSetRot(<0.0, bikerot.y, bikerot.z, PI>); // Bike fahren
}
frontlicht(integer an) // Schaltet Frontlicht an oder aus
{
// PRIM_POINT_LIGHT, TRUE, primcolor, fIntensity, fRadius, fFalloff ]
if (an)
{
llSetLinkPrimitiveParamsFast(frontlichtlink, [PRIM_GLOW, frontlichtface, 1.0]);
llSetLinkPrimitiveParamsFast(lichtkegellink, [PRIM_POINT_LIGHT, TRUE, <1.0, 1.0, 1.0>, 1.0, 10.0, 0.20, PRIM_GLOW, ALL_SIDES, 0.05]);
llSetLinkPrimitiveParamsFast(bremslichtlink, [PRIM_POINT_LIGHT, FALSE, <1.0, 0.0, 0.0>, 0.0, 0.0, 0.0, PRIM_GLOW, bremslichtface, 0.5]);
}
else
{
llSetLinkPrimitiveParamsFast(frontlichtlink, [PRIM_GLOW, frontlichtface, 0.0]);
llSetLinkPrimitiveParamsFast(lichtkegellink, [PRIM_POINT_LIGHT, FALSE, <0.0, 0.0, 0.0>, 0.0, 0.0, 0.0, PRIM_GLOW, ALL_SIDES, 0.0]);
llSetLinkPrimitiveParamsFast(bremslichtlink, [PRIM_POINT_LIGHT, FALSE, <1.0, 0.0, 0.0>, 0.0, 0.0, 0.0, PRIM_GLOW, bremslichtface, 0.0]);
}
}
bremslicht(integer bremse) // Schaltet Bremslicht an oder aus
{
if (bremse) {llSetLinkPrimitiveParamsFast(bremslichtlink, [PRIM_POINT_LIGHT, TRUE, <1.0, 0.0, 0.0>, 1.0, 2.0, 0.5 , PRIM_GLOW, bremslichtface, 1.0]);}
else {llSetLinkPrimitiveParamsFast(bremslichtlink, [PRIM_POINT_LIGHT, FALSE, <1.0, 0.0, 0.0>, 0.0, 0.0, 0.0, PRIM_GLOW, bremslichtface, 0.5]);}
bremslicht_ist_an = bremse;
}
integer tankanzeige(integer funktion )
{
if (funktion == 1)
{
string kmh = (string)llRound(fahrtgeschwindigkeit * 5);
string rpm = (string)llRound(((fahrtgeschwindigkeit / llList2Float(getriebeliste, gang ))*7000)+600);
if(gang < 2) rpm = "600";
string liter = (string) llRound((benzintank / 50));
if (benzintank < ( vollertank * 0.15))
{
if(benzintank > 0) { llSetText( kmh + " kmh \n Gang: "+ gangname + " rpm: "+ rpm + " \n Benzin: RESERVE " + liter +" Liter",<1,0,0>,1.0); return(TRUE);}
else { benzintank = 0; antriebskraft = 0; llSetText( kmh + " kmh \n Gang: "+ gangname + " rpm: 0 \n Benzin: TANK LEER " ,<1,0,0>,1.0); return(FALSE);}
}
else { llSetText( kmh + " kmh \n Gang: "+ gangname + " rpm: "+ rpm + " \n Benzin: " + liter +" Liter",<1,1,1>,1.0); return(TRUE);}
}
else {llSetText("",<0,0,0>,0.0); return(TRUE);}
}
init_engine() // Vorinitialisierung des Bikes
{
bikefahrt = FALSE;
ganganzahl = llGetListLength(getriebeliste);
llSetSitText("Biker");
llSitTarget(sitzposition, ZERO_ROTATION);
llSetLinkPrimitiveParamsFast(LINK_ALL_CHILDREN, [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_NONE]);
// LINKNummern ermitteln anhand Namen der Links
bremslichtlink = getlink("Bremslicht");
frontlichtlink = getlink("Scheinwerfer");
lichtkegellink = getlink("Lichtkegel"); // Lichtkegelprims vor Fahrzeug
hinterradlink = getlink("Hinterrad");
}
gangschaltung(string schalte) // Gangumschaltung
{
string neueanimation;
if (schalte == "Leerlauf") { gang = 1; llMessageLinked(LINK_SET, 10, "0", NULL_KEY); llMessageLinked(LINK_SET, 20, (string)0, NULL_KEY);} // in Leerlauf schalten
else if (schalte == "Rückwärts") { gang = 0; llSleep(0.5); init_fahrercam(-45.0, 6.0); llMessageLinked(LINK_SET, 10, "-1", NULL_KEY); } // Rückwärts Gang einlegen
else if (schalte == "Vorwärts") { gang = 2; llSleep(0.5); init_fahrercam(0.0, 2.5); llMessageLinked(LINK_SET, 10, "1", NULL_KEY);} // in 1. Gang schalten
else if (schalte == "+") { gang += 1;} // in höheren Gang schalten
else { gang -= 1;} // schalte in niedrigeren Gang
antriebskraft = llList2Float(getriebeliste, gang);
float drehmoment = llList2Float(beschleunigungsListe, gang);
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, drehmoment);
neueanimation = llList2String(ganganimationListe, gang);
gangname = llList2String(gangListe , gang);
benzin = tankanzeige(1);
hinterraddrift(FALSE);
if (neueanimation != animation) // Animationswechsel
{
llStopAnimation(animation);
animation = neueanimation;
llStartAnimation(animation);
}
if (gang == 1){ llSetTimerEvent(0.0);} else llSetTimerEvent(1.0);
}
// *** KAMERA EINSTELLEN
init_fahrercam(float angle, float distance)
{
llSetCameraParams(
[
CAMERA_ACTIVE, 1, // 0=INACTIVE 1=ACTIVE
CAMERA_BEHINDNESS_ANGLE, angle, // (0 to 180) DEGREES
CAMERA_BEHINDNESS_LAG, 1.3, // (0 to 3) SECONDS 0.3
CAMERA_DISTANCE, distance, // ( 0.5 to 10) METERS 2.5
CAMERA_PITCH, 12.0, // (-45 to 80) DEGREES
CAMERA_POSITION_LOCKED, FALSE, // (TRUE or FALSE)
CAMERA_POSITION_LAG, 0.25, // (0 to 3) SECONDS 0.05
CAMERA_POSITION_THRESHOLD, 0.0, // (0 to 4) METERS
CAMERA_FOCUS_LOCKED, FALSE, // (TRUE or FALSE)
CAMERA_FOCUS_LAG, 0.0, // (0 to 3) SECONDS
CAMERA_FOCUS_THRESHOLD, 0.0, // (0 to 4) METERS
CAMERA_FOCUS_OFFSET, <0, 0, 0> // METERS
]);
llForceMouselook(FALSE);
}
set_engine()
{
llSetVehicleType(VEHICLE_TYPE_CAR);
// default rotation of prim
llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, <0.00, 0.00, 0.00, 1.00>);
// VEHICLE FLAGS
llSetVehicleFlags( VEHICLE_FLAG_NO_DEFLECTION_UP | VEHICLE_FLAG_HOVER_TERRAIN_ONLY); // Fahrzeug Grundausrichtung bei falschen Mesh Axen
// LINEAR MOTOR ANTRIEB UND SPURTREUE
llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0); // 1.0 BESCHLEUNIGUNG des MOTORS: Wirkung: Größere Zahl ergibt geringere Beschleunigung. 10 Gut für hohen Gang
llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, motorbremse); // 2.0 MOTORBREMSE: Wirkung: Kleinere Zahl größere Motorbremswirkung
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY,1.0); // 1.0 SPURTREUE: bewirkt starkes seitliches driften des Hinterrades. 0.2 driftet stark für Start mit drehenden rauchenden Reifen, 0.5 leichtes driften. 1 fährt Spurtreu
llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.00); // 1.0 DRIFTZEIT nach Lenkstop: Kleine Zahl kurzes Nachdriften [1, .. , 100 ] Griffigkeit der Strasse simulierbar. 1trockener Asphalt, 100 Eis. 10 für Start mit drehenden rauchenden Reifen,
// ANGULAR MOTOR LENKUNG UND NEIGUNG BEI KURVEN
llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, lenkansprechverhalten); // REAKTIONSZEIT der LENKUNG
llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, lenkberuhgungszeit); // NACHLENKZEIT bis GERADEAUSLAUF
llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 1.00); // 1.0 SPURTREUE wird dynamisch eingestellt
llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 1.00); // 1.00 DRIFTZEIT
// Friction Reibung
llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1.0,1.0,1.0> ); // ohne sichtbare Auswirkung <1.0,1.0,0.10>
llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1.0,1.0,1.0> ); // ohne sichtbare Auswirkung <1.0,1.0,1.0>
// Vertical Attraction Vertikale Zugkraft
llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 1.0); // ohne sichtbare Auswirkung 5.5
llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 1.00); // 1.0 FINAL sonst säuft Nase in Kurven ab // Werte <= 0.4 ZAPPELT Fahrzeug schlecht! SOLL1
// BANKING Nachschieben
llSetVehicleFloatParam( VEHICLE_BANKING_EFFICIENCY, 1.0 );
llSetVehicleFloatParam( VEHICLE_BANKING_TIMESCALE, 0.5 );
llSetVehicleFloatParam( VEHICLE_BANKING_MIX, 1.0 );
llCollisionSound("", 0.0);
}
default
{
state_entry()
{
if(!debug) llSetLinkTexture(LINK_THIS,llGetInventoryName(INVENTORY_TEXTURE, 0), ALL_SIDES); // Partikeltextur auf roortprim vorladen damit sie sofort angezeigt wird
bikeausrichten(TRUE);
init_engine();
rauchpartikel();
llSetText("",<0,0,0>,0.0);
state Fahrbereit;
}
on_rez(integer param) { llResetScript();}
}
state Fahrbereit
{
state_entry() {}
on_rez(integer param) { llResetScript();}
changed(integer change)
{
if ((change & CHANGED_LINK) == CHANGED_LINK)
{
biker = llAvatarOnSitTarget(); // wir haben einen Fahrer
if (biker != NULL_KEY)
{ llRequestPermissions(biker, PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS | PERMISSION_CONTROL_CAMERA | PERMISSION_TRACK_CAMERA);}
else
{ // Fahrer ist aufgestanden
llMessageLinked(LINK_SET, 10, "0", NULL_KEY); // Räder stoppen
llSetTimerEvent(0.0);
llSetStatus(STATUS_PHYSICS, FALSE);
bikeausrichten(TRUE);
bremslicht(FALSE); // Bremslicht ausschalten
frontlicht(FALSE);
bikefahrt = FALSE;
llStopAnimation(animation);
hinterraddrift(FALSE);
llPushObject(biker, <3,3,21>, ZERO_VECTOR, FALSE);
llReleaseControls();
llClearCameraParams();
llSetCameraParams([CAMERA_ACTIVE, 0]);
benzin = tankanzeige(FALSE);
// llResetScript(); // Hinderlich bei Benzinberechnung. Ansonsten gut
llListenRemove(listenhandle);
state default;
}
}
}
run_time_permissions(integer perm)
{
if (perm)
{
set_engine(); // MOTOR einstellen
listenhandle = llListen(channel,"","","");
bikeausrichten(FALSE);
llSetStatus(STATUS_PHYSICS | STATUS_ROTATE_X | STATUS_ROTATE_Y | STATUS_ROTATE_Z, TRUE);
frontlicht(TRUE);
bikefahrt = TRUE; // BIKE fährt
animation = "sit";
gangschaltung("Leerlauf"); // im Leerlauf starten und Animation ändern
benzin = tankanzeige(TRUE);
init_fahrercam(0.0, 2.5);
llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_DOWN | CONTROL_UP | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT, TRUE, FALSE);
llSleep(1.5);
}
}
control(key id, integer tastenzustand, integer tastenaenderung)
{
if(!bikefahrt){return;}
vector AngularMotor;
integer tastefrischgedrueckt = tastenzustand & tastenaenderung;
integer tastelosgelassen = ~tastenzustand & tastenaenderung;
// integer tastegehalten = tastenzustand & ~tastenaenderung;
// integer tastenichtgehalten = ~tastenzustand & ~tastenaenderung;
vel = llGetVel();
fahrtgeschwindigkeit = llVecMag(vel); // Geschwindigkeit
fahrfaktor = fahrtgeschwindigkeit /10; // Hilfsvariable zur Rechenreduktion
// in höheren Gang schalten mit BILD AUF
if(tastefrischgedrueckt & (CONTROL_UP | CONTROL_RIGHT)) { if (gang < (ganganzahl -1)) gangschaltung("+");}
// sonst in niedrigerne Gang schalten mit BILD AB
else if(tastefrischgedrueckt & (CONTROL_DOWN | CONTROL_LEFT)) { if (gang > 0) gangschaltung("-");}
// weiterhin Vorwärts Gas geben
if (tastenzustand & CONTROL_FWD)
{
if (gang < 2) gangschaltung("Vorwärts"); // Auf 1. Gang schalten wenn kein Vorwärtsgang eingelegt war
else { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <antriebskraft,0,0>);} // Linear Motor Kraft geben
// Sport Gangschaltung aufwärts
// if ((tastefrischgedrueckt & CONTROL_ROT_RIGHT) && (tastefrischgedrueckt & CONTROL_ROT_LEFT)) { if (gang < (ganganzahl -1)) gangschaltung("+"); tastefrischgedrueckt = FALSE; tastenzustand = FALSE; llSleep(0.1); return; }
// Sport Gangschaltung abwärts
if ((tastefrischgedrueckt & CONTROL_BACK)) {if (gang > 2) gangschaltung("-"); tastefrischgedrueckt = FALSE; tastenzustand = FALSE; llSleep(0.1); return; }
}
// sonst Rückwärts schalten (nur wenn kein Gas gegeben wird, und Fahrzeug fast im Stillstand)
else if (tastefrischgedrueckt & CONTROL_BACK) { if ((fahrtgeschwindigkeit < 0.5 ) && (gang > 0)) { gangschaltung("Rückwärts");}}
// weiterhin Rückwärts fahren oder Bremsen
if (tastenzustand & CONTROL_BACK)
{
if (gang > 1)
{
if (!bremslicht_ist_an) bremslicht(TRUE);
if(fahrtgeschwindigkeit > 9) {llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <-bremskraft, 0, 0>);} // stark Bremsen
else llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <0, 0, 0>); // sanft Bremsen, Rückwärts fahren verhindern
}
else if (gang == 0) { llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <antriebskraft, 0, 0>);} // Rückwärts fahren
}
// sonst Bremse lösen
else if (tastelosgelassen & CONTROL_BACK){ if (bremslicht_ist_an) bremslicht(FALSE); llMessageLinked(LINK_SET, 20, (string)fahrtgeschwindigkeit, NULL_KEY);}
// Vorderrad Aufsteigen bei Vorwärtsfahrt und links + rechts Pfeiltasten
if ((tastenzustand & CONTROL_ROT_RIGHT) && (tastenzustand & CONTROL_ROT_LEFT))
{
if((gang == 2) || (gang == 3)) // nur im 1. und 2. Gang aufsteigen lassen
{
rechtslenk++; linkslenk++; // eventuell rauchende Reifen erhalten
AngularMotor.y -= ( 2.7 ); // Vorderrad aufsteigen lassen
if(fahrtgeschwindigkeit < 1.0) llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <5.0, 0, 0>); // Vortrieb falls zu langsam für Aufsteigen
}
}
// RECHTS lenken
if (tastenzustand & CONTROL_ROT_RIGHT)
{
if( gang > 1) // Einknicken in Kurvenmittelpunkt bei Vorwärtsfahrt
{
rechtslenk++;
if(fahrtgeschwindigkeit < 1.0) llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <3.0, 0, 0>); // Vortrieb falls zu langsam für Kurvenfahrt
if ((rechtslenk > 30) & (gang == 2) & (fahrtgeschwindigkeit > 4.5)) { if (!raddrift) hinterraddrift(TRUE);} // Hinterrad rotieren lassen
}
AngularMotor.y -= ( 1.15 ); // Nase hoch zur Kompensation des Eintauchens 0.75
AngularMotor.x += ( einknicken + fahrfaktor ); // Seitlich einknicken steigt mit Geschwindigkeit (3-6 gut)
if(gang >0) AngularMotor.z -= ( lenkradius - fahrfaktor ); // Lenkung wird mit steigender Geschwindigkeit wirkungsloser
else if(!gang) AngularMotor.z += 4; // Rueckwärts invers lenken
}
// Nicht mehr rechts lenken
else if (tastelosgelassen & CONTROL_ROT_RIGHT){ rechtslenk = 0; llMessageLinked(LINK_SET, 30, (string)0, NULL_KEY);}
// LINKS Lenken
if (tastenzustand & CONTROL_ROT_LEFT)
{
if( gang > 1) // Einknicken in Kurvenmittelpunkt bei Vorwärtsfahrt
{
linkslenk++;
if(fahrtgeschwindigkeit < 1.0) llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <3.0, 0, 0>); // Vortrieb falls zu langsam für Kurvenfahrt
if ((linkslenk > 30) & (gang == 2) & (fahrtgeschwindigkeit > 4.5)) { if (!raddrift) hinterraddrift(TRUE);} // Hinterrad rotieren lassen
}
AngularMotor.y -= ( 1.15 ); // Nase hoch zur Kompensation des Eintauchens
AngularMotor.x -= ( einknicken + fahrfaktor ); // Seitlich einknicken steigt mit Geschwindigkeit (3-6 gut)
if(gang >0) AngularMotor.z += ( lenkradius - fahrfaktor ); // Lenkung wird mit steigender Geschwindigkeit wirkungsloser
else if(!gang) AngularMotor.z -= 4; // Rueckwärts invers lenken
}
// Nicht mehr links lenken
else if (tastelosgelassen & CONTROL_ROT_LEFT){ linkslenk = 0;}
llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, AngularMotor); // ROTATIONS MOTOR mit Kraft versorgen
if ((!rechtslenk) & (!linkslenk) & raddrift) {hinterraddrift(FALSE);} // rauchende Reifen abschalten
}
timer()
{
vel = llGetVel();
fahrtgeschwindigkeit = llVecMag(vel); // beide Richtugnen haben positive Geschwindigkeit!
float verbrauch = fahrtgeschwindigkeit / 20; // Hilfsvariable zur Rechenreduktion
if(racemode)
{
benzintank -= verbrauch; // Spritverbrauch
benzin = tankanzeige(1);
}
if((gang != 1) & (fahrtgeschwindigkeit < 0.1)) { gangschaltung("Leerlauf"); fahrtgeschwindigkeit = 0.0;} // bei Stand in Leerlauf schalten
llMessageLinked(LINK_SET, 20, (string)fahrtgeschwindigkeit, NULL_KEY);
}
listen(integer channel, string name, key id, string message)
{
string sender = llGetSubString( message, 0, 35 );
if(biker == sender)
{
float tankmenge = ((vollertank - benzintank)/50);
string befehl = llGetSubString( message, 36, llStringLength( message ));
if(befehl == "Tanken")
{
if(gang ==1)
{
llWhisper(0, (string)tankmenge + "Liter Super getankt, das macht dann €:" + (string)(tankmenge *1.57));
benzintank = vollertank;
if(racemode) benzin = tankanzeige(1);
}
else {llWhisper(0, "Bitte zum Tanken den Motor abstellen");}
}
}
}
}
Vorderrad und Hinterrad Script
In Vorder und Hinterrad kommt jeweils folgendes Radscript. Das Radscript dreht das verlinkte Radmesh direkt. Dazu muss die Achse des Rads passen.
Alternativ kann man hier auch die Achse im Script einstellen. lltargetOmega <x,y,z>
Code: // Radscript Variante by Tron
integer richtung = 0;
float speed;
default
{
state_entry()
{
llTargetOmega(<0,1,0>,PI,0.0);
}
link_message(integer sender_num,integer kanal,string message,key id)
{
if (kanal == 10) { richtung = (integer)(message);}
else if (kanal == 20) { speed = (float)message * 0.20 *PI;}
if ((richtung > 0) & (speed > 0.1)) llTargetOmega(<0,3,0>,speed,0.5);
else if ((richtung < 0) & (speed > 0.1)) llTargetOmega(<0,-3,0>,speed,0.5);
else { speed = 0; llTargetOmega(<0,0,0>,PI,0.0);}
}
}
Tankstellen Script:
Das Tankstellenscript dient dem Betanken von mir gescripteter Fahrzeuge.
Das Script kommt in einen transparenten Primwürfel, der Phantom gemacht wird. Dieser soll die Zapfsäule großzügig ummanteln damit ein Klick auf die Zapfsäule das Prim trifft.
Getankt wird indem man auf dem Fahrzeug in Nähe der Zapfsäule sitzt, den LEERLAUF eingelegt hat, und die Zapfsäule anklickt.
Dann muss man warten bis der Tankvorgang abgeschlossen ist. Nun erhält man eine Meldung wieviel getankt wurde.
Die Zapfsäule ist auch für alle anderen modernen Fahrzeuge meiner Entwicklung zu nutzen. Aktuell sind das Autos. Boote werden folgen.
Die Tankstelle funktioniert aktuell nur interaktiv mit meinen Fahrzeugen.
Wenn jemand seine Fahrzeugscripte in das Tanksystem integrieren will, bitte hier posten für Hilfe, oder aus dem Bike Script herauslesen
Code: P319 Tankstelle Zapfsäulenscript by Tron V1.0
string ident = "Tanken";
integer channel = -1000; // Fernbedienungs Kanal zur Kommunikation für Fahrzeuge
key user; // ID desjenigen der die Zapfsäule berührt- wird ans Fahrzeug gesendet
integer listenhandle; // für Tanken
default
{
touch_end(integer num_detected)
{
user = llDetectedKey(0);
llSay (0, "Tankvorgang gestartet... bitte warten");
listenhandle = llListen((channel+1),"","","");
llSleep(20.0);
llWhisper(channel,(string) user +ident); // ID desjenigen der die Zapfsäule berührt- wird ans Fahrzeug gesendet
}
listen(integer channel, string name, key id, string message)
{
string sender = llGetSubString( message, 0, 35 );
if(user == sender)
{
string befehl = llGetSubString( message, 36, llStringLength( message ));
{
llSay(0, befehl);
llListenRemove(listenhandle);
}
}
}
}
So, nun wünsche ich viel Spaß, und freue mich auf Rückmeldungen
Tron
|
|
|
Für unsere Forenbeiträge gilt grundsätzlich: |
Geschrieben von: ThunderTower - 12.12.2021, 12:30 - Forum: Informationen und aktuelle Meldungen
- Keine Antworten
|
|
Sehr geehrte Leserinnen, sehr geehrte Leser,
ein Forenbeitrag entspricht nicht unseren gültigen Regeln.
Für unsere Forenbeiträge gilt grundsätzlich:
Sinn und Zweck des Forums ist ein an die Öffentlichkeit gerichteter "Markt der Meinungen".
Es soll daher unter den Nutzern ein friedlicher und respektvoller Umgang ohne beleidigende Anfeindungen gepflegt werden.
Es ist Ihnen insbesondere untersagt:
- beleidigende oder unwahre Inhalte zu veröffentlichen
- Spam über das System an andere Nutzer zu versenden
- gesetzlich, insbesondere durch das Urheber- und Markenrecht, geschützte Inhalte ohne Berechtigung zu verwenden
- wettbewerbswidrige Handlungen vorzunehmen
- Ihr Thema mehrfach im Forum einzustellen (Verbot von Doppelpostings)
- Presseartikel Dritter ohne Zustimmung des Urhebers im Forum zu veröffentlichen
- Werbung im Forum ohne ausdrückliche schriftliche Genehmigung durch den Anbieter zu betreiben.
- Dies gilt auch für sog. Schleichwerbung wie insbesondere das Verlinken der eigenen Homepage mit oder ohne Beitext in der Signatur
- Homepage-URLs und Adress- bzw. Kontaktdaten dürfen nur im Benutzer-Profil des Forums veröffentlicht werden.
Beim Verstoß, insbesondere gegen die zuvor genannten Regeln § 3 Abs. 1 und 2, kann der Anbieter unabhängig von einer Kündigung,
auch die folgenden Sanktionen gegen den Nutzer verhängen:
Löschung oder Abänderung von Inhalten, die der Nutzer eingestellt hat,
Ausspruch einer Abmahnung oder Sperrung des Zugangs zum Forum.
Wir bitten um Beachtung, dass aggressive, verachtende oder beleidigende Online-Beiträge in Zukunft ohne Vorankündigung (icl. Profil) sofort gelöscht werden.
Lukas
|
|
|
Klamotto, Otterland (3 Läden) |
Geschrieben von: Jupiter Rowland - 06.12.2021, 22:51 - Forum: Shops für legale Meshbodys Ruth2, Roth2 und Verwandte
- Keine Antworten
|
|
OpenSimWorld-Eintrag
Taxi: hop://otterland.de:8002/Klamotto
Warnung: Bakes-on-Mesh funktionieren hier noch nicht richtig!
Ein Klassiker unter den Freebie-Sims ist Klamotto. Die Ursprünge dieser Sim gehen zurück bis in die Zeit, als es in OpenSim mit Rigged-Mesh-Kleidung losging und Otto von Otter in Eigeninitiative Herrenbekleidung anfertigte, damit nicht wie sonst so oft die Herren der Schöpfung modisch zu kurz kamen. Ihm zur Seite stand damals Cary Bean mit ihrer Deva-Moda-Produktlinie.
Im Gegensatz zu vielen neueren Freebie-Sims gibt es hier aber nicht einen großen Laden mit einem Betreiber, auch nicht das typische „urbane“ Umfeld mit jeweils themenbezogenen Läden, die auch wieder alle dem Sim-Betreiber gehören. Die meisten Läden in Klamotto werden tatsächlich von den von Otters betrieben, aber es gibt auch „Ladenmieter“ und Fremdprodukte. Das führt dann dazu, daß die Läden vielfach nicht themenrein sind, und zu einer riesigen Produktvielfalt, die überwiegend jenseits dessen liegt, was man in denjenigen Freebie-Sims findet, die in den letzten zwei, drei Jahren gestartet wurden.
Einerseits führt das dazu, daß ich diese Sim in neun Threads präsentieren muß, weil sie sich über neun Rubriken erstreckt. Hier geht es um Meshbodys aus der Ruth2-Familie. - Den Thread für Damenbekleidung findet ihr hier.
- Den Thread für Herrenbekleidung findet ihr hier.
- Den Thread für Schmuck und Accessoires findet ihr hier.
- Den Thread für Hüte findet ihr hier.
- Den Thread für Bodys, die nichts mit Ruth2 und Roth2 zu tun haben, und Körperteile findet ihr hier.
- Den Thread für Erotik-Artikel findet ihr hier.
- Den Thread für Sim-Deko findet ihr hier.
- Den Thread für Musikinstrumente findet ihr hier.
Andererseits fallen einige dieser Threads sehr umfangreich aus, weil die jeweiligen Rubriken auch schon mal von mehr als einem halben Dutzend Läden abgedeckt werden. Lukas hat mich darum gebeten, jeweils nur einen Thread pro Sim zu machen und nicht einen pro Laden. Es sollte aber klar sein, daß ich acht Läden in einer Rubrik nicht mit drei, vier bunten Bildchen und einem Zweizeiler informativ abdecken kann, und nur grobe Impressionen will ich hier nicht bringen. Also können die Threads durchaus umfangreich ausfallen, so auch dieser hier.
Mesh Body Shop (Eingangsbereiche: 93/77/21, 110/61/21)
Zwischen den vielen Meshbodys zumindest zweifelhafter Herkunft ist aus den Ruth2- und Roth2-Familien nur ein einziger zu finden: Ruth 2.0 RC#2. Den hat Otto auch nicht direkt von Shin Ingen, sondern von HGluv, Hyacinth Jewells altem Grid. Den Release von RC#3 – Monate nach RC#2 – hat auch er nie mitbekommen.
Ich würde ihn dahingehend ja gern auf den neuesten Stand bringen (Ruth 2.0 RC#2 durch RC#3 ersetzen, dazu die Extras-Box, Roth 2.0 RC#1 und die insgesamt 13 Ruth2-v4- und Roth2-v2-Boxen), aber der Laden gibt den Platz nicht mehr her. Schon Athena 6 und Adonis 4 müssen in der Mitte knapp hinter der Rezzfläche stehen.
Leora’s Beautiful Adam and Eve (Eingangsbereich: 103/181/22)
In diesem Laden bietet Leora ihren Meshbody Eva (auf der Box steht Eve) an, einen Fork von Sean Heavys RuthToo RC#3, was wiederum ein Fork von Shin Ingens Ruth 2.0 RC#3 ist. Den Body kenne ich nur vom Hören und habe ihn noch nicht getestet. Andere Boxen lassen aber erkennen, daß sie den eigentlichen Meshbody unverändert gelassen hat. Bevor jemand nach BoM fragt: Dafür ist er schon wieder zu alt. In der „Starteroutfit“-Box in der Box ist übrigens keine Kleidung enthalten, sonst hätte ich sie unter Damenmode vermeldet.
Leora hatte auch einen Adam auf Basis RothToo RC#1 geplant, der aber nie das Licht der Welt erblickte.
The Little Medieval Stall
Zwischen den Gebäuden befindet sich eine Art Marktfläche, auf der weitere Boxen angeboten werden. Diese haben als Thema entweder Mittelalter inklusive Piraten oder Gor. Leora Jacobus hat hier zwei Boxen mit Eva (eigentlich RothToo RC#3) und grüner Mittelalterkleidung aufgestellt.
Hier gab es auch mal japanischen Content, der ist aber auf eine eigene Sim ausgelagert worden.
|
|
|
Klamotto, Otterland (3 Läden) |
Geschrieben von: Jupiter Rowland - 06.12.2021, 22:49 - Forum: Hutshopping für Damen und Herren
- Keine Antworten
|
|
OpenSimWorld-Eintrag
Taxi: hop://otterland.de:8002/Klamotto
Warnung: Bakes-on-Mesh funktionieren hier noch nicht richtig!
Ein Klassiker unter den Freebie-Sims ist Klamotto. Die Ursprünge dieser Sim gehen zurück bis in die Zeit, als es in OpenSim mit Rigged-Mesh-Kleidung losging und Otto von Otter in Eigeninitiative Herrenbekleidung anfertigte, damit nicht wie sonst so oft die Herren der Schöpfung modisch zu kurz kamen. Ihm zur Seite stand damals Cary Bean mit ihrer Deva-Moda-Produktlinie.
Im Gegensatz zu vielen neueren Freebie-Sims gibt es hier aber nicht einen großen Laden mit einem Betreiber, auch nicht das typische „urbane“ Umfeld mit jeweils themenbezogenen Läden, die auch wieder alle dem Sim-Betreiber gehören. Die meisten Läden in Klamotto werden tatsächlich von den von Otters betrieben, aber es gibt auch „Ladenmieter“ und Fremdprodukte. Das führt dann dazu, daß die Läden vielfach nicht themenrein sind, und zu einer riesigen Produktvielfalt, die überwiegend jenseits dessen liegt, was man in denjenigen Freebie-Sims findet, die in den letzten zwei, drei Jahren gestartet wurden.
Einerseits führt das dazu, daß ich diese Sim in neun Threads präsentieren muß, weil sie sich über neun Rubriken erstreckt. Hier geht es um Hüte. - Den Thread für Damenbekleidung findet ihr hier.
- Den Thread für Herrenbekleidung findet ihr hier.
- Den Thread für Schmuck und Accessoires findet ihr hier.
- Den Thread für Bodys, die nichts mit Ruth2 und Roth2 zu tun haben, und Körperteile findet ihr hier.
- Den Thread für Bodys der Ruth2-Familie findet ihr hier
- Den Thread für Erotik-Artikel findet ihr hier.
- Den Thread für Sim-Deko findet ihr hier.
- Den Thread für Musikinstrumente findet ihr hier.
Andererseits fallen einige dieser Threads sehr umfangreich aus, weil die jeweiligen Rubriken auch schon mal von mehr als einem halben Dutzend Läden abgedeckt werden. Lukas hat mich darum gebeten, jeweils nur einen Thread pro Sim zu machen und nicht einen pro Laden. Es sollte aber klar sein, daß ich acht Läden in einer Rubrik nicht mit drei, vier bunten Bildchen und einem Zweizeiler informativ abdecken kann, und nur grobe Impressionen will ich hier nicht bringen. Also können die Threads durchaus umfangreich ausfallen, so auch dieser hier.
Klamotto (Eingangsbereich: 150/49/21)
Das große gelbe Haus in der Südostecke beherbergt im Grunde das Herz der Sim, den Doppelladen Klamotto/Deva Moda.
Im Erdgeschoß befindet sich die von Otto von Otter selbst ausgestattete Herrenabteilung Klamotto Menswear.
In einem der hinteren Räume wird man auf eine erkleckliche Auswahl an Kopfbedeckungen stoßen. Obwohl diese im Erdgeschoß stehen, sind sie grundsätzlich als unisex zu betrachten. Die Holzbüsten tragen dabei nicht einfach nur Einzelhüte, sondern die meisten sind Boxen, in denen mehrere Varianten derselben Kopfbedeckung stecken.
Im Obergeschoß befindet sich die von Cary Bean ausgestattete Damenabteilung Deva Moda.
Schon im ersten Raum wird man fündig in Form eines Damen-Bowlers und eines sehr großen weißen Huts, den man selbst einfärben kann. Fertig dekorierte Varianten desselben Huts sind enthalten in den Sakko-Outfit-Boxen.
AlCapone menSweaR (Eingangsbereich: 74/40/22)
Beim hauptsächlichen Herrenausstatter auf der Sim gibt es Teile des Hutsortiments von Klamotto noch einmal.
Steamhat (Eingangsbereich: 56/99/21)
Der eigentliche Hutladen in Klamotto ist Steamhat. Das heißt, eigentlich ist Steamhat sogar auf Kopfbedeckungen für Damen spezialisiert. Hier ist ein Spezialgebiet wiederum, wie der Name schon andeutet, Steampunk. Aber generell gibt es eine große Auswahl an Hüten, Mützen und dergleichen.
|
|
|
Klamotto, Otterland (2 Läden) |
Geschrieben von: Jupiter Rowland - 06.12.2021, 22:46 - Forum: Clubausstattung
- Keine Antworten
|
|
OpenSimWorld-Eintrag
Taxi: hop://otterland.de:8002/Klamotto
Warnung: Bakes-on-Mesh funktionieren hier noch nicht richtig!
Ein Klassiker unter den Freebie-Sims ist Klamotto. Die Ursprünge dieser Sim gehen zurück bis in die Zeit, als es in OpenSim mit Rigged-Mesh-Kleidung losging und Otto von Otter in Eigeninitiative Herrenbekleidung anfertigte, damit nicht wie sonst so oft die Herren der Schöpfung modisch zu kurz kamen. Ihm zur Seite stand damals Cary Bean mit ihrer Deva-Moda-Produktlinie.
Im Gegensatz zu vielen neueren Freebie-Sims gibt es hier aber nicht einen großen Laden mit einem Betreiber, auch nicht das typische „urbane“ Umfeld mit jeweils themenbezogenen Läden, die auch wieder alle dem Sim-Betreiber gehören. Die meisten Läden in Klamotto werden tatsächlich von den von Otters betrieben, aber es gibt auch „Ladenmieter“ und Fremdprodukte. Das führt dann dazu, daß die Läden vielfach nicht themenrein sind, und zu einer riesigen Produktvielfalt, die überwiegend jenseits dessen liegt, was man in denjenigen Freebie-Sims findet, die in den letzten zwei, drei Jahren gestartet wurden.
Einerseits führt das dazu, daß ich diese Sim in neun Threads präsentieren muß, weil sie sich über neun Rubriken erstreckt. Hier geht es um Musikinstrumente. - Den Thread für Damenbekleidung findet ihr hier.
- Den Thread für Herrenbekleidung findet ihr hier.
- Den Thread für Schmuck und Accessoires findet ihr hier.
- Den Thread für Hüte findet ihr hier.
- Den Thread für Bodys, die nichts mit Ruth2 und Roth2 zu tun haben, und Körperteile findet ihr hier.
- Den Thread für Bodys der Ruth2-Familie findet ihr hier
- Den Thread für Erotik-Artikel findet ihr hier.
- Den Thread für Sim-Deko findet ihr hier.
Andererseits fallen einige dieser Threads sehr umfangreich aus, weil die jeweiligen Rubriken auch schon mal von mehr als einem halben Dutzend Läden abgedeckt werden. Lukas hat mich darum gebeten, jeweils nur einen Thread pro Sim zu machen und nicht einen pro Laden. Es sollte aber klar sein, daß ich acht Läden in einer Rubrik nicht mit drei, vier bunten Bildchen und einem Zweizeiler informativ abdecken kann, und nur grobe Impressionen will ich hier nicht bringen. Also können die Threads durchaus umfangreich ausfallen, so auch dieser hier.
Klamotto/Deva Moda (Eingangsbereich: 150/49/21)
Das große gelbe Haus in der Südostecke beherbergt im Grunde das Herz der Sim, den Doppelladen Klamotto/Deva Moda.
Im Eingangsbereich steht ein Tisch mit ein paar Boxen. Die ganz linke ist eine Box mit Musikequipment von Manfred Aabye. Für Clubs tauglich ist davon aber nur wenig, am ehesten noch das DJ-Set. Ansonsten geht der Inhalt eher Richtung Gitarre und Baß, allerdings ohne am Avatar tragbare Musikinstrumente.
MB Creations (Eingangsbereich: 170/171/22)
Im ansonsten eher zweifelhaften Laden steht ein kopierbarer schwarzer Flügel mit eingebautem Radioskript (!) und einer Bank mit drei Sitzpositionen.
Für Clubbetreiber oder Sammler älterer Clubtechnik wäre noch Aine Caoimhes Country Line Dance Floor in der OSgrid/Metropolis-Edition interessant, der in einer Box vorm Eingang zu finden ist.
|
|
|
Klamotto, Otterland (7 Läden) |
Geschrieben von: Jupiter Rowland - 06.12.2021, 22:44 - Forum: Bodys und Körperteile
- Keine Antworten
|
|
OpenSimWorld-Eintrag
Taxi: hop://otterland.de:8002/Klamotto
Warnung: Bakes-on-Mesh funktionieren hier noch nicht richtig!
Ein Klassiker unter den Freebie-Sims ist Klamotto. Die Ursprünge dieser Sim gehen zurück bis in die Zeit, als es in OpenSim mit Rigged-Mesh-Kleidung losging und Otto von Otter in Eigeninitiative Herrenbekleidung anfertigte, damit nicht wie sonst so oft die Herren der Schöpfung modisch zu kurz kamen. Ihm zur Seite stand damals Cary Bean mit ihrer Deva-Moda-Produktlinie.
Im Gegensatz zu vielen neueren Freebie-Sims gibt es hier aber nicht einen großen Laden mit einem Betreiber, auch nicht das typische „urbane“ Umfeld mit jeweils themenbezogenen Läden, die auch wieder alle dem Sim-Betreiber gehören. Die meisten Läden in Klamotto werden tatsächlich von den von Otters betrieben, aber es gibt auch „Ladenmieter“ und Fremdprodukte. Das führt dann dazu, daß die Läden vielfach nicht themenrein sind, und zu einer riesigen Produktvielfalt, die überwiegend jenseits dessen liegt, was man in denjenigen Freebie-Sims findet, die in den letzten zwei, drei Jahren gestartet wurden.
Einerseits führt das dazu, daß ich diese Sim in neun Threads präsentieren muß, weil sie sich über neun Rubriken erstreckt. Hier geht es um Meshbodys, die nichts mit Ruth2 und Roth2 zu tun haben, und Körperteile. - Den Thread für Damenbekleidung findet ihr hier.
- Den Thread für Herrenbekleidung findet ihr hier.
- Den Thread für Schmuck und Accessoires findet ihr hier.
- Den Thread für Hüte findet ihr hier.
- Den Thread für Bodys der Ruth2-Familie findet ihr hier
- Den Thread für Erotik-Artikel findet ihr hier.
- Den Thread für Sim-Deko findet ihr hier.
- Den Thread für Musikinstrumente findet ihr hier.
Andererseits fallen einige dieser Threads sehr umfangreich aus, weil die jeweiligen Rubriken auch schon mal von mehr als einem halben Dutzend Läden abgedeckt werden. Lukas hat mich darum gebeten, jeweils nur einen Thread pro Sim zu machen und nicht einen pro Laden. Es sollte aber klar sein, daß ich acht Läden in einer Rubrik nicht mit drei, vier bunten Bildchen und einem Zweizeiler informativ abdecken kann, und nur grobe Impressionen will ich hier nicht bringen. Also können die Threads durchaus umfangreich ausfallen, so auch dieser hier.
Klamotto (Eingangsbereich: 150/49/21)
Das große gelbe Haus in der Südostecke beherbergt im Grunde das Herz der Sim, den Doppelladen Klamotto/Deva Moda.
Im Erdgeschoß befindet sich die von Otto von Otter selbst ausgestattete Herrenabteilung Klamotto Menswear.
In den hinteren Räumen findet man männliche „Körperteile“ im weitesten Sinne, die überwiegend noch für den Systembody gemacht wurden. Die Auswahl ist riesig: Skins in verschiedenen Stilen und jeweils in etlichen Hautfarben, Haare durchweg in verschiedenen Farben, Augen, realistische Shapes, Bärte als Tattoos, Bärte als Attachments – so ziemlich alle Attachment-Bärte, die im Hypergrid kursieren, dürften von hier stammen –, Körperbehaarung als Tattoos, Körperbehaarung als Attachments, Hairbase-Tattoos, Genitalien usw. Bemerkenswert ist, daß es hier auch Skins ohne fest aufgebaketen Dreitagebart im Gesicht gibt.
In dem Raum mit den Bärten, der Körperbehaarung und den Genitalien liegt vor einem Fenster auch eine undekorierte Box mit einem ziemlich brauchbaren Männer-AO, den man direkt im Viewer nutzen kann, was den jeweiligen Server im Vergleich zu den üblichen ZHAO-AOs extrem viel weniger belastet und somit Lag reduziert.
Im Obergeschoß befindet sich die von Cary Bean ausgestattete Damenabteilung Deva Moda.
Die Auswahl an Avatarausstattung für Damen, die es hier gibt, steht der für Herren im Erdgeschoß in nichts nach – bis natürlich darauf, daß es keine Bärte gibt. Allerdings haben sehr viele Skins fertig aufgebaketes, also nicht entfernbares Make-up. Am rechten Bildrand seht ihr übrigens eine Box mit genau dem schwarzen Flexi-Bob, den mein Schwesterchen Juno trägt, falls euch die Frisur gefällt.
In dem mit Hanfblättern geschmückten Raum für Make-up gibt es noch drei andere Goodies: Fingernägel für den Systembody, ein geskriptetes weibliches Genital und wiederum in einer undekorierten, unbeschrifteten Box einen guten Frauen-AO für den Viewer – falls ihr mit einfachen Mitteln Leistung sparen, Lag reduzieren und euch vielleicht auch wie Juno bewegen wollt. Dieser AO kommt auch wieder in verschiedenen Varianten: Neben dem normalen VISTA AO gibt es einen namens RELAXED, einen namens COQUETTE und für besondere Anlässe einen namens FORMAL.
Tante Tilly’s (Eingangsbereich: 63/54/21)
Im primären Damenmodeladen auf der Sim gibt es auch eine Abteilung mit Haaren an zwei Wänden.
Links dürften durchgängig noch Flexi-Haare hängen; woher die stammen, ist mir unbekannt. Die Mesh-Frisuren rechts sind jedenfalls meines Wissens allesamt durch die Bank nicht sauber.
Mesh Body Shop (Eingangsbereiche: 93/77/21, 110/61/21, 110/92/22)
Der Mesh Body Shop dürfte eine der größten Auswahlen an Meshbodys im Hypergrid haben. Der Fokus liegt natürlich auf Athena (4.0, 5.0, 6.0 inkl. Petite und Flat) und Adonis (2.01, 3.0, 4.0), aber ansonsten gibt es hier etliche andere Bodys, die teilweise ziemlich obskur sind. Im Grunde vermißt man nur Femme und die Decadence-Bodys (und eine größere und aktuellere Ruth2-Auswahl sowie Roth2 überhaupt, aber das gehört in einen anderen Thread).
Zusätzlich gibt es die üblichen klassischen Meshköpfe aus der Zeit vor BoM, Skin-Applier für Athena und Adonis, einen Lippenstift-Applier und eine Nippel-Box für Athena, ein paar Frisuren und eine kleinere Auswahl an bekannteren ZHAO-AOs.
Chain’s Fetishwear (Eingangsbereiche: 33/161/21, 48/150/21, 68/157/21, 48/174/21, 45/174/21)
Die VAW-Genitalien, die es im Klamotto/Deva-Moda-Bau gibt, finden sich hier noch einmal. Insgesamt sind sie auf der Sim mindestens dreimal zu finden.
Leora’s Beautiful People (Eingangsbereich: 106/184/22)
Auch Leora Jacobus hat zwei Läden in Klamotto. In einem davon bietet sie ihre Beautiful People an, Komplettavatare auf Basis des Systembody mit Layer- und Prim-Bekleidung. OpenSim-Komplettneulinge können sie nutzen, um ihren Avatar aufzuhübschen, ohne sich erst in Mesh einarbeiten zu müssen. Fortgeschrittene Nutzer – vor allem solche mit Systembody, teilweise aber auch solche mit Meshbodys, am ehesten noch mit BoM – können diese Avatare wiederum nutzen als Quellen für Einzelteile. Viele davon, etwa Haare, wird man schon von Linda Kellie kennen, andere dürften exklusive Eigenanfertigungen von Leora sein.
Leora’s Beautiful Adam and Eve (Eingangsbereich: 103/181/22)
In ihrem zweiten Laden bietet Leora zwei Na’vi-Komplettavatare auf Basis des Systembody an (die Na’vi sind die drei Meter großen Schlümpfe aus James Camerons Avatar) Hier gibt es also auch die passende Skin zur Na’vi-Kleidung auf Ai Austins RuthAndRoth-Sim – nur eben in einer Komplettavatar-Box.
A&O (Eingangsbereich: 117/219/22)
A&O ist ein eher ungewöhnliches, mysteriös anmutendes Gebäude und ein Laden, der sich auf Animation Overrides spezialisiert hat. Die sind aber nicht wie üblich als Boxen an Wände geklebt. Statt dessen gibt es spezielle Apparaturen zu beiden Seiten des Gebäudes – links für Weiblein, rechts für Männlein, jeweils elf an der Zahl –, die gleichzeitig zum „Kaufen“ und zum Testen (!) des jeweiligen AO genutzt werden können. Man kann also seinen Avatar auf eine dieser Gerätschaften „setzen“ und den AO vorm „Kauf“ in Ruhe durchtesten. Das erspart es einem, sein Inventar mit AOs zuzumüllen, die einem dann erst in der Praxis mißfallen.
Eigentlich ist das überflüssig zu erwähnen, aber gewarnt sei man trotzdem: Es handelt sich dabei durchweg um sogenannte ZHAO-AOs, wie sie aus Second Life kommen. Diese werden als Attachments getragen; sie verursachen sehr viel Last auf dem Grid- bzw. Simserver und sind eine der hauptsächlichen Ursachen für Lag bei Veranstaltungen. Wer das vermeiden will (und auf das evtl. dem Lieblings-AO beiliegende HUD verzichten kann), kann den AO aber rezzen, auspacken und den Inhalt direkt im Viewer nutzen, was die Serverlast extrem reduziert.
|
|
|
|