Jump to content

Search the Community

Showing results for tags 'lsl'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Important News
    • Announcements
  • People Forum
    • Your Avatar
    • Make Friends
    • Lifestyles and Relationships
    • Role Play
    • General Discussion Forum
    • Forums Feedback
    • Second Life Education and Nonprofits
  • Places and Events Forum
    • Favorite Destinations
    • Upcoming Events and Activities
    • Games in Second Life
  • Official Contests, Events & Challenges
    • Challenges
    • Contests
  • Creation Forum
    • Fashion
    • Art, Music and Photography
    • Animation Forum
    • Bakes on Mesh
    • Environmental Enhancement Project
    • Machinima Forum
    • Building and Texturing Forum
    • Mesh
    • LSL Scripting
    • Experience Tools Forum
  • Technology Forum
    • Second Life Server
    • Second Life Viewer
    • Second Life Web
    • General Second Life Tech Discussion
    • Mobile
  • Commerce Forum
    • Merchants
    • Inworld Employment
    • Wanted
  • Land Forum
    • General Discussion
    • Mainland
    • Linden Homes
    • Wanted
    • Regions for Sale
    • Regions for Rent
  • International Forum
    • Deutsches Forum
    • Foro en español
    • Forum in italiano
    • Forum français
    • 日本語フォーラム
    • 한국어 포럼
    • Fórum em português
    • Forum polskie
    • المنتدى العربي
    • Türkçe Forum
    • Форум по-русски
  • Answers
    • Abuse and Griefing
    • Account
    • Avatar
    • Creation
    • Inventory
    • Getting Started
    • Controls
    • Land
    • Linden Dollars (L$)
    • Shopping
    • Technical
    • Viewers
    • Everything Else
    • International Answers

Blogs

  • Commerce
  • Featured News
  • Inworld
  • Tools and Technology
  • Tips and Tricks
  • Land
  • Community News

Categories

  • English
  • Deutsch
  • Français
  • Español
  • Português
  • 日本語
  • Italiano
  • Pусский
  • Türkçe

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me


