Jump to content

Scars Steerpike

Resident
  • Posts

    61
  • Joined

  • Last visited

Everything posted by Scars Steerpike

  1. I created a few HUDS and plan on making more. I made a HUD for dance animations. I'm working on a HUD that uses notecards for teleporting. I may create a HUD for gestures. I just want to know if there is a way to link these separate one prim HUDS together into one HUD that has different buttons, and if so how do I go about doing it? The reason I want to do this is because I just want one HUD attachment at the top left instead of attaching 6 different HUDS and then re-arranging them so they are all at the top left. I hope this made sense. I appreciate any helpful expertise. Thanks.
  2. WHEN I FIRST STARTED PLAYING SECOND LIFE I first started playing Second Life on July 10, 2010. After my 2nd or 3rd day playing, I found a dance club to hang out in; and some of the other dance club regulars suggested that I use the Phoenix Viewer. I scoffed at the idea. I thought that they were just being ignorant, because most people I encounter always think "newer or different is better". Second Life was created by Linden Labs, and their viewer is available for download on their Second Life website. I doubted that any 3rd party viewer would be nearly as good as one made by the creators of Second Life. A FEW MONTHS LATER I was getting sick of the lag, so I decided to explore other options. I tried Phoenix, but it looked overwhelmingly complicated. I ended up using Snowglobe for a while, and it was slightly (but barely) faster than Second Life's viewer. ANOTHER FEW MONTHS LATER I tried the Phoenix Viewer again because they stopped working on Snowglobe; and I tackled it with renewed interest and vigor. I learned all the features, and I was impressed. I really got used to it. But most importantly, the Phoenix Viewer was way, way, way, way faster than Second Life's viewer. I felt like extending my middle finger to Linden Labs. Why is a 3rd party viewer so much better than the SL one? YEARS LATER I kept using the Phoenix Viewer, month after month. Anytime an update would come out, I would update. I loved the viewer. You couldn't pay me to go back to using the SL V2 viewer. V3, MESH, and FIRESTORM When I heard that V3 and mesh was coming out and that V1 may expire, I became frantic with worry. I was mad at Linden Labs. But then they came out with the Linden Realms game, and my friend wanted me to play with her. I couldn't see the mesh portal, so I had to download Firestorm (I figured since Phoenix was sooo much better than SL's V2 that Firestorm would also be better than SL's V3). There were things about the Firestorm interface that I enjoyed, so after getting used to it, I decided that I would make Firestorm my main viewer. I couldn't use the mesh-enabled Phoenix Viewer at the time, because it hadn't been released yet. FIRESTORM vs PHOENIX I used Firestorm for the last four releases. So it's been around 4-7 months (or longer), but at least 4 months, that I've been using it. I really wanted to keep it as my main viewer, but it was noticeably slower than Phoenix. Even so, I figured that Phoenix was a dead project, and that I had to get used to Firestorm. So I promised myself that I would report any ideas and bugs to the Phoenix/Firestorm team, and help them make it a better experience for all. However, it being slower continued to bother me, until the latest 4.1.1 was soooo much slower, I mean way, way, way, way, way slower than Phoenix, that I decided that I had had enough. If I teleported somewhere new, it would take freaking hours for all the textures to load. I hated how I had to change group tags to make the gray textures load faster, but even that didn't help that much. To places that I've already been before, the textures still took forever to rez. Some linked textures on things like DJ tip boards just refused to load, no matter what I did - refresh texture, whatever. If I opened the World Map, it took eons for it to load. Finally, I said, I've had enough. I would go back to Phoenix and see how different it is. And it is way, way, way, way faster. So, I deleted Firestorm. I'm done with it. I won't ever go back to it unless I have no other choice and everything that I absolutely need is completely broken. Ideally, I wish for a Firestorm that is as fast as Phoenix with some of Phoenix's features and designs. But I don't have the patience to school the programmers on what I believe should be done. I think the real problem is Linden Labs though. They are the ones who forced V2 and V3 code on everyone. I don't care about all these fancy features. I would rather go back to basic gameplay but with a 20x faster viewer. I don't think any viewer has or will ever be able to compete with the latest Phoenix Viewer. V1 ftw.
  3. Yes, thank you. The "\n" and "(string)(10+5)" were errors in my example, but they are correct in my script. However, what's more important is that I noticed you didn't give the information to string s until the default state_entry. I don't know why that is, but it seems to be have positive results. Why is it that when i try to do it up top string s = yadda yadda; I get syntax errors but not if I go string s; and then wait till default state_entry to go s = yadda yadda;?
  4. right now i am using dialog with a message that looks something like this "adfas" + string (50+100) + "/n" + string (44-5) + "adfasf". and guess what? it works. but i want to take that "adfas" + string (50+100) + "/n" + string (44-5) + "adfasf" and store it as a global variable then recall that variable in the message part of my dialog. the reason i want to do this is because my dialog messages are around 10 lines long and i have a lot of dialogs with the same message. it would be nice if i didn't have to have 10 lines of information for each and every dialog. i went to a script group and i was told to do this: string names = "adfas" + string (50+100) + "/n" + string (44-5) + "adfasf"; and then call that up in the message part of the dialog it didnt' work. i got syntax errors i was told then to do this float names = "adfas" + string (50+100) + "/n" + string (44-5) + "adfasf"; that also gave me syntax errors all these ppl were running their mouths about how im missing a semicolon in my example blah blah try this blah blah... and that really pains me cuz they were wasting my time. all i want to know is how to do what i'm tryign to do. i dont want the know-it-all typo police to point out something that insignificant. i mean exercise some wisdom and realize the proper times to correct important typos and when to overlook them. sheeesh. and the suggestions that were given to me didn't work. so im asking on the forums, how can it be done? how do i store this entire next line: "adfas" + string (50+100) + "/n" + string (44-5) + "adfasf" to a global variable and then call up that information in the message part of my dialog? i don't think this question can be any more explicit than it already is. let's not take this into some stupid tangent.
  5. list ListofBeers = ["Budweiser", "Budlight"]; list ListofWines = ["Red Wine", "White Wine"]; list ListofSodas = ["Pepsi", "Mountain Dew"]; listen(integer channel, string name, key id, string message) { if (llListFindList(Main_Menu, [message]) != -1) { if (message == "Beers") { llDialog(id, "Beverages - Beers", ListofBeers, channel);} else if (message == "Wines") { llDialog(id, "Beverages - Wines", ListofWines, channel);} else if (message == "Sodas") { llDialog(id, "Beverages - Sodas", ListofSodas, channel);} else { llGiveInventory(user,message);} Okay, the above portion of code is just to give you a general idea of where I'm starting at before I explain what direction I want to take. By "general idea", I mean THIS FREAKING CODE IS NOT SCRIPT PERFECT AND IS MISSING BRACKETS AND OTHER THINGS, BUT SO FREAKING WHAT? GET OVER IT! And when I put that above code into use, it works just fine. What it would do is create a menu with three buttons labeled "Beers", "Wines", and "Sodas". Clicking on any of those buttons will make a submenu (or new menu screen) appear, with more buttons. Clicking on any of those new buttons that are labeled "Budweiser", "Budlight", "Red Wine", "White Wine", "Pepsi", and "Mountain Dew" will then cause an ACTION TO TAKE PLACE. And that action is that the user will receive that drink from the object's contents. As I said, IT WORKS AS IT SHOULD!!! But I want to take off into a different direction. I've eliminated the "else {llGiveInventory(user,message);}" from the script, because there are no items in the object's contents that I want to give. In fact, what my script does is it reads multiple notecards and stores strings of information into global lists. So as of now, clicking (example: "Budweiser", "Budlight", "Red Wine", "White Wine", "Pepsi" and "Mountain Dew") will do absolutely nothing. That's because I want to change the script. I want to prepare entire menus with "<", ">", custom messages, as well as the use of llOwnerSay or any other function for each of the items in whatever global list I am using, and make entire sub menus that do the same thing. That's going to be complicated, but I know I can get it done, once I start out simple and figure out how to have sub menus that are different from the bartender scripts. I've tried a number of things. Such as: listen(integer channel, string name, key id, string message) { if (llListFindList(Main_Menu, [message]) != -1) { if (message == "Beers") { llDialog(id, "Beverages - Beers", ListofBeers, channel); if (message == "Budweiser") // THIS WAS ATTEMPT #1 { llDialog(id, "Budweiser Options", Budweiser, channel);} else if (message == "Budlight") // THIS WAS ATTEMPT #1 { llDialog(id, "Budlight Options", Budlight, channel);}} else if (message == "Wines") { llDialog(id, "Beverages - Wines", ListofWines, channel);} And: listen(integer channel, string name, key id, string message) { if (llListFindList(Main_Menu, [message]) != -1) { if (message == "Beers") { llDialog(id, "Beverages - Beers", ListofBeers, channel);} else if (message == "Budweiser") // THIS WAS ATTEMPT #2 { llDialog(id, "Budweiser Options", Budweiser, channel);} else if (message == "Budlight") // THIS WAS ATTEMPT #2 { llDialog(id, "Budlight Options", Budlight, channel);} else if (message == "Wines") { llDialog(id, "Beverages - Wines", ListofWines, channel);} And: listen(integer channel, string name, key id, string message) { if (llListFindList(Main_Menu, [message]) != -1) { if (message == "Beers") { llDialog(id, "Beverages - Beers", ListofBeers, channel);} if (message == "Budweiser") // THIS WAS ATTEMPT #3 { llDialog(id, "Budweiser Options", Budweiser, channel);} if (message == "Budlight") // THIS WAS ATTEMPT #3 { llDialog(id, "Budlight Options", Budlight, channel);} if (message == "Wines") { llDialog(id, "Beverages - Wines", ListofWines, channel);} And: default { state_beers //THIS WAS ATTEMPT #4 { state_budweiser //THIS WAS ATTEMPT #4 { state_budlight { ///////////////////// sorry I don't feel like typing this all outBut basically my problem is that none of this is working. For using the states, it will not keep the menu open. So I have to click the HUD twice to get to the new menu screen. But it also stops working after it gets to the 2nd level of the menu. So, pretty much states isn't working for me. Nor did the otehr three things I tried. I did everything that Haruki Watanabe did in his script example on this site http://forums-archive.secondlife.com/54/45/266523/1.html Also, he seems a bit of a scripting genius but when I looked at his script example I couldn't help raising my eyebrows a few times cuz certain things seemed sorta .... incorrect? lol but I'm a noob, so maybe he is script perfect. But anyway nothing I am doing is working. Is there anyone who can give me a good script format (here on this thread instead of refering me to some wiki pages that I probably already visited) that utilizes only one script? So I can continue working? I hate it when I get stumped and stuck like this. I apologize if any of this wasn't clear. Everyone had to start somewhere. So try not to get an attitude okay? One day I might become a better scripter than you. EDIT: Oh, and I forgot I also tried doing what Adriana Caligari suggested in http://forums-archive.secondlife.com/54/04/109923/1.html but it also didn't work as desired.
  6. Thanks guys, I bookmarked both links and then I finally got around to looking at them. The Date Library Wiki link was exactly what I needed, but I was somewhat lost until Ashira Legien from Builder's Brewery group chat helped me. The problem was that I was rushed and didn't take the time to read the entire page throughly. I thought each portion of code was a complete snippet that was independent on its own, but it turns out that you need to put some of these portions together as they are parts of a whole. The page didn't explain where each portion of code goes; but thanks to my recent scripting escapades and Ashira's help, it came together a lot faster than it would have if I had attempted this a month ago. At first glance, it would seem that the Unix2StampLst page really isn't what I was looking for, but I could be wrong. I'm sure there is some valuable information in there that could be related to what I was trying to do, or at the very least, be helpful in a future project. I want to thank you both for your fast replies and help, so I'm giving you both Kudos; although I really wish that I could give Rolig Loon twice the Kudos for directing me to the perfect link. And PeterCanessa Oh, if you didn't read my post in the other thread, I'm sorry for misinterpreting your words and jumping to the wrong conclusions. Thank you for clarifying your intent and making me feel silly. I'm sorry. Peace.
  7. I'm looking for a way to type a date inside a script (example: 2011-05-10) and then have the scripted object show me the number of days since that date in the hover text (example: 365 days). I don't need seconds, minutes, hours, or years. Just the number of days since an event. Can anyone help me or give me a clue?
  8. Sorry that I got the wrong idea. See you around in the Scripting Forums!
  9. Wow! It works like a charm now!!! I'm glad I complained on here. ;-) Em, PeterCanessa Oh. I know that "stopped working" wasn't a completely accurate way of describing the events that occured after I tried adding llResetScript in the wrong places in the script; but the fact is that when I touched the Object afterwards, the menu wouldn't appear so I thought I could get by with that wording without someone making a big deal about it. I was aware at the time that I was writing my post, that it could be worded better; but the correct wording escaped me. When I have writer's block, I can sit there however many minutes until I figure out a better way of explaining myself, which I often do because I want to be explicit; but in this case I felt that it wasn't very necessary. You have been very helpful to me in the past, and I hope that you will continue to offer your help in the future; but I gotta say that I'm a bit disappointed that you even made an issue about that. I know you probably feel pretty good about yourself for having so much expertise and for always assisting others, but you have to consider other people's feelings when communicating with them. In this case it felt like you were talking down to me, and you came off as being sorta an egotistical, demeaning, a-hole. Darkie Minotaur, thank you for understanding. I realized the reasons why the script behaved as it did when I added the llResetScript function, but I wanted to experiment on my own using what little I knew and whatever info jumped out at me on the web. Based on what little scripting I have seen, I thought my best course of action was to do something with llResetScript, and once I came to that conclusion the only thing left to do was to insert it at different locations to see what would happen. I thought it would be better to make an effort first before coming to you guys for help, instead of expecting you guys (and gals) to do all the work for me. And also, I gain a little experience and knowledge each time I do a little "fiddling" and "testing" on my own. I do this so I'll have a clear conscience.
  10. This script is wonderful except that I have to reset the script every time I change the Object Description. I wanted to be able to reset the script without re-rezzing the Object; so I tried adding llResetScript() to the touch_start event. If llResetScript() is added after the llLoadURL(llDetectedKey(0), "Your message goes here.", gsURL) line; it does reset the script, but only after the second time the Object is touched. The first time I touch the Object after changing the Object Description, it will still show the old URL in the menu. Then I have to wait 10 seconds, because of the caveat; and once I touch the Object the second time, I will see the new URL in the menu. If I add the llResetScript(); before the llLoadURL(llDetectedKey(0), "Your message goes here.", gsURL) line, the script will stop working. I also tried experimenting by adding llResetScript() to the state_entry event, for the hell of it; and it also causes the script to stop working. So I have concluded that the only three ways to get the new Object Description URL to register is 1.) reset the script in the Content tab manually, 2.) add llResetScript() as the last line in the touch_start event, and touch the Object when done so that the URL will change on the second Object touch, and 3.) add llResetScript() to an on_rez event and re-rez the Object when done. I fee that Option #2 takes too long, and I don't want to re-rez the Object each time I changed the Object Description; so I'm just going to use the standard llLoadURL script on the Wiki page and edit the script contents whenever I want to change the URL. :-/
  11. Oh, I do have one more question though. I haven't used PRIM_MEDIA_CONTROLS yet, but I understand that it lets me choose between a standard web navigation control and a mini web navigation control. Is there a way to get rid of the web navigation control completely via scripting? If so, let me know how please.
  12. Ron, that's not a bad idea. It's unnecessary, but it would make the TV more pimp. But whether I use it or not, doesn't really matter; cuz I really need the llDetectedTouchUV function for some of my other projects. So thank YOU for mentioning that. I had no idea what the name of that function was. Thanks man! Love you both!
  13. I freaking LOVE you Darkie Minotaur!!!!!!! So much!!! Using llSetLinkMedia fixed everything! So now my TV is only 1 prim and the script inside it is so short and simple. But it works wonderfuly! Yessssssssss!!! Thank you!
  14. I hope I won't have to do this, but maybe I need to do a (2) prim w/ prim to prim communication thing? Like clicking on one prim will give me the menu to select what website I want and then it will send the URL information to the second prim which will let me interact with it? Hell if I know. I don't want to give up though.
  15. Ideally, I would like to do this with 1 prim. Like maybe a tapered flat prim so it has a frame border, but if I have to use 1-5 prims that is okay too. I also want a simple menu with like three buttons and no submenus. The three buttons would direct me to three different websites. example: button 1 = http://youtube.com, button 2 = http://google.com, and button 3 = http://yahoo.com I tried making something like this but the problem is that I can't interact with any of the websites, because once I click on the webpage, it makes the menu pop open again. I have been googling and reading like crazy for the last two days, but I'm not having any luck. Some help would be greatly appreciated. Thanks. PS - I want to do this without using chat commands like "/2 http://youtube.com". I tried linking two prims, each with the proper media texture. One prim had the media changer script and the other one didn't. I was hoping I could use one prim as the menu selecter and the other prim to interact with the website but it didn't work. I tried making each prim the root prim, but same results. I'm really stumped. There has to be a way to do this.
  16. Oh, you meant a real estate agent in RL, not SL. No, I'm not a people person in RL. =p
  17. Thank you for your response. :-) No, I am not a real estate agent. I can't afford to buy and sell land myself, but I wouldn't mind working for someone else if I'm equipped for that particular job. I can tell you that I have had a lot of bad experiences with real estate companies, which makes me really sad. Well, a lot of people make me sad. I wish there was something that I could do to get those people to stop acting or behaving the way they do, but I can't. That's why it's better to be self reliant. After multiple bad encounters with real estate companies that have crappy attitudes and shady practices, I've decided it's better to own Mainland than to rent from most other people. I'm a bit worried though. I do own a 2048 sqm parcel that one of my friends is renting from me, but she has been M.I.A for three weeks now. I paid a good sum of money for that land, and I didn't want to lease it out to just anyone. I would hate to abandon it or wait however long for a new tenant. I'm also very worried about her. I'll just wait it out. I'll give her an extra 30 days, and hopefully she will log in during that time. Sorry for rambling. That land she has is even better than this one, I think. I just don't want to advertise it until I'm sure that she isn't coming back anytime soon. Anyway, Happy New Years! Cheers.
  18. I will really miss this land a lot, but I need to transfer 512m² of land holdings over to my business that is on another sim. I am open to any price negotiations. Just send an IM. And Happy New Years! This is the 512m² parcel that is for sale.
  19. OMG I just found out it works as a HUD too! So now I can tp anywhere and still be "buzzed". So awesome!!!!
  20. Ty for the response. I don't know how I did it, but I figured it out on my own like 1-5 min ago. I didn't use the llplaysound. I used the lltriggersound. I'm not sure which is better. It seems to work wonderfully. I'm truly anxious to get a better sound and use this more often. Yesssssssss!!!!! So happy! By AFK, I mean I might be in the kitchen cooking, but I can hear the sound, especially if it is a loud one. This is my first time making a scripted object. I've been playing SL for a year, but I'm pretty much still a noob.
  21. My goal is to create a device that would allow my friend to "buzz" me when I'm AFK, so I'll come running back to the computer and see what she is saying in IM. I would most likely be at my home parcel, and she would be in a sandbox on a different continent. So, I began searching the internet to see if there was a way for her to click a prim at the sandbox where she builds and have that prim communicate with a prim at my home parcel. I was hoping that this communication would trigger a gesture that I have activated and create a loud sound to alert me in RL that someone is trying to talk to me in SL. I then found some information about llEmail where there is something called "prim2prim email". I don't know if this is what I'm looking for, but the frustrating thing is that I've been given a lot of code, seperated in five different sections, and it's left me clueless on where these sections of code go. I tried putting the first four sections into a new script and saved it, but I received an error syntax message. I don't even know if the "central server" is a third prim, or one of the two prims that are communicating with each other. I am so freaking confused. The people who understand the script and know how to utilize it are geniuses in their own right, but when it comes to writing instructions they are complete idiots. The information I got was from this website: http://wiki.secondlife.com/wiki/LlEmail At the top of the webpage, there was some code that I did not copy & paste in my script, because I don't think it applies to the prim2prim emails. string email_address = "somebody@example.com"; // who will receive the messages default { state_entry() { //Send an email to a normal email account llEmail( email_address, "Look it's an email subject line!", "Testing 1 2 3" ); } touch_start( integer num_detected ) { integer i = 0; // Send another email, telling who touched the prim. do llEmail( email_address, "No touching!", "I was defiled by: " + llDetectedName(i) + "\nKey: " + (string) llDetectedKey(i) ); while(++i < num_detected); } } and I don't think this applies either. email( string time, string address, string subj, string message, integer num_left ) { if(llGetSubString(address, -19, -1) == "@lsl.secondlife.com")//trim the header message = llDeleteSubString(message, 0, llSubStringIndex(message, "\n\n") + 1); } but after that there is a part of the webpage that applies specifically to prim2prim emails and there is code divided in five sections. Section #1 integer divide = llSubStringIndex(message, "\n\n"); string header = llDeleteSubString(message, divide, -1); message = llDeleteSubString(message, 0, divide + 1); Section #2 list lines = llParseStringKeepNulls(header, ["\n"], []); string objname_line = llList2String(lines, 0); string region_line = llList2String(lines, 1); string localpos_line = llList2String(lines, 2); Section #3 string region_name = llStringTrim( (string)llDeleteSubList( llParseStringKeepNulls( llDeleteSubString(region_line, 0, 12), [], ["("] ), -2, -1), STRING_TRIM); Section #4 string version = "1"; // string type = "lolcube"; default { on_rez(integer start_param) { llEmail("5a634b27-f032-283f-2df2-55ead7724b23@lsl.secondlife.com", version, (string)llGetOwner() + "," + type); } } Section #5 default { state_entry() { llSetTimerEvent(15.0); } timer() { llGetNextEmail("", ""); } email( string time, string address, string version, string message, integer num_left ) { if ((integer)version < 2) { list info = llCSV2List( llDeleteSubString(message, 0, llSubStringIndex(message, "\n\n") + 1)); llGiveInventory(llList2Key(info,0), llList2String(info,1)); } if(num_left) llGetNextEmail("",""); } } I am asking for help here from someone with scripting knowledge, an amiable personality, and adequant writing skills to please explain in detail, how many prims I need, who the owners of those prims need to be, and to please copy and paste the entire script for each of those prims, so I won't be lost anymore. Also, please make sure to bring to my attention the specific parts of the script where I need to enter information. Thanks in advance.
×
×
  • Create New...