Jump to content

Ela Talaj

Resident
  • Posts

    874
  • Joined

  • Last visited

Everything posted by Ela Talaj

  1. How about this? linteger gLisn; default { touch_start(integer num) { gLisn = llListen(91,"","",""); llTextBox(llDetectedKey(0),"Type an integer and click \"Submit\".",91); } listen (integer channel, string name, key id, string msg) { integer i; string ch; integer n = llStringLength(msg); llListenRemove(gLisn); for(i=0; i<n; i++) { ch = llGetSubString(msg,i,i); if(!(integer)ch && ch != "0") if(i) jump break; else if(ch != "+" && ch != "-" && ch != " ") jump break1; } @break; @break1; if(i != n) llSay(0,"This message contains a non-integer."); else llSay(0,"The message in the Text Box is an integer = " + (string) msg); } }
  2. Basically you are talking about making yet another text client while there are several already on the market, though I'm not aware of Lunix-based ones. From scratch or not, it would require hundreds man-hours of development so unless there is a definite possibility of revenues measurable in thousands USD (not linden dollars) I would not be interested in participating in such project and wouldn't advise others.
  3. Who ever said that SL was intended as a virtual shopping mall? The only reason there are merchants and stores is because a vast majority or players cannot themselves create items they need for RP, socializing and creation and don't have time to learn. It is these people, the customers, who spoke loud and clear that they prefer shopping from a web page. The Lab does not force anyone to buy from the Marketplace, that is what people pefer. It saves enormous amount of time which can be devoted to what a player is in SL for and most players are not in SL to go around and buy what they don't need. Accordingly it would be somewhat unwise for a merchant to not keep presence in the Marketplace. I've an in-world store which has been at the same location for years, never moved, and will be there I guess till the Lab turns the grid off. But most sales are in the Marketplace because that is where people can read what my products are and what they do. Why on earth would I spend time and effort to change customers preference to buying from me in-world? I could not care less where they buy for as long as they do buy
  4. In addition to what other ppl advised, try to do everything in a single state (default). Your script is rather simple and there is no reason to go thru 3 states. It is inefficient in respect to server resources.
  5. Read my reply to a similar post in here: http://community.secondlife.com/t5/LSL-Scripting/communicate-information-from-one-script-to-another/m-p/1541533#M11013
  6. Guido van Rossum writing Python while on a week vacation in the mountains, Zuckeberg writing Facebook in a week, Phillip Linden writing LSL in 2 weeks... all just nice myths and legends for dilettantes. What they did is coming up with a prototype which then went thru years of development , refinement and upgrading. The only reason LSL is called a "scripting" language is because it is not portable to a platform other than an SL server. Otherwise it is a full blown object-oriented programming language. The key word here is programming. A language syntax is how to say things but first you need to know what to say. If you know principles of programming wouldn't take you long to learn a language syntax. If you don't, that's what you pay a software professional for: knowing what to code, not how to code in respect to LSL specifics.
  7. This script as posted is unreadable, try to post in the format you see in other posts (in a blue window). From a glance it appears the swinging prim of the object that hosts the script is a child prim, otherwise the script makes no sense. If you are trying to port it into another object (hammock) into the root it will not work at all.
  8. As far as I'm concerned I cannot write and test an LSL script in less than an hour <unless "hello world" but no one requested that one so far >. Doubtless there are people here smarter than I am so can do faster but generally writing a medium complexity LSL script takes several hours of programming work. Rates for comparable RL work start at 30USD per hour with a median rate being 45USD per hour. On the other hand you offer about 12USD for the whole job... See the gap here?
  9. The application you want cannot be programmed via LSL. Basically an LSL script runs on a server that supports a region the scriped object is currently located in. Generally LSL doesn't support methods that require a region server to request data from another region server. There are might be some exceptions to this in respect to adjucent servers but they are few in number and limited in distance.
  10. An example of a simple handshake protocol in a star-topology network (which is what yours is) would be as follows: On control unit restart it broadcasts a "hello" message via whatever common channel. Receiving controlled nodes broadcast back its own "hello" on the same channel. The control unit makes a list of responded nodes ids and now can select from that list to send via llRegionSayTo. The nodes now know the control unit id so can send via llRegionSayTo too. On a controlled node restart it broadcasts a "hello" to the control node via comm. channel. Control node adds it to the list and sends back an "ack[nowledgement]" so both know each other ids in this case too. There are a couple of holes in this protocol, for instance the control node is not aware of a controlled node de-rez, but there are several ways to handle that, and in most cases it works fine anyways.
  11. And to Innula too That is incorrect. A land owner or an owner of a group that owns the land can set an object to any group. I have objects set to 3 or 4 different groups on the property owned by my group, they are not auto-returned.
  12. The way things commonly work, there are 2 separate queues, a timing queue (there in fact may be several with different granularity) and an event scheduler queue. There is never a complete sync between them. In your script it means that it may be missing cells because some times sensor event will execute before timer event and some times after it. For a proper sync get rid of sensor repeat on touch, and do a single sensor inside the timer. In a sensor call do a single filter ACTIVE | PASSIVE
  13. What does it have to do with autoreturn? OP needs to check llSameGroup(llAvatarOnSitTarget()) in change event just as you said. Letting only users wearing a specific group tag onto the land is an independent matter, OP needs to purchase a sequrity orb to handle that.
  14. I have an application that maps a region into a matrix of 10x10 cells, with those owned by the current user marked as 1, those for sale or abandonded marked as X and the rest marked as 0, with the map then being displayed in IM to the current user. I suppose it could be expanded to mark parcels ownership with distinct letters, but this is a text representation of a region, not an actual graphic map.
  15. I guess a vehicle that steers from a rear axle might exist... but I'm yet to see one. Seems to me all vehicles even big ones steer from their front axle, otherwise they would be a total wreck as soon as attempted to turn. But thats for the real world. In SL I don't think you can change a physical object center of mass unless adding invisible prims. But what does it matter? All you need to make belief is to make the front wheels <or rear ones if you insist > turning while vehicle is turning. This may be either hard or easy depending on the wheels construction.
  16. Precheck destination coordinates before doing TP (I presume by llSetRegionCoordinates() but doesn't really matter how) and if your destination is not a vector or is less than or equals 0 or greater than 255 along X or Y axes just send user a message "invalid destination".
  17. When you are on the road, how does your cell phone know which tower is the nearest? Call me in-world, I'll tell you:) However your problem actually is not in processing towers' signals to calculate which is the closest, but a tower sending a signal to your "phone" in a different sim. (that is if you're planning inter-sim communications, otherwise it is trivial). Object's email is slow and not always reliable, besides has a lot of built-in restrictions. Maybe some kind of HTTP comm... that is yet TBD
  18. I would suspect that llSensor() is a wrapper for llGetRegionAgents(), which was always there just not user-accessible. Sensor does get a full list of agents in the region and then filters out by distance and returns first 16 from the filtered buffer. If the above is true llGetRegionAgents() would be faster even if with the same filter implemented in script. Don't forget that Sensor() results are not returned to user but put on the events queue.
  19. http://lslwiki.net/lslwiki/wakka.php?wakka=communications You are interested in the llListen() method / listen() event pair
  20. What does it all have to do with the change event? Just get the number of content objects on the main object rez and then every time it rezzes a child object decrement by one. If you want to get fancy you may of course check if all content objects are no copy and if not make a list of those that are not and don't decrement when those are rezzed.
  21. Don't you have anything to do at all?
  22. A mathematical representation of your artifact is called a matrix. For the one in your pic it will look like this: | 11,12,13,14 | | 21,22,23,24 | | 31,32,33,34 | | 41,42,42,44 | the first digit is the row number and the 2nd digit is the column number. You define a sector in the matrix by specifying the starting and ending element. For instance 21-24 means all elements in the second row, while 12-42 means all elements in the second column. Likewise 21-24, 31,32 means all elements in the second row + 2 first elements in the 3rd row... and so on. When a script knows the number of elements it can calculate the frames according to whatever (to be determined) algorithm. If want to proceed call me in-world.
  23. Your script should work just fine in respect to asking link permission only once. There is however another thing there. When the object is rezzed, it will ask for permission and when owner grant same it will set works = TRUE. So what happens then if an agent other than the owner touches? As works = TRUE, an auxiliary object will be rezzed and this will raise object_rez event where a link will be attempted. But the touching agent doesn't have permission to link, they are not the owner. So the link will fail with an error on debug channel. To avoid this, you may want to modify your touch event as follows: touch_start(integer count) { if(llDetectedKey(0) != llGetOwner()) return; // When the object is touched, make sure we can do this before trying. if (works) llRezObject(ObjectName, llGetPos() + <0,0,0.5>, ZERO_VECTOR, llGetRot(), 0); else llOwnerSay("Sorry, we can't link."); }
  24. I don't care how simple the script is but I find it somewhat puzzling that you expect to be provided with a free script to be used in your commercial product.
  25. No one understands quaternions As Rolig said, set rotation as a vector in Euler format (in angles), then when you actually call a method to set rotation <regardless which method, there is a bunch of them: llSetRot(), llSetLinkPrimitiveParamsFast(), llSetKeyMotion() >, translate Euler vector to rotation quaternion via llEuler2Rot().
×
×
  • Create New...