Member Title

  1. I'm looking for a lsl coder to modify a general teleport script used in huds which can, also, be used by anyone if rezzed as an inworld object. Thanks! Contact me!
  2. Hello everyone, I'm looking for a professional LSL Scripter who is able to create the script for Synchronized Smart TV with some Features which include Video Sync Technology (Watch together the same frames with others) to become familiar with this project you can see here some examples of that TVs on the marketplace: https://marketplace.secondlife.com/p/Deimos-Sunray-Smart-TV-W3-SE/4073450 https://marketplace.secondlife.com/p/Deimos-Vivid-Smart-TV-W3-SE/3833060 https://marketplace.secondlife.com/p/MD-Sync-TV/6983615 https://marketplace.secondlife.com/p/Deimos-Gleam-Smart-TV-Premium-Edition/17425628 if you are proven high-quality work this will be a long-term job with a competitive rate. If you think you can do this please let me know... for further details You can reply to me here or contact me In World: Eslam Mysterious Thank you!
  3. Hi I have been trying to move my camera to the position of a separate drone I created and to move with the drone. It's largely based on a script someone gave in this forum, slightly modified for my own case. It works after a fashion but there are a couple of serious problems with it and I wonder if anyone can see the wood for the trees here? First problem: I need it to work from a HUD and to toggle the remote view on and off on repeated clicking. In a HUD, this script doesn't work at all. In a nearby prim, rezzed on the ground nearby, it works as it should (meaning on, then off). However, even as a script in a rezzed prim, it stops working after one round of off and on. After that you need to reset it to get it going again. So - can this be made to work in a HUD and repeatedly so without having to reset/remove and re-add the HUD after each remote viewing? Second problem: no matter how I tweak the parameters relating to where the camera IS and where the camera is POINTING, it's always essentially looking AT the drone. I want the camera to adopt a position as if it was the drone's camera - on the front and looking forward. Why am I never getting that view here? Here's the code I have so far. Note, a separate script messages the drone and it replies with it's UUID - that's picked up by this script and so works as intended. Additional note; I added some lines relating to rotation in vein attempts to modify the default rotation into something I wanted. key uuid = ""; integer listen_handle; default { on_rez(integer param) { llResetScript();//By resetting the script on rez forces the listen to re-register. } state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_CONTROL_CAMERA); listen_handle = llListen(166, "", "llGetOwner()", ""); llRegionSay(166, "UUIDRequest"); } run_time_permissions(integer perm) { llSetTimerEvent(0.022); } timer() { // Get the remote object's position and rotation. list data = llGetObjectDetails(uuid, [OBJECT_POS, OBJECT_ROT]); vector pos = llList2Vector(data, 0); rotation rot = llList2Rot(data, 1); rotation rot90Z = llEuler2Rot(<0, 90, -270>*DEG_TO_RAD); rot = rot * rot90Z; llSetCameraParams([ // Begin controlling the camera and prevent it from being moved. // (Alt-cam will still override this.) CAMERA_ACTIVE, TRUE, CAMERA_FOCUS_LOCKED, TRUE, CAMERA_POSITION_LOCKED, TRUE, CAMERA_FOCUS, pos, // The position the camera will LOOK at. CAMERA_POSITION, pos + (< -1.0, 0.1, -0.1> * rot) // The position the camera will BE at. ]); } touch_start(integer n) { llClearCameraParams(); llSetTimerEvent(0); } listen(integer channel, string name, key id, string msg) // Listens to and services all menu buttons. { if (channel == 166 && msg == "UUIDRequest-Back") { uuid = (key)id; llOwnerSay("Receiving UUID = " + (string)msg); } } } So - is it even possible to have camera controls in a HUD, and if so, how can I get them to behave as intended? Thank you in advance.
  4. Hello, I hope this falls in the right category. I also wonder if it already exists. I wrote a Rezzer script (can't choose naming between Rezzer or PrimRecorder) and tested it with an alt avatar but I want people with a practical use for it to test it out. ----What for ?--- The goal is simple : use a primitive, put the script in, use the menu to record the objects of a specific setup (distance limit is 100 meters from the "Rezzeur"), store everything in the primitive then rez or clean the wanted setup fast and ez. ---Examples ?--- You have a house with furniture but you have to move everything to another land (for whatever reason) easily and without linking all the different objects together. You have a clubhouse, and there are different events coming up along the year : foam party, halloween, christmas, whatev. This would help to rearrange very fast everytime one event comes up. You have photoboth, and you want different sets : jungle, fantasy, icy land, etc... You have a store, but a bunch of panels and mannequins on display, and need to move somewhere else. You have a house and you want to try to decorate it differently but don't want to lose how it's done right now. ---Price ?--- Free. I am working on a version with a whitelist so that the owner can allow different people to rez the setup (for shared use). This version I will probably charge because damn it's more complicated and takes time to code properly when it's not the owner ! ---Permissions ?--- copy, not modify. ---So what do you want from testers ?--- To feedback me. It should be useable without explanations, but I think like a creator, not a user, plus I ain't english native so... Need feedback from different user's pov. Hit me up in game if you wanna try it. I hope it sparks some ideas in yall. Cheers.
  5. so i made 2 scripts that similar but the only change is that i added - in the numbers to have the opposite effect on the other side since it doesnt let me put 2 of them lines in one script (it doesnt do the same effect as i want which side to side effect like rotate a bit in degree and go back to the other side like rotate in 45 side to side in a loop without do a perfect 360 circle). and when i rezz the mesh with the 2 scripts in world it works perfect but when i wear it it doesnt move at all it stays static i suspect is that 2 of the scripts are "against " each other. my question is how an you make it work side to side 45 degrees to the left snd 45 degrees to the right but stay in place without having 2 scripts but just one like "combaine" this.. please help im tryna animate a simple earring. heres the codes: script 1 default { state_entry() { llSetTimerEvent(1); } timer() { rotation rot = llGetLocalRot(); vector vrot = llRot2Euler(rot); vrot+=<-0.08,0,-0.01*DEG_TO_RAD>; rot = llEuler2Rot(vrot); llSetLocalRot(rot); } } script2: default { state_entry() { llSetTimerEvent(1); } timer() { rotation rot = llGetLocalRot(); vector vrot = llRot2Euler(rot); vrot+=<0.08,0,0.01*DEG_TO_RAD>; rot = llEuler2Rot(vrot); llSetLocalRot(rot); } }
  6. so i made the script i wanted and it works when the product is rezzed in world but when i wear the product with the script inside it doesnt move only if i walk it moves in delay too. and my question is how to make the product with the script inside to move even if my avatar just standing ? ( for example a simple cube i created) this the script: default { state_entry() { llSetTimerEvent(1); } timer() { rotation rot = llGetRot(); vector vrot = llRot2Euler(rot); vrot+=<0,0,10*DEG_TO_RAD>; rot = llEuler2Rot(vrot); llSetRot(rot); } }
  7. i want to make a script that stays in place but rotate a bit to the left and then bounce a bit to the right like 35 degrees in slow motion in loop, for an earring i want to animate, where do i start? im new to scripting
  8. For some reason, the values I'm getting from my notecard to set the size of the prim are not correct(possibly null due to 0.01m returning for both variables). I've filled the notecard as follows for testing: 9 9 9 9 9 Expected behavior: Change the X and Z values in "desiredSize" to the values on lines 1 and 3 of a notecard. Issue: The script does change the size of the prim, however it changes it to <0.01000, 0.75000, 0.01000> and I have no idea where it got the 1st and 3rd values. I should also mention, the 'String2Float' bit was just to try and get this working. I started off using the more direct method of just gotHeight = (float)data;<-- THIS IS Z and gotWidth = (float)data;<-- THIS IS X Here is my code: integer isOpen = 1; vector origScale = <8.00000, 0.06516, 4.50000>; vector origPos; string gotHeight; string gotWidth; vector desiredSize; key notecardQueryId1; key notecardQueryId2; string notecardName = "pconfig"; float String2Float(string ST) { list nums = ["0","1","2","3","4","5","6","7","8","9",".","-"]; float FinalNum = 0.0; integer idx = llSubStringIndex(ST,"."); if (idx == -1) { idx = llStringLength(ST); } integer Sgn = 1; integer j; for (j=0;j< llStringLength(ST);j++) { string Char = llGetSubString(ST,j,j); if (~llListFindList(nums,[Char])) { if((j==0) && (Char == "-")) { Sgn = -1; } else if (j < idx) { FinalNum = FinalNum + (float)Char * llPow(10.0,((idx-j)-1)); } else if (j > idx) { FinalNum = FinalNum + (float)Char * llPow(10.0,((idx-j))); } } } return FinalNum * Sgn; } default { state_entry() { notecardQueryId1 = llGetNotecardLine(notecardName, 1); notecardQueryId2 = llGetNotecardLine(notecardName, 3); desiredSize = <String2Float(gotWidth), 0.75, String2Float(gotHeight)>; if(1 == 2) { llSleep(1); llSetScale(desiredSize); llSay(0, "Projector Online 1!"); origScale = llGetScale(); origPos = llGetPos(); } else { llSetScale(<8, 0.065, 4.5>); llSay(0, "Projector Online 2!"); origScale = llGetScale(); origPos = llGetPos(); } } dataserver(key query_id, string data) { if (query_id == notecardQueryId1) { gotHeight = (string)data; } else if (query_id == notecardQueryId2) { gotWidth = (string)data; } else { llOwnerSay("ERROR! Unknown QUERY_ID. Contact the developer if you get this message!"); } } } Any help with this would be much appreciated!
  9. This will be quite the intimate topic. “Butt” I am really looking for some guidance since there are a lot of talented scriptures out there. So I am trying to make me and my wife our own “slapper”. I am looking for the script that would be in a slapper/rubber where If I drag my mouse on the butt, I will be able to move that it around (rub it). Can someone educate me on the anatomy of making this.
  10. (by the way: scanning the forums, I was not sure if this should go here or someone else... so I apologize if this is technically the wrong place and would like to know for future reference if so!) So this is a little thing I've been working on... I've got a bit of a background in traditional game engines, and using more complex tools for designing visual effects in those engines. One thing that I immediately noticed coming to SecondLife was that creating visual effects is a little more painful than I would like - I constantly have to keep the scripting wiki open, I have to wait for scripts to recompile, it's harder to rapidly preview different textures and materials, and in general iteration time is much slower than I think it ought to be. I know there's already existing in-world solutions for creating simple individual particle effects, but I felt that I could go further. It's very rare in games that the complex visual effects you see are made of just one or two simple emitters. They're layers of several emitters, sometimes all carefully timed with each other to provide just the right effect. I felt that the particle designer I would want to use should be made to make this in particular very easy to do. So I started working on a standalone particle designer. It attempts to replicate SecondLife's particle engine and provide a WYSIWYG editor for particle effects, with the goals in mind: Effects are grouped into project files which contain as many individual emitters as you desire. Editing particles is instant, you can tweak parameters while it's running with no wait times and no lag whatsoever. Individual effects can be assigned a pre-delay time to allow for control over particle sequences. Swap out as many textures as you want quickly and easily with no upload time. Enable/disable individual effects to make it easier to focus on specific effects when needed. Timescale control Gizmo previews of the emitter shapes (explode, angle cone, and angle) And here's what I've got so far: The idea is you can put together your effect in the designer, and then once you're done you export an LSL script and a notecard. The LSL script, the notecard, and all of the textures used are placed into the inventory of a special builder object in-world. That object will then construct the effect for you, setting up all of the scripts, textures, and link sets required for the effect. Things still left to do: Ensure that all currently supported behaviors match SL as closely as possible. For instance, currently the "Follow source" property ("move with emitter") has a few visual differences which need to be resolved esp. when combined with emitter rotation / omega. Add undo/redo support Add option to gather used textures into a folder for easier bulk upload Implement wind preview (figure out SL's wind algorithm?) Implement glow and add glow start/end Implement lighting for better preview of the "Full bright" option (add day/night preview slider?) Add support for ribbon trails Fix a few gizmo rendering bugs in angle cone when angle min/max >180 Fix general UI bugs Thoughts? Concerns? General feedback?
  11. Hello, I wanted to reach out and ask. What or where would be the best place to gain full knowledge and understanding of LSL. I want to be able to master it and I know it may take a long time to do so. Any suggestions, books, videos to look for?
  12. Hey there, I run a rather LARGE SL company. Don't look at this avatar too closely you won't figure it out. (it's not the texture company this avatar runs) I am looking to hire a scripter for my company. This scripter would be staff and would work based on a profit share. Must have intimate knowledge of LSL, and MYSQL servers. Looking for past experience with interworking parts and pieces. Would love some one who can manage animations on prims, and someone experienced with LSL and OSSL(HALYCON). My company is LARGE, we run on a 6 month profit share per property but we're always releasing new stuff so you'll consistently make an income. With consumable products that are purchased AGAIN and AGAIN. You will have to pass muster with my current scripter who is looking to retire. They will pick who comes after them, and they will give a seal of approval. Please make sure that when you reach out to me in world (VIA NOTECARD ONLY) that you are putting down what you've worked on IN THE PAST specifically. You may ask questions below I'll try to answer them but resumes should be sent in world via notecard. I know this is VERY vague, but I need to be to protect my identity in world and my intellectual property. Your resumes will tell my current scripter if you're a good fit or not. ❤️ Thanks guys can't wait to meet you, Tony
  13. The system I am using works by llPlaySound with a slave/master node setup. What I am noticing is that when I walk around/cam around, sounds/songs in these nodes desynchronize from one another, resulting in one node being "ahead" while another might be "behind". I read somewhere that this might have something to do with rendering, but a similar system by the name of SCM mewsic player uses a similar setup with sound repeaters and from what I can tell it doesnt desynchronize. I understand that there might be other causes such as lag that might contribute to the desynchronization, but I am working in a controlled area, so that's been accounted for. Are there workarounds to this? Would llTriggerSound eliminate this desynchronization issue, or at least make it much less likely to do so? Let me know what your thoughts are.
  14. So i was looking for a script that made a script blink like a car blinker. integer faceNo = -1; // face number or -1 for ALL SIDES float timerDelay = 0.85; // the time for glow/notglow float glowAmount = 0.2; // 0.2 means 20% /// integer isOn; default { state_entry() { llSetTimerEvent( timerDelay ); } timer() { isOn = !isOn; if( isOn ) llSetLinkPrimitiveParamsFast( LINK_THIS,[PRIM_GLOW,faceNo,glowAmount] ); else llSetLinkPrimitiveParamsFast( LINK_THIS,[PRIM_GLOW,faceNo,0.0] ); } } You are welcome
  15. I adapted HMAC to LSL so scripts & web servers can authenticate each other. The real write-up is http://cybertiggyr.com/fakemac.html but here's the LSL string Fake_MAC( string secret, string message ) { string o_pad; string i_pad; o_pad = llSHA1String( secret + "ooo" ); i_pad = llSHA1String( secret + "iii" ); return llSHA1String( o_pad + llSHA1String( i_pad + message ) ); }
  16. I want to make a tank that seats two avatars. llAvatarOnLinkSitTarget(1) will drive the tank while llAvatarOnLinkSitTarget(2) will control the turret. I have separate scripts handle the driving and turret. The driving script only calls llRequestPermissions() on the driver avatar while the turret script only calls llRequestPermissions() on the turret avatar. I also add if-statements above all controls to make sure the key of the avatar's control is coming from the appropriate avatar. I'm clearly still missing something because both scripts still respond to the controls of both avatars. Can someone help me? Both scripts are in the same prim. The driver script has these pieces to handle control: llRequestPermissions(llAvatarOnLinkSitTarget(1), PERMISSION_TAKE_CONTROLS); run_time_permissions(integer k) { if(k & PERMISSION_TAKE_CONTROLS) { llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_UP | CONTROL_DOWN, TRUE, FALSE); } } control(key n, integer l, integer e) { if(llAvatarOnLinkSitTarget(1) != NULL_KEY && n == llGetPermissionsKey()) { } } The turret script has these pieces: llRequestPermissions(llAvatarOnLinkSitTarget(2), PERMISSION_TAKE_CONTROLS); run_time_permissions(integer k) { if(k & PERMISSION_TAKE_CONTROLS) { llTakeControls(CONTROL_LEFT | CONTROL_RIGHT | CONTROL_ML_LBUTTON, TRUE, FALSE); } } control(key n, integer l, integer e) { if(llAvatarOnLinkSitTarget(2) != NULL_KEY && n == llGetPermissionsKey()) { } }
  17. This is a simple sliding door that is easy to configure. Remember, this isnt a sliding door you can link! // Movement Constants vector OFFSET = <-2.0, 0.0, 0.0>; // Directional offset for moving the door in x,y,z coordinates float OPENTIME = 3.5; // Time taken to open door float CLOSETIME = 3.5; // Time taken to close door // ******************************************************************** // Variables // ******************************************************************** vector vPosition; rotation rRot; float omega=0.0; vector vTargetPos; integer bOpen = FALSE; integer bMoving = FALSE; // ******************************************************************** // Functions // ******************************************************************** MoveDoor() { if(!bOpen) { // Initial conditions bOpen = TRUE; rRot = llGetRot(); vPosition = llGetPos(); // Target Position omega=OPENTIME/llVecDist(<0,0,0>,OFFSET); vTargetPos = vPosition+OFFSET*rRot; // Set the timer to cleanup position llSetTimerEvent(OPENTIME); }else { bOpen = FALSE; // Target Position omega=CLOSETIME/llVecDist(<0,0,0>,OFFSET); vTargetPos = vPosition; // Set the timer to cleanup position llSetTimerEvent(CLOSETIME); } // Set Door Physical and move it bMoving = TRUE; llSetStatus(STATUS_PHANTOM, TRUE); llSetStatus(STATUS_PHYSICS, TRUE); llMoveToTarget(vTargetPos,omega); } default { state_entry() { // Initial conditions rRot = llGetRot(); vPosition = llGetPos(); } touch_start(integer num_detected) { MoveDoor(); } timer() { // Clean up Position bMoving = FALSE; llSetTimerEvent(0.0); llSetStatus(STATUS_PHYSICS, FALSE); llSetStatus(STATUS_PHANTOM, FALSE); llSetPrimitiveParams([ PRIM_POSITION, vTargetPos, PRIM_ROTATION, rRot ]); } }
  18. Me and my wife are looking for some help with scripting. We are looking for a script that we can be drop inside a prim giving that prim the ability to be dealt damage once hit/touched. Example: An avatar holding a baseball bat that can give physical damage to a prim. Once prim is hit, the prim is disappears.
  19. I have a Doll Key with 11 scripts within it, and one of these scripts calls: queryLandmarkData = llRequestInventoryData(landmark); ...where landmark equals "Home" in the standard case. queryLandmarkData is verified to not be NULL_KEY, but the dataserver event never fires: dataserver(key queryID, string queryData) { if (queryID == queryLandmarkData) { rlvTeleport(queryData); llSetTimerEvent(0.0); queryLandmarkData = NULL_KEY; } } (The function rlvTeleport takes queryData, generates the appropriate global position setting, and generates an RLV call to teleport.) Through the use of multiple debug statements it can be determined that the dataserver event never fires for the llRequestInventoryData() call. It does however respond to other dataserver events that happen in other scripts, including processing notecard lines and getting region data and username data. Is it possible that dataserver events in this script get throttled? I can find zero reason for llRequestInventoryData to work and then for data server to fail. There's no documentation in the llRequestInventoryData wiki page or in the dataserver wiki page that explains such a scenario. I'm using Firestorm to compile, along with full usage of all of Firestorm's compile-time enhancements. I also have the code in a git repository. I searched for the possibility that dataserver events were getting throttled or stopped outright due to too many all at once - but I can't find that documented anywhere if it is the case. Help?
  20. This is a support-script/trigger-script for (free-of-charge) CasperTech Rez2 script by Casper Warden. Intended use is as a doormat prim (or mesh) to rez furniture inside a house for a minimum period-of-time (float REZ_TIME), which is automatically extended if the triggering Avatar remains on the Region/SIM. Said doormat prim (or mesh) must also contain the Rez2 script, which communicates by link messages. The benefit of this approach is that the Region/SIM is not burdened with the land impact (prims) or script load of all the furniture all the time. Few Avatars stay in their homes more than a few hours a week. The use case is that Avatar walks into front door of home, and furniture rezzes as Avatar walks over the (collision detect) doormat, which triggers the rezzing of furniture in the house. By default, the furniture stays rezzed for a minimum of four hours, but that may be changed via the float REZ_TIME variable/constant, after which the furniture de-rezzes only if the triggering Avatar has left the Region/SIM. If the triggering Avatar is still on the Region/SIM, the furniture's time-to-live will be extended by another interval of float REZ_TIME. The Avatar may also touch the doormat prim (or mesh) to initiate the rezzing operation. If the furniture is already rezzed, walking over (collision) or touching the doormat prim (or mesh) extends the rez time once again to its original value (float REZ_TIME). Appropriate but brief messages are sent to only the most-recent Avatar to interact with the doormat prim (or mesh). Any Avatar may trigger the doormat prim (or mesh). No security is provided to limit action to a group or single avatar. Should the SIM/Region or land owner make too extensive use of this technique, it is conceivable that rezzing might fail due to exceeding land capacity, which situation will correct itself after float REZ_TIME expires on sufficient numbers of doormat prims (or meshes). This is similar to the Airline and Hotel over-booking technique, which is a technique with a lot of merit, properly applied, because no-shows exist in the Airline and Hotel business and very light SIM/Region utilization is common in Second Life. It is best to make the SIM/Region's script power available for those Avatars on the SIM/Region, and derez all the script-intensive furniture of the Avatars that are not on-SIM/Region at the time. A griefer might trigger all the rezzers to load the SIM/Region with scripts and prims, but I think that griefers have easier ways to lag sims than run around triggering these rezzer doormats one by one. For details on the CasperTech Rez2 API, Google: Rez2 CasperTech Wiki Revision History 1.0.1 2018-03-23 Added a test for Avatar-on-SIM 1.0.0 2018-03-22 Initial Release Support Script for Rez2 Rezzer. Rezzes on Collision or Touch. float REZ_TIME = 14400.0; // 4 hours = 4.0 * 60.0 * 60.0 = 14400.0 seconds float REPEAT_TIME = 2.0; // Interval to repeat link messages in case they were dropped float TIMER_OFF = 0.0; // Turns timer off. key gkAgent = NULL_KEY; // Agent triggering script string gsRezTimeHoursMinutes = ""; // String of REZ_TIME converted to hours and minutes // Control Codes for sending link message to (free-of-charge) CasperTech Rez2 script by Casper Warden integer REZ = 10001; // Rez. Will send response code 11001 when done. integer DEREZ = 10002; // DeRez. Will send response code 11002 when done. integer SHOW_MENU = 10003; // Show menu dialog. Pass the avatar key as the uuid parameter. integer EVERYONE = 10004; // Allow rez and de-rez by EVERYONE integer GROUP = 10005; // Allow rez and de-rez by GROUP ONLY integer OWNER = 10006; // Allow rez and de-rez by OWNER ONLY integer OFF_TERRAFORMING = 10007; // Terraforming OFF integer TEST = 10013; // Test integer QUERY_REZ = 10014; // Is build currently rezzed? Responds with a RESPONSE CODE as defined below. // Response Codes -- recieved from CasperTech Rez2 script by Casper Warden integer CURRENTLY_REZZED = 11001; // Build is currently rezzed integer CURRENTLY_NOT_REZZED = 11002; // Build is currently not rezzed default // figure out whether Rez2 is in the Rezzed or Not-Rezzed state { state_entry() { llVolumeDetect(TRUE); llSetTimerEvent( REPEAT_TIME ); integer iHours = llRound((REZ_TIME/3600.0)); // Total Number of Hours integer iMinutes = llRound( (REZ_TIME-(3600.0 * (float)iHours))/60.0 ); // Number of Minutes left over after Hours subtracted gsRezTimeHoursMinutes = ( ((string)iHours) + (" Hours and ") + ((string)iMinutes) + (" Minutes. ") ); } on_rez (integer start_param) {llResetScript();} timer() { // Link messages can fail if too many exist. // Should a link message not be heard, this script // repeats the message a slow rate of float REPEAT_TIME llMessageLinked(LINK_THIS, QUERY_REZ, "REZ2-API", NULL_KEY); } link_message( integer source, integer num, string str, key id ) { if ( str == "REZ2-API") { // Change to appropriate state after recieving link message // that advises of current state if (num == CURRENTLY_REZZED) {state rezzed;} if (num == CURRENTLY_NOT_REZZED) {state derezzed;} } } } state rezzed // Stay in this state while Rezzed { state_entry() { llVolumeDetect(TRUE); llSetTimerEvent (REZ_TIME); } on_rez (integer start_param) {llResetScript();} timer() // Go to "state derezzed" when float REZ_TIME expires { if (llGetAgentSize(gkAgent)) // Test to see if key gkAgent is still on Region/SIM { // No action by design if key gkAgent is still on Region/SIM } else { state derezzed; // if key gkAgent is not on SIM/Region then derez } } collision_start( integer num_detected ) // extend rez time to full float REZ_TIME value if Avatar triggers { gkAgent = llDetectedKey(0); if (llGetAgentSize(gkAgent)) // tests to ensure gkAgent is an Avatar not a non-Avatar physical object { llSetTimerEvent(REZ_TIME); // set timer back to start llRegionSayTo (gkAgent, PUBLIC_CHANNEL, ("Furnishings will remain rezed for " + gsRezTimeHoursMinutes)); } } touch_start( integer num_detected ) // extend rez time to full float REZ_TIME value if Avatar triggers { gkAgent = llDetectedKey(0); llSetTimerEvent(REZ_TIME); // set timer back to start llRegionSayTo (gkAgent, PUBLIC_CHANNEL, ("Furnishings will remain rezed for " + gsRezTimeHoursMinutes)); } } state derezzed // this state manages rezzing and derezzing { state_entry() { llVolumeDetect(TRUE); llSetTimerEvent(REPEAT_TIME); } on_rez (integer start_param) {llResetScript();} timer() { // Link messages can fail if too many exist. // Should a link message not be heard, this script // repeats the message a slow rate of float REPEAT_TIME llMessageLinked(LINK_THIS, DEREZ, "REZ2-API", NULL_KEY); } link_message( integer source, integer num, string str, key id ) { if ( str == "REZ2-API") { if (num == CURRENTLY_NOT_REZZED) { llSetTimerEvent(TIMER_OFF); // if derezz is confirmed stop timer llRegionSayTo (gkAgent, PUBLIC_CHANNEL, "Furnishings are now fully de-rezzed."); } if (num == CURRENTLY_REZZED ) { llRegionSayTo (gkAgent, PUBLIC_CHANNEL, ("Furnishings are now fully rezzed and will remain so for " + gsRezTimeHoursMinutes)); state rezzed; } } } collision_start( integer num_detected ) // Trigger rezzing if Avatar triggers { gkAgent = llDetectedKey(0); if (llGetAgentSize(gkAgent)) // tests to ensure gkAgent is an Avatar not a non-Avatar physical object { // Link messages can fail if too many exist. // Should this link message not be heard, // the avatar will just have to trigger it again llMessageLinked(LINK_THIS, REZ, "REZ2-API", NULL_KEY); } } touch_start( integer num_detected ) // Trigger rezzing if Avatar triggers { gkAgent = llDetectedKey(0); // Link messages can fail if too many exist. // Should this link message not be heard, // the avatar will just have to trigger it again llMessageLinked(LINK_THIS, REZ, "REZ2-API", NULL_KEY); } }
  21. I have numerous scripts that used to turn on lights by 'sun in the sky location'. With the new EEP in place these don't seem to work anymore. Can someone suggest how to properly handle lights coming on based on sun position? Thanks!
  22. Has anyone heard any news on when, or even if, LL are going to add functions to control projector lighting ??
  23. Hello, If you are looking for someone to do: - Graphical design, - LSL scripting, - Web development, Please feel free to contact me inworld. Skills: ________________ Graphical design: Full branding design, logos, flyers, banners, event posters, hud designs Web development: - CMS websites - Lightweight, one page websites - Fully custom web applications - Back end system, for LSL - Online database LSL: 9 years of experience; Huds, Systems, Weapons, Magic, Effects, Simple scripts Stack: -Java, angular JS, JS, PHP, LSL, Spring boot, Spring, Oracle, Mysql
  24. Hello, If you are looking for someone to do: - Graphical design, - LSL scripting, - Web development, Please feel free to contact me inworld. Skills: ________________ Graphical design: Full branding design, logos, flyers, banners, event posters, hud designs Web development: - CMS websites - Lightweight, one page websites - Fully custom web applications - Back end system, for LSL - Online database LSL: 9 years of experience; Huds, Systems, Weapons, Magic, Effects, Simple scripts Stack: -Java, angular JS, JS, PHP, LSL, Spring boot, Spring, Oracle, Mysql
  25. Hi. I'm not a scripter. Just trying to edit and combine some codes from open sources. Basically what I'm trying to achieve is when the object is touched, a dialog will appear and when certain option / answer is clicked the Map Destination opens. I did not get any error message when I saved the script but the "llMapDestination" command is seemingly being ignored in the "if" clause. When I tried it with "llSay", it worked just fine. My scripting skills is very basic and limited to editing only so I definitely must be missing something. * This one worked * integer gListener; default { touch_start(integer total_number) { llListenRemove(gListener); key user = llDetectedKey(0); gListener = llListen(-99, "", user, ""); llDialog(user, "\nDo you want to use the World Map?", ["Yes", "No" ] , -99); llSetTimerEvent(60.0); } listen(integer chan, string name, key id, string msg) { if (msg == "Yes") { llSay(0, "It worked!"); } llSetTimerEvent(0.1); } timer() { llListenRemove(gListener); llSetTimerEvent(0.0); } } ----------------------------------------------------- * This one didn't work, no error but world map doesn't open * integer gListener; default { touch_start(integer total_number) { llListenRemove(gListener); key user = llDetectedKey(0); gListener = llListen(-99, "", user, ""); llDialog(user, "\nDo you want to use the World Map?", ["Yes", "No" ] , -99); llSetTimerEvent(60.0); } listen(integer chan, string name, key id, string msg) { if (msg == "Yes") { llMapDestination("Perlanera", <248.0, 146.0, 3694.0>, ZERO_VECTOR); } llSetTimerEvent(0.1); } timer() { llListenRemove(gListener); llSetTimerEvent(0.0); } }
×
×
  • Create New...