はい、こちらはスロットプラグインのデータ丸投げ!!
と言っても、そのまま丸投げすると・・・ネタになります!!(`・ω・´)
ちゃんとコピペする前に一部は修正しないと・・・お食事ネタになりますよ!!(`・ω・´)
何故、JSファイルで出さないのかって・・・?
そのままお食事ネタで使いそうじゃないですか!!(`・ω・´;)
文字数制限の関係上、こっちは前半部で次に記載するのは後半部となります。
まず前半部のこれをコピーしたらメモ帳へペースト(貼り付け)をしたら、
そのメモ帳内の一番下に後半部のプラグインデータをコピーして貼り付けをし、
保存時のファイル名を「SlotMachine.js」で
右側の選択は「すべてのファイル」を選択して保存すると「JSファイル」が出来上がります。
・・・という訳でこちら!! ↓
//============================================================================= // SlotMachine.js // // (c)2016 KADOKAWA CORPORATION./YOJI OJIMA //============================================================================= /*: * @plugindesc Slot Machine scene * @author Takeya Kimura * * @param Variable ID * @desc Variable ID for store the coin. * @default 11 * * @param Help Text * @desc This text is a help message. * @default カーソルキーの上でベッド、カーソルキーの下でお食事開始 * * @param Won Text * @desc This text is a won message. "Win Coin" will be replaced with the number of coins won. * @default おめでとうございます!Win Coin肉獲得です! * * @param Lost Text * @desc This text is a lost message. * @default ご馳走様でした。 * * @param Replay Text * @desc This text is a replay message. * @default もう一度ご馳走になりますか? * * @param CoinFull Text * @desc This text is a coin full message. * @default お腹が満腹になりました。 * * @param Bet Text * @desc This text is a bet command. * @default ベッド * * @param Spin Text * @desc This text is a coin spin command. * @default フライスピン * * @param Yes Text * @desc This text is a coin "yes" command. * @default お食事開始 * * @param No Text * @desc This text is a "no" command. * @default もう食べれません * * @requiredAssets img/slotmachine/bet_line_1 * @requiredAssets img/slotmachine/bet_line_2 * @requiredAssets img/slotmachine/bet_line_3 * @requiredAssets img/slotmachine/bg * @requiredAssets img/slotmachine/line_base * @requiredAssets img/slotmachine/reel * @requiredAssets img/slotmachine/scale_x1 * @requiredAssets img/slotmachine/scale_x10 * @requiredAssets img/slotmachine/scale_x100 * @requiredAssets img/slotmachine/win_cursor * @requiredAssets audio/me/Victory1 * @requiredAssets audio/se/Switch2 * * @help * Plugin Command: * SlotMachine open # Open the slot machines * SlotMachine expectation 0.5 # Set the expectation * SlotMachine scale 0 # Set the scale [0 | 1 | 2](scale1 | scale10 | scale100) */ /*:ja * @plugindesc Slot Machine scene * @author Takeya Kimura * * @param Variable ID * @desc 所持お肉の数を保管する変数ID * @default 11 * * @param Help Text * @desc ヘルプメッセージです。 * @default カーソルキーの上でベッド、カーソルキーの下でお食事 * * @param Won Text * @desc 食事後のメッセージ。 "Win Coin"は獲得したお肉に置換されます。 * @default おめでとうございます!Win Coin肉獲得です! * * @param Lost Text * @desc 食べれなかった時のメッセージ * @default 食べれませんでした。 * * @param Replay Text * @desc 温め時の選択メッセージ * @default もう一度ご馳走になりますか? * * @param Coin Full Text * @desc お肉で満腹に達した時のメッセージ * @default お腹が満腹になりました。 * * @param Bet Text * @desc ベットコマンドのテキスト * @default ベッド * * @param Spin Text * @desc スピンコマンドのテキスト * @default フライスピン * * @param Yes Text * @desc はいコマンドのテキスト * @default お食事開始 * * @param No Text * @desc いいえコマンドのテキスト * @default もう食べれません * * @requiredAssets img/slotmachine/bet_line_1 * @requiredAssets img/slotmachine/bet_line_2 * @requiredAssets img/slotmachine/bet_line_3 * @requiredAssets img/slotmachine/bg * @requiredAssets img/slotmachine/line_base * @requiredAssets img/slotmachine/reel * @requiredAssets img/slotmachine/scale_x1 * @requiredAssets img/slotmachine/scale_x10 * @requiredAssets img/slotmachine/scale_x100 * @requiredAssets img/slotmachine/win_cursor * @requiredAssets audio/me/Victory1 * @requiredAssets audio/se/Switch2 * * @help * Plugin Command: * SlotMachine open # 精肉マシーンを開きます * SlotMachine expectation 0.5 # 期待値を0~1の間で設定します。1に近づくほど当たりやすくなりますが、確実にお食事できるわけではありません。 * SlotMachine scale 0 # 倍率を設定します0は1倍、1は10倍、2は100倍です。 */ (function () { var parameters = PluginManager.parameters('SlotMachine'); var variableId = Number(parameters['Variable ID'] || 11); var helpMessage = String(parameters['Help Text'] || "カーソルキーの上でベッド、カーソルキーの下でお食事"); var winMessage = String(parameters['Won Text'] || "おめでとうございます!Win Coin肉獲得です!"); var lostMessage = String(parameters['Lost Text'] || "食べれませんでした。"); var replayMessage = String(parameters['Replay Text'] || "もう一度ご馳走になりますか?"); var coinFullMessage = String(parameters['CoinFull Text'] || "お腹が満腹になりました。"); var betText = String(parameters['Bet Text'] || "ベッド"); var spinText = String(parameters['Spin Text'] || "フライスピン"); var yesText = String(parameters['Yes Text'] || "お食事開始"); var noText = String(parameters['No Text'] || "もう食べれません"); var scale = 1; var expectation = 0.5; //odds //You can set the odds. var odds = []; odds.push([]); odds[0].push(3); //000 odds[0].push(5); //111 odds[0].push(10); //222 odds[0].push(30); //333 odds[0].push(500); //444 odds[0].push(777); //555 odds.push([]); odds[1].push(6); //0000 odds[1].push(30); //1111 odds[1].push(50); //2222 odds[1].push(300); //3333 odds[1].push(5000); //4444 odds[1].push(7777); //5555 odds.push([]); odds[2].push(20); //00000 odds[2].push(300); //11111 odds[2].push(500); //22222 odds[2].push(3000); //33333 odds[2].push(5000); //44444 odds[2].push(77777); //55555 //make reel //You can rearrange the order of the reel. //The number can not be changed. var reel = []; reel.push([0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5]); reel.push([5, 4, 3, 2, 1, 0, 5, 4, 3, 2, 1, 0, 5, 4, 3, 2, 1, 0]); reel.push([0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 0, 1, 2, 3, 4, 5]); reel.push([0, 2, 4, 1, 3, 5, 0, 2, 4, 1, 3, 5, 0, 2, 4, 1, 3, 5]); reel.push([0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5]); function getCoin() { return $gameVariables.value(variableId); } function setCoin(value) { return $gameVariables.setValue(variableId, value); } var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand; Game_Interpreter.prototype.pluginCommand = function (command, args) { _Game_Interpreter_pluginCommand.call(this, command, args); if (command === "SlotMachine") { switch (args[0]) { case "open": SceneManager.push(Scene_SlotMachine); break; case "expectation": expectation = Number(args[1]); break; case "scale": switch (args[1]) { case "0": scale = 1; break; case "1": scale = 10; break; case "2": scale = 100; break; default : scale = 1; break; } break; } } }; //----------------------------------------------------------------------------- // SLTReelSprite // // Slot Machine Reel Sprite function SLTReelSprite() { this.initialize.apply(this, arguments); } SLTReelSprite.prototype = Object.create(Sprite.prototype); SLTReelSprite.prototype.constructor = SLTReelSprite; SLTReelSprite.STOP = 0; SLTReelSprite.SPINNING = 1; SLTReelSprite.SPIN = 2; SLTReelSprite.STOPPING = 3; SLTReelSprite.FRAME_SPINNING = 40; SLTReelSprite.FRAME_SPIN = 60; SLTReelSprite.FRAME_STOPPING = 40; SLTReelSprite.prototype.initialize = function (bitmap) { Sprite.prototype.initialize.call(this, bitmap); this._numSpot = 18; this._spotHeight = 54; this._winSpot = 0; this._scrollY = 0; this._speedHigh = 30; this._speedLow = 4; this._status = 0; this._spinFrame = 0; this._spinEndFrame = SLTReelSprite.FRAME_SPIN; }; Object.defineProperty(SLTReelSprite.prototype, 'status', { get: function () { return this._status; }, configurable: true }); SLTReelSprite.prototype.update = function () { Sprite.prototype.update.call(this); switch (this._status) { case SLTReelSprite.STOP: break; case SLTReelSprite.SPINNING: if (this._spinFrame > SLTReelSprite.FRAME_SPINNING) { this._status = SLTReelSprite.SPIN; break; } this._scrollY = (this._scrollY + this._speedLow) % (this._numSpot * this._spotHeight); this.setFrame( 0, this._spotHeight * this._numSpot * 2 - this._scrollY - this._spotHeight * 2, 116, this._spotHeight * 3 ); this._spinFrame++; break; case SLTReelSprite.SPIN: if (this._spinFrame > this._spinEndFrame + SLTReelSprite.FRAME_SPINNING) { this._status = SLTReelSprite.STOPPING; this._scrollY = this._winSpot * this._spotHeight - this._spotHeight * 3; break; } this._scrollY = (this._scrollY + this._speedHigh) % (this._numSpot * this._spotHeight); this.setFrame( 0, this._spotHeight * this._numSpot * 2 - this._scrollY - this._spotHeight * 2, 116, this._spotHeight * 3 ); this._spinFrame++; break; case SLTReelSprite.STOPPING: this._scrollY = (this._scrollY + this._speedLow) % (this._numSpot * this._spotHeight); if (this._scrollY > this._winSpot * this._spotHeight) { this._scrollY = this._winSpot * this._spotHeight; this._status = SLTReelSprite.STOP; AudioManager.playSe({"name": "Switch2", "volume": 90, "pitch": 100, "pan": 0}); } this.setFrame( 0, this._spotHeight * this._numSpot * 2 - this._scrollY - this._spotHeight * 2, 116, this._spotHeight * 3 ); break; } }; SLTReelSprite.prototype.setSpot = function (spot) { if (0 0) { if (this._counter > InstructionCursorSprite.FRAME_BLINK_END + 1) { this._counter = 0; } else { var s = this._counter / InstructionCursorSprite.FRAME_BLINK >> 0; this.visible = s % 2 === 0; this._counter++; } } }; /** * @method drawImage * @param bitmap source bitmap * @param sx source x * @param sy source y * @param sw source width * @param sh source height * @param dx destination x * @param dy destination y */ Bitmap.prototype.drawImage = function(bitmap, sx, sy, sw, sh, dx, dy) { this._context.drawImage(bitmap.canvas, sx, sy, sw, sh, dx, dy, sw, sh); this._setDirty(); }; //----------------------------------------------------------------------------- // Scene_SlotMachine // // Will play the slot machine. function Scene_SlotMachine() { this.initialize.apply(this, arguments); } Scene_SlotMachine.prototype = Object.create(Scene_MenuBase.prototype); Scene_SlotMachine.prototype.constructor = Scene_SlotMachine; Scene_SlotMachine.COIN_MAX_VALUE = 99999999; Scene_SlotMachine.ODDS_MAX_VALUE = 100000; Scene_SlotMachine.prototype.initialize = function () { Scene_MenuBase.prototype.initialize.call(this); this._bet = 0; this._coin = getCoin(); this._winSpot = null; this._spinStart = false; this._rollCount = 0; this._winCoin = 0; this._correctCoin = 0; this._winStep = 0; this._winMessage = ""; //Winning percentage is calculated by the odds this._probability = []; this._probability.push([]); this._probability[0].push(0.92); //00 this._probability[0].push(0.86); //11 this._probability[0].push(0.69); //22 this._probability[0].push(0.62); //33 this._probability[0].push(0.54); //44 this._probability[0].push(0.46); //55 this._probability.push([]); this._probability[1].push((1 / this._probability[0][0]) * expectation * (1 / odds[0][0])); //000 this._probability[1].push((1 / this._probability[0][1]) * expectation * (1 / odds[0][1])); //111 this._probability[1].push((1 / this._probability[0][2]) * expectation * (1 / odds[0][2])); //222 this._probability[1].push((1 / this._probability[0][3]) * expectation * (1 / odds[0][3])); //333 this._probability[1].push((1 / this._probability[0][4]) * expectation * (1 / odds[0][4])); //444 this._probability[1].push((1 / this._probability[0][5]) * expectation * (1 / odds[0][5])); //555 this._probability.push([]); this._probability[2].push((1 / (this._probability[0][0] * this._probability[1][0])) * expectation * (1 / odds[1][0])); //0000 this._probability[2].push((1 / (this._probability[0][1] * this._probability[1][1])) * expectation * (1 / odds[1][1])); //1111 this._probability[2].push((1 / (this._probability[0][2] * this._probability[1][2])) * expectation * (1 / odds[1][2])); //2222 this._probability[2].push((1 / (this._probability[0][3] * this._probability[1][3])) * expectation * (1 / odds[1][3])); //3333 this._probability[2].push((1 / (this._probability[0][4] * this._probability[1][4])) * expectation * (1 / odds[1][4])); //4444 this._probability[2].push((1 / (this._probability[0][5] * this._probability[1][5])) * expectation * (1 / odds[1][5])); //5555 this._probability.push([]); this._probability[3].push((1 / (this._probability[0][0] * this._probability[1][0] * this._probability[2][0])) * expectation * (1 / odds[2][0])); //00000 this._probability[3].push((1 / (this._probability[0][1] * this._probability[1][1] * this._probability[2][1])) * expectation * (1 / odds[2][1])); //11111 this._probability[3].push((1 / (this._probability[0][2] * this._probability[1][2] * this._probability[2][2])) * expectation * (1 / odds[2][2])); //22222 this._probability[3].push((1 / (this._probability[0][3] * this._probability[1][3] * this._probability[2][3])) * expectation * (1 / odds[2][3])); //33333 this._probability[3].push((1 / (this._probability[0][4] * this._probability[1][4] * this._probability[2][4])) * expectation * (1 / odds[2][4])); //44444 this._probability[3].push((1 / (this._probability[0][5] * this._probability[1][5] * this._probability[2][5])) * expectation * (1 / odds[2][5])); //55555 //Interval Spin //this._startingTimer = null; //this._currentStartingReel = 0; if (this._coin > Scene_SlotMachine.COIN_MAX_VALUE) { this._coin = Scene_SlotMachine.COIN_MAX_VALUE; } }; Scene_SlotMachine.prototype.create = function () { this.createBackground(); this._backgroundSprite.bitmap = ImageManager.loadBitmap("img/slotmachine/", "bg"); this.createReels(); this.createBetLine(); this.createScale(); this.updateActor(); this.createWindowLayer(); this.createHelpWindow(); this.createInstruction(); this.createSlotMachine(); this.createSlotCommand(); this.createReplayCommand(); this.refreshStatus(); if (this._coin < scale) { this._slotCommandWindow.disableBet(); } }; Scene_SlotMachine.prototype.start = function() { this.makeReel(); this._instructionWindow.refresh(); this._slotMachineWindow.refresh(); this._helpWindow.setText(helpMessage); }; Scene_SlotMachine.prototype.makeReel = function() { for (var i = 0; i < 5; i++) { for (var j = 0; j < 18; j++) { for (var k = 0; k < 3; k++) { this._reels[i].bitmap.drawImage( this._reelBitmap, reel[i][j] * 116, 0, 116, 54, 0, (54 * 18 * 3) - j * 54 - k * (18 * 54) - 54); } } this._reels[i].setSpot(Math.random() * 18 >> 0); } }; Scene_SlotMachine.prototype.isSpinning = function() { var returnValue = false; for (var i = 0; i < 5; i++) { returnValue = returnValue || this._reels[i].status !== SLTReelSprite.STOP; } return returnValue; }; Scene_SlotMachine.prototype.isWinCounting = function() { return this._winCoin > 0; }; Scene_SlotMachine.prototype.createHelpWindow = function() { Scene_MenuBase.prototype.createHelpWindow.call(this); this._helpWindow.y = Graphics.boxHeight - this._helpWindow.height; }; Scene_SlotMachine.prototype.createInstruction = function () { this._instructionWindow = new Window_SlotInstruction(0, 0, Graphics.boxWidth, 26 * 6 + 18 * 2); this._instructionWindow.setOdds(odds); this.addWindow(this._instructionWindow); }; Scene_SlotMachine.prototype.createSlotMachine = function () { this._slotMachineWindow = new Window_SlotMachine(0, this._instructionWindow.height, Graphics.boxWidth, 200); this._slotMachineWindow.coin = this._coin; this._slotMachineWindow.bet = this._bet; this.addWindow(this._slotMachineWindow); }; Scene_SlotMachine.prototype.createSlotCommand = function () { this._slotCommandWindow = new Window_SlotCommand(0, 0); this._slotCommandWindow.setHandler('bet', this.betCommand.bind(this)); this._slotCommandWindow.setHandler('spin', this.spinCommand.bind(this)); this._slotCommandWindow.setHandler('cancel', this.cancelCommand.bind(this)); this.addWindow(this._slotCommandWindow); this._slotCommandWindow.y = this._helpWindow.y - this._slotCommandWindow.height; }; Scene_SlotMachine.prototype.createReplayCommand = function () { this._replayCommandWindow = new Window_ReplayCommand(0, 0); this._replayCommandWindow.setHandler('yes', this.replayCommand.bind(this)); this._replayCommandWindow.setHandler('no', this.cancelCommand.bind(this)); this._replayCommandWindow.setHandler('cancel', this.cancelCommand.bind(this)); this.addWindow(this._replayCommandWindow); this._replayCommandWindow.x = Graphics.boxWidth - this._replayCommandWindow.width; this._replayCommandWindow.y = this._helpWindow.y - this._replayCommandWindow.height; }; Scene_SlotMachine.prototype.createReels = function () { this._reelBitmap = ImageManager.loadBitmap("img/slotmachine/", "reel"); this._reels = []; for (var i = 0; i < 5; i++) { var sprite = new SLTReelSprite(new Bitmap(116, 54 * 18 * 3)); this._reels.push(sprite); sprite.x = 110 + i * 120; sprite.y = 222; sprite.setSpinEndFrame(SLTReelSprite.FRAME_SPIN + i * 40); sprite.setFrame(0, 0, 116, 54 * 3); this.addChild(sprite); } }; Scene_SlotMachine.prototype.createBetLine = function () { var bitmap = ImageManager.loadBitmap("img/slotmachine/", "line_base"); this._betLine = new LotLineSprite(bitmap); this._betLine.x = 43; this._betLine.y = 227; this._betLine.clear(); this.addChild(this._betLine); }; Scene_SlotMachine.prototype.createScale = function () { var bitmap; if (scale === 10) { bitmap = ImageManager.loadBitmap("img/slotmachine/", "scale_x10"); } else if (scale === 100) { bitmap = ImageManager.loadBitmap("img/slotmachine/", "scale_x100"); } else { bitmap = ImageManager.loadBitmap("img/slotmachine/", "scale_x1"); } this._scale = new Sprite(bitmap); this._scale.x = 719; this._scale.y = 212; this.addChild(this._scale); }; Scene_SlotMachine.prototype.cancelCommand = function () { this._bet = 0; this.refreshStatus(); setCoin(this._coin); this.popScene(); }; Scene_SlotMachine.prototype.betCommand = function () { if (this._bet < 3) { this._bet++; this._slotCommandWindow.enableSpin(); } if (this._bet > 2) { this._slotCommandWindow.disableBet(); } if (this._coin - this._bet * scale