Jump to content

Darkie Minotaur

Resident
  • Posts

    1,663
  • Joined

  • Last visited

Everything posted by Darkie Minotaur

  1. Was du beschreibst geht so nicht. Ohne einloggen bestünde die Möglichkeit, ein IM tool zu verwenden, in das sich die deine Freunde einloggen, wenn sie on sind und über ein HTTP basiertes script chatten. U.U. wäre ein Bot eine weitere Möglichkeit - aber das wäre auch ein eingeloggter Ava.
  2. just make your object no mod - people won't be able to dro scripts into it - read up here. As for the stopping of the script: Are you sure do doing it correctly? the change of strict state may not take effect immediately - read up here
  3. I'm not sure what your questions relating to this function are. For you're task, you may use llDetectedTouchST - but even if you don't the examples there are good to understand how either of the functions work. The only thing you have to remember: <the coordinates are relativ to the size and between 0 and 1. Here is a very simple example: default { touch_end(integer num_detected) { if(llDetectedTouchFace(0) == 1) { //I only want touches on face 1 vector vec = llDetectedTouchST(0); if (vec.x > 0 && vec.x < 0.1) { //was the touch on the left tenth of the face if(vec.y > 0 && vec.y < 0.1) { //was the touch in the lower tenth of face 1 llSay(0, "Touched in the lower left corner."); } } } }}
  4. I guess, your problem is, that the position and the rotation of the rezz event are relative to the region and not relativ to - I assume - the rezzing object?
  5. I'm not sure you're asking in the right forum - this forum is for duscussing scripting issues, not for providing scripts. If that's what you want, you should look in the Wanted forum. If, however you want to try and write such a script, it isn't hard to do - here are the ingredients: Difine a sit target using llSitTarget() use the changed event - if the the links have changed, test if a ava is sitting on the prim with llAvatarOnSitTarget (btw. - you'll find a nice example of most of what you need on that page If is is a sitting ava that triggered the change even, use llRezObject if the changed event was triggered by an avatar standing up, you send a message to the book, telling it to die. For doing so, use llSay, llListen and the listen event If you decide to script it yourself, don't hesitate to come back with any problems or questions that arise from setting the script up.
  6. You basically need two things: Define a sit target and a changed event where you activate the rotation. The examples on llSitTarget page should show you how to implement what you want.
  7. Die prims, die die Partikel erzeugen musst du einsammeln.
  8. In your examole, the parameter message would contain the script's name and the ID would be "shootmenu" - you have the parameters that get sent sraight
  9. No ene claimed there's a difference between a hammock and a swing. What Ela pointed at, is that the scipt id designed for a child prim, no the root - swing or hammock - and that that this cild is the swinning part.
  10. The simple anser is: No. Only avas can send the invite dialog - you would need a bot for that.
  11. You got your curly brackets ({}) all screwed up. Load the script to a decent editor that helps you checking the syntax and hunt for the little bastards. Such an editor would be LSL Editor, which is simple to install and use.
  12. Actually, there are at least 3 points of failure: fsock isn't enabled - you can see that in the phpinfo() the port is blocked - the request will time out you provided a wrong url for the LSL script in your php script - you'll get an error message in the webpage (in the example I pointed to) that the cap wasn't found. This at least means, the port is open
  13. Sassy points out an important point. Not too many hosting providers allow outward communication on odd ports. Apart from that, you'll find a simple example (LSL and PHP) at the ende of this page, that you can try out and study.
  14. You want an HTTP request from a webserver to SL? Or a request from SL to a webserver?
  15. and some magic makes google calendar read the rezz days from the SL group
  16. I'm not aware of such a product, but I guess it can be done, though it's a little tricky. IM or send me a PM me if you don't find it anywhere else.
  17. It's not realy a scripting question. But here is what I guess you meant: Play the sound with the viewer still open, go to your cache folder look for .dsf files copy the .dsf files to a different folder and rename them to .wav try to find your file - the names should be the keys, so if yoi have the key of the soundfile, it will help you finding it
  18. If You want to learn how to scipt, you should look at: This page dor changing the textures of the child prims The function descibed on the page linked above works with link numbers - but you suspect correctly that it is better to use the object names - link numbers are not very reliable. If you have problems figuring out how to check prim names fdor setting the properites of the child prims, you can always come back You can delete an object by calling llDie NNow you should have all the ingredients for your soup - stir well! If, howver, you came here to get your script done for you, you're simply at the wrong place - go to a suiting commerce forum for that
  19. I doubt that there really is a list like that - just because it doesn't make all too much sense
  20. still, make the change. You put in the script before the NC - when you added the nc, it should have restarted to read the nc - thaat's what the change I made does.
  21. Typo - replace: CHANGE_REGION with CHANGED_INVENTORY in both cases
  22. Make a notecard with your questions - on question per line (line here means that there is to be a line break - not the wrapping if the line is to long to be shown as a single line) and name it 'questions' - put it in the prim along with the script below and it should do the trick list cStudents;list submitted = [];integer listener;// make this the question the students will seestring question = "Here is question number 1, and this would be question number 2, etc..";// make admin the teachers namekey admin = "avatar name";// make emailAd the teacher's emailstring emailAd = "test@gmail.com";// this will appear in thestring course = "Test Class";///////////////////////variables needed for the ncstring gsNC = "questions"; //the nane of the NC in the inventoryinteger giLines; //te counter for reading the lineskey gkQuery; //key of the querylist glQuestions = []; //list of questionsstring gsCurrQuestion; //current questionemailList() { string msg; msg = llDumpList2String(submitted, "\n\n"); llEmail(emailAd, "Results of "+course, msg);}default{ state_entry() { gkQuery = llGetNotecardLine(gsNC, giLines = 0); } touch_start(integer total_number) { key clicker = llDetectedKey(0); if(llListFindList(cStudents, [clicker]) != -1) { llInstantMessage(clicker, "You've already submitted"); return; } if(llKey2Name(clicker) == admin) { llInstantMessage(clicker, "Results sent from this picture"); emailList(); return; } integer randInt = (integer)( llFrand( llGetListLength(glQuestions))); integer channel = (integer)llFrand(1000.0); listener = llListen(channel, "", clicker, ""); gsCurrQuestion = llList2String(glQuestions, randInt); llTextBox(llDetectedKey(0), gsCurrQuestion, channel); } listen(integer channel, string name, key id, string message) { submitted += [(name + ":\n" + message + " for question: ") + gsCurrQuestion]; llListenRemove(listener); llInstantMessage(id, "Recorded \"" + message + "\" as your answer"); cStudents += [id]; } dataserver(key queryid, string data) { if (queryid == gkQuery) { if (data == EOF) { //we have reached the end of the NC if (!llGetListLength(glQuestions)) { state not_running; //if the script couldn't find a question, do nothing } } else if (llStringTrim(data, STRING_TRIM) != "") { // we pass empty ines glQuestions += [data]; //add the line to the list } gkQuery = llGetNotecardLine(gsNC, ++giLines); //read the next line } } changed(integer change) { if(change & CHANGED_REGION) { llResetScript(); //start the script again if the content changes } }}state not_running { state_entry() { llOwnerSay("No questions found"); } changed(integer change) { if(change & CHANGED_REGION) { state default; //start the script again if the content changes } }}
  23. Well, in this case I would use a notecard to store the questions. The script would (at least triggered by the state_entry and the changed event (hfor inventory chages)) first read the notecard using llGetNotecardLine and the dataserver event - look at the examoles on the pages I linked - I guess they will help you understand to work out how notecard reading work. Store the result of the notecard reading in a list - one question as a list entry. On the touch event, you could generate a random integer between 0 and the length of your list - 1 - how to generate such a nunmer, look here (look at the examples). Now get the random question by using your random number as thewindex in llList2String - the rest is like in your script. You may want to store the current question (the index or the question) in a global variable, so you can email it along with the answer. I hope that shows you the direction. If you get stuck, come back!
  24. How to go about it depends on a number of things that you haven't stated How many questions would you like to have in your system? If the number isa no all too big, they can simply be stored in a list variable You say you want a dialog for ansering - is there the same number of anser options for all questions? Is it just "Yes" and "No"? Would you want the editing of answers and questions to be done outside the script?
  25. There are several ways to secure the integrity of your communication: low negative channel number - this alone gives you some protection change the channels regularly. Let client and hub in a handshake (on a fixed channel) exchange information that forms the basis of the generation of the actual channel number on which to talk. This information gets transformed into a channel numbers by a logic which a hacker would have to find out in your messages, include a secret which you check against you could include some kind of authentication for the hubs - e.g. against some outworld db. whenever a client detects a hub, it asks that db if that hub is registered Finally, encrypt your messages - if you google for LSL and encryption, you will find quite some stuff - this is however pretty slow in most cases Just a few ideas that came to my mind.
×
×
  • Create New...