Jump to content

Journal/diary/note mod


UpJumpedTheDevil

Recommended Posts

Yeah, right now there is no way to do it, but Gribbleshnibit8 is working on a solution. I'd rather not describe it since I don't know the details, I'm not a scripter/programmer and I honestly don't quite understand how it all ties together. But maybe he'll chime in on how he plans to implement it or the basic concept.
Link to comment
Share on other sites

Actually, on second thought, I can see a way to do it via an on-keypress function with NVSE. But you'd literally be running that script every keypress, and it could be hugely system-intensive. You'd have to build the entire text function from the ground up.

We're OK on that part, as there is a getKeyPress function so you don't have to worry about a isKeyPressed function for everything from a to z, 0 to 9. And it's not a terribly cpu intesive function, so you won't notice any difference if you had it running each frame. But you can also nestle it in a menumode, so it is only running outside of gamemode (attach an object script to an item, book, holotape etc). So no worries capturing key presses at all. Now storing them is where things get seriously messed up.

 

But here is where my knowledge of what Grib had in mind runs out. I probably shouldn't even ramble about it, since I don't have a grasp on what he has planned, but I'll try to piece together my interpretation. Essentially I asked Grib if it could be stored in a game asset (like a note for example), and he replied that wasn't possible and referenced a matrix. We have to have some way to store the text and I don't know anything about array programming, but my guess is that he will be using a matrix to store live string vars. The upshot is that they won't be stored in a game asset, but rather in the player saves themselves as currently running variables.

 

I can't tell you any more than that, and I may have in fact butchered what he was trying to communicate to me.

Link to comment
Share on other sites

  • 2 weeks later...

I think maybe it's time to necro this issue. The latest NVSE 4.2 functions support string variables, arrays, maps and many more goodies, so I'm officially declaring that I'm gonna take a bash at a journal mod.

You may want to jump over to a more recent post, sometimes if you necro an old thread the mods will lock it. Here is a much more recent one (Journal/diary/note mod)

 

To that end, I'll try to hijack the player name input thingy, since you can now store player's name in a variable and safely set it back to whatever it was afterwards. I did experiments with this in the past (before NVSE 4.1) and even then I was able to use the player name menu to place custom named objects in the gameworld. Now with arrays, a journal should be a piece of cake. But there may not be a way to make it show on a terminal (which, as I realise now, was kind of the point of the thread).

I don't think it's been a problem to get and store the input, I think the problem is how to display it, specifically in game assets. I wouldn't worry about it being specifically implemented in a terminal, as I honestly don't think players will care if it's a series of notes, on a terminal or linked to the pipboy. It will be a *very* popular mod regardless of the object it's linked to.

 

But what I am curious about is how you will display the results/text. I don't believe we have a way to store the string in a game asset like a note, terminal or message. I'm curious how you would see going about it. Is it something like SCOF (I was under the impression we don't have a way to retrieve that file in game) where you'r printing to a external text file or something else entirely?

 

Anyway we should probably jump over to the other thread, I'd be very curious to hear what you have in mind. I'll copy and paste this message over there.

Link to comment
Share on other sites

Huh, that's very interesting. So, it's not input that's the problem, it's storage... I feel as though that would have to be handled externally to the game. Still, this is way beyond my knowledge.

I don't believe it's input or storage, but rather a way to display the info/text in game. But like I'd mentioned, this is not my forte/wheelhouse, so I could be way off.

Link to comment
Share on other sites

I don't think it's been a problem to get and store the input, I think the problem is how to display it, specifically in game assets. I wouldn't worry about it being specifically implemented in a terminal, as I honestly don't think players will care if it's a series of notes, on a terminal or linked to the pipboy. It will be a *very* popular mod regardless of the object it's linked to.

 

But what I am curious about is how you will display the results/text. I don't believe we have a way to store the string in a game asset like a note, terminal or message. I'm curious how you would see going about it. Is it something like SCOF (I was under the impression we don't have a way to retrieve that file in game) where you'r printing to a external text file or something else entirely?

I agree, to my knowledge the text stored in terminals or notes are completely static and cannot be modified. The only I can think of is displaying it with a standard message box, and that would get annoying pretty quickly in my opinion.

 

But then again, it wouldn't be entirely unrealistic to create an all new interface for showing this stuff, would it? I mean, we have the Mod Configuration Menu as an example of how this could potentially be implemented. Granted, it'd take a lot of fiddling with the menu files with a fair amount of scripting on top. Those XML files make my head spin though. I'm a decent enough scripter, but everything related to the UI is like black magic to me.

Link to comment
Share on other sites

I was thinking about this not too long ago, probably after reading one of these threads again. Devin has it right, as far as how I was planning on implementing it.

 

To whoever does make a stab at this, there are two ways I was thinking of implementing it.

  1. Use the player name field to get text input, since that's already implemented for string input. The problem is it's probably limited to 128,256, or 512 characters (or some other variation of the multiples of 2). So you'd be limited in what you could take in, etc.
  2. Create a custom menu with a text entry position, fake cursor, etc, as well as a place to look at and read notes. It would probably be possible to load the terminal interface under this and hijack it, or create a menu under the tutorial menu (think PN cyberware) and skin it to look sort of like a terminal.

Method 1 is pretty easy, but has limitations. Method 2 is much harder, needed a somewhat complex custom menu, but is pretty much free of all limitations except scripting, since the interface and underlying mechanics can be rebuilt to whatever you need.

 

A few other ideas on this.

  1. GetKeyPress takes an index of Nth key held down, meaning you can use it to detect modifier keys as well as what actual key is held down. This would let you do capitals and whatever special symbols the game fonts support.
  2. There is a Format Specifier in NVSE to convert a DirectInput scan code into the appropriate key value, ie. k, 1, [, etc. This would be very handy as you wouldn't actually need to code into the script every possible character, though some should probably be disallowed.
  3. Creating a custom menu is not that hard, actually, it just has a learning curve. If anyone does want to tackle the issue, I will answer serious questions about it (that is, come with a question and explain everything you've done, don't just ask me to do it).
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...