Mod Ren'Py 18Titans Gallery++ Mod [v3.0.0] [Night Mirror]

iamtobi123

New Member
Jun 15, 2017
6
1
46
Thanks for your mod, i got one question, how can i find the auto button back or is there any hotkey for that feature?
i would like to sit back to enjoy the story.
 

Night Mirror

Well-Known Member
Modder
Jun 2, 2018
1,995
11,948
698
Thanks for your mod, i got one question, how can i find the auto button back or is there any hotkey for that feature?
i would like to sit back to enjoy the story.
I'm not sure why the dev took it out in the first place, but I'll look into re-adding it in the next update. Sadly there is no default renpy hotkey for it (the way there is for skip), but I'll put that in too.

Edit:
If you don't want to wait, here is a file to add it.
  • Right Click, save as.
  • Drop into: "/game/scripts/"
  • Run game, enjoy (hotkey is "g")!
 
Last edited:
  • Like
Reactions: thelastkingdom36

iamtobi123

New Member
Jun 15, 2017
6
1
46
I'm not sure why the dev took it out in the first place, but I'll look into re-adding it in the next update. Sadly there is no default renpy hotkey for it (the way there is for skip), but I'll put that in too.

Edit:
If you don't want to wait, here is a file to add it.
  • Right Click, save as.
  • Drop into: "/game/scripts/"
  • Run game, enjoy (hotkey is "g")!
Thanks for the update, finally i can release both of my hand
 

iamtobi123

New Member
Jun 15, 2017
6
1
46
My game keep crashing for some reason,

Here are the error code

I'm sorry, but an uncaught exception occurred.

While running game code:
File "renpy/common/00start.rpy", line 279, in script
python:
File "renpy/common/00start.rpy", line 279, in script
python:
File "renpy/common/00start.rpy", line 283, in <module>
renpy.call_in_new_context("_main_menu")
File "renpy/common/00action_other.rpy", line 437, in __call__
renpy.call_replay(self.label, self.scope)
File "game/scripts/terra/terra_labels.rpy", line 3306, in script
_tr "... it is?"
File "game/scripts/terra/terra_labels.rpy", line 3306, in script
_tr "... it is?"
TypeError: 'sortwrapper' object has no attribute '__getitem__'

-- Full Traceback ------------------------------------------------------------

Full traceback:
File "renpy/bootstrap.py", line 359, in bootstrap
renpy.main.main()
File "renpy/main.py", line 635, in main
run(restart)
File "renpy/main.py", line 145, in run
renpy.execution.run_context(True)
File "renpy/execution.py", line 955, in run_context
context.run()
File "renpy/common/00start.rpy", line 279, in script
python:
File "renpy/common/00start.rpy", line 279, in script
python:
File "renpy/ast.py", line 823, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "renpy/python.py", line 1178, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/00start.rpy", line 283, in <module>
renpy.call_in_new_context("_main_menu")
File "renpy/game.py", line 358, in call_in_new_context
return renpy.execution.run_context(False)
File "renpy/execution.py", line 955, in run_context
context.run()
File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
python hide:
File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
python hide:
File "renpy/ast.py", line 823, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "renpy/python.py", line 1178, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>
python hide:
File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide
ui.interact()
File "renpy/ui.py", line 301, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "renpy/display/core.py", line 2165, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "renpy/display/core.py", line 3201, in interact_core
rv = root_widget.event(ev, x, y, 0)
File "renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/transition.py", line 53, in event
return self.new_widget.event(ev, x, y, st) # E1101
File "renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/screen.py", line 793, in event
rv = self.child.event(ev, x, y, st)
File "renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/layout.py", line 1426, in event
rv = super(Window, self).event(ev, x, y, st)
File "renpy/display/layout.py", line 288, in event
rv = d.event(ev, x - xo, y - yo, st)
File "renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/layout.py", line 1426, in event
rv = super(Window, self).event(ev, x, y, st)
File "renpy/display/layout.py", line 288, in event
rv = d.event(ev, x - xo, y - yo, st)
File "renpy/display/layout.py", line 288, in event
rv = d.event(ev, x - xo, y - yo, st)
File "renpy/display/viewport.py", line 587, in event
rv = super(Viewport, self).event(ev, x, y, st)
File "renpy/display/layout.py", line 288, in event
rv = d.event(ev, x - xo, y - yo, st)
File "renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/layout.py", line 288, in event
rv = d.event(ev, x - xo, y - yo, st)
File "renpy/display/layout.py", line 1426, in event
rv = super(Window, self).event(ev, x, y, st)
File "renpy/display/layout.py", line 288, in event
rv = d.event(ev, x - xo, y - yo, st)
File "renpy/display/layout.py", line 1202, in event
rv = i.event(ev, x - xo, y - yo, cst)
File "renpy/display/behavior.py", line 1174, in event
return handle_click(self.clicked)
File "renpy/display/behavior.py", line 1095, in handle_click
rv = run(action)
File "renpy/display/behavior.py", line 388, in run
new_rv = run(i, *args, **kwargs)
File "renpy/display/behavior.py", line 395, in run
return action(*args, **kwargs)
File "renpy/common/00action_other.rpy", line 437, in __call__
renpy.call_replay(self.label, self.scope)
File "renpy/game.py", line 414, in call_replay
renpy.execution.run_context(False)
File "renpy/execution.py", line 955, in run_context
context.run()
File "game/scripts/terra/terra_labels.rpy", line 3306, in script
_tr "... it is?"
File "game/scripts/terra/terra_labels.rpy", line 3306, in script
_tr "... it is?"
File "renpy/ast.py", line 2557, in execute
Say.execute(self)
File "renpy/ast.py", line 615, in execute
renpy.exports.say(who, what, *args, **kwargs)
File "renpy/exports.py", line 1493, in say
who(what, *args, **kwargs)
File "renpy/character.py", line 1394, in __call__
self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args)
File "renpy/character.py", line 1048, in do_display
**display_args)
File "renpy/character.py", line 741, in display_say
rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
File "renpy/ui.py", line 301, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "renpy/display/core.py", line 2165, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, pause_modal=pause_modal, **kwargs) # type: ignore
File "renpy/display/core.py", line 2892, in interact_core
if renpy.display.render.check_redraws():
File "render.pyx", line 335, in renpy.display.render.check_redraws.lambda
File "render.pyx", line 335, in renpy.display.render.check_redraws.lambda
TypeError: 'sortwrapper' object has no attribute '__getitem__'

