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

Project1

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

[已经解决] 真对话加强脚本ctrl键会跳过选项,如何避免?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
79
在线时间
193 小时
注册时间
2011-6-29
帖子
34
跳转到指定楼层
1
发表于 2011-8-11 18:03:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
# ▼▲▼ XRXS 9. 真对话加强脚本 ver.2 ▼▲▼
# by 桜雅 在土
#
# update 2006/ 6/ 7
#
# SixRice 改造双重对话框功能  2006/ 8/ 18
就是这个啦,脚本字数太多,只好输个标题了。
XRXS 9. 真对话加强脚本 ver.2 脚本按住ctrl能快速跳过文章,但也会跳过选项。如何按住ctrl而不跳过选项?
比如说,
显示选择项:是,否


但光标在“是”上面,就直接过去了。
也就是说,玩家还没做出决定,就已经选过了,选择的是“是”。

Lv3.寻梦者

小柯的徒弟

梦石
0
星屑
1530
在线时间
1157 小时
注册时间
2008-5-24
帖子
3085

贵宾

2
发表于 2011-8-12 09:30:50 | 只看该作者
搜索if Input.trigger?(Input::CTRL) 改为 if false

0 0应该是这样没错……
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42436
在线时间
7603 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

3
发表于 2011-8-12 09:39:20 | 只看该作者
「旅」 发表于 2011-8-12 09:30
搜索if Input.trigger?(Input::CTRL) 改为 if false

0 0应该是这样没错……

囧。楼主要的是保留对话跳过效果同时去掉跳过选择项效果吧。

TO楼主,脚本链接给出来吧.

点评

><  发表于 2011-8-12 10:04
捏母鸡~  发表于 2011-8-12 09:53
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
79
在线时间
193 小时
注册时间
2011-6-29
帖子
34
4
 楼主| 发表于 2011-8-12 10:46:43 | 只看该作者
本帖最后由 katonghu 于 2011-8-12 10:58 编辑

脚本地址:
http://rpg.blue/upload_program/f ... %84%9A%E6%9C%AC.txt




katonghu于2011-8-12 10:51补充以下内容:
if Input.trigger?(Input::CTRL) 改为 if false

真对话脚本没有这一句啊。
#--------------------------------------------------------------------------
  # 高速跳过显示
  #--------------------------------------------------------------------------
  KEY_SHOW_ALL          = Input::C # 瞬间显示完当前页文章
  KEY_MESSAGE_SKIP      = Input::CTRL # 高速跳过(文章不完全显示)
如果KEY_MESSAGE_SKIP   = false   ,对话框就没有了。
#########################################
关于KEY_MESSAGE_SKIP的还有三处。
第一处:
if skippable_now? and Input.press?(KEY_MESSAGE_SKIP)
      self.contents_opacity = 255
      @fade_in = false
    elsif @fade_in
      self.contents_opacity += 24
      if @input_number_window != nil
        @input_number_window.contents_opacity += 24
      end
      if self.contents_opacity == 255
        @fade_in = false
      end
      return
    end
第二处:
          # Bボタンが押された場合
          if skippable_now? and
            (Input.press?(KEY_SHOW_ALL) or Input.press?(KEY_MESSAGE_SKIP)) and
            (SKIP_BAN_SWITCH_ID == 0 ? true : !$game_switches[SKIP_BAN_SWITCH_ID])
            text_not_skip = false
          end
        else
          text_not_skip = true
          break
        end
        # 終了判定
        break if text_not_skip
      end
      @write_wait += @write_speed
      return
    end
第三处:
        # 決定
        if Input.trigger?(Input::C) or
           (skippable_now? and Input.press?(KEY_MESSAGE_SKIP))
          if $game_temp.choice_max > 0
            $game_system.se_play($data_system.decision_se)
            $game_temp.choice_proc.call(self.index)
          end
          if @mid_stop
            @mid_stop = false
            @pause.visible = false
            return
          elsif @fade_count_before_terminate.to_i > 0
            # 終了前フェーズへ
            @fade_phase_before_terminate = true
          else
            terminate_message
          end
          @pause.visible = false
        end
      end
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42436
在线时间
7603 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

5
发表于 2011-8-12 17:37:02 | 只看该作者
本帖最后由 fux2 于 2011-8-12 17:44 编辑
katonghu 发表于 2011-8-12 10:46
脚本地址:
http://rpg.blue/upload_program/f ... E5%BC%BA%E8%84%9A%E ...


请把原脚本的813行到816行:
  1.           if $game_temp.choice_max > 0
  2.             $game_system.se_play($data_system.decision_se)
  3.             $game_temp.choice_proc.call(self.index)
  4.           end
复制代码
换成
  1.           if skippable_now? and Input.press?(KEY_MESSAGE_SKIP)
  2.             return if $game_temp.choice_max > 0
  3.           end
复制代码
回帖就点我帖子下面的回帖按钮吧,不然我收不到通知.
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
79
在线时间
193 小时
注册时间
2011-6-29
帖子
34
6
 楼主| 发表于 2011-8-12 18:39:41 | 只看该作者
本帖最后由 katonghu 于 2011-8-12 18:41 编辑
fux2 发表于 2011-8-12 17:37
请把原脚本的813行到816行:换成回帖就点我帖子下面的回帖按钮吧,不然我收不到通知. ...


谢谢,按住CTRL的确不会跳过对话,可是无法选择,按C(ENTER)键也没有用了。
我把这一段脚本改为
if skippable_now? and Input.press?(KEY_MESSAGE_SKIP)
if $game_temp.choice_max > 0
            return if $game_temp.choice_max > 0
end  
end
if Input.trigger?(Input::C)
  if $game_temp.choice_max > 0
$game_system.se_play($data_system.decision_se)
            $game_temp.choice_proc.call(self.index)
  end
可是这样CTRL键的功能就基本不存在了。
也就是说对话和选择是属于一体的,无法分割。
能不能设置一个开关,对话时打开,CTRL键能用,
选择时关闭,CTRL键就不能用了?
谢谢。
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42436
在线时间
7603 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

7
发表于 2011-8-12 18:44:16 | 只看该作者
katonghu 发表于 2011-8-12 18:39
谢谢,按住CTRL的确不会跳过对话,可是无法选择,按C(ENTER)键也没有用了。
我把这一段脚本改为
if ski ...

注意只修改我说要修改的部分,不要擅自修改,完全把上面一段替换成下面一段
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
79
在线时间
193 小时
注册时间
2011-6-29
帖子
34
8
 楼主| 发表于 2011-8-12 18:54:20 | 只看该作者
fux2 发表于 2011-8-12 18:44
注意只修改我说要修改的部分,不要擅自修改,完全把上面一段替换成下面一段 ...

哦,搞错了,原来不在同一行,我的脚本在823行,问题解决了,再次谢谢啦。


katonghu于2011-8-12 18:56补充以下内容:
顺便问下,我是新人,如何结贴啊。
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42436
在线时间
7603 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

9
发表于 2011-8-12 19:01:10 | 只看该作者
katonghu 发表于 2011-8-12 18:54
哦,搞错了,原来不在同一行,我的脚本在823行,问题解决了,再次谢谢啦。

点击被认可人回帖下面的"认可答案"按钮,就在回复按钮旁边,下次也要记得哦
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 11:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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