Jump to content

tomm55

Resident
  • Posts

    100
  • Joined

Everything posted by tomm55

  1. Yes, that is a good trick, it will allow you to have just a texture for bricks without the need to bake the soft shadow to it. I think it's a matter of preference, with the bottom shadow it looks more dramatic I would say, but I like it both 🙂
  2. I understand it now 🙂 Thanks.
  3. Btw, can I ask you, how do you make the ambient occlusion so emphasized? (sorry if emphasized is not the right word, English is not my 1st language) I mean, I made a model in Blender and when I baked the AO, it was only very subtle. Do you use Blender too and if yes, is there a way to set it to be more visible? And sorry for off-topic 🙂
  4. Well, I am not that experienced in making 3D objects in SL (yet ), but I agree that the houses look good and considering they use just 1.5 megapixels for whole, than that's probably very good. That is what I am talking about. I mean, if you had a brick texture tiled by both axes, then you could have used a small texture containing just few bricks. But by baking soft shadows you basically have to use a bigger texture for the whole wall. Or I don't get it how you mean that it is tiled horizontally. To me it looks like whole side of the house (consisting of bricks) is one texture (from top to bottom) or a part of one texture. Where is the horizontal tiling? Or is it mirrored? Yes. I don't have a good GPU so I can't really say, but in my case even on Ultra there is not everything that I would expect to see (e.g. shadows inside hollow objects).
  5. Those sketchfab models look nice in my opinion, but when you zoom in a little bit, then you start to see those unpleasing pixel patterns. Of course it depends on your requirements. If you have for example a lot of buildings only for decoration, then you probably don't need all of them to be highly detailed. But if that should be for example my home in SL, then I would expect it to be of higher detail. Also the disadvantage in SL is that if you want to bake some (e.g. soft) shadows or ambient occlusion to your textures, then you can't fully use the advantages of tiled/seamless textures. Because by baking those shadows or occlusion you are basically making those textures non-tiled/non-repeating. And since we are limited to 1024x1024 pixels, the baking process can actually degrade the details. I hope I did not say a complete nonsense now 🙂 Or is there a way of not losing detail while baking AO? Edit: Wait, why do we even bake AO? I mean, is it just because of users that don't have graphics on ultra? Because there should be some ambient occlusion in the SL viewer, right. So is it to make it look good also on low graphics? Or to pronounce the AO effect? Or because we can't have soft shadows? Too many questions I guess
  6. Also note that the DATA_ONLINE parameter can have a delay of up to 10 minutes according to this if the avatar goes offline (probably because the data is cached server side). Edit: But not sure if this is still valid (the bug report is quite old).
  7. I am not an expert on textures, but I will try to explain. There are basically two ways in SL: 1) You either create your object in SL using prims (cube, sphere, etc.) and you set textures to faces of those prims. 2) Or, you create your object outside of SL in a 3D modelling software, for example in Blender, Maya, etc. and that's called mesh. The mesh object can again have multiple faces and you can texture each face individually (either in the 3D software, or in SL). Additionally you can use the advantages of UV mapping in this case. I am not 100% sure what method you are using (difficult to say from a picture), but if you made your house of individual linked prims, then that's the case number 1) and some people might call it the "old school way" 🙂 In my opinion there is nothing like a mesh texture or prim texture. Texture is a texture. You can however have an UV mapped texture that is made for a specific mesh object and UV map, for example. I hope I am not completely wrong.
  8. I am not a doctor, but if I was you, I would talk to some therapist and I would describe it exactly the way you described it here in your post.
  9. Yes, I have checked it too right now, and it's basically like a one big security hole. But as long as nobody guesses the secret password that's needed to communicate with the PHP part, then the OP should be probably safe Edit: well, actually you will be safe only if you don't put user input from SL users to the DB.
  10. Could you be little bit more specific? For example, what arguments are you talking about? Do you mean the URL query arguments, like "http://server/myscript.php?these=are&some=query&arguments" ? Or do you talk about function arguments inside the PHP script? Maybe would be best if you gave an example. But anyway, normally a PHP script should not redirect you to a 404 page if it's not made to do so. I don't know if you know how to work with PHP or not, but try adding the following code into your PHP script, for example right after the place where it connects to DB: die("Hey, the script has successfuly run until this point"); Then try to access your script from web browser to see what is the output. If it still redirects you to 404, then try to put that "die" before the connecting part. Or if you don't understand PHP at all, then simply put it at the beginning of the PHP file, right after <? or right after <?php (e.g. on a new line). That should give you a better idea if the redirection is being made from the PHP script or whether it is made by the web server. Edit: I have found the SLDB thing and now I understand more. You are probably talking about URL query arguments. Anyway, I would still suggest to do what I wrote above and also give us an example of the URL that you tried and caused a 404 redirect (you don't have to share the domain name with us if you are concerned about security, just share the script name and query arguments part, for example "myscript.php?these=are&some=query&arguments".
  11. Not sure if I understood it correctly, but are you basically saying that: - If you run your PHP script while leaving out the DB connection arguments, then it results in a PHP script error about missing arguments, - But if run your PHP script while having the arguments, then it redirects to 404 page? If yes, then you have to find out why it is redirecting you to a 404 page. There might be more reasons for that. I don't know if you are using some PHP framework, or you just use a simple PHP script. The web server might be also configured to redirect to a 404 under some circumstance. I can't say without additional info 🙂 Maybe try adding some debugging output to your PHP script, or if you have access to logs, check logs to see what's happening. And regarding MariaDB vs MySQL, I think that you don't have to worry about that, as they both should be compatible and if I am not wrong, then I think you can use the same PHP code to connect to both Maria and MySQL.
  12. If I understood it correctly, then I would say that for this problem the best solution would be to use a simple regular expression. But since there is no direct support for regex in LSL in my opinion (only indirect), then you probably have to implement some simple parsing of the content item's name. I would do it this way: 1) match the item name with names on your list, but match only the beginning of the name (or prefix), e.g. if on your list there is "SomeItem" and the item that was put in object is "SomeItem 1", then match just the beginning/common part of the string. Or in other words, check if that pasted item's name starts with the name on the list. 2) If the beginning/common part matches, then continue matching whitespace and integer numbers (probably character by character). 3) If that still matched, then you have a match and you can continue doing what you wanted to do (e.g. give some item in return). There are probably more ways to achieve the same. You could for example split the item's name and ignore the last number part. Edit: Maybe it would be more simple to do it by splitting the string as I said in last paragraph.
  13. I don't know if that SL URL is broken intentionally or it broke when you pasted it into the post, but there are multiple ways. 1) If your SL URL will always have the correct format "http://maps.secondlife.com/secondlife/<region_name>/.../.../..." then you can simply do for example this: list lst = llParseString2List(slurl, ["/"], []); string regionName = llList2String(lst, 3); It will work even in your exact case where the URL looks broken little bit. It however assumes that there will be always the correct number slash delimiters before the region name. 2) If you want a solution that will also do a basic check of SL URL and will even handle a slightly broken input, then you can for example do this (WARNING: quick and dirty code, expect bugs ) string slurl = "hppt// ma p s.s eco ndlif e.co m/sec ondlif e/Sandbox Mirus/111/39/1113"; // clean str from spaces string slurlCleaned = slurl; integer pos; while((pos = llSubStringIndex(slurlCleaned, " ")) >= 0) slurlCleaned = llDeleteSubString(slurlCleaned, pos, pos); // parse cleaned url list lst = llParseString2List(slurlCleaned, ["/"], []); // check if it is a SL URL if (llList2String(lst, 1) == "maps.secondlife.com" && llList2String(lst, 2) == "secondlife") { // return the region name from original (uncleaned url) to preserve spaces in region name llSay(0, llList2String(llParseString2List(slurl, ["/"], []), 3)); // OR return the region name from cleaned url (will not preserve spaces in region name) llSay(0, llList2String(llParseString2List(slurlCleaned, ["/"], []), 3)); } There are also other ways, but really depends on what your input might be.
  14. I tried to look it up too and looks like the "last owner" is only for objects. If there was a last owner for inventory, I suppose there would be a constant for it somewhere, e.g. here http://wiki.secondlife.com/w/index.php?title=Category:LSL_Constants&pagefrom=JSON_DELETE JSON+DELETE#mw-pages but there is none.
  15. @Quistess Alpha is right. However if you think you are really throttled, then maybe try again with lower speed of sending and see if that is the cause. Recently there have been some updates by LL, but if they have not changed the thresholds, then it probably should not be the case. Make also sure that you don't have anything else in that region that is also sending notecards (or another inventory) as it counts too. Edit: If you are familiar with C/C++ you could also consider making a bot. This can give you more control than LSL (you can know whether a notecard was delivered or not), but I really don't know whether it can actually be used for sending big amounts of notecards (I don't know if bots have the same throttle thresholds as LSL scripts).
  16. There are multiple ways of doing it. Because lists in LSL are heterogenous (meaning that they can store values of multiple types simultaneously) you can take advantage of it and you can do it by using only one list. Simple example: list colors = ["Red", <1,0,0>, "Green", <0,1,0>, "Blue", <0,0,1>]; setGlossColor(string colorName) { // ... your code ... integer pos; if ((pos = llListFindList(colors, [colorName])) >= 0) { // we found the color vector color = llList2Vector(colors, pos+1); llSay(0, colorName + " = " + (string)color); } else { llSay(0, "color '" + colorName + "' not found"); } // ... your code ... } default { state_entry() { llListen(83458, "", NULL_KEY, ""); } listen(integer channel, string name, key id, string msg) { if (llGetOwner() == llGetOwnerKey(id)) { setGlossColor(msg); } } } As llListFindList according to wiki strictly checks types, you don't have to worry about an implicit typecast and getting a wrong value. Just be careful to keep the pattern in the colors list (color1Name, color1Value, color2Name, color2Value, ...).
  17. I found this interesting so I tried in-world. I created a box, allowed inventory drop, dropped notecard from an alt, and inspected the dropped notecard properties: Creator: <alt> Owner: <me> So dropping a notecard is not anonymous. But as @Fenix Eldritch said you have to look for the property to find the author's name (right click notecard and click "Properties"). I also tried the method suggested by Fenix, and yes it works. If you pass a notecard to someone and let them edit it and drop it back, their name will not be in the properties, so it will be anonymous. It would require you or someone else to create a little script for it. Also there is another way - opening a text dialog for entering the text (llTextBox), but unfortunately this is limited to only 250 characters of text. It is also possible to create a script that reads the dropped notecard, sends you the content e.g. over e-mail (without username) and then deletes the notecard. Simple and anonymous.
  18. I started SL 3 years ago and I would definitely not call the current starter avis "junk". A friend once showed me how the avatars looked before the current ones and they improved a lot in my opinion. I'd say the current avis are pretty decent actually, considering they are free and starter. And looking at some of the "Fantasy" ones they are really nice. I would however appreciate a better selection for males For me it was either "the old tuxedo guy", "the Metallica guy" or "the guy with untucked shirt" (btw, I hate disco guy too ) I ended up sticking with the "old tuxedo" avatar, added some mesh clothes and I don't feel like junk at all. (2 years old photo) If they improved rough edges of the starter avatars (especially fingers, arms) they could be really good. Edit: Oh god, just visited this forum on my computer and noticed how big the photo is on screen That was not the intention. I hope I did not scare anyone
  19. Exactly, that's my case. I sometimes write something and I am not sure whether it will be understood the way I wanted. It can be difficult sometimes to express yourself, especially if other people look for small nuances in the text. Also it can be difficult to identify the mood of someone's else post. But maybe writing that I am not from an English speaking country could help.
  20. Haha Anyway, SL already supports uploading 1024x1024 textures at the same price of L$10. So it's probably just a matter of allowing it in the snapshot tool in viewer.
  21. That's really nice improvement. Will this eventually be merged into the main viewer (and in other viewers like Firestorm)?
  22. And while you're at it, you might as well mention that they could add support for 1024x1024 snapshots 😁
  23. Ok, so Omei's findings might be outdated. Would be really great if LL shared more technical details with us.
  24. Ah, thanks for explaining. So, it was probably compiled client-side years ago and now it's compiled server-side? Interesting.
×
×
  • Create New...