Author Topic: Snaily's (last?) Combination Lock  (Read 2561 times)

Well, this is it. Probably the last combination lock I'm gonna make. I did some stress-testing on a couple of servers, so you may have seen this already :P


Features:
• Default events (you'll need the pinball projectile enabled however)
• No named bricks
• Low (<50) event quota
• Easily changeable passcode (no need to pull a wrench out to change the passcode)
• 1000 possible combinations
• Can be used for almost any purpose
• Takes minutes to set up with the event saver

New in V2:
• Twice as fast
• 'Pinball spam' glitch reduced/eliminated
• Instructions on the lock
• Back dials now make a sound when changed


The save file includes a tutorial demonstrating the lock's usage and includes instructions to setting it up with the event saver (http://forum.blockland.us/index.php?topic=61309.0)

Enjoy.
« Last Edit: February 15, 2011, 10:06:44 PM by Snaily »






interesting, looks like it got smaller

So you can set a code without useing a wrench?

So you can set a code without useing a wrench?

Yes.
You will need a wrench if you want to ensure that no one else will change the code, however. Instructions are included in the save file.

Super Bump.

I think I found a way to make a quicker combo lock, but since this is my 'last one', I'm only going to update this model. I might add a few features too.


I made some progress, but the next version isn't going to have any special features...


If anyone's wondering, here's how the last version worked, and how the next version will probably work:

V1:
Put simply, the front dial would fire x projectiles to the back brick, which would toggle x events. The back brick would check to make sure that the number on the dial was correct by attempting to cause a printCountOverflow. It would increment 1 either 8 times (if the wrong number was entered) or 10 times (if the right number was entered).

The problem with this is
1: It's slow, because firing a max of 10 projectiles takes at least a second for each dial
2: It uses a lot more events than necessary


V2 will use a binary-type comparison by using a combination of relays and projectiles.
Think of firing a relay as a binary '0' and firing a projectile as a binary '1'. Use 4 'binary digits', and you got 16 different combinations, and only 10 are needed for the lock. That cuts the maximum waiting time in half, offers 6 extra options (if I feel like adding something later), and uses only 4 events (as opposed to 10 with only projectiles).

The problem with adding special features, such as seeing the combination before changing it (phflack's idea) and locking the passcode (forget who suggested it) is that many event types are already being used, and the bricks that check the passcode need to have 'memory'. I'd rather just get this working before I add any special stuff.


Right now, I can make the brick behind the dial convert the combination of relays and projectiles into center prints, so the next step will be to compare the result to the specified passcode.

Update!

New in V2:
• Twice as fast
• 'Pinball spam' glitch reduced/eliminated
• Instructions on the lock
• Back dials now make a sound when changed


Basically, it's a lot faster and nicer. The down-time between guessing passcodes went from 5 and a half seconds to one and a half.


If anyone has any suggestions or problems, just post 'em.

Wahh it's the last.
firstsecond one I've seen.

Yknow... maybe this won't be my last.

I've been working on making fast and reliable 'data transfer' events. What I may do in the future is create a lock that checks a master code at some central location (I have done this before, but not without using a named brick).