Breakable door

Version 1.00

The Delta Project Breakable Door is designed as a roleplay door that allows you the privacy of a fully featured security door while at the same time allowing enemies to break into your space on conditions you set. It is intended especially for roleplay sims where ordinary security doors are not allowed, but can be used as a roleplay tool anywhere in Second Life.


Features

  • Fully texturable and sizable
  • Configurable access (list only, group, public or scripted)
  • Door can vanish, rotate or slide.
  • Door can be broken by impact
  • Optional password
  • Customizable fragments when door is broken
  • All messages can be configured
  • Copy - buy once and rezz as many as you like
  • Free updates for life

Quick start instructions

  1. Rezz the box, open it and copy the contents to inventory.
  2. Find the folder called '[Delta] Breakable door v1.00'
  3. Rezz the object 'Breakable door'

Manual

  1. Setting up the door
  2. Configuring appearance
  3. Settings reference

1. Setting up the door

Rezz the door and move it to where you want it. As shipped, the door slides to open. Move the door where you want it. Now (and any time you move the door) you must reset it. The simplest way to do this is to select the door and then select Scripts->Reset scripts from the build menu. The door will tell you that its script has been reset. The door is automatically reset each time you make a change to the settings card.

Now click the door and it will slide open. If it slides the wrong way you will have to rotate it, then reset it again. Have someone else click it and they won't be able to get past! But if they shoot it for long enough, it will vanish and they can enter. There's much more to it than that, but at least you now have your door working.

Let's look at some common changes you might want to make.

I want the door to work for my group. First set the door to your group: edit it, open the General tab and about half way down you will see the group the door is assigned to. If it's not the group you want to have access, correct it. Now open the notecard called settings and look for the lines

# access mode (0=private 1=group 2=public 3=html)
access=0

Change the 0 to 1. The door should now say 'Access mode is group'. Now any member of your group can use the door.

I want people with no access to be unable to break the door. The door can be broken by repeated physical collisions; the easiest way to do this is shoot it with a gun. Look in settings for the lines

# min damage events to break door. Set 0 to disable breaking
mins=2

Several settings affect how the door is broken, and most of them will be discussed in the reference section. For now just make mins 0. Wait for the door to reset and now shoot at it: it will no longer break.

I want the door to open like a hinged door. The door can open several ways: become phantom, open clockwise, open counterclockwise or slide. Look in settings for the lines

# open method (0 - phantom 1 - rot cw 2 - rot ccw 3 - slide)
om=3

Change this to 1. Wait for the door to reset and now open it.

2. Configuring appearance

As the door is mod, changing its appearance should be no problem. We have included a few door textures for you to use if you like.

Once you have a door you like, you may notice, if you have breakins enabled, that the bits of door that appear briefly when the door breaks still look like the door out of the pack. You can change the bits using the fragments setting in the setup card, or disable them altogether. We have also included a tool, the crusher, that you can use to turn your new door into little bits. You need only read the rest of this section if you want to do that.

Before we start, let's be clear about what happens when the door breaks. It's designed to look as though the door breaks into pieces. What actually happens is that the door becomes transparent and an object is rezzed with the pieces. The object is a 'composite', that is, it's several objects taken into inventory in one take operation. Because it's physical, the bits scatter when it is rezzed and because it's temporary the bits vanish after a while. So what we need to do now is make a composite object that looks like the door but is actually assembled from fragments of door. It's important to follow the instructions that follow carefully because of you get the sequence wrong there is a risk that you will have door fragments all over the place and have to collect them up manually.

  • Make whatever changes you want to the door. Delete its contents and add the script Slice script from the product folder.
  • Rez the object called The Crusher on the ground. It's just a prim box
  • Edit the crusher object and copy your new door into its inventory
  • Click the crusher. The door will appear lying flat. Don't be fooled - it's in bits. Now is the time to pay attention! We want to take them into inventory in one go without linking them. Here's how.
  • Click any of the fragments and edit it
  • Now hold shift and click all the other fragments without clicking anything else (depending on your viewer settings you may be able to achieve the same effect by dragging)
  • Check the physical check box. DON'T go out of edit mode now
  • Check the temporary box. Then QUICKLY...
  • ...take the bits back - Object->Take on the Build menu is the safest way to do this
  • Look in inventory and you'll see the most recent item has a broken composite item icon against it. Rename this Fragments. Rezz the object and it will at once fall to bits, and the bits will disappear after about 90 seconds.
  • Rezz another copy of the new door, edit it and replace the fragments object in the door with your new one

