Else Heart.Break()

Else Heart.Break()

Vlek Nov 13, 2017 @ 8:37pm
Handheld items with Connect function
I was so happy when I found my first Mystical Cube. I thought I was going to make it into something interesting. I carried it around with me until I found a modifier, and, after learning that it's a glorified, light-up sound box, threw it away.

I was also really saddened by the extractor and similar items that, while they would make great items to do interesting, terrible things, they're just completely neutered by the fact that they can't connect to other things to get new functions.

The extractor, for instance, would have made a great multitool for a myriad of things, including a very quick and efficient master key:

# I know the unlock function requires a code, not a door name. This is just an example. # Most likely using getcode and running what's received may work as doors contain a # function call with the door name that you want to go to already ready for us. var door = Connect("Hotel_Corridor_Door1") door.Unlock(GetName())

Why aren't those two allowed to use the Connection function? Was there any good reason? Was this an oversight?
Last edited by Vlek; Nov 17, 2017 @ 5:13am
< >
Showing 1-15 of 17 comments
Cloud Ninja Nov 13, 2017 @ 8:59pm 
I think that being able to connect to doors would allow for a LOT of gameplay to just be gotten rid of and get to the end of the game too fast. Hell, if you can get a modifier fast enough, you can get through the game super fast as is.
AuoroP Nov 13, 2017 @ 9:38pm 
Great disscussion! If you know which doors unluck with 666 or 1111; you should peek at my challenge...
I know there are two door fiddling APIs: computers take a name and tools take codes...
AuoroP Nov 15, 2017 @ 3:08pm 
I was enthuiastic about this game imagining what I could do with an extractor! I was also sorely disapointed to find a world that loves computers: but it only allows computers computing, tools tooling and players peopling; leading to a matrix in which you can modify the code but the result is always an underwhelming WTF?

Where this game's dev went wrong was in giving up computer hacking and going outside; where he failed to get Obducted because he was slaved by Infinifactory! :D
Fadamaka Nov 17, 2017 @ 3:03pm 
Your most used tool is able to connect. :D I just made my modifier into a master key, Haven't heard of the extractor though. But the modifier has 1 function, that has 2 arguments, 1. is the "target", that one is the exact name of the object that you are using it on. The Allow function is called everytime you use it on something. So if you call a simple Unlock("target"). through a connected computer with door API, inside of the Allow() function, every time you right click a door to hack it, it will also open.

At first I used a separate modifier for my master key, but it's much more comfortable implementing this into your main modifier, so you don't have to take it out every time when you encounter a locked door. You just right click and open sesame. :D
Vlek Nov 17, 2017 @ 3:06pm 
It's funny you mention that, here's my modifier code. I've abstracted a lot, but you get the idea of what it does:

############## # Master Key # ############## bool Allow(string target, number level) # The actual computer (or coffee or whatever) doesn't matter, what matters # is that this util stuff is placed somewhere and we know where it is. var Util = Connect("TestComputer2") Util.Recharge() Util.Unlock(target) return True end


The problem though is that there is no type-in command prompt that you can use outside of a computer. So I'm now trying to setup a slew of drinks with decent descriptions of what they do that will hopefully have all of the things I will want for most of the game, including zaping people in the room, teleporting to people I know I will have to talk to a bunch, and so on.
Last edited by Vlek; Nov 17, 2017 @ 3:08pm
Fadamaka Nov 17, 2017 @ 3:19pm 
Nice, I am glad that I am not the only one. I read a couple of threads, but none of them mentioned this solution for a master key. Although it would be nice if we could modifie the modifier even more, that unneceserry argument is bugging me big time.

(I wrote this before your edit.)
Last edited by Fadamaka; Nov 17, 2017 @ 3:24pm
Fadamaka Nov 17, 2017 @ 3:29pm 
I don't really know much about the game yet, I really went off track, only did like 2 missions. :D Made a creditcard that tracks ppl and makes the weather clear, and this master key. And I am pretty sure I visited some endgame locations through Slurping like the place where the Wellspringer and other servers are. I am using those for opening stuff, just for the immersion. :D
Vlek Nov 17, 2017 @ 3:32pm 
I think that the problem is that there's a layer of abstraction that's happening that we aren't able to touch.

Really, think of the script of an object like this:

# Here's a coffee for example: void main(string drinker) Sleepiness(-25) end

When the drink is used, main gets called which then passes the object name of the drinker to the script. Sleepiness then uses the drinker object to know which object to modify when changing the sleepiness variable on it.

A way they could've dealt with it is have it so that, if Sleepiness is called from a source other than when the drink was used, then a person object must be given.
Last edited by Vlek; Nov 17, 2017 @ 3:33pm
Vlek Nov 17, 2017 @ 3:39pm 
Originally posted by Fadamaka:
I don't really know much about the game yet, I really went off track, only did like 2 missions. :D Made a creditcard that tracks ppl and makes the weather clear, and this master key. And I am pretty sure I visited some endgame locations through Slurping like the place where the Wellspringer and other servers are. I am using those for opening stuff, just for the immersion. :D

