Jump to content

Fluffy Sharkfin

  • Content Count

  • Joined

  • Last visited

Everything posted by Fluffy Sharkfin

  1. The hysterical knee-jerk reaction to anyone using the word "game" to describe Second Life can be quite comical, but for the sake of serious discussion it's easier to simply sidestep the crazy-making trigger-word and refer to SL as a "Real Time Rendering Engine".
  2. Your problem is that the llListenRemove(listenhandle); command in the second if statement removes the listener you set up with listenhandle = llListen(-num, "", owner, ""); in the first if statement before the user has a chance to enter any text in the box and click the submit button. Rather than have 2 instances of if (id == owner) (both of which will be true when the listen event is triggered by either the titler command or the text box submit button) you could put the code from the second if statement inside the first using else so that it's executed when if(llToLower(llGetSubString(mes,0,llStringLength("titler ") - 1 )) == "titler ") is false, like so... listen(integer chan, string name, key id, string mes) { llOwnerSay("Debug: Channel - " + (string)chan + ", id - " + llKey2Name(id) + ", message - " + mes + "."); if (id == owner) { if (llToLower(llGetSubString(mes,0,llStringLength("titler ") - 1 )) == "titler ") { integer num = (integer)llGetSubString(mes, llStringLength( "titler " ), -1); llOwnerSay((string)num); if ((num >=1) && (num <= 4)) { llListenRemove(listenhandle); listenhandle = llListen(-num, "", owner, ""); llTextBox(owner, "Set line " + (string)num + " for titler.", -num); } else { llOwnerSay("Error: No Such Line"); } } else { llOwnerSay("Debug: Channel recieved " + (string)chan); if (chan == -1) { line1 = mes; } else if (chan == -2) { line2 = mes; } else if (chan == -3) { line3 = mes; } else if (chan == -4) { line4 = mes; } llListenRemove(listenhandle); titlerreset(); } } } Note: You also had a potential problem with the existing listener being removed and no new listener being created if the user entered a command with an invalid titler line number (eg "titler 5") plus the 4 if (num) statements each containing the same llTextBox(owner, "Set line " + (string)num + " for titler.", -num); command seemed a little redundant, so I replaced them with a single if ((num >=1) && (num <= 4)) then moved the llListenRemove and llListen commands into that and added an else statement to let the user know when an invalid line number has been specified (of course you're still going to have a problem if someone tries to set the text for a line using "titler" as the first word). I also added some brackets to your other if statements, cos you can never have too many brackets?!
  3. Rather than using an external server you could look into Object to object HTTP Communication although, as it mentions on that page but since you asked if you'd missed anything I figured I'd mention it!
  4. Here's a very basic example of the first method Estelle mentioned which uses states. default { state_entry() { } touch_end(integer total_number) { state disabled; } } state disabled { state_entry() { llSetTimerEvent(3.0); } timer() { llSetTimerEvent(0); state default; } }
  5. @LuckyJunior Serrari Since the integer passed to the changed and run_time_permissions events is a bitfield representing all the changes/permissions at the time the event was triggered you should always use & (bitwise AND) rather than == when trying to determine what changes have occurred/permissions have been granted.
  6. I disagree. Attempting to preempt the back-stabbing of others by resorting to the same tactics runs the risk of making you look like a hypocrite and/or the instigator of all the drama.
  7. Just ignore her. Anyone who bases their opinion of you on the gossip of strangers rather than taking the time to get to know you and making up their own mind is a sheep and not worth socializing with in the first place.
  8. There is no Top Face or Bottom Face in the build interface in regards to texturing, the idea is to enable the "select face" option in the build window then click on the sides of an object to select individual faces. Based on the instructions you've posted I'd guess that "Top Face" and "Bottom Face" in this case is referring to the faces of the top and bottom prims on which you're placing the textures. From what you've posted I'd imagine the setup you currently have is two prims, one in front of the other... the one at the back will have the dark mossy green color and the prim at the front will most likely be using a semi-transparent water texture on with a texture animation script to provide the waterfall flowing effect? In which case "Bottom Face" refers to the prim underneath and "Top Face" refers to the prim above it. If that's not the case then perhaps you may need to post some more information and/or a screenshot?
  9. Most likely by removing all but a single triangle/face from each of the cubes then using the Solid setting when analyzing the mesh to generate the physics model, since that ignores any part of the mesh which isn't "solid" (i.e. isolated triangles).
  10. That's actually not that complicated, you could easily adapt the example script for llVolumeDetect by replacing the llSay command with a call to the function creating your particle(s), like so. make_particle() { // stuff to make particle(s) goes here! } default { state_entry() { llVolumeDetect(TRUE); // Starts llVolumeDetect } collision_start(integer total_number) { make_particle(); } } (Enabling VolumeDetect on an object will make it phantom, so make sure there's something underneath for people to stand on!)
  11. I think there's a distinction to be made between 'originality' and "original art". I don't think it's about people admiring the craftsmanship and originality of the items, but more like consumers going to several events a month (or searching for items on marketplace) and seeing the same 4 or 5 templates turning up time and time again with various combinations of textures on, which in turn can lead to seeing your friends and other random people you meet wearing the same outfit as you just in a myriad of different colors/patterns. I guess it could be be jarring to the immersive nature of a virtual world for some, since it undermines their own sense of originality and uniqueness when it comes to their avatars and therefore their online persona? Perhaps it's less about the originality of the content and more about peoples own need to feel that they themselves are as unique in their second lives as they are in real life. Absolutely, whether consciously trying to emulate an artist they admire or being subconsciously influenced by art that they've seen I think every artist is to some extent influenced by their peers. That being said I've always had a preference for artists that rely more heavily on real life and their own imaginations for inspiration.
  12. Okay, guess I'll re-edit my original post and remove the retraction about llGiveInventory and UUIDs working then.
  13. So llGiveInventory does work with UUIDs? Interesting, there doesn't seem to be any mention of that on the wiki, thanks for the info Rolig.
  14. As Innula pointed out you can't give multiple items at once using llGiveInventory and should use llGiveInventoryList instead. However that doesn't seem to be the only issue you have with your script. For a start llGiveInventory doesn't work with UUIDs so unless "718d00be-2696-9124-48e3-9f1841059316" is the name of the notecard in the objects inventory (llGiveInventory will only work if the asset you're giving is in the contents of the object giving it) then the script will still fail. Similarly since the first entry in your notecards list is an empty string the command will fail when attempting to give the first item in the list. To be honest the script that you have at the moment is a little confusing since you seem to be changing the value of index for no apparent reason (for example in your state_entry event you set it to 0 then immediately after you change it to a value of 1). If I were you I'd probably simplify the whole process by including both the textures and the notecards in the objects inventory and giving each texture and accompanying notecard similar names such as "Starlight Construction" for the texture and "Starlight Construction Infocard" for the notecard, then you simply need to cycle through the textures and when the user touches the object you can give them the correct notecard by appending " Infocard" to the name of the currently displayed texture. so your object inventory would look like this... and your script would be... list slides = ["Akai Hane", "Starlight Construction"]; integer index; string texture; newSlide() { texture = llList2String(slides,index); llSetTexture(texture,1); index++; if(index>=llGetListLength(slides) ) index = 0; } default { state_entry() { llSetTimerEvent(7); index = 0; newSlide(); } touch_start(integer num) { key id = llDetectedKey(0); string notecard = texture+" Infocard"; if (llGetInventoryType(notecard) != -1) //Check to see if notecard exists in object inventory { llGiveInventory(id, notecard); } } timer() { newSlide(); } }
  15. Link both objects together and then drop this script in. integer alpha = 1; default { state_entry() { llSetLinkAlpha(1,alpha,ALL_SIDES); llSetLinkAlpha(2,!alpha,ALL_SIDES); } touch_start(integer total_number) { alpha = !alpha; llSetLinkAlpha(1,alpha,ALL_SIDES); llSetLinkAlpha(2,!alpha,ALL_SIDES); } }
  16. @Derekmate Sure, that's an equally viable business model for someone making full perm mesh items, but I can definitely see the advantages of minimizing your involvement with the product after the creative work is complete, plus I think there's a reasonably high demand for "original" mesh content as opposed to products created from full perms kits. I could go into specifics about the pros and cons of each approach but that's probably a conversation better suited to the General Discussion forum.
  17. They recently announced some big new breakthrough in "metalenses" which sounds like it could have a significant effect on VR equipment in the future, primarily by cutting down on the cumbersome nature of VR/AR headsets. Source Not only that but apparently they also have the potential to cut down on some of the computational requirements of VR devices. Source I think VR is still very much in it's infancy, and personally I'm betting more on the new AR devices, but either way I think technological advances such as this are going to make a lot of difference to the viability of VR/AR as a commercial product.
  18. I can't speak for Sean but when you think about it it's a lot simpler to take a contract, do the work and then get paid than it is having to deal with all the advertising, customer support, events, social networking, store groups, content theft, DMCAs, and the multitude of other things that go into running a successful SL business.
  19. Sorry I just assumed that you were referring to the pixelation on the edges outside the UV islands as well since you mentioned in your first post that "I have the same choppy diagonals both on outer and inner edges". Not to mention that the more scattered and broken up your UV map is the more UVs/vertices the model will have which can sometimes result in higher download weights in the LI calculation. Since the amount of cleanup that will be needed is going to vary on a texture by texture basis it seems likely that your ideal solution will also vary accordingly. On textures that have a lot of problem areas it may be quicker to use a combination of adding some anti-aliasing during the baking process (assuming you can find settings that work for you), baking at a higher resolution and then resampling/scaling down the image, whereas for textures with fewer pixelated areas fixing them manually in photoshop will probably be the quicker solution. In the end it boils down to effective time management, i.e. how many problem areas there are on the texture in question and how long baking at a higher resolution with anti-aliasing takes vs how fast you are at bitmap editing.
  20. Lol, If you check the last link I posted (Improving AA in Cycles / Removing jaggies) you'll find that image is from the top rated answer.
  21. I don't use Blender myself but it sounds like you need to tweak your texture filtering, interpolation and/or anti-aliasing options in your render settings? Blender Image Options Blender Anti-aliasing Options Apparently if you're using Cycles then you shouldn't need anti-aliasing but you could perhaps try increasing the pixel filter width as mentioned here. There's also some info that you may find useful on this page Improving AA in Cycles / Removing jaggies. Technically the outer edges being pixelated shouldn't matter since they fall outside the UV edges and will never be seen, although you may want to leave a little more room between each UV island as it looks as though the padding is almost bleeding into the neighbouring island in that first screenshot.
  22. I don't really take a lot of pics myself but I hear the Black Dragon viewer is quite popular with SL photographers, it has a lot of nice ease of use features for tweaking your viewers environmental/visual effects. Whether you choose to do any post-processing work on your photos is entirely up to you but if you're looking for free alternatives to Photoshop you may want to try Gimp or Krita
  23. @angelbaby143 As mentioned in previous posts the developer kit for the Lara body is available at the main store. You can find the templates for the alpha zones in the Maitreya Mesh Body AutoHide kit.
  24. That's most likely because Sansar is still in "Creator Beta" and LL are trying to encourage creators to sign up and create content so that when they open the Tourists/Roleplayers/Fashionistas Beta there won't be hundreds of angry SL residents signing up and complaining that there aren't 100,000 prefab houses/hair styles/pairs of shoes available on the marketplace?
  25. That doesn't work anymore unfortunately, according to the Aditi wiki page.
  • Create New...