If you are familiar with the Second Life editor, you probably realise that the crusher works by path cutting the door into a number of pieces. If you are a scripter you can edit the Slice script to alter the way the slices are made.

3. Settings reference

In this section we document all the settings that can be used in the settings card. There's no need to understand all these to use the door - just look them up as and when you need them.

Messages

damage

This is the message chatted when the door is damaged. You can supply several messages and one will be chosen at random

destroy

This is the message chatted when the door is broken.

Damage

dt

This is the minimum time allowed between damage events. This is to prevent the door being demolished in seconds by a fast gun.

Default: 5.0

mins

This is the minimum number of hits it takes to break the door. If this is set to 0 the door cannot be broken.

Default: 2

maxs

This is the maximum number of hits it takes to break the door. If this is set to 0 the door cannot be broken.

Default: 10

Times

od

This is the time door stays open when opened legally.

Default: 20

bt

This is the time door stays open when broken.

Default: 20

Sounds

If you change the sounds here you must add any new sounds to the door's inventory.

s_damage

This is the sound made when the door is damaged.

Default: thunk

s_open

This is the sound made when the door opens.

s_close

This is the sound made when the door closes.

Default: open

s_crash

This is the sound made when the door is broken.

Default: crash

Password

pt

This is the time allowed for a non-authorised user to enter the password after touching the door.

Default: 10

pc

This is the channel on which the password must be entered.

Default: 44

pwd

This is the password.

Default:

Access

access

This is the access mode.

Access modes affect who can open the door. The owner and anyone listed on the access notecard can always open the door.

Access modes are as follows:

  1. 0: private. Only the owner can enter.
  2. 1: group. Only members of the group to which the door is set can enter.
  3. 2: public. Anyone can enter.
  4. 3: scripted. A script is used to determine access.

Note: scripted access requires you to write a script to determine access. This script must handle link message 101009. The link message will send the name of the person at the door as the string parameter and the key as the key parameter. The script is responsible for replying by sending the link message 101010 with the string parameter as received and they key parameter sent to (key) "1" to allow the person in or {key) "0" to exclude them. In the following example the script consults a website to decide.

// constants

integer MSG_TEST=101009;
integer MSG_RESULT=101010;

string db="";

// volatile

string name;
key rk;

default
{
    state_entry()
    {
    }
    
    link_message(integer c,integer x,string m,key k)
    {
        if (x==MSG_TEST) {
            name=m;
            state testing;
        }
    }     
}

state testing
{
    state_entry()
    {
        rk=llHTTPRequest(db+"?name="+llEscapeURL(name),[],"");
    }
    
    http_response(key k,integer st,list l,string s)
    {
        if (k != rk) return;
        integer bOK=FALSE;
        if (st == 200 && s=="allowed") bOK=TRUE;
        llMessageLinked(LINK_THIS,MSG_RESULT,name,(key)((string) bOK));
        state default; 
    }   
} 

Default: 0

Miscellaneous

shards

This is the name for the fragment composite object.

Default: Fragments

maxd

This is the maximum distance from which the door an be opened.

Default: 20

om

This controls how the door opens.

0Door vanishes (suitable for a force field)
1Door opens clockwise (seen from above)
2Door opens counterclockwise (seen from above)
3Door slides

Default: 3

Credits

The syndicate in COLA helped test this door in various forms.

Apart from the door script, the sounds and textures used are in general circulation. We make no claim to ownership of these but believe that we are permitted to redistribute them. You may make any use you like of these items.



Change log

v1.0
  • Release