Jump to content

Darkie Minotaur

Resident
  • Posts

    1,663
  • Joined

  • Last visited

Everything posted by Darkie Minotaur

  1. You have to set the rotation relativ to the vendor's rotation. I can't tell what the difference between the two rotations are, but I would start with llRezObject(Object,llGetPos() + rezzingOffset, ZERO_VECTOR, llGetRot(), holoChannel); which would mean that both items have the same rotations. if that doesn't yield the right result, you have to add or substract the difference: vector diff = <0,0,0>; //a Euler rotation in degrees - this is the difference between the rotations of the 2 items llRezObject(Object,llGetPos() + rezzingOffset, ZERO_VECTOR, llGetRot() * llEuler2Rot(diff * DEG_TO_RAD), holoChannel);
  2. This really isn't a group in which to ask for scripts - it is for scripters (including beginners) to discuss scripting issues. You could try and look in the LSL Library or ask in the Wanted forum.
  3. Two things: This group is not for requesting scripts, but for discussion scripting issues - if you want a script made for you, turn to Wanted or Inworl Employment No - it can't be done via script. It's not possible to find out which groups an ava is in.
  4. Hmm - I don't think the script does anything sensible. If I'm not mistaken, in the current state it reads the names of all inventry items in the object for each one, declares the variable name and assignes the name of the item to the variable after the loop says the list inventory as a CSV string - but there will never be anything in it, because you never store any value to it What would make sene is: default{ touch_start(integer total_number) { list inventory; integer num = llGetInventoryNumber(INVENTORY_ALL); integer i = 0; for (; i < num; ++i) { inventory += llGetInventoryName(INVENTORY_ALL, i); } if (llGetListLength(inventory) < 1) { llSay(0, "No items in inventory."); } else { llOwnerSay(llList2CSV(inventory)); } }} The only problem would be, that it only says a limited number of characters - if you have a long inventory or long names for items, the inventory may not get said completely
  5. It can't be done exactly the way you want it, since attachments can't be sat on. Depending on what exactly you want, the might be other solutions. However, this is not the right forum for your request. Take it to the Wanted Forum or the Inworld Employment Forum.
  6. If it's the User Agent is the problem - which is the case (I was able to log in and check in the meantime) - an http_response event is indeed raised - and so it is in this case. Otherwise you woldn't get a response code, which in this case even is 200 (Everything Ok). With the User Agent information which SHOUTcast seems to like appended, it works ust fine - apart from the fact that the reply is truncated.
  7. Some additional remarks: I've just looked at the SHOUTcast page you want. Even if you get the reply correcrtly (which I guess you will with the User Agent fix), you won't get much more than the HTML header before you reach the limit The solution to this would be to use some other client to call the page, read it, parse it, retrieve the information and send it to SL. A pretty simple php script could do this e.g. In general, in conection with SHOUTcast, you shouldn't directly load any pages other than 7.html with a script The User Agent problm most likely is also the answer to the problem of this other thread started by you
  8. You propbaly did get a zero body - but did you check the response code - I wouldn't be surprised to see a 200 there
  9. Well, Qie, what you say, is contradictory. If it is the User Agent roblem (which I suspect to be the case), there is a response - it's just, that the body can be empty, but there is a header passed back. I just wanted to make sure there is a response befor suggesting this solution
  10. I can't go online and test it myself - but what exactly do you mean, that you don't get a response? Do you 'just' get no body or do you get no response at all. Check if you're getting a status reply or metadata in the http_response
  11. When you edit an object, you usually see a blue, a red and a green line going through it - these are the 3 axes x, y and z. Objects can be made up of several prims that are linked. In such a link set, one prim is the parent, the others are the children (usually the children have a blue frame in edit mode, the parent or root a yellow one). A rotation or a movement can be relativ to the root or relative to the region. By and large, chidren rotate or move relative to the object they belong to and the root relative to the region - by and large. LSL is a bit tricky here - you will have to read the arcticles, the documentation of the functions and then fiddle MMuch moe could be said in response to your questions, but I think the answers give you an idea.
  12. I'm not quite sure what exactly you want - but from your description, most of the first script does infact not make too much sense. I assumed that there is an object with a texture that is animated when the avatar that owns the object types. Such a script would look something like the following: float gfTimer = 0.5; //interval to check f the ava is typinginteger giAnimOn;default { state_entry() { llSetTextureAnim(FALSE, ALL_SIDES, 0, 0, 0.0, 0.0, 1.0); giAnimOn = 1; llSetTimerEvent(gfTimer); } attach(key id) { llSetTextureAnim(FALSE, ALL_SIDES, 0, 0, 0.0, 0.0, 1.0); giAnimOn = 1; llSetTimerEvent(gfTimer); } timer() { integer typing = llGetAgentInfo(llGetOwner()); if((typing & AGENT_TYPING) && !giAnimOn) { giAnimOn = 1; llSetTextureAnim(ANIM_ON | LOOP, ALL_SIDES, 1, 4, 0.0, 0.0, 4); } else if (!(typing & AGENT_TYPING) && giAnimOn){ llSetTextureAnim(FALSE, ALL_SIDES, 0, 0, 0.0, 0.0, 1.0); giAnimOn = 0; } } } Btw. I'm not sure if this is the right forum for you - this is a forum for scripter discusing scripting issues. It is not meant for people that don't script to request scripts. In this case you should turn to Wanted or Inworld Employment
  13. In order to make the cogs turn you either use llTargetOmega which will result in a visual effect in the viewer but wont actually make it turn for the server (if the cogs are non-physical) or some form of llSetRot - probably in combination with llSetPos. These 2 actually make a rotation or a change in location on the server side as well. For both you will have to figure out whether the local rot/pos are to be changed ot the global ones. If that sounds confusing, it's partly because it's a little tricky - it's one of the more difficult areas of LSL. Well, at least for me. If you are new to scripting, you will need to fidle around with rotations and positions a bit. Pages that may help you are the explanations of Void Singer or the Windmill tutorial. As fat as smoke and sound on touch are concerned, here is a little example: list glParticles = []; //the parameters for your smoke go herestring gsSound = ""; //put the name of the sound hereinteger giOnOff;default { touch_end(integer num_detected) { if (!giOnOff) { //are sound and smoke on? If no, turn them on llLoopSound(gsSound, 1.0); llParticleSystem(glParticles); } else { //if yes, turn them off llStopSound(); llParticleSystem([]); } giOnOff = !giOnOff; //toggle the giOnOff value }} I pass on the bonus question
  14. You can reply to an IM for 5 days - then the session expires - the e-mil adress is thus only valid for 5 days after you have received a message from inworld. I think there are basically 3 solutions for what you want: use a text viewer - you will find one for most platforms (Win, Mac OS, iOS, Android, Linux) use an inworld prim and script as a relay to send emails to that generates IMs use a little web application and http-in (this would make the management of the UUIDs (or identities) a little easier)
  15. If you have an AO and have typing animation set there, this may override the debug setting for PlayTypingAnimation
  16. Simply cast the integer into a string and get the first character: llGetSubString((string)i, 0, 0)
  17. Are you looking for help getting the script to work or are you looking for a script? In both cases, you can't really TP inter sim with a script - explain what you want in more detail. In the firstr case: What do you have so far? In the latter case: You are in the wrong forum - ask here or here
  18. I'm not sure whar you mean whern you say "lanndmark". If you are referring to the type of inventory items that ca be enbedded in NCs, then the answer is: you can't - because you can't read NCs that contain embedded objects with a script. If you mean something else, you should be a little more precise.
  19. This question or request doesn't belong here, really. Post it to Wanted Forum or to the Employment Forum, if you can't find a script already containing your features. This forum is for the discussion of scripting issues and helping scripters to solve problems with scripting - it's not for requestiong or offering script work or scripts.
  20. You simply put llSetTimerEvent(120.0) inside the touch event - and then in the timer event, you switch the timer off by setting llSetTimerEvent(0) and the llAllowInventoryDrop(FALSE) as well
  21. of course -you never change speach - increment it to lop through the list: list Speach = ["punch_onetwo","punch_onetwo","punch_onetwo","punch_onetwo","punch_onetwo"]; integer speach = 0; default { touch_start(integer total_number) { llShout(llList2String(Speach,speach)); if(llListLength(Speach) - speach < 1) { speach= 0; } else { ++speach } } }
  22. if I understand you right, you set the target key 5o be the key of the object - in 5his cae, it works as designed. You need the key to be set to the av key or if that's not the position you want, to the position of a second object attaxhed to your chest
  23. I guess your object is non-physical. In that case the llTargetOmega is executed client side - which means, the server doesn't know the rotation has changed - and llSetRot is server side - in short: You won't be able to rotate a non-physical object and back this way.
  24. You could just get the rotation of a prim before changing it and store it to a variable and then set the rotation to the value of this variable: rotation orgRot = llGetRot();//change the rotationllSetRot(orgRot);
×
×
  • Create New...