Jump to content

Tattooshop

Resident
  • Posts

    365
  • Joined

  • Last visited

Everything posted by Tattooshop

  1. No, simple presence of scripts inside the object.
  2. In this case, with a simple placement of several texture changers scripts into an object, the LI changed.
  3. Hello there, fair scripters! My friend asked me if scripts can influence LI? I answered confidently - NO, this is not possible! But it seems so, they answered me. I began to sort out the possible options why this could happen. and then I remembered about Google (sorry for the ad). and found an interesting topic about LI where such a thing as Server weight is mentioned. I spilled water from a glass! looks like this is exactly the case? I felt like such a noob... for me it was like ... why? .. why I don’t know such an elementary things?! Do scripts really affect LI?
  4. Thank you very much for such a detailed and useful answer! I learned a lot from it for myself! indeed, when I was just starting out, I tried to get rid of the negative review in any way. I spent a lot of time and effort trying to help people who do not want to be helped. but then I got tired of it and ... just turned off all review notifications. Of course, this is an extreme, but life has become a little but easier. if a person has a problem with my product and they needs my help - I am at their service inworld. negative review is not the best way to solve a problem, agree? sometimes I look through the review and here the strength of a bad habit probably worked and I lost my temper a little. As a result, this topic appeared. Sorry, I didn’t want to offend anyone, I wish you all happiness!
  5. Thanks you so much! I always do just that. I am very pleased that you treated me with understanding! I expected that angry posts would start like - "it was better to work on your product" and "the buyer has the right to leave any review in their opinion". (Which is true, of course). just very interesting what if just "lol" is written there? I could not unfortunately find the Spam option. I think the seller’s protection is not organized in the best way. For example, I met a review on a very famous brand product, where it was written simply "Animations look not beautiful." I believe, and this is my personal opinion, such a review is a manifestation of disrespect (my case, for example) since it does not carry any information for other users and is knowingly false, it is misleading. if linden labs leaves such reviews, then they think that I should respect the opinion of this person, and why should I respect the opinion of someone who does not respect me? No, I am not against healthy criticism, and I enjoy reading the "bad" review, which describes the weaknesses and my omissions, this helps to improve the quality of the product. Again, this is just my opinion, and I will be glad to know the opinion of other sellers on this matter. and yes, for me this is more than just work, I perceive it probably too personally... Sorry for a lot of text!
  6. lol probably this topic should have been called "how to put up with a bad review and live on"
  7. Hello! What to do with two words review in a style "doesn't work"? Is it possible to flag such a review and what category does it fall into, if possible? The buyer did not even attempt to contact me. And does not respond to my messages. I know this is hopeless, just interesting
  8. Hello! I think how to create a script that allows you to move from point a to point b, activated when someone sits on object, like a ferry. and then when someone sits down on it again it moves back from b to a. I can use llSetKeyframedMotion, but I read that this method is not very accurate and reliable. are there any other ways?
  9. Thank you so much! You have clarified a lot So I need to duplicate what happens in the listen event to the touch event? But will these two toggles work that way if i just copy it?
  10. Hi! Thanks! Well, everything works as it is (I used Call script for linked buttons too). But can a script just listen to its own commands in this format llSay(...) >>> listen event, or do I need something else like linked message? I just don’t see another reason why it does not listen to itself and I had to use separate script for linked buttons too..
  11. Again a question about the elevator. I'm trying to add a call button from the opposite floor. at the same time, it is possible to start the elevator from the inside. the call buttons work, but it doesn’t start from the inside. why?.. So the elevator must listen to both - the commands sent by the call buttons and the commands sent by itself ... is this possible? or is it easier to make a separate little script for the internal buttons?.. this script is in both call buttons // CALL BUTTON integer iTouched = FALSE; default { touch_start(integer num) { if (!iTouched) { iTouched = TRUE; llSay(-1234567, "Call"); llSleep(3); iTouched = FALSE; } } } and this one is in the elevator itself. integer iTouched = FALSE; integer toggle; default { state_entry() { llListen(-1234567, "", "", ""); // Listen to anybody saying anything on channel -1234567 } touch_start(integer num) { integer button = llDetectedLinkNumber(0); { if (button == 2 || button == 5) { llSay(-1234567, "Call"); llSay(0, "Touched."); } } } listen(integer channel, string name, key id, string msg) { if (!iTouched) { if (msg == "Call") // That is, if the message from the SENDER was "Call" { toggle = !toggle; if (toggle) { iTouched = TRUE; llSetKeyframedMotion([ < 0, 0, 1 > , 1], [KFM_DATA, KFM_TRANSLATION, KFM_MODE, KFM_FORWARD]); llSleep(3); iTouched = FALSE; } else { iTouched = TRUE; llSetKeyframedMotion([ < 0, 0, -1 > , 1], [KFM_DATA, KFM_TRANSLATION, KFM_MODE, KFM_FORWARD]); llSleep(3); iTouched = FALSE; } } } } }
  12. Thanks a lot! Your script is perfect! 😎👍
  13. Hello there! how to make the unpacker not give animations from content? default { touch_start(integer total_number) { integer x; for(x = 0; x < total_number; x++) { if(llDetectedKey(x) == llGetOwner()) { string InvenName; integer InvenNumber = llGetInventoryNumber(INVENTORY_ALL); list InvenList = []; integer y; for(y = 0; y < InvenNumber; y++) { InvenName = llGetInventoryName(INVENTORY_ALL, y); if(InvenName != llGetScriptName()) InvenList += [InvenName]; } llGiveInventoryList(llGetOwner(), llGetObjectName(), InvenList); } } } }
  14. list lButtonNames = ["button1", "button2", "button3", "stop"]; list lAnims = ["anim1", "anim2", "anim3"]; StopAnims() { // list of your animations: llStopAnimation("anim1"); llStopAnimation("anim2"); llStopAnimation("anim3"); } default { state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) { StopAnims(); } } changed(integer change) { if (change & CHANGED_OWNER) { llResetScript(); } } touch_start(integer num) { integer idx = llListFindList(lButtonNames, [llGetLinkName(llDetectedLinkNumber(0))]); if (~idx) // that is, "if idx is a non-negative integer ..." { StopAnims(); // Stop anims regardless of which valid button you clicked if (idx < 3) // that is, "if idx is 0, 1, or 2 ..." { llStartAnimation(llList2String(lAnims, idx)); } } } }
  15. Thank you both a lot! I now have two wonderful working script versions! ❤️ StopAnims() { llStopAnimation("anim1"); llStopAnimation("anim2"); llStopAnimation("anim3"); } default { state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) { StopAnims(); } } changed(integer change) { if (change & CHANGED_OWNER) { llResetScript(); } } touch_start(integer num) { string button = llGetLinkName(llDetectedLinkNumber(0)); { if (button == "button1") { StopAnims(); llStartAnimation("anim1"); } if (button == "button2") { StopAnims(); llStartAnimation("anim2"); } if (button == "button3") { StopAnims(); llStartAnimation("anim3"); } if (button == "stop") { StopAnims(); } } } } string button1 = "button1"; string button2 = "button2"; string button3 = "button3"; string stop = "stop"; StopAnims() { // list of your animations: llStopAnimation("anim1"); llStopAnimation("anim2"); llStopAnimation("anim3"); } default { state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) { StopAnims(); } } changed(integer change) { if (change & CHANGED_OWNER) { llResetScript(); } } touch_start(integer num) { { if (llGetLinkName(llDetectedLinkNumber(0)) == button1) { StopAnims(); llStartAnimation("anim1"); } if (llGetLinkName(llDetectedLinkNumber(0)) == button2) { StopAnims(); llStartAnimation("anim2"); } if (llGetLinkName(llDetectedLinkNumber(0)) == button3) { StopAnims(); llStartAnimation("anim3"); } if (llGetLinkName(llDetectedLinkNumber(0)) == stop) { StopAnims(); } } } }
  16. I took this example from here http://wiki.secondlife.com/wiki/LlGetLinkName and don’t quite understand what this line does for (; i >= 0; --i) and what to do next...
  17. Yes, I just wanted to write about it. avatar reacts strangely to button presses. I added llSay(0, "Touched1") for the test and this is what comes out when any button is pressed [07:18] Object: Touched1 [07:18] Object: Touched2 [07:18] Object: Touched3 string button1 = "button1"; string button2 = "button2"; string button3 = "button3"; string stop = "stop"; StopAnims() { llStopAnimation("anim1"); llStopAnimation("anim2"); llStopAnimation("anim3"); } default { state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) { StopAnims(); } } changed(integer change) { if (change & CHANGED_OWNER) { llResetScript(); } } touch_start(integer num) { integer i = llGetNumberOfPrims(); for (; i >= 0; --i) { if (llGetLinkName(i) == button1) { StopAnims(); llStartAnimation("anim1"); llSay(0, "Touched1"); } if (llGetLinkName(i) == button2) { StopAnims(); llStartAnimation("anim2"); llSay(0, "Touched2"); } if (llGetLinkName(i) == button3) { StopAnims(); llStartAnimation("anim3"); llSay(0, "Touched3"); } if (llGetLinkName(i) == stop) { StopAnims(); } } } }
  18. And yes buttons named button1, etc
  19. Thank you! So i added integer button1 = 5; integer button2 = 4; integer button3 = 3; integer stop = 2; but it says Type mismatch error. Something I am doing wrong. But is it possible to do it without prim numbers at all?
  20. Hello! how to make this script work not from the prim numbers but from the names of the buttons in the hud? (it plays different animations) StopAnims() { llStopAnimation("anim1"); llStopAnimation("anim2"); llStopAnimation("anim3"); } default { state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) { StopAnims(); } } changed(integer change) { if (change & CHANGED_OWNER) { llResetScript(); } } touch_start(integer num) { integer button = llDetectedLinkNumber(0); { if (button == 5) { StopAnims(); llStartAnimation("anim1"); } if (button == 4) { StopAnims(); llStartAnimation("anim2"); } if (button == 3) { StopAnims(); llStartAnimation("anim3"); } if (button == 2) { StopAnims(); } } } } I tried this but it doesn’t work. string button1; string button2; string button3; string stop; StopAnims() { llStopAnimation("anim1"); llStopAnimation("anim2"); llStopAnimation("anim3"); } default { state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) { StopAnims(); } } changed(integer change) { if (change & CHANGED_OWNER) { llResetScript(); } } touch_start(integer num) { integer i = llGetNumberOfPrims(); for (; i >= 0; --i) { if (llGetLinkName(i) == button1) { StopAnims(); llStartAnimation("anim1"); } if (llGetLinkName(i) == button2) { StopAnims(); llStartAnimation("anim2"); } if (llGetLinkName(i) == button3) { StopAnims(); llStartAnimation("anim3"); } if (llGetLinkName(i) == stop) { StopAnims(); } } } }
  21. I got it! no separate buttons check but works! integer iTouched = FALSE; integer toggle; default { touch_start(integer num) { if (!iTouched) { integer button = llDetectedLinkNumber(0); { if (button == 2) { toggle = !toggle; if (toggle) { iTouched = TRUE; llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]); llSetKeyframedMotion([ < 0, 0, 1 > , 3], [KFM_DATA, KFM_TRANSLATION, KFM_MODE, KFM_FORWARD]); llSleep(3); iTouched = FALSE; } else { iTouched = TRUE; llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]); llSetKeyframedMotion([ < 0, 0, -1 > , 3], [KFM_DATA, KFM_TRANSLATION, KFM_MODE, KFM_FORWARD]); llSleep(3); iTouched = FALSE; } } } } } }
  22. Thank you! 😃 Well, here I made a mistake. After reaching the second floor, you can press up again ... and I do not need this at all!.. there will be only two floors. how to apply toggle here? is it possible? integer iTouched = FALSE; default { touch_start(integer num) { if (!iTouched) { integer button = llDetectedLinkNumber(0); { if (button == 2) { iTouched = TRUE; llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]); llSetKeyframedMotion([ < 0, 0, 1 > , 3], [KFM_DATA, KFM_TRANSLATION, KFM_MODE, KFM_FORWARD]); llSleep(3); iTouched = FALSE; } else if (button == 3) { iTouched = TRUE; llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]); llSetKeyframedMotion([ < 0, 0, -1 >, 3], [KFM_DATA, KFM_TRANSLATION, KFM_MODE, KFM_FORWARD]); llSleep(3); iTouched = FALSE; } } } } }
  23. Hey! making the elevator/lift with llSetKeyframedMotion. but if you press the button while moving, then the distance gets borkened. how to "disble buttons" while the elevator is moving? And yet, how to make it work for non-mesh objects linksets? default { touch_start(integer num) { integer button = llDetectedLinkNumber(0); { if (button == 2) { llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]); llSetKeyframedMotion([ < 0, 0, 0 > , 3, < 0, 0, 0.5 > , 3, < 0, 0, 1 > , 3, < 0, 0, 1.5 > , 3, < 0, 0, 2 > , 3], [KFM_DATA, KFM_TRANSLATION, KFM_MODE, KFM_FORWARD]); } else if (button == 3) { llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_PHYSICS_SHAPE_TYPE, PRIM_PHYSICS_SHAPE_CONVEX]); llSetKeyframedMotion([ < 0, 0, 0 > , 3, < 0, 0, -0.5 > , 3, < 0, 0, -1 > , 3, < 0, 0, -1.5 > , 3, < 0, 0, -2 > , 3], [KFM_DATA, KFM_TRANSLATION, KFM_MODE, KFM_FORWARD]); } } } }
×
×
  • Create New...