Jump to content

ainst Composer

Resident
  • Posts

    193
  • Joined

  • Last visited

Everything posted by ainst Composer

  1. Hello! need a scripter. It is necessary to remake the script unpacker script into a two-page hud. on the first page, click gives out the content, turns over to the other side with 5 buttons of social networks. You can either click on these buttons to go to the links or click on an empty space on the hud to remove the hud. possible mesh (8 faces). another layer for the animated texture background - a separate script already exists. The unpacker itself already contains the functions for the invitation to the group, delivery confirmation. for reward. please respond! thanks! integer delivery = 0; ///////////////////// CONFIGURATION ////////////////// key your_uuid = "00000000-0000-0000-0000-000000000000"; // type your key UUID here string PRODUCT_NAME = "Product name here"; string PRODUCT_VERSION = "Version numbers here"; string CREATED_BY = "Creator name here"; string PRODUCT_NAME_TEXT = "Product description here"; string TOUCH_TEXT = "Click Me To Unpack!"; string UNPACKING_TEXT = "Unpacking...please wait"; string SENDING_ITEMS_TEXT = "Unpacked, Now Sending Items..."; string UNAUTHORISED_TEXT = "You are not allowed to unpack this."; string GOOD_BYE_TEXT = "Thank you for your Purchase ! Self-Destruction"; string group_uuid = "00000000-0000-0000-0000-000000000000"; // type the key group here UUID string join_message = "Click here to join our support group:"; // message that appears in the local chat string content = ""; integer SEND_ON_REZ = FALSE;//when set to false, you need to click the box to unpack integer OWNER_ONLY = TRUE;// set to true only the owner can unpack the package integer DIE_AFTER_UNPACK = FALSE;//when set to to true,the package will destroy after it given its inventory //Under this line you can enable or disable the floating texts above your box. integer FLOAT_TEXT_SHOW_PRODUCT_NAME = TRUE; integer FLOAT_TEXT_SHOW_PRODUCT_VERSION = TRUE; integer FLOAT_TEXT_SHOW_CREATED_BY = TRUE; // Here you can change the floating text color. vector TEXT_COLOR = <0.0,1.0,1.0>; //Beyond this point i would not recommend modifications, and there for that is on own risk. DEFINITION_REZ_EFFECTS() { //DEFINITION_Text(FALSE); // Plus whatever else } DEFINITION_Text(integer show) { if(show == TRUE) { string title; if(FLOAT_TEXT_SHOW_PRODUCT_NAME == TRUE) { title += PRODUCT_NAME_TEXT+PRODUCT_NAME+"\n"; } if(FLOAT_TEXT_SHOW_PRODUCT_VERSION == TRUE) { title += PRODUCT_VERSION+"\n"; } if(FLOAT_TEXT_SHOW_CREATED_BY == TRUE) { title += CREATED_BY+"\n"; } title+=TOUCH_TEXT; llSetText(title, TEXT_COLOR, 1.0); } else if(show == FALSE) { llSetText("", ZERO_VECTOR, 0); } } DEFINITION_SEND_ITEMS(key id) { integer i = 0; integer items = llGetInventoryNumber(INVENTORY_ALL); string name; list itemslist; string complete; do { complete = (string)(i*100/items); llSetText(UNPACKING_TEXT+"\n"+complete+"% Complete", TEXT_COLOR, 1.0); name = llGetInventoryName(INVENTORY_ALL, i); if(llStringLength(name) > 0 && name != llGetScriptName()) { itemslist += name; } }while(i++<items); llSetText(SENDING_ITEMS_TEXT+"\nMay take "+(string)((integer)(3*llGetRegionTimeDilation()))+" seconds till you recieve.", TEXT_COLOR, 1.0); string FOLDER_NAME = PRODUCT_NAME+" "+PRODUCT_VERSION; llGiveInventoryList(id, FOLDER_NAME, itemslist); llInstantMessage(id, "The folder is named "+FOLDER_NAME+" in your inventory"); } default { state_entry() { llSetObjectName(PRODUCT_NAME+" "+PRODUCT_VERSION+" (Boxed)"); DEFINITION_Text(TRUE); } on_rez(integer a) { if(delivery == 0){ delivery = 1; llInstantMessage(your_uuid,llGetObjectName()+ " Rezzed by "+ llKey2Name(llGetOwner())); llOwnerSay( join_message + " secondlife:///app/group/" + group_uuid + "/about"); // send invite to group as a link for the recipient to click content = llKey2Name( llGetOwner()) + " has rezzed " + llGetObjectName() ; } DEFINITION_REZ_EFFECTS(); if(SEND_ON_REZ == TRUE) { DEFINITION_SEND_ITEMS(llGetOwnerKey(llGetKey())); } else { DEFINITION_Text(TRUE); } } touch_start(integer d) { if(OWNER_ONLY == TRUE) { if(llDetectedKey(0) == llGetOwnerKey(llGetKey())) { DEFINITION_SEND_ITEMS(llGetOwnerKey(llGetKey())); if(DIE_AFTER_UNPACK == TRUE) { llSetText(GOOD_BYE_TEXT, TEXT_COLOR, 1.0); llSleep(3); llDie(); } DEFINITION_Text(TRUE); } else { llInstantMessage(llDetectedKey(0), UNAUTHORISED_TEXT); } } else if(OWNER_ONLY == FALSE) { DEFINITION_SEND_ITEMS(llGetOwnerKey(llGetKey())); if(DIE_AFTER_UNPACK == TRUE) { llSetText(GOOD_BYE_TEXT, TEXT_COLOR, 1.0); llSleep(3); llDie(); } DEFINITION_Text(TRUE); } } }
  2. Thank you! But how do you know that it is sensor based? I mean, how does the command in a chat connected with the script is based on a sensor? Just curious. And on what should the orb be based with the action on the whole parsel?
  3. Hello! I have a question about security orb. How to set its action on the whole parsel, if there is only an opportunity to specify the range in meters in the chat?
  4. oh so sorry i confused you! in this case i mean chat message.
  5. You have already helped me so much that I am afraid to ask how to make the greeting message be heard only by the visitor and not all around?
  6. Thanks very much! Where should it be located? and will the visitor hear the greeting? { key owner = llGetOwner(); llInstantMessage(owner, "Welcome!"); } I want the carpet to greet them. maybe not in local chat. I am confused........
  7. Hello! A friend gave me a script, but neither she nor I know what it is for. can someone say what the script is and what is it for? (script name: desaparecer despacio) // // USER VARIABLES // // // INTERNAL VARIABLES // vector home; integer penState; float penColor; float color; float ghost; vector originalScale; float sizePercent; integer numAvatarsNearby; vector nearestAvPosition; key ownerKey; vector ownerPosition; // // INTERNAL FUNCTIONS // // move(steps) // move object a number of steps (meters) along its current heading // forward is along the positive x axis // if the pen is down, create a line segment along the path traveled // the line is positioned by its center, which is placed halfway back along the path move(float steps) { vector fwd = llRot2Fwd(llGetRot()) * steps; llSetPos(llGetPos() + fwd); if (penState == TRUE) { if (llGetInventoryType("lineSegment") == INVENTORY_NONE) { llSay(0, "Oops! To draw a line, my inventory needs a lineSegment. You can get one from the Scratch Inventory Box."); } else { integer randomID = llRound(llFrand(99999999)); llRezObject("lineSegment", llGetPos()-fwd/2, <0,0,0>, llGetRot(), randomID); llSay(1, (string)randomID + ":set length:"+ (string)llFabs(steps)); llSay(1, (string)randomID + ":set color:" + (string)penColor); } } } // turnRight(float angle) // turn angle degrees clockwise around the local z axis turnRight(float angle) { angle *= -1; rotation newRot = llEuler2Rot(<0,0,angle> * DEG_TO_RAD); llSetRot(newRot*llGetRot()); } // turnLeft(float angle) // turn angle degrees counterclockwise around the local z axis turnLeft(float angle) { rotation newRot = llEuler2Rot(<0,0,angle> * DEG_TO_RAD); llSetRot(newRot*llGetRot()); } //up(float steps) //move up along the global z axis by steps meters //does not leave a line segment up(float steps) { llSetPos(llGetPos()+<0,0,steps>); } //down(float steps) //move down along the global z axis by steps meters //does not leave a line segment down(float steps) { llSetPos(llGetPos()+<0,0,-1*steps>); } // turnPitch(float angle) // turn angle degrees upward around the local y axis turnPitch(float angle) { angle *= -1; rotation newRot = llEuler2Rot(<0,angle,0> * DEG_TO_RAD); llSetRot(newRot*llGetRot()); } // float getHeading() // return the current heading in the xy plane in degrees float getHeading() { return llRot2Angle(llGetRot())*RAD_TO_DEG; } // setHeading(float angle) // set the heading in the xy plane in degrees setHeading(float angle) { vector newVec = <0, 0, angle*DEG_TO_RAD>; rotation newRot = llEuler2Rot(newVec); llSetRot(newRot); } // turnRoll(float angle) // turn angle degrees clockwise around the local x axis turnRoll(float angle) { rotation newRot = llEuler2Rot(<angle,0,0> * DEG_TO_RAD); llSetRot(newRot*llGetRot()); } // changePenColorBy(float num) // change the pen color by an amount changePenColorBy(float num) { penColor += num; setPenColorTo(penColor); } // setPenColorTo(float num) // set the pen to a particular color setPenColorTo(float num) { penColor = (integer)num % 100; } // penDown() // put the pen down, so that when the object moves it will draw penDown() { penState = TRUE; } // penUp() // put the pen up, so that the object will not draw when it moves penUp() { penState = FALSE; } // clear() // broadcast a message to nearby line segments that will cause them to // delete themselves clear() { llSay(1, "clearLineSegments"); } // pointTowardNearestAv() // turn to point toward the nearest avatar pointTowardNearestAv() { vector myPos = llGetPos(); float xdiff = myPos.x - nearestAvPosition.x; float ydiff = myPos.y - nearestAvPosition.y; float angle = llAtan2(xdiff, ydiff) * RAD_TO_DEG; setHeading(270 - angle); } // pointTowardOwner() // turn to point toward the owner pointTowardOwner() { vector myPos = llGetPos(); float xdiff = myPos.x - ownerPosition.x; float ydiff = myPos.y - ownerPosition.y; float angle = llAtan2(xdiff, ydiff) * RAD_TO_DEG; setHeading(270 - angle); } // float distanceToNearestAv() // returns the distance in meters to the nearest avatar float distanceToNearestAv() { return llVecDist(llGetPos(), nearestAvPosition); } // float distanceToOwner() // returns the distance in meters to the owner float distanceToOwner() { return llVecDist(llGetPos(), ownerPosition); } // float randomMinToMax(float min, float max) // returns a random number between min and max integer randomMinToMax(float min, float max) { return llRound(llFrand(max - min) + min); } // say(string text) // say the text on the public chat channel 0 so all nearby avatars and objects will hear it say(string text) { llSay(0, text); } // broadcast(string message) // say the message on channel 1. No avatars will hear it. // all nearby objects will hear it. broadcast(string message) { llSay(1, message); } // setText(string text) // create opaque white floating text above the object setText(string text) { llSetText(text, <1,1,1>, 1); } // vector hueToRGB(float h) // take a color represented as a hue value between 1 and 100 and // return an RGB vector representing the same color. vector hueToRGB(float h) { integer i; float f; float p; float q; float t; float r; float g; float b; float s = 1; float v = 1; h *= 5; // sector 0 to 5 i = llFloor(h); f = h - i; // factorial part of h p = v * ( 1 - s ); q = v * ( 1 - s * f ); t = v * ( 1 - s * ( 1 - f ) ); if (i == 0) { r = v; g = t; b = p; } else if (i == 1) { r = q; g = v; b = p; } else if (i == 2) { r = p; g = v; b = t; } else if (i == 3) { r = p; g = q; b = v; } else if (i == 4) { r = t; g = p; b = v; } else { r = v; g = p; b = q; } return <r,g,b>; } // setColor(float num) // set the color of the object using a number between 1 and 100 representing a hue setColor(float num) { color = (integer)num % 100; llSetColor(hueToRGB(color / 100), ALL_SIDES); if (llGetObjectName() == "Scratch Bug") { llSetLinkColor(2, hueToRGB(color / 100), ALL_SIDES); } else { //llSetLinkColor(LINK_SET, hueToRGB(color / 100), ALL_SIDES); } } // changeColorBy(float num) // change the hue of the object by a number changeColorBy(float num) { float newColor = color + num; if (newColor < 0) { newColor = 0; } if (newColor > 100) { newColor = 100; } setColor(newColor); } // setGhost(float num) // set the ghost effect of the object to a value between 0 (opaque) and 100 (transparent) setGhost(float num) { ghost = (integer)num % 101; llSetAlpha(((100 - ghost) / 100), ALL_SIDES); llSetLinkAlpha(LINK_SET, ((100 - ghost) / 100), ALL_SIDES); } // changeGhostBy(float num) // change the ghost effect on an object by a number changeGhostBy(float num) { setGhost(ghost + num); } // setSize(float newSize) // set the size of the object to a percentage of its original size setSize(float newSize) { sizePercent = newSize; vector newScale = originalScale*(sizePercent/100); llSetScale(newScale); } // changeSizeBy(float change) // change the size of an object by a percentage of its original size changeSizeBy(float change) { sizePercent += change; vector newScale = originalScale*(sizePercent/100); llSetScale(newScale); } // playSound(string snd) // play a sound at full volume // snd can be the name of a sound in the inventory of the object, or the // UUID of a sound which exists somewhere else playSound(string snd) { llPlaySound(snd, 1); } // playSoundNamed(string snd) // play a sound at full volume // snd can be the name of a sound in the inventory of the object, or the // UUID of a sound which exists somewhere else // this is the version for text input of the name of a sound in a scratch block // so it checks the inventory and gives an error if the sound is missing playSoundNamed(string snd) { if (llGetInventoryType(snd) == INVENTORY_NONE) { llSay(0, "Oops! My inventory does not contain the sound " + snd); } else { llPlaySound(snd, 1); } } // wait(float secs) // pause all execution of this script for some number of seconds wait(float secs) { llSleep(secs); } // levelOut() // remove the x and y rotation components, so that the object is // level with respect to the ground levelOut() { vector myVec = llRot2Euler(llGetRot()); vector newVec = <0, 0, myVec.z>; rotation newRot = llEuler2Rot(newVec); llSetRot(newRot); } // goHome() // move the object back to its home position // home is set the the position of the object when it is created, // and can be set to a new position using setHomeHere() goHome() { llSetPos(home); //levelOut(); } // setHomeHere() // set the home position to the current position setHomeHere() { home = llGetPos(); } // startListening() // listen for messages on both channel 0, the public channel, // and channel 1, where broadcasts are sent startListening() { llListen(0, "", "", ""); llListen(1, "", "", ""); } // initInternal() // do some setup for internal functions // this includes setting various variables to their defaults // clearing text on the object, and turning on // the repeating sensor and timer events initInternal() { setHomeHere(); penState = FALSE; penColor = 0; color = 0; ghost = 0; sizePercent = 100; originalScale = llGetScale(); ownerKey = llGetOwner(); llSetText("", <1,1,1>, 0); llSensorRepeat("", "", AGENT, 96, PI, .1); llSetTimerEvent(.1); startListening(); } initAll() { initInternal(); } timer1(){ wait(15); setGhost(0); wait(0.1); setGhost(0.1); wait(0.1); setGhost(0.3); wait(0.1); setGhost(0.5); wait(0.1); setGhost(1); wait(0.1); setGhost(2); wait(0.1); setGhost(3); wait(0.1); setGhost(4); wait(0.1); setGhost(5); wait(0.1); setGhost(7); wait(0.1); setGhost(10); wait(0.1); setGhost(15); wait(0.1); setGhost(20); wait(0.1); setGhost(25); wait(0.1); setGhost(30); wait(0.1); setGhost(35); wait(0.1); setGhost(40); wait(0.1); setGhost(45); wait(0.1); setGhost(50); wait(0.1); setGhost(55); wait(0.1); setGhost(60); wait(0.1); setGhost(65); wait(0.1); setGhost(70); wait(0.1); setGhost(75); wait(0.1); setGhost(80); wait(0.1); setGhost(85); wait(0.1); setGhost(90); wait(0.1); setGhost(95); wait(0.1); setGhost(96); wait(0.1); setGhost(97); wait(0.1); setGhost(98); wait(0.1); setGhost(99); wait(0.1); setGhost(100); wait(15); setGhost(99); wait(0.1); setGhost(97); wait(0.1); setGhost(95); wait(0.1); setGhost(90); wait(0.1); setGhost(85); wait(0.1); setGhost(80); wait(0.1); setGhost(75); wait(0.1); setGhost(70); wait(0.1); setGhost(65); wait(0.1); setGhost(60); wait(0.1); setGhost(55); wait(0.1); setGhost(50); wait(0.1); setGhost(45); wait(0.1); setGhost(40); wait(0.1); setGhost(35); wait(0.1); setGhost(30); wait(0.1); setGhost(25); wait(0.1); setGhost(20); wait(0.1); setGhost(15); wait(0.1); setGhost(10); wait(0.1); setGhost(7); wait(0.1); setGhost(5); wait(0.1); setGhost(4); wait(0.1); setGhost(3); wait(0.1); setGhost(2); wait(0.1); setGhost(1); wait(0.1); setGhost(0.5); wait(0.1); setGhost(0.3); wait(0.1); setGhost(0); } default { state_entry() { initAll(); } on_rez(integer start_param) { initAll(); } sensor(integer n) { numAvatarsNearby = n; nearestAvPosition = llDetectedPos(0); integer i; for (i=0; i<n; i++) { if (llDetectedKey(i) == ownerKey) { ownerPosition = llDetectedPos(i); } } } touch_start(integer n) { } collision_start(integer n) { } listen(integer channel, string name, key id, string msg) { } timer() { timer1(); } }
  8. @Profaitchikenz Haiku @Rolig Loon @steph Arnott Thanks to you all very much! I also made this script called it a "welcome door carpet". triggered when the visitor collides it. maybe someone will find it useful. As can be seen from the script, it welcomes the visitor, plays the sound and sends the owner a message about the arrival. Also if you have any suggestions about improvement greatly appreciated! //string sound = "ed124764-705d-d497-167a-182cd9fa2e6c"; default { collision_start(integer num) { integer i; llInstantMessage( llGetOwner(), "ALERT! " + llDetectedName(i) + " is visiting." ); llSay (0, "Welcome!"); llPlaySound ("YOUR_SOUND", 1.0); //llTriggerSound(sound, 1.0); } }
  9. Wow! Thanks a lot! Works now! What to do with llListSort? Just replace llListFindList with it?
  10. Thank you more times! Here's what I got. but it gives an error. What have I done wrong? It says: Function call mismatches type or number of arguments. float range = 10.0; // in meters float rate = 1.0; // in seconds integer lAllAvs; default { state_entry() { llSensorRepeat( "", "", AGENT, range, TWO_PI, rate ); } sensor ( integer num) { integer i; while ( i < num ) { if ( !~llListFindList( lAllAvs, [ llDetectedName(i) ] ) ) { lAllAvs += [ llDetectedName(i) ]; llInstantMessage( llGetOwner(), "ALERT! " + llDetectedName(i) + " is visiting." ); } ++i; } } no_sensor() { lAllAvs = []; } }
  11. Hello! thanks very much for answers! just one more question. will be difficult to make the name of an avatar come instead of a word ALERT?
  12. Hello! I am trying to create a script with something like an alarm that sends me a message when someone comes to visit me in my absence. I managed to write something but its not ok. It sends messages all the time while person in range, and I only need one time alert. and at the same time, if a person leaves the range and comes back, the alarm must be triggered again. how to do it? That's what i managed to write so far float range = 10.0; // in meters float rate = 10.0; // in seconds default { state_entry() { llSensorRepeat( "", "", AGENT, range, TWO_PI, rate ); } sensor( integer number_detected ) { llInstantMessage( llGetOwner(), "ALERT!" ); } }
  13. hi! if you like music you can be a dj for example, dancer or host. just search for any club, go there and ask owner for a job. some clubs have a dropboxes with survey notecards or something. but you will need a stream, streaming software and some streaming knowledges. good staff can teach you how to. most wanted dj's using mic/voice. i was a dj at my start, it was real fun! good luck!
  14. hi sarah! what do you want to be built? im not a pro, just curious.
  15. hello, help create such a character as in the picture. I want her to look like a boy, but female. I do not know what to do. better default shape and skin (not mesh) but mesh hair and clothes. It seems to be called tomboi. (Boyish girl?) Can someone at the level of the hobby know how to make shapes? what do you advise? I'm just not know how to create a character of a girl looking like a boy ... So it dont look freakish
  16. wow! really? didnt knew it!
  17. oh what platform it being made for?
  18. Hello! I am looking for very short female hair of blue color, as in the picture, maybe with a longer bang. I'm looking for on the market and i know lots of hair brands but if someone knows exactly this model or similar please info.
  19. Yes i was puzzled too about not-running! However, the problem is solved, minor changes were needed. Thank's
  20. Hello! Question to experienced scripters. Has anyone ever worked with RCX flight scripts? I have this Land Light script. Its for the prim cone of light. In the off state it is a small cone but when it is turned on it increases. And I want to redo it into a simple light source (no cone prim). I need to remove all the excess that affects the size of my light source and leave only the turning on/off the parameters of light. What needs to be removed? Can anyone help? /** * @author(s): Reconx86 * @created: 2016.04.12 * * RCX Landing Lights: * A script too manage Landing Lights * * @license: * You are allowed to share this script full-perm with others and even use it in your own projects. * But do not sell the script seperately nor as part of a script package */ integer lLandLight; integer rLandLight; string objName = "landing light"; integer links; integer objTotal; list lstPrimNames; rcxGetNames() { lstPrimNames = []; integer link_nr; integer links = llGetNumberOfPrims(); for (link_nr = 0; link_nr <= links; link_nr++) { lstPrimNames += [llGetLinkName(link_nr)]; } } integer rcxName2Link (string prim_name) { integer link_nr = llListFindList(lstPrimNames, [prim_name]); if (link_nr == -1) { link_nr = llGetListLength(lstPrimNames); llOwnerSay(llGetScriptName() + ": Prim \"" + prim_name + "\" not found"); } return link_nr; } lightsOn(integer num, integer navSide) { list params; params = [ PRIM_GLOW, ALL_SIDES, num * 0.1, PRIM_POINT_LIGHT, num, <1.0, 1.0, 0.0>, //reflection/tint 1.0, 2, 0.5, PRIM_COLOR, ALL_SIDES, <0.0, 0.5, 1.0>, num * 0.07//Light transparancy ]; if (num) {//When lights are turned on this returns TRUE params += [ PRIM_POS_LOCAL, <16.4, navSide * 3.5, -2.64>, PRIM_SIZE, <5.00000, 5.00000, 30.00000> ]; } else {//Executes when lights are turned off params += [ PRIM_POS_LOCAL, <3.9, navSide * 3.5, 0.0>, PRIM_SIZE, <1.00000, 1.00000, 1.00000> ]; } if (~navSide) { llSetLinkPrimitiveParamsFast(lLandLight, params); llSetLinkAlpha(lLandLight, 0.0, 0); } else { llSetLinkPrimitiveParamsFast(rLandLight, params); llSetLinkAlpha(rLandLight, 0.0, 0); } } default { state_entry() { links = llGetObjectPrimCount(llGetKey()); rcxGetNames(); lLandLight = rcxName2Link("RCX Landing Light (Port)"); rLandLight = rcxName2Link("RCX Landing Light (Starboard)"); lstPrimNames = []; } link_message(integer sender, integer num, string msg, key id) { if (msg == "#landing_light") { lightsOn(num, 1); lightsOn(num, -1); llSetScriptState(llGetScriptName(), FALSE); } } }
  21. Hi! Is it possible to animate light texture option (next to light color window) in the features tab (advanced lighting) with SCRIPT and how? Not flickering or intensity stuff, I want to use animated "gif" texture.
  22. So can I animate the texture of light or not? and where is the right wiki page? i dont want it to blink, i need to animate texture. like a cinema projector for example.
  23. Hi! Is it possible to animate light texture option in the features tab with script and how? Not just flickering, I want to use gif texture.
×
×
  • Create New...