I am in the exact same predicament. I got the modifier, did some stuff, and then got to an interesting computer, slurped around, and have probably seen places I really should not have. I got to the servers you were talking about, and I have spent a long time trying to make helper functions to make all of the tools that I feel I want. I am completely fine with it because I think this is where I was going to derive the fun from this game more than anything else anyway, you know?
AuoroP Nov 17, 2017 @ 7:42pm 
Vlek: I'll assume recharge is your name for checking player sleepineess and conditionally removing it! I like that name!

Fadamaka and Vlek: you can Toggle doors and leave them unlocked... If you get bored try to figure out the Casino door code; I believe it is impossible with computers but I couold be wrong.

AuoroP Nov 17, 2017 @ 7:53pm 
And your modifiers sound like awesome drinks if you want to share them there! The fact they are not drinks makes them more awesome!
Last edited by AuoroP; Nov 17, 2017 @ 7:59pm
Vlek Nov 17, 2017 @ 7:58pm 
Originally posted by AuoroP:
Vlek: I'll assume recharge is your name for checking player sleepineess and conditionally removing it! I like that name!

Fadamaka and Vlek: you can Toggle doors and leave them unlocked... If you get bored try to figure out the Casino door code; I believe it is impossible with computers but I couold be wrong.

Yeah, Recharge goes through and sets all of Sebastian's stats. I thought, since I am going to hack something every five seconds anyway, might as well have that be the thing that triggers it.

I wouldn't attempt to actually do any of the codes. Some of them are in the tens of thousands if not hundreds. It would take way too long to brute force, and I think that's the only way you can get the actual number. I kinda skirted that fortunately. It's definitely possible, but I hope you have a weekend free.

Now that I think about it, you may be able to use an extractor to copy the code to clipboard if you find it, and use a script outside of the game in like AutoHotkey to listen to the onclipboard change event to save the code to a file and shut your computer down if you wanted to do it while you were asleep or something. That's pretty drastic though.
Last edited by Vlek; Nov 17, 2017 @ 8:00pm
AuoroP Nov 17, 2017 @ 9:10pm 
Originally posted by Vlek:
Originally posted by AuoroP:
Vlek: I'll assume recharge is your name for checking player sleepineess and conditionally removing it! I like that name!
Elegant! You could also use extract.CopyToClipboard...


Originally posted by Vlek:
Originally posted by AuoroP:
Fadamaka and Vlek: you can Toggle doors and leave them unlocked... If you get bored try to figure out the Casino door code; I believe it is impossible with computers but I couold be wrong.
The Casino door code only has 3 digits... Elsa has a computer that can try door codes! You can make it go faster with a screwdriver but you won't have time!
Last edited by AuoroP; Nov 17, 2017 @ 9:10pm
AuoroP Nov 17, 2017 @ 9:19pm 
Do you need to carry an extractor if your modifier can copy names to the clipboard?
var extract = Connect('Extractor') extract.CopyToClipboard(target)
Tested! The extractor is superflous!!!
Last edited by AuoroP; Nov 17, 2017 @ 9:31pm
AuoroP Nov 18, 2017 @ 4:59pm 
It seems more tricky to use replace your modifier with your extractor because I want the names of random things to be copied and I'm getting the name of the place I want things name to go... I have discovered that hackdevs have a Log function: it strangely only seems to work with constant strings like 'hi' and not with variable names like target.

My prototype Modifier1337.sprak:
bool Allow(string target, number level) var extract = Connect('Extractor') var main = Connect('MainFrame') if '' == main.load('clip') # nope? Log('target ' + target) main.save('clip', target) extract.CopyToClipboard(target) return false else main.save('clip', '') return true end #return true end
My Mainframe.sprak
#DisconnectAll() ClearText() HD('HardDrive') var load(key) var value = LoadMemory( key ) return value end void save(key, value) SaveMemory( key, value ) Print(key + '= '+ value) end # ignores skip chars and returns the string up to comma string comma(number skip, string str) string result = '' loop idx from skip to Count(str) if ',' == str[idx] return result else result += str[idx] end end end # parses info from main.GetPosition into [loc,x,y] #string egstr = 'Room: [room], coordinate: [12,16]' string n = comma(6,str) string x = comma(6+Count(n)+14+1,str) string y = '' loop idx from 6+Count(n)+14+Count(x)+2 to Count(str) if idx < Count(str) - 1 y += str[idx] else number xn = x number yn = y # Print(n +'!'+ x +'!'+ y) # return [n,x,y] return [n,xn,yn] end end end
Last edited by AuoroP; Nov 18, 2017 @ 5:04pm
< >
Showing 1-15 of 17 comments
Per page: 1530 50