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


Member Title

  1. 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
  2. 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!
  3. 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.
  4. (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?
  5. 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?
  6. 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
  7. 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.
  8. 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
  9. 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 ) ); }
  10. 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()) { } }
  11. 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 ]); } }
  12. 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.
  13. 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?
  14. 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); } }
  15. 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!
  16. Has anyone heard any news on when, or even if, LL are going to add functions to control projector lighting ??
  17. 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
  18. 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
  19. 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); } }
  20. We are looking for an experience scripted to help with a cash paying customer's project. The work would include: · Adapt existing experience key-based “sit” scripts that control avatar cameras. These scripts utilize both llSetCameraParams as well as LlSetCameraAtOffset and LlSetCameraEyeOffset · Create slide show scripts that communicate with our out-world event management system. · Create media on a prim scripts that communicate with our out-world event management system. · Create scripts to gather region, parcel and user information that is passed to our out-world data logging system · Scripting of an experience key based HUD that is used to display options to the User and teleport them to desired locations. o The HUD will need to communicate with our out-world event management system o Experience with HTML and PHP are a plus If you have related experience and are interested please contact me via IM or email me at jeff@cndg.info
  21. Below is a basic walker script that's been shared around. Whenever I teleport to a person or location, it starts playing. I want make sure that it can't play until (let's say) 5 seconds after every teleport. It's because I already have a teleport sound player, so I don't want them both playing at the same time. I've tried adding llSleep(), but that just causes it to play 5 seconds later, even though I'm not even walking by then. I just want it to act as if I didn't walk at all no matter what my avatar does during the 5 seconds after every teleport. string Snd = "Sleepwalk"; integer For = AGENT_WALKING; default { state_entry() { llPreloadSound(Snd); state entry; } } state entry { state_entry() { llStopSound(); @D; if (llGetAgentInfo(llGetOwner()) & For) { llSleep(2.0); state walking; } jump D; } } state walking { state_entry() { llLoopSound(Snd,.0); float alpha = 0.0; @DD; llAdjustSoundVolume(alpha); alpha +=.1; if(alpha >= 1.0){jump D;} jump DD; @D; if (!(llGetAgentInfo(llGetOwner()) & For)) { float alpha = 1.0; @DXD; llAdjustSoundVolume(alpha); alpha -=.1; if(alpha < 0.0){jump DX;} jump DXD; @DX; state entry; } jump D; } }
  22. Here's an example of an avatar bumper sound script. Is there a way for it to only detect horizontal collisions such that if you tp on someone's head, it doesn't play. This is for people with tp sounds because one sound will interrupt the other. float volume = 1.0; //Volume 0.0 - 1.0; default { collision_start(integer num) { if(llDetectedType(0) & AGENT) { llStartAnimation("lulz"); llPlaySound(llGetInventoryName(INVENTORY_SOUND,llFloor(llFrand(llGetInventoryNumber(INVENTORY_SOUND)))),1.0); llSetTimerEvent(1.0); } } timer() { llStopAnimation("lulz"); } attach(key uid) { if(llGetAttached()) llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION); } }
  23. I'm trying to get a boolean value for whether or not I am seated on an object not counting the ground.
  24. // Play a sound whenever the owner is walking integer gWasWalking; // TRUE when wearer is already walking string gSound = "Sleepwalk"; // name of soundfile in inventory default { state_entry() { // Start a timer to continuously check if the owner is walking llSetTimerEvent(0.25); } timer() { integer NowWalking = llGetAgentInfo(llGetOwner()) & AGENT_WALKING; if (NowWalking != gWasWalking) // walking has stopped or started { llStopSound(); if (NowWalking) llLoopSound(gSound, 1.0); } gWasWalking = NowWalking; } }
  25. I'm looking to unseat everyone who sits on a particular object except for the first person to sit on it.
×
×
  • Create New...