User:Daemonika Nightfire/Scripts/Tools (de)
Jump to navigation
Jump to search
*DS* GetPrimInfo
/*
*DS* GetPrimInfo by Daemonika Nightfire
Mit diesem kleinen Tool bekommst du auf die schnelle,
saemtliche nuetzlichen Informationen eines Prims die du zum Scripten benoetigs.
Lege das Script einfach hinein und klicke ihn an.
INFO:
Je nachdem ob das Script im Root oder Child liegt, bekommst du unterschiedliche werte.
Die Bezeichnung (me) deutet darauf hin, dass nur der Wert des Prims ausgelesen wird, wo das Script drin liegt.
*/
default
{
touch_start(integer num_detected)
{
integer i;
for(i=0; i<num_detected; ++i)
{
llOwnerSay("/me Creator: " + (string)llKey2Name(llGetCreator()) +
"\nCreatorKey: " + (string)llGetCreator() +
"\nObjectKey: " + (string)llGetKey() +
"\nObjectPrimCount: " + (string)llGetNumberOfPrims() +
"\nLinkNumber: " + (string)llDetectedLinkNumber(i) +
"\nLinkName: " + (string)llGetLinkName(llDetectedLinkNumber(i)) +
"\nLinkNumberKey: " + (string)llGetLinkKey(llDetectedLinkNumber(i)) +
"\nTouchFace: " + (string)llDetectedTouchFace(i) +
"\nTouchPos: " + (string)llDetectedTouchST(i) +
"\nScale (me): " + (string)llGetScale() +
"\nMass (object): " + (string)llGetMass() +
"\nLinkMass: " + (string)llGetObjectMass(llGetLinkKey(llDetectedLinkNumber(i))) +
"\nPos (root): " + (string)llGetPos() +
"\nRot (root): " + (string)llGetRot() +
"\nLocalPos (me): " + (string)llGetLocalPos() +
"\nLocalRot (me): " + (string)llGetLocalRot() +
"\nColor: " + (string)llGetColor(llDetectedTouchFace(i)) +
"\nAlpha: " + (string)llGetAlpha(llDetectedTouchFace(i)));
}
}
}
*DS* Prim-Cleaner (LINK_THIS)
/*
*DS* Prim-Cleaner (LINK_THIS) by Daemonika Nightfire
Der Prim-Cleaner entfernt saemtliche Prim-Eigenschaften, die sich nicht mit dem Baumenue einstellen lassen.
Diese Version funktioniert nur in dem Prim, in dem das Script eingelegt ist.
*/
default
{
state_entry()
{
llSetSitText(""); // entfernt den Sitz-Text
llSetTouchText(""); // entfernt den Klick-Text
llParticleSystem([]); // entfernt die Particle
llSetText("", ZERO_VECTOR, 1.0); // entfernt den Hovertext
llTargetOmega(ZERO_VECTOR, 0.0, 0.0); // entfernt die Rotation
llSetCameraAtOffset(ZERO_VECTOR); // entfernt die Kamera-Position
llSetCameraEyeOffset(ZERO_VECTOR); // entfernt die Kamera-Ausrichtung
llSitTarget(ZERO_VECTOR, ZERO_ROTATION); // entfernt die Sitz-Orientierung
llSetTextureAnim(FALSE, ALL_SIDES, 1, 1, 0.0, 0.0, 0.0); // entfernt Textur-Animationen
llStopSound(); // entfernt den looped Sound
llDeleteCharacter(); // entfernt alle Pathfinding Einstellungen
llSay(0, "This prim is plean...");
llRemoveInventory(llGetScriptName()); // entfernt sich selbst
}
}
*DS* Prim-Cleaner (LINK_SET)
/*
*DS* Prim-Cleaner (LINK_SET) by Daemonika Nightfire
Der Prim-Cleaner entfernt saemtliche Prim-Eigenschaften, die sich nicht mit dem Baumenue einstellen lassen.
Diese Version aendert die Eigenschaften jedes Prims des gesamten Linksets.
*/
default
{
state_entry()
{
llSetLinkPrimitiveParamsFast(LINK_SET,[
PRIM_TEXT, "", ZERO_VECTOR, 0.00, // entfernt den Hovertext
PRIM_OMEGA, ZERO_VECTOR, 0.0, 0.0 // entfernt die Rotation
]);
llLinkParticleSystem(LINK_SET, []); // entfernt die Particle
llSetLinkCamera(LINK_SET, ZERO_VECTOR, ZERO_VECTOR); // entfernt die Kamera-Optionen
llLinkSitTarget(LINK_SET, ZERO_VECTOR, ZERO_ROTATION); // entfernt die Sitz-Orientierung
llSetLinkTextureAnim(LINK_SET, FALSE, ALL_SIDES, 1, 1, 0.0, 0.0, 0.0); // entfernt Textur-Animationen
llSay(0, "This linkset is plean...");
llRemoveInventory(llGetScriptName()); // entfernt sich selbst
}
}
*DS* Fullbright FALSE (LINK_SET)
/*
*DS* Fullbright FALSE (LINK_SET) by Daemonika Nightfire
Dieses kleine Tool verwende ich sehr oft, um bei Attachments die option "ganz Hell" eines Linksets abzuschalten.
Besonders bei Prim Haaren kommt es oft vor, dass der Ersteller die Haare "ganz Hell" einstellt und das sieht bei Mitternacht absolut ****** aus.
Natuerlich ginge das auch mit dem Baumenue, aber wir kennen das alle,
man stellt in einem Grossen Linkset etwas ein und ploetzlich wird einiges zurueck gesetzt oder gar nicht erst uebernommen.
Mit diesem kleinen Script hat sich das innerhalb einer Sekunde erledigt.
*/
default
{
state_entry()
{
llSetLinkPrimitiveParamsFast(LINK_SET,[PRIM_FULLBRIGHT,ALL_SIDES,FALSE]); // deaktiviert die Option "ganz hell" (Fullbright).
llRemoveInventory(llGetScriptName()); // entfernt sich selbst
}
}
*DS* Fullbright, Light & Glow FALSE (LINK_SET)
/*
*DS* Fullbright, Light & Glow FALSE (LINK_SET) by Daemonika Nightfire
Dieses kleine Tool kann dazu verwendet werden, die Viewer performance zu erhoehen.
Besonders der Eintrag PRIM_POINT_LIGHT ist bei uebermaessigem gebrauch von unnuetzen Lichtquellen in einer Region sehr empfehlenswert.
*/
default
{
state_entry()
{
llSetLinkPrimitiveParamsFast(LINK_SET,[
PRIM_FULLBRIGHT, ALL_SIDES, FALSE, // deaktiviert die Option "ganz hell" (Fullbright).
PRIM_POINT_LIGHT, FALSE, <1.00000, 1.00000, 1.00000>, 1.000, 10.000, 0.750, // setzt das Licht auf Default zurueck und schaltet es ab.
PRIM_GLOW, ALL_SIDES, 0.00 // schaltet den Prim Glow ab.
]);
llRemoveInventory(llGetScriptName()); // entfernt sich selbst
}
}
*DS* Rotation Converter
/*
*DS* Rotation Converter by Daemonika Nightfire
Mit diesem kleinen Tool kannst du sehr leicht und sehr schnell Rotationen in Vectoren umrechnen und anders herum.
Bitte nicht wundern, dass ich das Semikolon am ende der globalen Variablen runter geentert habe,
das dient einzig und allein dem Zweck es nicht aus versehen zu ueberschreiben oder loeschen.
*/
// Wenn du einen Vector benoetigst, tragte hier die Rotation (4 stellig) ein.
rotation Rot2Vec = <0.00000, 0.00000, 0.70711, 0.70711>
;
// Wenn du eine Rotation benoetigst, trage hier einen Vector (3 stellig) ein.
vector Vec2Rot = <0.00000, 0.00000, 90.00000>
;
default
{
state_entry()
{
llSay(0, "Rotaton 2 Vector: " + (string)(llRot2Euler(Rot2Vec) * RAD_TO_DEG));
llSay(0, "Vector 2 Rotaton: " + (string)llEuler2Rot(Vec2Rot * DEG_TO_RAD));
}
}
*DS* FloatLinkNumber
/*
*DS* FloatLinkNumber by Daemonika Nightfire (daemonika.nightfire)
Features:
Nuetzlicher Helfer fuer Ersteller & Scripter
Mit diesem Tool kannst du saemtliche Linknummern direkt als Hovertext ueber den Prims sehen
Lege das Script einfach in den Root-Prim und klicke ihn zum ein/ausschalten des Hovertextes.
Info:
ein einzelner Prim zeigt LinkNumber 0 fuer den root
in einem LINK_SET zeigt der root die LinkNumber 1
*/
integer text = 0;
// setze TRUE oder FALSE fuer mit oder ohne LinkName
integer name = TRUE;
Links()
{
integer i;
for(i = 0; i <= llGetNumberOfPrims(); i++)
{
if(text)
{
string num;
if(i < 2)
{
num = (string)i + " (root)";
if(name)
{
num = (string)i + " (root)\n" + llGetLinkName(i);
}
}
else if(i >= 2)
{
num = (string)i;
if(name)
{
num = (string)i + "\n" + llGetLinkName(i);
}
}
llSetLinkPrimitiveParamsFast(i,[PRIM_TEXT, num, <1,1,0>, 1.0]);
}
else if(!text)
{
llSetLinkPrimitiveParamsFast(i,[PRIM_TEXT, "", ZERO_VECTOR, 0.0]);
}
}
}
default
{
state_entry()
{
Links();
}
touch_start(integer num_detected)
{
// Zum ein/aus schalten, musst du den Root Prim klicken
if(llDetectedKey(0) == llGetOwner() && llDetectedLinkNumber(0) < 2)
{
if(!text)
{
text = 1;
}
else if(text)
{
text = 0;
}
Links();
}
}
on_rez(integer Dae)
{
llResetScript();
}
}