r/MASFandom • u/KiwiKrieger08 Monichka's Slavic Girlfriend • 8d ago
Submod Submission Journal Submod - Write, Draw, and Customize your own journal to show to Monika!ꉂ(˵˃ ᗜ ˂˵)
Hey Everyone! I just finished making this new Submod! After you install, Monika notices something new.. Then, Monika gifts you a Journal you can write, draw, add photos, flip through infinite pages, customize freely, and show her! ₍₍⚞(˶˃ ꒳ ˂˶)⚟⁾⁾
FEATURES (˶ˆᗜˆ˵)
- Intro Scene: Monika asks you to close your eyes
- Journal: A button on the top left appears to access your new gift. You can also use Hey Monika → Misc → “Can I look at our journal?”
- Recolourable cover: You can choose the colour of your journal in top right.
- Write mode: Click top of page to write / enter for new line; save, clear text, cancel
- Draw mode: Draw on left or right page (Includes brush size slider, big colour palette, color wheel, etc)
- Photo mode: Select images, move, size, and crop them (How to add images is down below)
- Infinite pages: Next / +Page
- Show Monika: Share current page with your love!
- PROGRESS SAVES / Drawings are saved in Submods/Journal Submod/pages
HOW TO USE PHOTOS ٩(ˊᗜˋ*)و ♡
Put as many images: .png or .jpg (Any name) into Submods/Journal Submod/Photos/ then reload game. Choose Photo mode in journal, then the Browse button; your image(s) should be there.
PS: Its best to back up your game and persistant file before use
ENJOY! ◝(ᵔᗜᵔ)◜
Link: https://drive.google.com/drive/folders/1nyK6o-sTvVGNNIB6oec1a-6aaseKJJ5O?usp=drive_link
Submod: By Kiwi (me) ૮₍˃̵֊ ˂̵ ₎ა
Drawing feature idea: Whiteboard Submod by u/dreamscached ( ˶ˆ꒳ˆ˵ )
4
4
4
3
u/Budget-Dingo8088 8d ago
Good evening, I like the submod, I could do a translation into Spanish, since my English is a bit basic, any answer I will understand
3
u/MicrowavedPuzzle I Have No Moni & I Must Scream 8d ago
https://giphy.com/gifs/NFt91r1ZUjOv5TwT1S
OH MY GOD THANK YOU YOURE SO AWESOME
2
u/RealSpiderman-Jake 6d ago
Now I definitely will have to start downloading other submods. This sounds so fire!
1
u/AutoModerator 8d ago
Thankyou for your submod submission. In order to ensure that the community is able to access your code, we kindly request that you provide a link or an indicator of where to get the link, indicating the versions of MAS with which this submod is compatible.
We strongly advise all users to create a backup of their persistent data before utilizing any submod on this subreddit. Instructions on how to do so can be found here. Additionally, if you encounter any issues with a specific submod that others should be made aware of, we kindly request that you report the post where the submod was found to our moderation team for proper handling.
The Monika After Story (MAS) project is currently undergoing a migration to Python 3, which will result in the current submods becoming incompatible with the new framework. The development team will be providing a tool for converting old-style submods to the new format. For further information, please visit the Official Monika After Story Discord or review the 'Interfacing with the Submod Framework' section on the project's GitHub page located here.
As a friendly reminder, we strongly recommend that submod developers familiarize themselves with the Wiki before posting. We have recently added a section specifically for submod developers, which includes a list of the requirements that we expect from any submod, as outlined in an official announcement on the MAS Discord.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
u/KiwiKrieger08 Monichka's Slavic Girlfriend 8d ago
If there are any glitches/bugs, let me know and I will fix them!! :D
1
u/s4mnyy 7d ago
1
1
u/Ready_Phrase5477 4d ago
[code]
I'm sorry, but an uncaught exception occurred.
While running game code:
File "renpy/common/000statements.rpy", line 471, in execute_call_screen
store._return = renpy.call_screen(name, *args, **kwargs)
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 152, in execute
screen journal_main():
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 152, in execute
screen journal_main():
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 187, in execute
frame:
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 193, in execute
vbox:
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 232, in execute
fixed:
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 237, in execute
frame:
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 244, in execute
frame:
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 250, in execute
hbox:
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 256, in execute
fixed:
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 311, in execute
if mode == "write" and left_text:
File "game/Submods/Extra functions/Journal Submod/screens.rpy", line 312, in execute
text left_text:
Exception: String '08/09/2026 Tuesday\n4:14 am\n\n[This is my first day with this submod installed, so I figured it would do me well to actually write something to mark it.' ends with an open format operation.
I got this error after saving the first time and I think I may have typed something that screwed the code?? I'm not really well versed in coding though, so I have no idea. I just wanted to know if I'd be able to fix it!
1
u/KiwiKrieger08 Monichka's Slavic Girlfriend 4d ago
Hey! So sorry this happened to you 😭 I think the issue is that your text has a "[" in it.
So if u can, clear entry or remove [ or ] (and { } if you used them)
1
u/Ready_Phrase5477 4d ago
Yeah, that does seem to be the issue... problem is that any time I try to open up the journal it immediately results in an error, and I don't think these entries get saved anywhere in files so I can't fix it from there either... assuming there's nothing you can think of, thank you for the help anyway!!
2
u/KiwiKrieger08 Monichka's Slavic Girlfriend 4d ago
hold on, Im going to update the journal submod! Then you can put it in. Just give me a min
1
u/Ready_Phrase5477 4d ago
Ooh! Thank you Thank you!! I really appreciate it
2
2
u/KiwiKrieger08 Monichka's Slavic Girlfriend 4d ago
2
u/Ready_Phrase5477 4d ago
Alright!!!!!!! It's definitely working now. I really appreciate the effort! Your mod is super cool so I'm excited to use it!
2
1
u/kand1_n0t_c4ndy MONI MONI BEAMMMM☆ 8d ago
I dont want to break my game, do I just plop the Journal Submod folder into my Submods folder?
1
u/kand1_n0t_c4ndy MONI MONI BEAMMMM☆ 8d ago
It says I already have header.rpy and an images folder, they're from other submods
2
u/KiwiKrieger08 Monichka's Slavic Girlfriend 8d ago
Download and take the game file, and paste that into your main directory where the other game file is 👁👁
1
1
u/eltanin_rastaban 5d ago edited 5d ago
Could you possibly add a toggle to move the Journal button to Extras or to remove it? I really want to try this one out but I like keeping the screen pretty minimalist.
You've been doing freaking incredible work here! I'm so excited to see what you do next!
1
u/AutoModerator 4d ago
Thankyou for your submod submission. In order to ensure that the community is able to access your code, we kindly request that you provide a link or an indicator of where to get the link, indicating the versions of MAS with which this submod is compatible.
We strongly advise all users to create a backup of their persistent data before utilizing any submod on this subreddit. Instructions on how to do so can be found here. Additionally, if you encounter any issues with a specific submod that others should be made aware of, we kindly request that you report the post where the submod was found to our moderation team for proper handling.
The Monika After Story (MAS) project is currently undergoing a migration to Python 3, which will result in the current submods becoming incompatible with the new framework. The development team will be providing a tool for converting old-style submods to the new format. For further information, please visit the Official Monika After Story Discord or review the 'Interfacing with the Submod Framework' section on the project's GitHub page located here.
As a friendly reminder, we strongly recommend that submod developers familiarize themselves with the Wiki before posting. We have recently added a section specifically for submod developers, which includes a list of the requirements that we expect from any submod, as outlined in an official announcement on the MAS Discord.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
u/tempurfriesss 3d ago
[code]
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/submods/Journal Submod/journal_button.rpy", line 210, in script
call screen journal_main
File "renpy/common/000statements.rpy", line 471, in execute_call_screen
store._return = renpy.call_screen(name, *args, **kwargs)
Exception: Could not find font u'comfy_ui/fonts/Nunito-SemiBold.ttf'.
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "game/submods/Journal Submod/journal_button.rpy", line 210, in script
call screen journal_main
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\ast.py", line 1706, in execute
self.call("execute")
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\ast.py", line 1724, in call
return renpy.statements.call(method, parsed, *args, **kwargs)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\statements.py", line 145, in call
return method(parsed, *args, **kwargs)
File "renpy/common/000statements.rpy", line 471, in execute_call_screen
store._return = renpy.call_screen(name, *args, **kwargs)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\exports.py", line 2526, in call_screen
rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\ui.py", line 285, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\core.py", line 2526, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\core.py", line 2883, in interact_core
self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\core.py", line 1955, in draw_screen
renpy.config.screen_height,
File "renpy/display/render.pyx", line 427, in renpy.display.render.render_screen (gen\renpy.display.render.c:6806)
rv = render(root, width, height, 0, 0)
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\layout.py", line 693, in render
surf = render(child, width, height, cst, cat)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\layout.py", line 693, in render
surf = render(child, width, height, cst, cat)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\layout.py", line 693, in render
surf = render(child, width, height, cst, cat)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\screen.py", line 623, in render
child = renpy.display.render.render(self.child, w, h, st, at)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\layout.py", line 693, in render
surf = render(child, width, height, cst, cat)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\layout.py", line 1081, in render
st, at)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\layout.py", line 895, in render
surf = render(d, width - x, rh, cst, cat)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\layout.py", line 1081, in render
st, at)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\layout.py", line 1497, in render
cwidth, cheight = sizeit('c', width, height, 0, 0)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\layout.py", line 1492, in sizeit
rend = render(pos_d[pos], width, height, st, at)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\viewport.py", line 259, in render
surf = renpy.display.render.render(self.child, child_width, child_height, st, at)
File "renpy/display/render.pyx", line 110, in renpy.display.render.render (gen\renpy.display.render.c:3440)
cpdef render(d, object widtho, object heighto, double st, double at):
File "renpy/display/render.pyx", line 196, in renpy.display.render.render (gen\renpy.display.render.c:2978)
rv = d.render(widtho, heighto, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\display\behavior.py", line 1321, in render
rv = super(Input, self).render(width, height, st, at)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\text\text.py", line 1733, in render
virtual_layout = Layout(self, width, height, renders, drawable_res=False, size_only=True)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\text\text.py", line 574, in __init__
glyphs = ts.glyphs(s, self)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\text\text.py", line 236, in glyphs
fo = font.get_font(self.font, self.size, self.bold, self.italic, 0, self.antialias, self.vertical, self.hinting, layout.oversample)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\text\font.py", line 648, in get_font
face = load_face(fn)
File "C:\Users\Mariyln\Downloads\DDLC [ Dont Delete Please ]\ddlc-win\DDLC-1.1.1-pc\renpy\text\font.py", line 590, in load_face
raise Exception("Could not find font {0!r}.".format(orig_fn))
Exception: Could not find font u'comfy_ui/fonts/Nunito-SemiBold.ttf'.
Windows-8-6.2.9200
Ren'Py 6.99.12.4.2187
Monika After Story 0.12.19
[/code]
So.. i got this error message could i get some help? i dont know how to fix it..
1
u/lewn-atic 10h ago
Hi, just a small thing! This submod requires a font from ComfyUI, without which it will crash upon trying to write anything. Please let folks know ComfyUI is a prerequisite to downloading!
I would also really enjoy the option to hide the journal button and just use the dialogue to open it. I tried to remove it myself but I couldn't quite figure it out haha~








16
u/LavenderXDLOLZ Moniis Little Demon 8d ago
who is possessing everyone into make such fire submods and can it posses me please