Jump to content

BornCrazed

Resident
  • Posts

    8
  • Joined

  • Last visited

Reputation

0 Neutral

Recent Profile Visitors

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

  1. Okay, so building a drag strip for motorcycles. The start tree lighting system was cake. I just used anim texture with black. However, I cannot for the life of me figure out how to script a finish line. I just want a prim on the ground that when an avatar walks or drives over it, it says "Winner" in open chat. I've tried modifying a ton of scripts. I've looked for scripts on google. I've tried writing my own. Surely I'm over thinking this. Can someone help me out?
  2. Looking for like minded scripters and builders who want to join my Motorcycle club. Non-Rp club. Just a social group. Also see below. Two seperate scripts. Watch for the cut-off line. One is advanced radar and another is online status of sim residents. So you can know who is in your vicinity and who is online in the sim including the land owner. Great for just getting a feel for a place or learning about your neighbors. Drop both scripts in a single prim. Wear or Rez. Message me in-world if you want to hang out or join my mc. integer glow = TRUE; integer bounce = FALSE; integer interpColor = TRUE; integer interpSize = TRUE; integer wind = FALSE; integer followSource = FALSE; integer followVel = FALSE; // Choose a pattern from the following: // PSYS_SRC_PATTERN_EXPLODE // PSYS_SRC_PATTERN_DROP // PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY // PSYS_SRC_PATTERN_ANGLE_CONE // PSYS_SRC_PATTERN_ANGLE integer pattern = PSYS_SRC_PATTERN_ANGLE_CONE; key target = ""; float age = 4; float minSpeed = 0; float maxSpeed = 0; string texture = ""; float startAlpha = 1; float endAlpha = 1; vector startColor = <1,1,1>; vector endColor = <1,1,1>; vector startSize = <.1,.1,.02>; vector endSize = <.1,.1,.6>; vector push = <0,0,0>; float rate = .01; float radius = .2; integer count = 50; float outerAngle = 0; float innerAngle = PI; vector omega = <5,5,5>; integer flags; updateParticles() { if (target == "owner") target = llGetOwner(); if (target == "self") target = llGetKey(); if (glow) flags = flags | PSYS_PART_EMISSIVE_MASK; if (bounce) flags = flags | PSYS_PART_BOUNCE_MASK; if (interpColor) flags = flags | PSYS_PART_INTERP_COLOR_MASK; if (interpSize) flags = flags | PSYS_PART_INTERP_SCALE_MASK; if (wind) flags = flags | PSYS_PART_WIND_MASK; if (followSource) flags = flags | PSYS_PART_FOLLOW_SRC_MASK; if (followVel) flags = flags | PSYS_PART_FOLLOW_VELOCITY_MASK; if (target != "") flags = flags | PSYS_PART_TARGET_POS_MASK; llParticleSystem([ PSYS_PART_MAX_AGE, age, PSYS_PART_FLAGS, flags, PSYS_PART_START_COLOR, startColor, PSYS_PART_END_COLOR, endColor, PSYS_PART_START_SCALE, startSize, PSYS_PART_END_SCALE, endSize, PSYS_SRC_PATTERN, pattern, PSYS_SRC_BURST_RATE, rate, PSYS_SRC_ACCEL, push, PSYS_SRC_BURST_PART_COUNT, count, PSYS_SRC_BURST_RADIUS, radius, PSYS_SRC_BURST_SPEED_MIN, minSpeed, PSYS_SRC_BURST_SPEED_MAX, maxSpeed, PSYS_SRC_TARGET_KEY, target, PSYS_SRC_INNERANGLE, innerAngle, PSYS_SRC_OUTERANGLE, outerAngle, PSYS_SRC_OMEGA, omega, PSYS_SRC_TEXTURE, texture, PSYS_PART_START_ALPHA, startAlpha, PSYS_PART_END_ALPHA, endAlpha ]); } integer gIsOnline = FALSE; integer gLandOwner = FALSE; key gKey = NULL_KEY; string gName = ""; float UPDATE_INTERVAL = 5.0; updateStatus(string s){ key k = llGetLandOwnerAt(llGetPos()); if(s=="1"){ gIsOnline = TRUE; }else{ gIsOnline = FALSE; } } key getWhom(){ if(gKey == NULL_KEY){ if(gLandOwner){ return llGetLandOwnerAt(llGetPos()); }else{ return llGetOwner(); } }else{ return gKey; } } doUpdate(){ llRequestAgentData(getWhom(),DATA_ONLINE); } updateName(){ llRequestAgentData(getWhom(),DATA_NAME); } enable(){ updateName(); doUpdate(); llSetTimerEvent(1); llWhisper(0,"Online status display enabled."); } disable(){ llSetTimerEvent(0); llSetText("Display Disabled",<1,1,1>,1); llSetColor(<0,0,1>,ALL_SIDES); startColor = <0,0,1>; endColor = <0,0,1>; updateParticles(); llWhisper(0,"Online status display disabled."); } default { state_entry() { llListen(0, "", llGetOwner(), ""); enable(); llWhisper(0,"Type /ol help for a list of commands"); } on_rez(integer n){ llResetScript(); } dataserver(key req, string data){ if(data == "1" || data == "0"){ updateStatus(data); }else{ gName = data; llSetText("Getting online status for " + gName,<1,1,1>,1); llSetColor(<0,0,1>,ALL_SIDES); startColor = <0,0,1>; endColor = <0,0,1>; updateParticles(); llSetTimerEvent(UPDATE_INTERVAL); } } timer(){ doUpdate(); if(gIsOnline){ llSetText(gName + " is Online",<1,1,1>,1); llSetColor(<0,1,0>,ALL_SIDES); startColor = <0,1,0>; endColor = <0,1,0>; updateParticles(); }else{ llSetText(gName + " is Offline",<1,1,1>,1); llSetColor(<1,0,0>,ALL_SIDES); startColor = <1,0,0>; endColor = <1,0,0>; updateParticles(); } } listen(integer number, string name, key id, string msg){ if (llGetSubString(msg, 0,0) != "/"){ return; } list argv = llParseString2List(msg, [" "], []); integer argc = llGetListLength(argv); string cmd = llToLower(llList2String(argv, 0)); if(cmd == "/ol"){ string arg = llToLower(llList2String(argv, 1)); if(arg=="on"){ enable(); }else if(arg=="off"){ disable(); }else if(arg=="land"){ gLandOwner = TRUE; gKey = NULL_KEY; updateName(); }else if(arg=="key"){ gKey = llList2Key(argv,2); updateName(); }else if(arg=="me"){ gLandOwner = FALSE; gKey = NULL_KEY; updateName(); }else if(arg=="help"){ llWhisper(0,"/ol on - activate online status display"); llWhisper(0,"/ol off - disable online status display"); llWhisper(0,"/ol land - display online status for owner of this land"); llWhisper(0,"/ol me - display your online status"); } } } } ---------------Start New Script----------------------- integer i; vector Vec; integer IntX; integer IntY; integer IntZ; //string Position; vector Pos; string Compass; float Angle; float Opposite; float Hypotenuse; string Distance; string Output; vector Color = <.2, .8, .4>; default { state_entry() { llSetTexture("accda64a-d338-040d-1842-ffbf9780da9b", ALL_SIDES); llSetScale(<0.1, 0.1, 0.1>); llSetObjectName("Avatar Radar"); llTargetOmega(<1,0,0>, -PI/4, 1); llSensorRepeat("", NULL_KEY, AGENT, 96, PI, 0.1); } sensor(integer num_detected) { Output = ""; for (i = 0; i < num_detected; ++i) { Compass = ""; Vec = llDetectedPos(i); //IntX = (integer)Vec.x; //IntY = (integer)Vec.y; //IntZ = (integer)Vec.z; //Position = "<" + (string)IntX + ", " + (string)IntY + ", " + (string)IntZ + ">"; Distance = (string)llRound(llVecDist(llGetPos(), llDetectedPos(i))); Vec.z = 0; Pos = llGetPos(); Pos.z = 0; Opposite = Vec.y - Pos.y; Hypotenuse = llVecDist(Vec, Pos); if(Hypotenuse == 0) { Hypotenuse = 0.01; } Angle = llAsin(Opposite/Hypotenuse) * (180/PI); if((Angle >= 22.5) && (Angle <= 90)) { Compass = "N"; } if((Angle <= -22.5) && (Angle >= -90)) { Compass = "S"; } if(((Angle >= -67.5) && (Angle <= 67.5)) && (Vec.x < Pos.x)) { Compass = Compass + "W"; } if(((Angle >= -67.5) && (Angle <= 67.5)) && (Vec.x > Pos.x)) { Compass = Compass + "E"; } Output = Output + llDetectedName(i) + " (" + Compass + " @ " + Distance + "m)\n"; } llSetText(Output, Color, 1); } no_sensor() { llSetText("No Avatars in range", Color, 1); } }
  3. I'm starting an mc. If you got building skills, we'll gladly take you on.
×
×
  • Create New...