Jump to content

Natsely Amaterasu

Resident
  • Posts

    8
  • Joined

  • Last visited

Reputation

1 Neutral

Recent Profile Visitors

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

  1. Ok, I have something working. I edited Ezian Ecksol's Camjumper script to make it activate when one sits on the object and when at the location it removes and dies. I originally had it so people could touch it and then it would attach to them and take them to the desired location but forgot that only the owner can attach it. Here is the code: // CamJumper (Dash)// © Ezian Ecksol. Use, modify, steal or sale as you like. Keep credits.//// usage: attach anywhere. Say /1 jc // to jump to cam position. works also to neighbour sims.// doesnt work most of the time if flying. integer jump_max=63;integer chan = 1;key user; integer wouldGoOffWorld(vector here, vector there) { if (there.x < 0. || there.x >= 256. || there.y < 0. || there.y >= 256.) return llEdgeOfWorld(here, there - here); else return FALSE;} jumpto(vector to, float time) { vector e; vector from; vector s; float d; integer i; integer j; vector from0; vector region0; vector region; from = llGetPos(); if (!wouldGoOffWorld(from, to)) { region0 = llGetRegionCorner()/256.; do { region = llGetRegionCorner()/256.; if (region != region0) { if (region.x > region0.x) to.x -= 256.; else if (region.x < region0.x) to.x += 256.; if (region.y > region0.y) to.y -= 256.; else if (region.y < region0.y) to.y += 256.; } from0 = from; region0 = region; d = llVecDist(from, to); j = (integer)(d / jump_max)+1; e = from + (to - from) / (float)j; //llOwnerSay("j="+(string)j+", d="+(string)d+", to="+(string)to); llMoveToTarget(e, time); llSleep(.5); from = llGetPos(); } while ((llVecDist(from, to) > 3.) && (llVecDist(from0, from) > 6.)); llStopMoveToTarget(); llRequestPermissions(user, PERMISSION_ATTACH); llDetachFromAvatar(); llDie(); } else llOwnerSay("Destination is - or would cross - off-world."); } default { state_entry() { llSetText("CLick to be taken to the Actigraph area", <0,1,0>,1); llSitTarget(<0,0,0.1>, llEuler2Rot(<0,0,90> * DEG_TO_RAD)/llGetRot()); } run_time_permissions(integer perm) { if (perm & PERMISSION_ATTACH) { llAttachToAvatar(ATTACH_LLARM); } if (perm & PERMISSION_TRACK_CAMERA) { llSay(-99, "gone"); llSetText("Moving...", <0,1,0>,1); llSetStatus(STATUS_PHYSICS, TRUE); llSetStatus(STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z,FALSE); jumpto(<363,203,97.7>, 1.05); } else llOwnerSay("Did not get permissions, failed."); } changed(integer change) { if(change & CHANGED_LINK) { key user = llAvatarOnSitTarget(); if(user) { llRequestPermissions(user, PERMISSION_TRACK_CAMERA); } } } on_rez(integer start_param) { llResetScript(); }} Any constructive criticism accepted.
  2. Thanks, I'll try both of them out and let you know.
  3. It does have a telehub, which does explain the location of my teleports. EDIT: The owner of the islands seems to be able to teleport between the locations just fines but I've tried different accounts and only the owner seems to have this desired effect. Any clues?
  4. I've tried both solutions suggested by Roliq but both seem to only teleport me to the middle of the island. I need to teleport to the specific place. While I know how to move around in SL, I'm building this for people who have a harder time adapting to moving in SL. Also, teaching people who rarely use SL or have never tried playing games on a computer to attach somerthing extra is something I woulld like to avoid. EDIT: I've tried numerous postions now and it seems that some locations I can go to directly and some seem to take me to a different location than specified.
  5. Hello, I've been trying to modify a teleport script, given to me by a friend that has worked really well for inside teleporting, to teleport me across into another Island (my group owns both islands and they are next to each other). I've had minor success, but more than avarage it gets me to place then I freeze and wiggle in place. I'm able to rotate but not move. At worst I'm teleported into water and just keep bouncing of the ground till I teleport home. Below is the edited teleport script. The thing I'm doing is grabing the distance for an edge from the other island to the desire location in that island and adding it the edge location. Thanks for any help. //replace the three numbers in following line with the target coordinates //teleport only works within the same sim (no crossing sim borders) //max teleport distance around 300 meters vector desiredLoc = <94.123,208,97.333>; // Where I want to go vector island2Edge = <2,127,34>; // These edges are together vector island1Edge =<265,127,34>;// 2Edge is the edge of the island // where the desiredLoc is and 1Edge // is the edge of the island I'm currently // on. vector target; vector offset; default { on_rez(integer params) { offset = (target- llGetPos()) * (ZERO_ROTATION / llGetRot()); llSitTarget(offset, ZERO_ROTATION); } state_entry() { target = island1Edge + (desiredLoc-island2Edge); llSay(0, (string)target); offset = (target- llGetPos()) * (ZERO_ROTATION / llGetRot()); llSetSitText("Teleport"); llSitTarget(offset, ZERO_ROTATION); } changed(integer change) { // something changed if (change & CHANGED_LINK) { // and it was a link change llSleep(0.5); // llUnSit works better with this delay if (llAvatarOnSitTarget() != NULL_KEY) { // somebody is sitting on me llSleep(10); llUnSit(llAvatarOnSitTarget()); // unsit him } } } touch_start(integer i) { llSay(0, "Please right-click and select Teleport"); } }
×
×
  • Create New...