Windows-10-10.0.22000 AMD64
Ren'Py 7.7.1.24030407
18titans 1.6.0
Mon Sep 8 19:03:51 2025
 

Night Mirror

Well-Known Member
Modder
Jun 2, 2018
1,995
11,948
698
My game keep crashing for some reason,
That is a weird one. The error log indicates that it's failing on a line of dialogue... that has no images or code, so not sure how that's possible? I can't reproduce it locally, and after searching for information on "sortwrapper" I can't find anything for it in code or online.

The only suggestions I have here are:
  • Ensure you aren't loading a save made from the non-mod version of the game.
  • Try a clean install (delete the whole game folder, unzip the Gallery Mod (reminder NOT to unpack it into the original game, the mod is standalone))
  • Ensure you are running the game with the .exe files provided (not via a local install of renpy or joiplay or something)
Beyond that, not sure what I can do here, as I don't see any obvious errors, nor can I reproduce the issue. Sorry :/
 

iamtobi123

New Member
Jun 15, 2017
6
1
46
That is a weird one. The error log indicates that it's failing on a line of dialogue... that has no images or code, so not sure how that's possible? I can't reproduce it locally, and after searching for information on "sortwrapper" I can't find anything for it in code or online.

The only suggestions I have here are:
  • Ensure you aren't loading a save made from the non-mod version of the game.
  • Try a clean install (delete the whole game folder, unzip the Gallery Mod (reminder NOT to unpack it into the original game, the mod is standalone))
  • Ensure you are running the game with the .exe files provided (not via a local install of renpy or joiplay or something)
Beyond that, not sure what I can do here, as I don't see any obvious errors, nor can I reproduce the issue. Sorry :/
I started a new save after using this mod, i think i should delete all the old save files from the older version right before i start the new one.

Unfortunately when i delete the save folder from 18titans_gallery_mod-1.6.0-pc\game\saves (even reinstalled), the older save were still there for some reason, may i know where are the exact save location for this game so i can start for a clean new game?
 

Night Mirror

Well-Known Member
Modder
Jun 2, 2018
1,995
11,948
698
Unfortunately when i delete the save folder from 18titans_gallery_mod-1.6.0-pc\game\saves (even reinstalled), the older save were still there for some reason, may i know where are the exact save location for this game so i can start for a clean new game?
Renpy keeps its saves in two locations. One in the game folder and one in your appdata folder. The fastest way to the second it open an explorer window (if in windows), type %appdatra% into the address bar, rind the RenPy folder, find the 18titans-1600000000 folder, and either delete the folder, or the .save files inside it.

Clearing both should clean out all your saves.

Alternatively, if you'd like to keep your saves separate (and clear them for the mod at the same time), you can open /game/scripts/options.rpy find the line "define config.save_directory = "18titans-1600000000"" and change the number to anything you want (such as define config.save_directory = "18titans-1600000001"), this will make a new directory with that number. Note that going this method, means that you'll have to do this for any future releases.