-
Posts
909 -
Joined
-
Last visited
Content Type
Forums
Blogs
Knowledge Base
Everything posted by Xiija
-
In the end, any http incoming will still have to use LSL to affect an object? I think the best use case for http would be data manipulation or storage. good luck
-
I cannot get my mind around the math. i'm doing float x = ( avi.z/2 ) + (root.z / 2); but it ends up either too low or too high. should i be using a percent of the avi height or something?
-
@LoneWolfiNTj This may be a bit complex if you are just starting out, and it is 4 yrs old, but may help give you a basic idea , .. btw this is for parcel music, not media on a prim...
-
I've set these 2 .. llSetCameraEyeOffset(<0.0, 0.0, 0.0> ); llSetCameraAtOffset(<0.0, 0.0, 0.0> ); apparently they don't need ...request perms, and are a prim property, but even if i use ZERO_VECTOR on them both , i still cannot set the scripted camera's focus & position? shouldn't there be a way to remove this prim property? i am able to use them to set the values, but when i linked a seat to a vehicle, i now need to set the cam in the seat, not in the main vehicle script?
-
kewl, ty! .. i would go check, but SL is BORKED for me, again, r n ...
-
is there any way to make this a one liner? string sound = llGetInventoryName(INVENTORY_SOUND, 0); if( sound == "") { sound = "e87dab12-e497-72a3-581e-2b8a8254b521"; } i tried the normal thing you would do outside SL, but.. NEWP lol string sound = llGetInventoryName(INVENTORY_SOUND, 0) || "e87dab12-e497-72a3-581e-2b8a8254b521" ;
-
@Mollymews TYSM! ::hugs::
-
any links to where one could try these surfboards & waves?
-
@Tattooshop here is an example for the rotation bit, changes all but the root... . integer tog; rotation rot_90; update() { integer prims = llGetObjectPrimCount( llGetKey() ); integer x = 2; for( ; x <= prims; ++x) { vector ang = <0,0,90>; vector rad = ang * DEG_TO_RAD; rot_90 = llEuler2Rot(rad); list y = llGetLinkPrimitiveParams( x, [PRIM_ROT_LOCAL]); rotation currRot = llList2Rot( y,0); llSetLinkPrimitiveParamsFast( x , [ PRIM_ROT_LOCAL, currRot * rot_90 ]); llSleep(0.25); } } default { state_entry() { } touch_start( integer num) { if( tog = !tog) { llSetTimerEvent(0.1); llOwnerSay("ON"); } else { llSetTimerEvent(0.0); llOwnerSay("OFF"); } } timer() { llSetTimerEvent(10.0); update(); } }
-
just guessing, but mebbe something like... one texture offset 7 different ways, or 7 textures. a link message of fwd or back, and different delays for rotating each child depending on the direction. hmmm...
-
Dataserver apparently remembers bad information.
Xiija replied to Rolig Loon's topic in LSL Scripting
interesting, i wonder if this could be used in some way, i wonder if there is a limit to the string you can use... i've tried this, and it works... -
I'm sure this has been asked, but i'm not reading 130 pages of posts will 7seas be ending too?.. or is this a "skilled game" ?.. i didn't see them listed there. you pay , you get a random prize, seems like they are getting special treatment?
-
'Not'-cha or "I can't believe it's not Gacha" possibilities.
Xiija replied to Quistess Alpha's topic in LSL Scripting
The LL blog seems very iffy, i think i will just skip doing anything but a normal vendor heh... https://community.secondlife.com/blogs/entry/8586-policy-change-regarding-gacha/ are these fish random?.. or buying one type of bait Always gets you one type of fish? (guaranteed catch?) it seems LL is giving them special preference ? anyhoo, ... oh well -
'Not'-cha or "I can't believe it's not Gacha" possibilities.
Xiija replied to Quistess Alpha's topic in LSL Scripting
hmm, so, if you make a skill game that costs to play, and gives prizes based on score? would that work? ( I did a mod of this one at a recent Burningman event, very popular) https://marketplace.secondlife.com/p/Steam-Fair-Whack-a-Pirate-Game-12-prims/6323707 High Score = the Rare! -
@Raven Huntsman if you rez a prim, edit it, and change the texture>media>face .. url you can get a mouseover effect with something like this as the URL... data:text/html,%3Chtml%3E%3Cbody%3E%3Cbutton%20id%3D%22test%22%20style%3D%22color%3Awhite%3Bbackground%3Alime%22%20onmouseover%3D%27this.style.background%3D%22%23555%22%27%20onmouseout%3D%27this.style.background%3D%22lime%22%27%3Ekleek%3C%2Fbutton%3E%3C%2Fbody%3E%3C%2Fhtml%3E unescaped it looks like... data:text/html,<html><body><button id="test" style="color:white;background:lime" onmouseover='this.style.background="#555"' onmouseout='this.style.background="lime"'>kleek</button></body></html>
-
is it possible to create a listener that listens to http response?
Xiija replied to Xander Lopez's topic in LSL Scripting
just an update for anyone using Node.js I got mine working by adding this to the Repl.it script... require('ssl-root-cas') .inject() .addFile(__dirname + '/cert.crt'); and then copying the certificate and adding it as a file ( cert.crt ) from SecondLife Cert on Bitbucket -
@Quistess Alpha wow, tysm for the heads up on the touch event
-
llRegionSay(10, "gloss: " + (string) gloss); in the listen event... string my_string = message; // "gloss: 123"; list my_list = llParseString2List(my_string,[":"],[] ); string command = llList2String(my_list,0); float amt = llList2Float( my_list,1); then do normal stuff like, ... if( command == "gloss") etc etc you could also use just a texture slider, with no moving prims... example: using a texture like ... you could then do something along these lines.... float uvMax = 1.0; float uvMin = 0.0; float txtrMax = -0.87; float txtrMin = 0.0; float touch_UV = 0.0; float myOffset; vector touchUV; integer face; float offsetter( float touch_UV ) { float OldRange = (uvMax - uvMin); float NewRange = (txtrMax - txtrMin); float NewValue = (((touch_UV - uvMin) * NewRange) / OldRange) + txtrMin; return NewValue; } default { state_entry() { } touch_start(integer total_number) { touchUV = llDetectedTouchST(0); myOffset = offsetter( (float)touchUV.x ); face = llDetectedTouchFace(0); llOffsetTexture( myOffset, 0.0, face); } } now, if you touch the face with this texture, the button on the slider will move to that point. sadly, i think the only way to get a drag slider would be to use controls, and arrow keys? , mebbe? I've made volume sliders that use buttons ( with touch start & touch end) to control text/texture sliders also
-
is it possible to create a listener that listens to http response?
Xiija replied to Xander Lopez's topic in LSL Scripting
@Xander Lopez I've done this, but had to use ... process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0; in my repl.it node.js repl, because i didn't know how to check the certificates, or if SL doesn't send them?... dunno, but, it works I set & store the URL for my main SL server with a google apps script, to a google sheet, then the website can get the current URL of the inworld object, and send it an http req. -
Another option : you can drag and drop a texture onto a face of a linked prim hud screen. you could then check for something like ... if (change & CHANGED_TEXTURE) and capture the new uuid & send to your obj
-
mebbe something like ... http://wiki.secondlife.com/wiki/LlTextBox
-
Your HUD would just send a regionsay msg on a specific channel, with the commands linked to which button you press. something kinda like ... touch_start(integer num_detected) { if ( llGetLinkName( llDetectedLinkNumber(0) ) == "hide") { llRegionSay( -123, "ocultar" ); } }
- 1 reply
-
- 1
-
@ArmTwilight this is close, you could mebbe tweak it from here... vector position; rotation facing; key agent ; default { on_rez(integer param) { llResetScript(); } state_entry() { } changed(integer change) { if (change & CHANGED_LINK) { agent = llAvatarOnLinkSitTarget( LINK_THIS); if (agent) { llRequestPermissions(agent,PERMISSION_CONTROL_CAMERA); } else { agent = NULL_KEY; } } } run_time_permissions(integer perm) { if (perm & PERMISSION_CONTROL_CAMERA) { llClearCameraParams(); llSetCameraParams([ CAMERA_ACTIVE, 1, // 1 is active, 0 is inactive CAMERA_FOCUS_LOCKED, TRUE, CAMERA_POSITION_LOCKED, TRUE ]); facing = llGetRot(); position = llGetPos() + <2.0, 0.0, 0.5> * facing; vector focus = position + llRot2Fwd(facing); llSetCameraParams([ CAMERA_FOCUS, focus, CAMERA_POSITION, position ]); } } }
-
I've been staring at this too long guess... I'm trying to get the value from a json string... just missing some simple thing i think? ( from the wiki ... http://wiki.secondlife.com/wiki/Json_usage_in_LSL ) default { state_entry() { } touch_start(integer total_number) { string json1 = " { 'alpha': 1, 'beta': [ 'x', 'y', 'z' ], 'gamma': { 'a': 3.2, 'b': true } }"; // --------- list jlist = llJson2List(json1); string jstring = llList2Json( JSON_OBJECT , jlist ); string j2 = llList2Json( JSON_OBJECT , [json1] ); /* llJsonGetValue ( value, [ "alpha" ] ) ⇒ 1 llJsonGetValue ( value, [ "beta" ] ) ⇒ [ "x", "y", "z" ] llJsonGetValue ( value, [ "beta", 2 ] ) ⇒ z llJsonGetValue ( value, [ "gamma", "a" ] ) ⇒ 3.2 */ llOwnerSay("JSON: " + llJsonGetValue ( jstring, ["alpha" ] ) ); llOwnerSay("JSON: " + llJsonGetValue ( json1, ["alpha" ] ) ); llOwnerSay("JSON: " + llJsonGetValue ( j2, ["alpha" ] ) ); llOwnerSay("JSON: " + json1 ); } } ETA: my bad, i didn't read to the end & forgot to parse it separately... string value = llList2Json( JSON_OBJECT, ["alpha", 1, "beta", llList2Json( JSON_ARRAY, [ "\"x\"", "\"y\"", "\"z\"" ] ), "gamma", llList2Json( JSON_OBJECT, [ "a", 3.2, "b", JSON_TRUE ] )] );