设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2605|回复: 3
打印 上一主题 下一主题

[已经解决] 请问选项时有时间限制

[复制链接]

Lv1.梦旅人

梦石
0
星屑
53
在线时间
50 小时
注册时间
2011-6-4
帖子
42
跳转到指定楼层
1
发表于 2017-6-18 00:40:33 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
具体来说,
6秒之内没有选择的话就选择选项3。

另外还有一点,
如何能强制关闭选项?选项时虽然倒计时虽然还在计,但是并行事件并不会发生,会在选项之后才会发生。

麻烦大大们了,拜谢!

Lv4.逐梦者

梦石
0
星屑
16119
在线时间
3996 小时
注册时间
2015-9-14
帖子
1337

开拓者

2
发表于 2017-6-18 20:22:19 | 只看该作者
限時選擇插件 http://tm.lucky-duet.com/viewtopic.php?f=5&t=3678
樣品(YouTube):https://www.youtube.com/watch?v=rMyqNWJv28M
如何設置建議:
插件命令:
從事件的命令“插件命令”運行。
(關係的參數由空格分隔)

TLChoice [幀數]
  把時間限制到下一個選項的顯示(1秒= 60幀)
  實施例:TLChoice 600
   ※有僅僅在下一選擇有效。如果你想在一個連續使用,
  請再次每次[顯示選項]命令之前作出此命令。

  1. //=============================================================================
  2. // TimeLimitedChoice.js        2017/04/02
  3. // Copyright (c) 2017 Tsukimi
  4. //=============================================================================

  5. /*:
  6. * @plugindesc 時間制限付き選択肢プレグイン
  7. * @author Tsukimi
  8. *
  9. * @help
  10. * 時間制限付き選択肢プレグイン
  11. * 作者:ツキミ
  12. *
  13. * 2017/05/01 ver 1.0 完成
  14. *
  15. * ***************************************************
  16. * 説明:
  17. * 次の選択肢に時間制限をかけます。
  18. * プラグインコマンドを実行して選択肢を設定した時、タイマーが自動で起動します。
  19. * 時間切れすると選択ウィンドウが消え、[キャンセルのとき]
  20. * のイベントコマンドを実行します。
  21. *
  22. * ※ 選択肢の表示の設定の中の、キャンセルを[分岐]にしてください。
  23. *
  24. * ※ 必ずしもプラグインコマンドの直後に選択肢を設定する必要がありません。
  25. * オススメの設定方法は:
  26. * ◆プラグインコマンド:TLChoice 300
  27. * ◆文章:~~~~~
  28. * ◆選択肢の表示:~~~~~
  29. *
  30. *
  31. * ***************************************************
  32. * プラグインコマンド:
  33. *  イベントコマンド「プラグインコマンド」から実行。
  34. *  (パラメータの間は半角スペースで区切る)
  35. *
  36. * TLChoice [フレーム数]
  37. *   次の選択肢表示に時間制限をかける(1秒=60フレーム)
  38. *   例: TLChoice 600
  39. *   ※次の選択肢にだけ効果があります。連続で使用したい場合、
  40. *   各[選択肢の表示]コマンドの前にもう一度このコマンドを行ってください。
  41. *
  42. *
  43. * 作者のサイト: http://tsukimitsf.blog.fc2.com/
  44. * バグなどがあったら、是非こちらへご一報ください。ありがとうございます。
  45. */

  46. (function(_global) {
  47.           // ここにプラグイン処理を記載
  48.    
  49.     var _Game_Timer_onExpire = Game_Timer.prototype.onExpire;
  50.     Game_Timer.prototype.onExpire = function() {
  51.         _Game_Timer_onExpire.call(this);
  52.         var cw = SceneManager._scene._messageWindow._choiceWindow;
  53.         if(!!cw._timeLimit && !!cw._TLStarted) {
  54.             cw._timeLimit = false;
  55.             cw._TLStarted = false;
  56.             // processCancel, without sound
  57.             cw.updateInputData();
  58.             cw.deactivate();
  59.             cw.callCancelHandler();
  60.             // end
  61.             this.stop();
  62.         }
  63.     }
  64.    
  65.     var _Window_ChoiceList_close = Window_ChoiceList.prototype.close;
  66.     Window_ChoiceList.prototype.close = function() {
  67.         _Window_ChoiceList_close.call(this);
  68.         if(!!this._timeLimit) {
  69.             this._timeLimit = false;
  70.             this._TLStarted = false;
  71.             $gameTimer.stop();
  72.         }
  73.     }
  74.    
  75.     var _Window_ChoiceList_start = Window_ChoiceList.prototype.start;
  76.     Window_ChoiceList.prototype.start = function() {
  77.         _Window_ChoiceList_start.call(this);
  78.         if(!!this._timeLimit) {
  79.             this._TLStarted = true;
  80.             $gameTimer.start(this._limitedTime || 300);
  81.         }
  82.     }
  83.    
  84.     var _Window_ChoiceList_isCancelEnabled = Window_ChoiceList.prototype.isCancelEnabled;
  85.     Window_ChoiceList.prototype.isCancelEnabled = function() {
  86.         var normal = _Window_ChoiceList_isCancelEnabled.call(this);
  87.         if(!!this._timeLimit) return false;
  88.         else return normal;
  89.     }
  90.    
  91.    
  92.     var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
  93.     Game_Interpreter.prototype.pluginCommand = function(command, args) {
  94.         _Game_Interpreter_pluginCommand.call(this, command, args);
  95.         switch(command) {
  96.             case "TLChoice":
  97.                 var cw = SceneManager._scene._messageWindow._choiceWindow;
  98.                 cw._timeLimit = true;
  99.                 if(!args) cw._limitedTime = 300;
  100.                 else if(parseInt(args[0]) == 0) cw._limitedTime = 300;
  101.                 else cw._limitedTime = parseInt(args[0]);
  102.                 break;
  103.         }
  104.     };
  105.    
  106. })(this);
复制代码


评分

参与人数 1梦石 +1 收起 理由
余烬之中 + 1 认可答案

查看全部评分

回复 支持 1 反对 0

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
53
在线时间
50 小时
注册时间
2011-6-4
帖子
42
3
 楼主| 发表于 2017-6-18 22:08:54 | 只看该作者
wabcmcc 发表于 2017-6-18 20:22
限時選擇插件 http://tm.lucky-duet.com/viewtopic.php?f=5&t=3678
樣品(YouTube):https://www.youtube.c ...

太感谢啦,明天去试试看
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
53
在线时间
50 小时
注册时间
2011-6-4
帖子
42
4
 楼主| 发表于 2017-6-26 20:43:06 | 只看该作者
wabcmcc 发表于 2017-6-18 20:22
限時選擇插件 http://tm.lucky-duet.com/viewtopic.php?f=5&t=3678
樣品(YouTube):https://www.youtube.c ...

认可答案,非常感谢
@余烬之中
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-29 12:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表