| 
 
| 赞 | 29 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 67 |  
| 经验 | 0 |  
| 最后登录 | 2025-10-31 |  
| 在线时间 | 1387 小时 |  
 Lv4.逐梦者 
	梦石0 星屑6697 在线时间1387 小时注册时间2013-12-3帖子300 | 
| 本帖最后由 HM495 于 2023-6-19 12:13 编辑 
 复制代码DataManager.makeSavefileInfo = function() {
    const info = {};
    info.title = $dataSystem.gameTitle;
    info.characters = $gameParty.charactersForSavefile();
    info.faces = $gameParty.facesForSavefile();
    info.playtime = $gameSystem.playtimeText();
    info.timestamp = Date.now();
    info.isOpeningCleared = $gameSwitches.value(1);//记录该存档是否已通过序章
    return info;
};
//判断存档中是否有已播过序章的存档
DataManager.isAnySavefileOpeningCleared = function() {
    for (var i=0;i<DataManager._globalInfo.length;i++)
    {
        if(DataManager._globalInfo[i] != null){
            if(DataManager._globalInfo[i].isOpeningCleared )
            {
                return true
            }
        }
    }
    return false;
};
 如果我没理解错的话,你应该是跳过了默认的Title,自动新游戏进入某地图后,用地图场景伪装了一个标题界面吧
 
 在你播序章的事件开头用DataManager.isAnySavefileOpeningCleared ()作为条件判定一次“是否存在已经看完序章的存档”
 如果没有,就继续播序章
 播完序章打开开关,做一次自动存档
 同样这个思路你还可以判定你的游戏进度在标题做一些别的表现
 
 如果你不想用游戏存档判定,那换个思路存进ConfigManager里,加一个跳过片头的选项,在播完序章后,将这个开关打开并保存
 | 
 |