Jump to content

Xiija

Resident
  • Posts

    909
  • Joined

  • Last visited

Everything posted by Xiija

  1. 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
  2. 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?
  3. @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...
  4. 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?
  5. kewl, ty! .. i would go check, but SL is BORKED for me, again, r n ...
  6. 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" ;
  7. any links to where one could try these surfboards & waves?
  8. @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(); } }
  9. 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...
  10. 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...
  11. 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?
  12. 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
  13. 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!
  14. @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>
  15. 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
  16. @Quistess Alpha wow, tysm for the heads up on the touch event
  17. 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
  18. @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.
  19. 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
  20. mebbe something like ... http://wiki.secondlife.com/wiki/LlTextBox
  21. 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" ); } }
  22. @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 ]); } } }
  23. @ArmTwilight mebbe something like..( untested ) rotation boothRot = llGetRot(); vector boothPos = llGetPos(); vector offset = <2.0, 0.0, 0.2>; vector camfocus = boothPos + offset * boothRot;
  24. 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 ] )] );
×
×
  • Create New...