Jump to content

DarkEmperor13

Resident
  • Content Count

    171
  • Joined

  • Last visited

Community Reputation

3 Neutral

About DarkEmperor13

  • Rank
    Advanced Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hi I'm in need of a model with the ebody full version. I am trying to use an autohide script and it only works with the full version. I dont have money, but I am willing to give whoever accepts this a copy of the outfit free of charge as payment. Let me know in-world
  2. DarkEmperor13

    A Shield

    Hi I know some one who keeps using some sort of magic hud that they use to keep rezzing an object that follows me around even when they aren't on the same sim with me. I am looking for a shield that either 1) force returns it no matter the privileges or whatever. 2) deletes it without returning to owner or 3) prevents it from following me
  3. Ik there are threads for this, but I don't know which one this would fit in. I'm wanting to purchase cheap empty land between 100L and 400L with lots of prims and if possible, big in size. plz let me know if someone knows of where I can find such.
  4. that's exactly what I meant! See I have this outfit that is a linkset. So how do u link multiple huds together in the way u are referring to?
  5. except they are in the contents otherwise it would just say cannot find this animation or sound
  6. thats all it says and to ur question before rolig, its the popup error window
  7. so ur saying that its caused by the control event constantly triggered?
  8. Hiya I've made a go kart and trying to figure out this error; "Too many errors... dropping further messages until the flood stop". My script is as followed: //Feel free to modify these basic parameters to suit your needs. float forward_power = 20; //Power used to go forward (1 to 30) float reverse_power = -15; //Power ued to go reverse (-1 to -30) float turning_ratio = 4.0; //How sharply the vehicle turns. Less is more sharply. (.1 to 10) string sit_message = "Jump In!"; //Sit message string not_owner_message = "You are not the owner of this vehicle ..."; //Not owner message //Anything past this point should only be modfied if you know what you are doing string last_wheel_direction; string cur_wheel_direction; default { state_entry() { llSitTarget(<0,0,.2>,llEuler2Rot(<0.0,0.0,0>*DEG_TO_RAD)); llSetSitText(sit_message); llSetCameraEyeOffset(<-10.0, 0.0, 2.0> ); llSetCameraAtOffset(<10.0, 0.0, 2.0> ); //car llSetVehicleType(VEHICLE_TYPE_CAR); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.2); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.80); llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 0.10); llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 0.10); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0); llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 0.2); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.1); llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 0.5); llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <1000.0, 2.0, 1000.0> ); llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <10.0, 10.0, 1000.0> ); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.50); llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 0.50); } changed(integer change) { if (change & CHANGED_LINK) { key agent = llAvatarOnSitTarget(); if (agent) { if (agent != llGetOwner()) { llSay(0, not_owner_message); llUnSit(agent); llPushObject(agent, <0,0,50>, ZERO_VECTOR, FALSE); } else { llTriggerSound("Kart Start",1); llSleep(.4); llSetStatus(STATUS_PHYSICS, TRUE); llSleep(.1); llRequestPermissions(agent, PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS); llSetTimerEvent(0.1); llLoopSound("Kart Idle",1); } } else { llSetTimerEvent(0); llStopSound(); llSetStatus(STATUS_PHYSICS, FALSE); llSleep(.1); llSleep(.4); llReleaseControls(); llResetScript(); } } } run_time_permissions(integer perm) { if (perm) { llStartAnimation("Go Kart Sit"); llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_DOWN | CONTROL_UP | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT, TRUE, FALSE); } } control(key id, integer level, integer edge) { integer reverse=1; vector angular_motor; //get current speed vector vel = llGetVel(); float speed = llVecMag(vel); //car controls if(level & CONTROL_FWD) { llLoopSound("Kart Drive 03", 1); cur_wheel_direction = "WHEEL_FORWARD"; llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <forward_power,0,0> ); reverse=1; } if(edge & CONTROL_FWD) { llLoopSound("Kart Idle",1); } if(level & CONTROL_BACK) { cur_wheel_direction = "WHEEL_REVERSE"; llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION, <reverse_power,0,0> ); reverse = -1; } if(level & (CONTROL_RIGHT|CONTROL_ROT_RIGHT)) { llStartAnimation("Go Kart Right"); angular_motor.z -= speed / turning_ratio * reverse; } if(edge & (CONTROL_RIGHT|CONTROL_ROT_RIGHT)) { llStopAnimation("Go Kart Right"); } if(level & (CONTROL_LEFT|CONTROL_ROT_LEFT)) { llStartAnimation("Go Kart Left"); angular_motor.z += speed / turning_ratio * reverse; } if(edge & (CONTROL_LEFT|CONTROL_ROT_LEFT)) { llStopAnimation("Go Kart Left"); } llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION, angular_motor); } //end control timer() { if (cur_wheel_direction != last_wheel_direction) { } } } //end default
  9. I have a Color Picker HUD script but from the looks of it, it only colors one prim/mesh. What I want is something like with the catwa hud for example where u can select parts and then choose the color. So far I have only seen ones that do only one prim per script. Is there one that can do this?
  10. Hi i'm trying to add a menu to my vehicle that lets u change gears, unlock/lock vehicle and etc etc. I have only found one script that supposedly does it; // :CATEGORY:Menu // :NAME:ButtonAbstractionLayer // :AUTHOR:Francisco V. Saldana // :CREATED:2010-01-10 05:20:56.000 // :EDITED:2013-09-18 15:38:49 // :ID:134 // :NUM:200 // :REV:1.0 // :WORLD:Second Life // :DESCRIPTION: // Button-Abstraction-Layer.lsl // :CODE: // ButtonAbstractionLayer // This script is responsible for monitoring touchable linked prims ("buttons") // It also implements the ability to toggle button availability // via its enableButton and disableButton link_message events. // Copyright (C) 2005-2006 Francisco V. Saldana // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version 2 // of the License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // // Francisco V. Saldana can be contacted using his email account // username: dressedinblue, at domain: gmail.com // and in Second Life by IMming Christopher Omega // Library functions: // Replaces the list elements in dest with elements in src, starting at start. // For example, if dest was [A, B, C, D], src was [E, F] and start was 1, // the list returned would be [A, E, F, D]. // If llGetListLength(src) + start > llGetListLength(dest), the returned list length // will be greater then dest list's length. string NULL = ""; list replaceListSlice(list dest, list src, integer start) { if (llGetListEntryType(dest, start - 1) == TYPE_INVALID) { integer len; for(len = llGetListLength(dest); len < start; len++) { dest += NULL; } } integer srcLen = llGetListLength(src); return llListInsertList(llDeleteSubList(dest, start, start + srcLen - 1), src, start); } integer wildcardPatternMatches(string str, string pattern) { string firstChar = llGetSubString(pattern, 0, 0); string lastChar = llGetSubString(pattern, -1, -1); if (firstChar == "%") { if (lastChar == "%") { pattern = llGetSubString(pattern, 1, -2); return llSubStringIndex(str, pattern) != -1; } else { pattern = llDeleteSubString(pattern, 0, 0); return llSubStringIndex(str, pattern) == llStringLength(str) - llStringLength(pattern); } } else if (lastChar == "%") { pattern = llGetSubString(pattern, 0, -2); return llSubStringIndex(str, pattern) == 0; } else { return str == pattern; } } list enabledButtonNamePatterns = []; integer numPatterns = 0; integer isEnabled(string buttonName) { integer patternIndex = 0; for (patternIndex = 0; patternIndex < numPatterns; patternIndex++) { string pattern = llList2String(enabledButtonNamePatterns, patternIndex); if (wildcardPatternMatches(buttonName, pattern)) { return TRUE; } } return FALSE; } // ============ llDetected* Related ============ integer DETECTED_KEY = 1002; integer DETECTED_LINK_NUMBER = 1003; integer DETECTED_NAME = 1004; integer DETECTED_POS = 1006; integer DETECTED_ROT = 1007; list collectDetectedData(integer toucher) { return [ DETECTED_KEY, llDetectedKey(toucher), DETECTED_LINK_NUMBER, llDetectedLinkNumber(toucher), DETECTED_NAME, llDetectedName(toucher), DETECTED_POS, llDetectedPos(toucher), DETECTED_ROT, llDetectedRot(toucher) ]; } // ============================================= list curFilter = []; // This function must be executed in a touch_start event. // it compares values in the curFilter list with values // from the llDetected* functions, to see if the toucher is not // filtered. integer isTouchAllowed(integer toucher) { if (curFilter == []) { return TRUE; } integer filterIndex; filterIndex = llListFindList(curFilter, [(string) DETECTED_KEY]); if (filterIndex != -1) { if (llList2String(curFilter, filterIndex + 1) != (string) llDetectedKey(toucher)) return FALSE; } filterIndex = llListFindList(curFilter, [(string) DETECTED_NAME]); if (filterIndex != -1) { if (llList2String(curFilter, filterIndex + 1) != (string) llDetectedName(toucher)) return FALSE; } return TRUE; } // ========== For method invocation ========== string randomStr(string chars, integer len) { integer numChars = llStringLength(chars); string ret; integer i; for (i = 0; i < len; i++) { integer randIndex = llFloor(llFrand(numChars)); ret += llGetSubString(chars, randIndex, randIndex); } return ret; } string SEPERATOR_CHARS = "`~!@#$%^&*()-_+[]{}|'";/?.>,<"; integer SEPERATOR_LEN = 3; string dumpList2String(list src) { // Generate a seperator not present in any of the // elements in the list. string chars = (string) src; // Squashes all elements together. string seperator; do { seperator = randomStr(SEPERATOR_CHARS, SEPERATOR_LEN); } while (llSubStringIndex(chars, seperator) != -1); return seperator + llDumpList2String(src, seperator); } list parseStringKeepNulls(string src) { // The seperator should be the first SEPERATOR_LEN // characters in the string. return llParseStringKeepNulls(llDeleteSubString(src, 0, SEPERATOR_LEN - 1), [llGetSubString(src, 0, SEPERATOR_LEN - 1)], []); } callMethod(integer callId, string methodName, list parameters) { llMessageLinked(LINK_THIS, callId, dumpList2String(parameters), methodName); } returnValue(string methodName, integer methodIdentifyer, list value) { llMessageLinked(LINK_THIS, methodIdentifyer, dumpList2String(value), methodName + "_ret"); } // ============================================= trigger_buttonPressed(string buttonName, list detectedData) { callMethod(0, "buttonPressed", [buttonName, dumpList2String(detectedData)]); } trigger_buttonReleased(string buttonName, list detectedData) { callMethod(0, "buttonReleased", [buttonName, dumpList2String(detectedData)]); } trigger_reregisterButtons() { callMethod(0, "reregisterButtons", []); } trigger_pong(string moduleName) { callMethod(0, "pong", [moduleName]); } string this; default { state_entry() { this = llGetScriptName(); trigger_reregisterButtons(); llPassTouches(TRUE); } link_message(integer sender, integer num, string parameters, key methodName) { if (methodName == "addButtonListener") { list paramList = parseStringKeepNulls(parameters); // addButtonListener(string buttonNamePattern) string buttonNamePattern = llList2String(paramList, 0); if (llListFindList(enabledButtonNamePatterns, [buttonNamePattern]) == -1) { enabledButtonNamePatterns += buttonNamePattern; numPatterns = llGetListLength(enabledButtonNamePatterns); } } else if (methodName == "removeButtonListener") { list paramList = parseStringKeepNulls(parameters); // removeButtonListener(string buttonNamePattern) string buttonNamePattern = llList2String(paramList, 0); integer patternIndex = llListFindList(enabledButtonNamePatterns, [buttonNamePattern]); if (patternIndex != -1) { enabledButtonNamePatterns = llDeleteSubList(enabledButtonNamePatterns, patternIndex, patternIndex); numPatterns = llGetListLength(enabledButtonNamePatterns); } } else if (methodName == "touchFilter") { list paramList = parseStringKeepNulls(parameters); // Method signature: // touchFilter(list rules) // Rules is a list of DETECTED_* values that we // use to filter touch_start events. list rules = parseStringKeepNulls(llList2String(paramList, 0)); curFilter = rules; } else if (methodName == "ping") { list paramList = parseStringKeepNulls(parameters); // Method signature: // ping(string moduleName) string moduleName = llList2String(paramList, 0); if (moduleName == this) trigger_pong(this); } } touch_start(integer total_number) { // In case of griefers who spam touch a button to try and make the terminal // ignore the user, search through the list of touchers until the script finds // one that the touchfilter will accept. integer i; for(i = 0; i < total_number; i++) { if (isTouchAllowed(i)) { integer linkNumber = llDetectedLinkNumber(i); string linkName = llGetLinkName(linkNumber); if (isEnabled(linkName)) { trigger_buttonPressed(linkName, collectDetectedData(i)); } return; } } } touch_end(integer total_number) { integer i; for(i = 0; i < total_number; i++) { if (isTouchAllowed(i)) { integer linkNumber = llDetectedLinkNumber(i); string linkName = llGetLinkName(linkNumber); if (isEnabled(linkName)) { trigger_buttonReleased(linkName, collectDetectedData(i)); } return; } } } } // end The problem is.... What the heck is all this?! Like, none of it makes any sense to me. I even tried to put it in my vehicle and touch it but nothing happens. I'm ripping my hair out (even tho I don't have enough to rip out atm) and I really need help. So if someone can tell me exactly how to do it instead of giving hints or if someone is willing to share a copy of script with me then id be so happy and grateful!
  11. Hi I need help with a script. I am trying to figure out how to make an ao that lets you have (for example) more than one jump that cycles between or more than one stand. Something similar to daiz papp's oracul ao's.
  12. well I was going to change it. I just wanted to make sure it works. Now is there a way to exclude the owner?
  13. I need some help. I'm trying to make a turret that when senses a player, it points at them. I got the whole rotation thing down. default { state_entry() { llSensorRepeat("", NULL_KEY, AGENT, 15.0, PI, 0.2); llSetLinkColor(LINK_THIS, <0,1,0>, ALL_SIDES); } sensor(integer num_detected) { llSetLinkColor(LINK_THIS, <1,0,0>, ALL_SIDES); } no_sensor() { llResetScript(); } } See, I also have a part of the turret that changes between red and greem. Green = Anonymous/Passive & Red = Detected/Hostile. I got the turn red when detected player worked out, but I cant seem to make it go back to green when a player leaves its detection field.
  14. Hi I'm very curious about something. I have seen in my time animations for women where the hips sway when they walk/run. I went into blender and fiddled with the volume bones of avastar and made an animation where the hips actually move. But when I uploaded the animation, the volume bones I edited don't move. Mind u have gone back and tried just using the regular bones but when I tried position the bones to make it look like a hip sway, I cant get the legs to level with one another. how do I do this? or is this only something that can be done using motion capture?
×
×
  • Create New...