赞 | 2 |
VIP | 50 |
好人卡 | 23 |
积分 | 1 |
经验 | 15845 |
最后登录 | 2018-11-11 |
在线时间 | 306 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 60
- 在线时间
- 306 小时
- 注册时间
- 2014-8-5
- 帖子
- 416
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 夏末渐离 于 2016-2-16 22:02 编辑
- /*:
- * @plugindesc 这个插件名必须为XM_FinalTitle.js,可以在通关后制作类似彩蛋小屋,或者进入二周目这样的功能。
- * @author XMJL
- * @param FinalTitleName
- * @default new special game
- *
- * @param FinalTitleVisible
- * @desc true or false
- * @default false
- *
- * @param MapID
- * @default 2
- *
- * @param ActorXY
- * @default 8,6
- *
- * @param matchCode
- * @default GoodGame
- *
- * @help
- *使用说明:
- *FinalTitleName:标题名
- *FinalTitleVisible:标题名是否可见,默认可见(true)
- *MapID:选择最后一个标题指令时主角将被传送到这个地图ID
- *ActorXY:选择最后一个标题指令时主角将被传送到指定地图的这个位置
- *matchValue:与插件指令保存的值进行比较的值
- *使用方法:
- *在游戏事件中使用插件指令: Save code Ex: Save GoodGame
- *code必须和前面设定的matchValue的值相同,最后的标题指令才能使用。
- *缺点:进入二周目后一周目数据将被清空,相当于另外一个新建游戏的选项。
- */
- (function()
- {
- var parameters = PluginManager.parameters('XM_FinalTitle');
- var FTName = String(parameters['FinalTitleName']);
- var FTVisible=eval(String(parameters['FinalTitleVisible']));
- var MapID = Number(parameters['MapID']);
- var matchValue=String(parameters['matchCode']);
- var Actor_Position=Find_XY();
- var currentGlobal;//临时的全局变量
- function Find_XY()
- {
- var res = /(\d+),*(\d+)/.exec(parameters['ActorXY']);
- return {x: Number(res[1]), y: Number(res[2])};
- }
- var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
- Game_Interpreter.prototype.pluginCommand = function(command, args) {
- _Game_Interpreter_pluginCommand.call(this, command, args);
- if (command === 'Save')
- {
- var code=args[0];
- currentGlobal=code;
- XMJL_SaveMyData(code);
- }
- };
- //save
- var XMJL_SaveMyData=function(code)
- {
- var myConfig=ConfigManager.makeData();
- myConfig.code=code;
- StorageManager.save(-1, JSON.stringify(myConfig));
- };
- //load
- var XMJL_ConfigManage_applyData=ConfigManager.applyData;
- ConfigManager.applyData = function(config)
- {
- XMJL_ConfigManage_applyData.call(this,config);
- currentGlobal=XMJL_LoadOther(config,'code');
- };
- var XMJL_LoadOther=function(config,name)
- {
- var value=config[name];
- if(value==undefined)
- return;
- else
- return value;
- };
- DataManager.setupFinishGame=function()
- {
- this.createGameObjects();
- this.selectSavefileForNewGame();
- $gameParty.setupStartingMembers();
- $gamePlayer.reserveTransfer(MapID,Actor_Position.x,Actor_Position.y); //MapId,x,y
- Graphics.frameCount = 0;
- };
- var MakeNewTitleCommand=Window_TitleCommand.prototype.makeCommandList;
- Window_TitleCommand.prototype.makeCommandList=function()
- {
- MakeNewTitleCommand.call(this);
- if(FTVisible||currentGlobal!=undefined)
- this.addCommand(FTName,'Symbol',XMJL_FinalTitleAvailable());
- };
- var XMJL_FinalTitleAvailable=function()
- {
- if(currentGlobal==matchValue)
- return true;
- else
- return false;
- };
- var MakeNewSymbol=Scene_Title.prototype.createCommandWindow;
- Scene_Title.prototype.createCommandWindow = function()
- {
- MakeNewSymbol.call(this);
- this._commandWindow.setHandler('Symbol', this.commandFinishGame.bind(this));
- };
- Scene_Title.prototype.commandFinishGame = function() {
- DataManager.setupFinishGame();
- this._commandWindow.close();
- this.fadeOutAll();
- SceneManager.goto(Scene_Map);
- };
- })();
复制代码 |
评分
-
查看全部评分
|