Else Heart.Break()

Else Heart.Break()

Rogue 3 SEP 2018 a las 8:18 a. m.
Looking for an example of a brute force code
I've been trying to get into the Mayor's office for a while and I can't seem to find anyone who will give me a hint about how to run a brute force key. Are there any examples or hints in-game? I've talked to the gardener, Hank and everyone in the lodge. Nothing about brute force.

I'm not looking for exact code but rather something that will help me figure it out, like how Hank teaches you about if else statements. Anything like that for brute force code?
Última edición por Rogue; 3 SEP 2018 a las 8:19 a. m.
< >
Mostrando 1-15 de 17 comentarios
skatche 3 SEP 2018 a las 10:46 a. m. 
Do you know how to use loops? Brute force means trying every possible key in sequence until one of them works.
Rogue 3 SEP 2018 a las 11:33 a. m. 
Yeah, I'm familiar with java programming so I get the theory behind it. My problem is I guess I just don't know what language/commands are at my disposal. I know there's a commands list in the guide section here but I was hoping for some in-game guidance to avoid spoiling things for myself.

Incidentally, I think I was messing around with it and I created a brute force key like this:

x == loop 1 to 99999 toggle(x) end

It felt a little sloppy but I'm proud that I figured that out. It's slow as hell looping through those numbers and literally almost takes an entire day. Another thing is that it doesn't stop when it gets to the right number so that's something I'll have to keep working on.

Edit: I imagine writing a bruteforce key that stops on the right number would look something like this:

x == 1 toggle(x) if X == (door unlock?) end else x ++ (?)




Última edición por Rogue; 3 SEP 2018 a las 11:36 a. m.
skatche 6 SEP 2018 a las 2:25 p. m. 
Sorry, didn't get notified of your reply.

I mean, if you just hack a bunch of random objects you're bound to find something that looks like a loop. Then you can just copy it. I think the gardener might also have a lesson on loops, if you happen to have triggered his storyline.

Regarding speed, as far as I'm aware, every door except one (?) in the game can be opened with a three digit code. Of course, you'll still want to figure out how to break out of loops, but for that experimentation might suffice.
Última edición por skatche; 6 SEP 2018 a las 2:29 p. m.
Scribble Clash 13 SEP 2018 a las 1:56 a. m. 
This may be old, but heres my approach:
Spoilers ahead
#Toggles known doors, hacks unknown array keyList = [1111, 344] open() void open() bool noskip = true if Count(keyList) >= 0 loop keyList if Toggle(@) #Unlock() noskip = false break else noskip = true end end end if noskip brute() end end void brute() loop x from 1 to 9999 if Unlock(x) break end end end

You still have to append keys to the array manually, as I believe it isn't possible to store it with just the key and I couldn't figure out a way to connect it with a drive to store the data. It still will safe some time after you learned the code for the door and also stops once it unlocks it.
Última edición por Scribble Clash; 13 SEP 2018 a las 1:57 a. m.
beefjuice 17 SEP 2018 a las 11:58 a. m. 
I've just started playing, sorry to reply 2 weeks after your question. You're very close to what I have on my skeleton key, which I'll include, but I will try and explain first without spoiling.

First, I keep the SPRAK manual and the SPRAK command reference page up in a browser while I'm playing to double check my code. The SRAK manual is available in game, but useful to have open in another window. Use both at your own discretion.

You might want to look at the documentation specifically on "loop" and "break" in the manual to make your code stop on the correct number.

I'm not sure about decreasing the time to find the key code. I would bet there's a way to connect to another item that is able to read the exact array off the door that holds the key code, and copy it for you. You could also try and incorporate the effects of drugs that speed up time, so you wouldn't be waiting as long. But since you're asking about brute forcing it, I'll include a skeleton key which can take a while if the key code is in the high digits.

*SPOILER*
Skeleton key:
loop x from 0 to 10001
if Unlock(x)
Unlock(x + 1)
break
end
end

This code unlocks the door when it reaches the right key code, but also increases one more time. If you want to copy the code for another item, just copy the last number -1 to your clipboard. I do have to wait a long time if the key code is in the 9xxx range, but I don't think it's an entire day.
Última edición por beefjuice; 17 SEP 2018 a las 12:02 p. m.
Arucard 3 DIC 2018 a las 4:17 a. m. 
Basic Lockpicking Guide here on Steam gives a couple good examples, one which alternates between the lowest and highest numbers that may (slightly) cut down time depending on the actual code.
greysondn 3 DIC 2018 a las 4:14 p. m. 
An even better skeleton key. Totes obv spoiler. Most of these keys are supposed to be harder to get than you probably realize immediately.


