Forum rules - please read before posting.

Customized AC Save menu - Slot position and confirm issues

  • I am using a customized Save/Load AC menu with screenshots. I have a grid of 20 slots, with fixed Save ID (each numbered from 1 to x)
  • I deleted the Autosave SavesList element.
  • I am using a custom Action List when clicked on Save/Load.
  • I followed the Tutorial Custom Save Game Lables and created a parameter to remember the slot position.
  • And I am trying to implement confirm Overwrite saved slot.

But I have several issue with the whole setup.
If I use parameters according to Custom Save Game Labels, the first slots cannot be used for saving save; the number of the unusable slot depends on how many games I saved in other slots. For example if I save in slot no. 4, I can no longer save in slot no. 1. If I then save in slot no. 6, I cannot save in the first two slots, etc. The slots can be clicked, but nothing is saved in their position (no screenshot at least) and i think what is actually saved instead are the slots that blocked them (so in this example 4 or 6).
I circumvented this issue for now by modifying the Action List from the Tutorial to this, but I'm afraid it will bite me in the butt later. I would like to understand why the Tutorial solution does not work for me. Does it have something to do with the autosave?

This is the modification that seems to work so far:

With that is connected another issue - I try to implement a Confirm Overwrite menu; I use an action to detect if the slot is empty or not, but even tho the slot has no save position in it, the Is Slot empty gets ignored, and the Overwrite menu pops up every time.
And I have no idea how to save into the specific slot from the Overwrite popup - I tried to somehow call it from global variable using my modification, but I just cannot find the right Actions and ran out of ideas.

Please help.

The AL to check if the slot is empty or needs to be overwritten (the Is Slot empty is ignored):

This then to confirm the save in the Overwite popup (menu called RealySave) (not working):

I am showing only the relevant bits of the Action lists (there is some turning on/off of menus etc that would just take space on the screenshot here).

I am using parameter "Slot Index" on both action lists, default -1.
I am using Global Variable "Save slot index", default 0.

Comments

  • This is too complex a logic chain to deal with in one go - we'll need to start at the beginning and work from there.

    I have a grid of 20 slots, with fixed Save ID (each numbered from 1 to x)

    Is this to say you have 20 separate SavesList elements, each with Fixed Save ID only? checked?

    If so, the main difference with this and the tutorial is that the tutorial relies on slot indices - rather than IDs.

    If you clear the ActionList after saving? option, and re-check Save when click on?, do saves then get stored in the correct slot?

    If so, undo the above changes, but leave out the "overwrite" logic.

    When saving, check the Console window - it'll print details when a save is created. You can use this to confirm which save is being written to.

    The change you've made to the Save: Save or load Action (relying on "Set Save ID") looks correct. Check the value of your "Save slot index" (rename this to "Save slot ID" if that's what it represents) after saving as well to check if it's the correct value.

  • Is this to say you have 20 separate SavesList elements, each with Fixed Save ID only? checked?

    Correct.

    If you clear the ActionList after saving? option, and re-check Save when click on?, do saves then get stored in the correct slot?

    They don't. No matter what slot I click, the saves get saved continuously from the first slot onward. Overwriting a specific slot does work, however.
    In console, the saves are getting numbers starting from 1 onward. When overwriting, the save corresponds with the number of the given slot (so save3 for third slot for example).

    The change you've made to the Save: Save or load Action (relying on "Set Save ID") looks correct. Check the value of your "Save slot index" (rename this to "Save slot ID" if that's what it represents) after saving as well to check if it's the correct value.

    This works; both the console and Save slot ID show the correct values for the specific saves.

    Now how can I please check if the Slot is empty or needs to be rewritten?
    And how can I implement saving from the "overwrite" popup menu?

  • edited May 9

    They don't. No matter what slot I click, the saves get saved continuously from the first slot onward. Overwriting a specific slot does work, however.

    Open up AC's MenuSavesList script and look for the following (around line 864):

    if (newSaveSlot && _slot == (numSlots - 1))
    

    Replace with:

    if (newSaveSlot && !fixedOption && _slot == (numSlots - 1))
    

    Does that fix the empty slot issue?

    Now how can I please check if the Slot is empty or needs to be rewritten?

    The Save: Check Action's Is Slot Empty condition is the one to use - but you'll need to set the "Save ID" field to match the intended slot, either manually or via a parameter.

    And how can I implement saving from the "overwrite" popup menu?

    Generally the logic looks OK - save ID field otherwise. We'll need to ensure the above are working first, however. I appeciate your patience with this multi-layered issue.

  • The change in the code fixed the empty slot issue. I unchecked Save when click on? and added the AL back again with the Save: Check - Is Slot Empty.

    All seems to work properly now! The saves are saved in the selected position, and the overwrite popup menu appears only when the slot is occupied. Thank you!

    Now, only the last issue remains. I tried to switch and move the Save and Variable Actions in the Overwrite menu and partially to the Overwrite Check Menu, but nothing seems to work. The saves that were supposed to be overwritten do not appear in the specific slot but instead appear from the first slot onward again (the console also confirms this), and the Variable Save Slot ID turns to -1.

  • Return to the ActionList when click asset that runs when the SavesList is clicked on, and have it run the Variable: Set Action that transfers the "clicked ID" parameter to the "Save slot index" variable.

    This is then set - and should not need changing for the rest of the process. Remove any other instances of this Action.

    If the logic for the Overwrite menu is in a separate ActionList, you can use the ActionList: Set parameter Action to do the reverse, i.e. set its own "clicked ID" parameter from the variable.

  • edited May 13

    I am still experiencing issues. For example, when I save on positions 2, 13, and 15 (in that order), I can overwrite only 13 and 15, and when I click 2, it saves on position 13 instead. The same, however, happens when I click the same slots in a different order. I checked the settings of the slots, but they are all set the same way.
    I noticed it happens on various other slots too, the global variable changes correctly but the saves is on a different slot.

    Here are my ALs for Save and Overwrite menus:
    Save:

    Overwrite:

  • Looks like a case of the save index - not the ID - being referred to, in the Save_RealySaveYes assets' Save: Save or load Action.

    Set the Save to overwrite to Set Save ID, and then override it with the parameter.

  • I tried that before. When I change to what you suggest, the overwritten saves are saved consecutively from the first slot onwards into every unoccupied slot instead of the specific clicked slot.
    The global variable changes correctly, but the console writes the incorrect save number (1, 2, ....)
    It is the same behavior as at the beginning of this thread; I checked the MenuSavesList script, and the fix you suggested is still there.

  • I can't recreate such an issue - but as the Action should now rely on the parameter, not the variable, its the former value to check.

    Try adding an ActionList: Comment Action that displays:

    Parameter value: [param:0]
    

    into the Console. What gets shown?

  • Added the action and in the Overwrite menu where the issue is, the console writes Parameter value = -1.

    The AL in question:

  • You need to assign the parameter value - the first Action assigns it to a separate ActionList.

    Copy or amend the first Action, same settings but check Change own?, so that its own parameter value takes the value of the Global Variable.

  • It works! thank you! :-)

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.