查看: 3242|回复: 1

[已经解决] 从脚本读取选项无法套用样式

[复制链接]
梦石
1
星屑
985
在线时间
231 小时
注册时间
2006-2-3
回帖
53
发表于 2019-11-23 10:17:28 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 zsefvv 于 2019-11-23 10:21 编辑

附上视频效果
https://www.bilibili.com/video/av75142241?p=3

视频中演示了2种对话选项,一种是从脚本中读取,无效果。一种是直接用事件创建选项,用/center有效果
不知道怎么解决,研究一晚上爬了搜索也没找到解决办法。

要看工程的话加企鹅109955453,工程比较大.......
如果有大佬能帮忙解决掉这些BUG,可以有偿.....(至少300RMB左右)

QQ图片20191123101802.png
[pre lang="ruby"]#==============================================================================
# ■ 多选项脚本
#------------------------------------------------------------------------------
#    v 1.0 by enghao_lim
#    理论性无限突破四个选项的脚本
#------------------------------------------------------------------------------
#
# 使用方法:
#
#  1. 在事件里使用【脚本】:多选项(选项数组,取消时执行的选项)
#     
#         选项数组例子:@c = ["选项一","选项二"..."选项100"]
#         所有选项必须是文字,即被 "" 符包括。
#        
#         取消时执行的选项:代表 ESC (也就是B键) 按下时执行的选项
#         不填写 或 为0 时,代表选项不可被取消。
#         此值不可大过选项的数量,否者会出错。
#        
#  2. 使用条件分歧:选项场合(选项编号)来执行选中选项后执行的事件。
#     具体请看范例。
#
#  3. for 脚本党:
#     获取 被选中的选项 的 index :$game_temp.choice_result
#        
#  4. 范例里已经有各种 多选项 的利用方法,自个儿都觉得多选项也挺好用的。
#  
#  5. 如有神马 bug ,请通知我,谢谢,感谢阅读。
#
#==============================================================================

#==============================================================================
# ■ Game_Temp
#------------------------------------------------------------------------------
#  临时资料记录器。
#==============================================================================
class Game_Temp
  #--------------------------------------------------------------------------
  # ● 读写器
  #--------------------------------------------------------------------------
  attr_accessor :choice_result
  attr_accessor :choice_last
  #--------------------------------------------------------------------------
  # ● 初始化
  #--------------------------------------------------------------------------
  alias initialize0 initialize
  def initialize
    initialize0
    @choice_result = -1
    @choice_last = -1
  end
end

#==============================================================================
# ■ Interpreter
#------------------------------------------------------------------------------
#  事件处理器。
#==============================================================================
class Interpreter
  #--------------------------------------------------------------------------
  # ● 多选项
  #--------------------------------------------------------------------------
  def talksw(选项, 取消 = 0)
    取消 = 取消 == "取消" ? 选项.size + 1 : 取消
    MultiChoice(选项,取消)
  end
  #--------------------------------------------------------------------------
  # ● 获取选择的选项
  #--------------------------------------------------------------------------
  def swto(n)
    if n == "取消"
      return ($game_temp.choice_last + 1) == $game_temp.choice_result
    end
    return $game_temp.choice_result == (n - 1)
  end
  #--------------------------------------------------------------------------
  # ● 多选项执行
  #--------------------------------------------------------------------------
  def MultiChoice(choice,cancel = 0)
    # 设置信息结束后待机和返回调用标志
    @message_waiting = true
    $game_temp.message_proc = Proc.new { @message_waiting = false }
    # 设置选项设置
    $game_temp.choice_max = choice.size
    $game_temp.choice_last = choice.size - 1
    $game_temp.choice_cancel_type = cancel
    $game_temp.choice_start = 0
    $game_temp.message_text = ""
    $game_temp.choice_proc = Proc.new { |n| $game_temp.choice_result = n }
    # 设置选择选项
    for c in choice
      $game_temp.message_text += c + "\n"
    end
  end
  
end[/pre]
梦石
1
星屑
985
在线时间
231 小时
注册时间
2006-2-3
回帖
53
 楼主| 发表于 2019-11-23 11:48:01 | 显示全部楼层
已解决,感谢帮忙的大佬
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部