Jump to content

BrownBoxStudio

Resident
  • Content Count

    78
  • Joined

  • Last visited

Everything posted by BrownBoxStudio

  1. Do you have a project that requires custom 3D meshes props or LSL scripts? Let me help you help you create the props or scripts that you need to make your project a reality. Whether you know exactly what you want or need help figuring it out we can work together and I can guide you through the process with 8 years of experience creating mesh props and 2 years of experience with LSL scripting. If you do not know exactly what you want I can help you with my design consulting services. Together we will discuss your project in detail, research as needed, and come up with a solution to, or design for, your project. After you are happy with the results all the collected information will be packaged in a neat and organized system and given to you to continue using with me or to take to another creator that can help you finish the project. If you do know what you need then I can help with that too. There is still a process where we discuss and research as needed similar to a consultation but much shorter. It is so that I can understand what it is that you want created. Once we are on the same page, I will use my years of experience to create high quality meshes and LSL scripts that are optimized for Second Life. You will be updated regularly along the way so you know what is going on and so you have any opportunity to give your input on the results. After anything is considered completed then we will review it and changes will be made accordingly. My clients have always been happy with what we have made together and I hope that I can help you on your project and make you just as happy. If you have a project in mind send me a message and we can make it a reality. Email me at brownboxstudio@gmail.com, an inworld message to BrownBoxStudio, or reply to this thread and I will get back to you shortly. Visit the links below to see my work in and out of Second Life. Projects that I have done in and out of Second Life Literary Lunch Box (Second Life): https://imgur.com/a/OEESeKS? Concrete Art Deco Pier Park and Pier House (Second Life): https://imgur.com/a/TVr08b6 Various Props for Second Life: https://imgur.com/a/oUj6bYm Title Card for Twitch: https://imgur.com/a/XV4TCev Various Props not made for Second Life: https://imgur.com/a/ayXpGtx I also have a handful of scripting projects I have programmed that I can show in world if requested. I have programmed games like skeeball, other carnival games, and even an advanced texture change system described and shown in the Various Props for Second Life project above.
  2. Do you want an interactive prop, furniture piece, or something only in your imagination, that you just can't find anywhere else? Let me help you create it with skills in interactive prop creation using 8 years of 3D modeling experience and 3 years of LSL scripting experience. Through a refined process, research and discovery, creation, then review, and delivery to you we can smoothly create what you had in mind. Although if there are problems afterwards I am more than willing to help fix them so you can keep using what was made without hassle. If you have a project in mind why not send me a message and we can talk about how we can get it made and in your hands to use. Send me an email at brownboxstudio@gmail.com or an inworld message to BrownBoxStudio. All projects start at a minimum of $200 USD or L$50,000. Examples of my work can be seen in the attachments below, everything shown is a 3D model made from scratch by me. If you would like to see them inworld feel free to send me a message and let me know and I'd be more than willing to meet and show you. Objects Photographed in Second Life Objects Photographered/Rendered in Software
  3. Do you have a project that could use a custom mesh props or scripts? Are you unsure of how to make this happen and are ready to hire someone else to help you? I can be that person for you. Whether you know exactly what you want to have made or need to get your ideas onto paper we can work together to make your project a reality. I have 6+ years experience creating mesh objects and 2+ years programming in and out of Second Life. I use that experience to create high quality, high efficiency mesh props and scripts that will take your project to completion. Let me help you with your next project. Let's chat! Send me a message in world to "BrownBoxStudio", email me at brownboxstudio@gmail.com, or even leave a message on this post, and start working together towards reaching your creative goals. Here are some mesh objects I have made for second life. They average about 3-5 prims each. If you would like to see them inworld, send me a message and we can meet up. I also have scripted games, and other objects, that I can be shown on request if custom scripting is what you are wanting.
  4. Interesting. I wonder what kind of features, environments, games, or experiences that will already be a part of Sansar. Sansar still sounds like something similar to SL and will only be as good as what is either already included, for non-creators, and the incentives to create for Sansar for creators. I hope there not just expecting that people will create Sansar for them.
  5. Theresa Tennyson wrote: I'm a little confused. Why wouldn't what you want be able to be done by setting it to default to "touch to sit"? Then people could interact with it with a single left-click, which is what you seem to want, and still have the benefits of the "sit" interaction. Oh, lol, I totally forgot that was a possibility. Yes, that would fufill the goal of simplicity. You have to right click and pay anyway if it's not set to free to play. Clicking to sit wouldn't be so bad. Thanks for the reminder.
  6. Qie Niangao wrote: (I'd guess, based on no information whatsoever, that newbies would be more reluctant to do the sit or attach thing, and more expect to simply walk up to a game and maybe touch to start interacting with it. Oldbies have already jumped through every possible hoop to interact with SL scripts, so won't think twice if asked to stand on their head and use tongue-to-nose control.) Hmm that has me remembering that was one of my goals, to make it so you could just walk up and either touch or pay, allow permissions, and be playing. Having any sit or objects to attach would ruin that. I think one can still be in mouselook and use arrow controls without having the camera reset. I'm seeing I need to find some sl begginers, and non begginers could be good too, willing to test these ideas on inworld. Guess forum feedback, without having someone actually test the game, can only go so far. Mouselook might work but could be even harder to understand for a begginer then right click and sit. Also Qie, thanks either way. Even if you can't answer the specific question you have me thinking about alternative possibilities too. Anyone with ideas of where to find begginers in SL?
  7. I Qie Niangao wrote: BrownBoxStudio wrote: I have and done well if I say so myself. Yet there is still one aspect, the camera, which I cannot control if someone is not sitting. It's not clear what you're actually proposing, but this part is especially confusing to me. I'm not understanding why you'd want to control the cam for those kind of games, as opposed to just tracking cam coordinates (which shouldn't require sitting nor attachment with an explicit permissions grant). My game doesn't track the camera. The controls are arrow keys for aiming and shooting/power. Then the game shows you power level through a texture, like a power bar, instead of telling you the power in chat like most other games. I found it was too easy to "cheat" the physics system by aiming at the same spot and getting the same power everytime through chat. Getting the same power each time on a power bar, I'd say, is harder than chat which was the goal. My game kind of works like wii sports bowling movement controls, for anyone familiar with that.  The problem is that when you use the arrow keys, or wasd the avatar cam is reset back to the default center forward position of your avatar. That is unless you turn off that setting. So if you cam by the game to play the camera will reset when you press the controls. A possible solution to have the camera in an ideal position and keep it from moving unwantingly would be to have the player sit and then control the camera through script. You only need regular permissions to control someones camera but the object doing so either has to be attached or sat on. My question was and is simply do you guys mind sitting on things, like games, to use them or would you rather not have to? Which reminds me: attachments are getting to be a problem for an increasing number of SL users -- a tiny minority, but a growing one -- who have all their attachment slots filled. (And as you may know, in such cases temp attachment is hideously ungraceful in its failure mode -- a thing not to be discussed in polite company.) On that note I thought there could be multiple objects on attach points by using "add" instead of "wear"? Or is there still a limit even if you "add"?
  8. "To *not* wear something almost renders the game useless. Unless you can figure out a way to be able to allow the avatar to aim and shoot/throw the ball without wearing something...the game will not likely be well received by most who would buy it." I have and done well if I say so myself. Yet there is still one aspect, the camera, which I cannot control if someone is not sitting. I know what the most widely used games do but I'm seeing if I can do things differently and better. Although from what you guys are saying the lack of sitting or wearing doesn't seem to make the biggest of differences. "I suspect there's a good reason why these creators went with this method, while those who did not, do not sell very well(if at all)." If I had to guess I would say this method has been chosen because it's the easiest. Giving a game intuitive controls is no easy feat. From experience making both ways I would say it's multiple times more the work. Although it does make for a more challenging game. With the aim and shoot method, if you manage to get the same force you can leave your aim at the same spot and the physics in sl will always be the same.
  9. So I'm making arcade games in SL, currently making skeeball or sometimes called arcade bowling, and had this preconcieved notion that it would be used more if it was easier to use, e.g. not having to sit or wear something to interact with the game. Although I thought I might actually ask and see how willing anyone else is to actually wear an object or sit on an object to use said object? Is that something you find troublesome or are not bothered by having to do so?
  10. Oh yea, I removed that whole chunk and just call the experience permissions. It used to be populated then rolig was saying it would auto allow from then on. That chunk was just keeping track of who already allowed so it wouldn't ask them again. I did my best to read the knowledge base so far. I did manage to create my experience but still not getting it to work, as I mentioned. Although I guess I didn't read close enough as it says how to enable on the land which is what I am stuck at. Thanks so far, think Im getting.
  11. The experience checkbox is greyed out and, that I know of, I haven't created an experience for this script to work with. Figured I had missed some steps. How would I go about creating that? Although can I do that on mainland? Otherwise I need to figure out how I can work on someone elses experience as this sim a private sim that I could be working on. Edit: So I acquired an experience key, created my experience, linked the script, but still nothing happens. How I can double check if the region I am in allows experiences?
  12. So I am learning how to use experiences because I found out the llTeleportAgent command doesn't work without them. Anyways I wrote this script and it's supposed to ask for experience permissions when collision starts but it does nothing. I'm here as a last resort. I tried looking into how to create experiences but the information is so spread out I don't know where to start. I am sure I missed a step, or two, or a few. Can anyone help me out as to why this script might not work or ask for experience permissions? Any and all help is appreciated, thanks! //Touch to set new coordinates using coodinates tool. vector teleport_location; vector facing_direction; string landmark_name = ""; //change to a landmark name of landmark in objects inventory. integer channel = -83537678; integer listen_handle; integer count = 0; key teleportee; list avatars; default { touch_start(integer num_detected) { if(llDetectedKey(0) == llGetOwner()) llRegionSay(channel, "sync_location"); listen_handle = llListen(channel, "", NULL_KEY, ""); } listen(integer channel, string name, key id, string message) { if (llGetSubString( message, 0, 7) == "location") { teleport_location = (vector)llGetSubString( message, 8, -1); llOwnerSay("New Teleport Location: " + (string)teleport_location); count ++; } else if (llGetSubString( message, 0, 8) == "direction") { facing_direction = (vector)llGetSubString( message, 9, -1); llOwnerSay("New Teleport Direction: " + (string)facing_direction); count ++; } if(count >= 2) { count = 0; llListenRemove(listen_handle); } } collision_start(integer num_detected) { teleportee = llDetectedKey(0); if (llListFindList( avatars, [teleportee]) == -1) { llRequestExperiencePermissions(teleportee,""); } else { llTeleportAgent(teleportee, landmark_name, teleport_location, facing_direction); } } experience_permissions(key agent) { llTeleportAgent(teleportee, landmark_name, teleport_location, facing_direction); } }
  13. There could be a relatively big different in resource use. The whole loop itself is an "extra" step so that adds quiet a bit of resource use compared to a single llGetSubString(). Even to check the list you'd still need to use an llList2... which is probably already equivelant to the llGetSubString(), but some can correct me if I am wrong.
  14. Is there a reason you have to parse the string to a list? I don't see how reading a list and reading a sub-string are any different. Why not just keep the string and get a sub-string when needed; then no list needed?
  15. Don't fret about potential physics issues, they do exist but can be "beaten". As someone who just finished programming a perfectly working skeeball game the only issue that I have now is lag. Physics work fine. Although I do have a high LI physics mesh until I get something better. You shouldn't need to script the pegs, at least not if you have a base. In my skeeball game, which hole the ball goes in is figured out by one script in the root prim. A good way to figure out where a ring is and if it has scored, albeit not an easy way, is to get the center location of the thrown object and teh center location of it's scoring position. In this case you'd grab the center of the ring position on a timer and check that against a position by the peg. If the ring center gets within X distance then count as a score. You can do testing to see which distance is best so that non-scores do not count. Rolig was the one who made this suggestion to me for my skeeball game. This would even work to see if the ring stays still as you could use a timer to see how long the ring stays within the distance limit or check if the ring has stopped moving within X time. The way I go about not having to script each score prim is to have the thrown object report back which position it was closest too. This means the thrown object is given the position of each score spot when it is rezzed and then it tracks which score it is closest too. When the distance limit is met it "scores" and sends which score it got too the base. Then the base add new score to total score. There is really a lot more too it but maybe that can give you an idea of what to look into. Timers, getting positions, and sending information over channels are very useful in these types of games. If you have any questions, since I've made something that uses the same ideas, feel free to message me in world. I'd be willing to help out. Edit: Just noticed that Madelaine suggested practically the same approach as I did. I'll just agree and say that I've tested this and use it in my own applications. It works well, is fast enough, and the only issue is lag maybe messing up the messages being sent.
  16. Yea considering there were too many collisions for the game to track them all I am sure you are right. Thanks again!
  17. Ah, I was thinking form the perspective of the ball too, if the ball itself could detect the link number that it hit, without the base detecting the collision. The base currently detects link number collision but the amount of collisions is what causes trouble right now. But yea, the base will never move so detecting position shouldn't be too hard.
  18. So I take it then having the ball detect which child prim it hit through collision isn't possible? Interesting idea though, to track the position. Was just thinking I might have trouble doing so if I am tracking an area that is rectangular as opposed to square/spherical. Although I just thought of a way I can setup the lane itself so there are no rectangular areas that need to be tracked. Might even be simpler than checking the velocity as depending on where I put the tracking spots I can assume if ball is near tracking spot it probably isn't going to move to any other tracking spot. Thanks so much, that might do really well!
  19. Can an object, not the one in the child prim's linkset, detect a child prim that it hit? I've read the wiki page but I am still unsure if what I am trying to do is possible. I have a base that is always colliding with a few objects and I want to detect when certain child prim are hit. Although there are multiple objects colliding causing just enough collision calls that the script has trouble tracking them as I would like. Thought it might be easier if I can have each object track it's own movement and send a message when changes happen instead of the base tracking all collisions at all times. When the base tracks all collisions at all times it tends to miss some collision changes. To give a physical description this is a skeeball game. The ball starts colliding when it's rolling so I can't use start collision as the ball, object, is always colliding and I then have to track all collisions and watch for prim changes. Maybe someone else has experience with this? This is the final "error" I am trying to fix on my game and have been stuck on it for a couple solid days now. Any help is appreciated. Or another idea I had was to detect the collision from the child prim but I think the same problem would arise. Collision checking from a child prim still checks all the collisions from the rest of the linkset right?
  20. I think he means it's hard for him to test if it is possible for other avatars to do the click since he is the one testing it and the click is done by him.
  21. I was thinking way too 2-dimensionally, like a plane of land instead of an area for sound. Thank you very much. All is now well!
  22. The vector positions are describing a box and not a flat plane of cordinates?
  23. True, that isn't needed now that I think about it. But I tested without that, or at least I thought I did. The working script has it too without any issue. Either way I will test again. Thanks for the suggestion. Edit: Nope, removing both llGetRot()s made no difference.
  24. I am making a game with sound effects. I have the games base script which uses LLTriggerSoundLimited and it works perfectly fine. Although I said the function doens't work and I'm not lieing, this is the only function call I have gotten to work. Nothing else will trigger in any other object. I went as far to put all the scripts from the working game into a new root prim and link that to the build and no sound triggers. It's very odd. It's as if I somehow got the script to work in my one prim and now it won't work in anything else. This is a piece of the working version that includes the llTriggerSoundLimited(); state pay { state_entry() { llSetPayPrice(price, [price, PAY_HIDE, PAY_HIDE, PAY_HIDE]); } money(key id, integer amount) { if (amount != price) { llRegionSayTo(id, 0, "Sorry, you have not paid the correct amount and have been refunded. Please pay " + (string)price + "L$ to play."); llGiveMoney(id, amount); } else if (amount == price) { llRegionSayTo(id, 0, "Thank you for paying. Your game will start shortly. Quit the game before taking a turn to be refunded."); player = id; llTriggerSoundLimited(skeeball_paysound, skeeball_paysound_vol, llGetPos() + (<sound_offset, sound_offset,0>* llGetRot()), llGetPos() + (<-sound_offset, -sound_offset,0> * llGetRot())); //skeeball new game music llSetTimerEvent(4.51); } } timer() { llMessageLinked(LINK_ROOT, 0, "new game", player); state play; } } This is a solo version of the above excerpt that I created to test which I cannot get working in any other object. key player; integer price = 1; //sound settings float sound_offset = 10; float skeeball_paysound_vol = .5; key skeeball_paysound = "3a8add53-8813-33db-3dac-ad60918b9020"; float skeeball_fanhumsound_vol = .14; key skeeball_fanhumsound = "0b9b5a63-2630-f331-8e61-bc39496983c6"; default { state_entry() { llSetPayPrice(price, [price, PAY_HIDE, PAY_HIDE, PAY_HIDE]); } money(key id, integer amount) { if (amount != price) { llRegionSayTo(id, 0, "Sorry, you have not paid the correct amount and have been refunded. Please pay " + (string)price + "L$ to play."); llGiveMoney(id, amount); } else if (amount == price) { llRegionSayTo(id, 0, "Thank you for paying. Your game will start shortly. Quit the game before taking a turn to be refunded."); player = id; llTriggerSoundLimited(skeeball_paysound, skeeball_paysound_vol, llGetPos() + (<sound_offset, sound_offset,0>* llGetRot()), llGetPos() + (<-sound_offset, -sound_offset,0> * llGetRot())); //skeeball new game music llSetTimerEvent(4.51); } } timer() { llMessageLinked(LINK_ROOT, 0, "new game", player); } }
  25. Just wondering if you might be willing to explain what the float code is doing to convert the uuid strings.
×
×
  • Create New...