Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
local allowedFile = "allowed_users" -- Colori RS Latch local COLOR_APERTO = colors.green local COLOR_CHIUSO = colors.red -- Funzione XOR di criptazione local function xorCrypt(str, key) local res = {} for i = 1, #str do local k = string.byte(key, ((i - 1) % #key) + 1) local c = string.byte(str, i) table.insert(res, string.char(bit.bxor(c, k))) end return table.concat(res) end -- Carica utenti autorizzati local function loadAllowed() if not fs.exists(allowedFile) then return {} end local f = fs.open(allowedFile, "r") local enc = f.readAll() f.close() local dec = xorCrypt(enc, "passwordchiave") local t = textutils.unserialize(dec) return t or {} end -- Legge stato dal latch local function leggiStato() local bund = redstone.getBundledInput("bottom") if bit.band(bund, COLOR_APERTO) ~= 0 then return true elseif bit.band(bund, COLOR_CHIUSO) ~= 0 then return false else return true end end -- Imposta latch local function impostaStato(nuovoStato) if nuovoStato then redstone.setBundledOutput("bottom", COLOR_APERTO) else redstone.setBundledOutput("bottom", COLOR_CHIUSO) end sleep(0.2) redstone.setBundledOutput("bottom", 0) -- reset segnali end -- Animazione apertura/chiusura local function movimento(stato) if stato then -- CHIUDO redstone.setBundledOutput("bottom", colors.magenta) sleep(0.2) for i = 0, 2 do redstone.setBundledOutput("top", colors.white) sleep(1) redstone.setBundledOutput("top", 0) print("abbasso") sleep(0.1) end redstone.setBundledOutput("bottom", 0) else -- APRO for i = 0, 2 do redstone.setBundledOutput("top", colors.lightBlue) sleep(1) redstone.setBundledOutput("top", 0) print("alzo") sleep(0.2) end redstone.setBundledOutput("bottom", colors.blue) sleep(0.2) redstone.setBundledOutput("bottom", 0) end end -- MAIN LOOP local allowed = loadAllowed() local stato = leggiStato() print("Sistema avviato. Stato iniziale: ", stato and "APERTO" or "CHIUSO") while true do local event, user = os.pullEvent("player") for _, name in ipairs(allowed) do if user == name then stato = not stato movimento(stato) impostaStato(stato) print("Nuovo stato: ", stato and "APERTO" or "CHIUSO") end end end
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)