### # Skeleton key # # Low-effort version # # @author J. "Dorian Greyson" L. ( greysondn on github ) # @date 3 December 2018 # @license WTFPL ( http://www.wtfpl.net/about/ ) # empty list array keyList = [] # had to be done this way to document # each entry. I'm open to other ideas # so long as they document the keys Append(keyList, -1) # Gunnar - does this even work? Append(keyList, 13) # Longson Append(keyList, 344) # Poor Storage Append(keyList, 666) # Casino Append(keyList, 1111) # Room 1, Dvotchka Append(keyList, 1234) # Testing2, haha. Append(keyList, 1337) # Hotel Basement Append(keyList, 2358) # Room 2, Dvotchka Append(keyList, 4991) # Renting Apartment Append(keyList, 5611) # Room 5, Dvotchka Append(keyList, 5611) # Computer Ministry Append(keyList, 7141) # Tiny Barn Append(keyList, 7471) # Fancy House 1 Append(keyList, 7472) # Fancy House 2 Append(keyList, 9788) # Lodge Append(keyList, 9788) # Nini Append(keyList, 9788) # Pixie's Apartment Append(keyList, 9788) # Petra's Apartment Append(keyList, 34711) # Room 3, Dvotchka Append(keyList, 45914) # Room 4, Dvotchka Append(keyList, 54321) # Suite 1 Append(keyList, 112358) # Fib's Key Append(keyList, 424242) # Suite 2 Append(keyList, 38984312) # Monad's Apartment Append(keyList, 38984312) # extra office key # we can now iterate over the keylist bool found = false loop key in keyList if Toggle(key) found = true break end end # error code in case I'm defeated if (false == found) Toggle(8675309) # Jenny's number end
greysondn 3 DIC 2018 a las 4:20 p. m. 
On the heels of that code, I'd like to add there's a better method, but it goes beyond ruining a list of numbers to revealing things about the game's mechanics many players may prefer to find for themselves.

If you hack certain APIs to certain objects with the modifier and a screwdriver, you could - conceivably - just unlock a target. At worst, you'd have to connect to a machine that can unlock other objects and then pass it the object's name you want to unlock.
greysondn 3 DIC 2018 a las 5:13 p. m. 
And on the heels of both of those, just want to point out that "just because you can doesn't mean that there's any reward waiting". Can we turn the ship into a hub for teleporting around the map?

https://youtu.be/PK7rCEkByY4
Rogue 3 DIC 2018 a las 7:41 p. m. 
Cool. Thank you for sharing! Else.HeartBreak is so unique. I wish there were more games like it.
76561198895889846 28 FEB 2019 a las 1:26 p. m. 
There is a much easier way to hack doors. SPOILER: a specific framework can do that called hugin.
Just use the functions down below to either unlock all doors in your room or in the whole world. Or use the door name to individually unlock doors.

var Main = Connect("MainFrame") var Hugin = Connect("Hugin") var Rec = Connect("Hotel_Office_RecorderComputerWithMonitor_1") ### Main EntryPoint ### ### write your code here ### bool StringContains(string str, string substr) bool result = Rec.StringContains(str, substr) if (result == true) Say("'" + str + "' contains '" + substr + "'") return true else Say("'" + str + "' doesn't contain '" + substr + "'") return false end end void UnlockAllInRoom() loop Main.GetThingsInRoom(GetRoom()) if (StringContains(@, "Door")) Hugin.Unlock(@) end end Say("All Doors in Room unlocked") end void LockAllInRoom() loop Main.GetThingsInRoom(GetRoom()) if (StringContains(@, "Door")) Hugin.Lock(@) end end Say("All Doors in Room locked") end void UnlockAllInWorld() loop Main.GetThingsOfType("door") Hugin.Unlock(@) end Say("All Doors in World unlocked") end void Unlock(string name) bool result = Hugin.Unlock(name) if (result == true) Say(name + " unlocked") else Say(name + " doesn't exist") end end void Lock(string name) bool result = Hugin.Lock(name) if (result == true) Say(name + " locked") else Say(name + " doesn't exist") end end
Última edición por void*; 4 MAR 2019 a las 12:21 p. m.
greysondn 1 MAR 2019 a las 1:20 a. m. 
People who do things like that and don't spoil it are "ugh". Be aware that the preceeding comment is a major spoiler for things you can discover as part of the game.
76561198895889846 4 MAR 2019 a las 12:20 p. m. 
Sorry I've put them in spoiler
tableflipper3000 19 MAY 2019 a las 12:31 p. m. 
Thanks! Trying to open Ministry_MonadsOffice_DoorToCorridor3_FISH
greysondn 20 MAY 2019 a las 6:15 p. m. 
The skeleton key I provided should be complete.

Edit: If you have tested it and it isn't, please tell me explicitly that. I'll dive in and fix it.
Última edición por greysondn; 20 MAY 2019 a las 6:17 p. m.
< >
Mostrando 1-15 de 17 comentarios
Por página: 1530 50