Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- first is lever id, second is chars to iterate through
- -- add more {lever, chars} items if necessary
- levers = { {"puzzle_lever_100", "0123456789"},
- {"puzzle_lever_10", "0123456789"},
- {"puzzle_lever_1", "0123456789"} }
- -- insert solution here
- solution = "420"
- -- insert door here
- door = "puzzle_door"
- counters = {}
- entity = 1 chars = 2
- for k = 1, #levers do
- levers[k][entity] = findEntity(levers[k][entity])
- levers[k][entity]:addConnector("any", self.id, "isPulled")
- counters[k] = 0
- end
- function isPulled(lever)
- local correct = 0
- local string = ""
- for k = 1, #levers do
- if lever.id == levers[k][entity].id then
- counters[k] = counters[k] + 1
- if counters[k] == #levers[k][chars] then counters[k] = 0 end
- end
- local char = levers[k][chars]:sub(counters[k] + 1, counters[k] + 1)
- string = string .. char
- if char == solution:sub(k, k) then correct = correct + 1 end
- end
- hudPrint(string)
- if correct == #levers then findEntity(door):open() end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement