Project1

标题: 如何让文章和选项一起出现!?? [打印本页]

作者: 66rpg学习    时间: 2009-2-21 01:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: 凌辰    时间: 2009-2-21 01:28
……如果选项和文章加起来不超过有4行,
默认情况下就是出现在同一个对话框里。
当然,除此之外的情况都要修改脚本,而且貌似没人试着这么做过。
作者: 「旅」    时间: 2009-2-21 02:07
瞧我囧囧有神……
  1. class Interpreter
  2. def command_101
  3.     # 另外的文章已经设置过 message_text 的情况下
  4.     if $game_temp.message_text != nil
  5.       # 结束
  6.       return false
  7.     end
  8.     # 设置信息结束后待机和返回调用标志
  9.     @message_waiting = true
  10.     $game_temp.message_proc = Proc.new { @message_waiting = false }
  11.     # message_text 设置为 1 行
  12.     $game_temp.message_text = @list[@index].parameters[0] + "\n"
  13.     line_count = 1
  14.     # 循环
  15.     loop do
  16.       # 下一个事件指令为文章两行以上的情况
  17.       if @list[@index+1].code == 401
  18.         # message_text 添加到第 2 行以下
  19.         $game_temp.message_text += @list[@index+1].parameters[0] + "\n"
  20.         line_count += 1
  21.       # 事件指令不在文章两行以下的情况
  22.       else
  23.         # 下一个事件指令为显示选择项的情况下
  24.         if @list[@index+1].code == 102
  25.           # 如果选择项能收纳在画面里
  26.           if @list[@index+1].parameters[0].size <= 4 - line_count
  27.             # 推进索引
  28.             @index += 1
  29.             # 设置选择项
  30.             $game_temp.choice_start = line_count
  31.             setup_choices(@list[@index].parameters)
  32.           else
  33.             $game_temp.超额数 = line_count + @list[@index+1].parameters[0].size - 4
  34.             @index += 1
  35.             $game_temp.choice_start = line_count
  36.             setup_choices(@list[@index].parameters)
  37.           end
  38.         # 下一个事件指令为处理输入数值的情况下
  39.         elsif @list[@index+1].code == 103
  40.           # 如果数值输入窗口能收纳在画面里
  41.           if line_count < 4
  42.             # 推进索引
  43.             @index += 1
  44.             # 设置输入数值
  45.             $game_temp.num_input_start = line_count
  46.             $game_temp.num_input_variable_id = @list[@index].parameters[0]
  47.             $game_temp.num_input_digits_max = @list[@index].parameters[1]
  48.           end
  49.         end
  50.         # 继续
  51.         return true
  52.       end
  53.       # 推进索引
  54.       @index += 1
  55.     end
  56.   end
  57. end
  58. class Game_Temp
  59.   attr_accessor :超额数
  60. end
  61. class Window_Message < Window_Selectable
  62.   alias old_refresh refresh
  63.   alias old_terminate_message terminate_message
  64.   def refresh
  65.     if $game_temp.超额数 != nil
  66.       self.y -= 32 * $game_temp.超额数
  67.       self.height += 32 * $game_temp.超额数
  68.       self.contents = Bitmap.new(self.width - 32, self.height - 32)
  69.     end
  70.     old_refresh
  71.     $game_temp.超额数 = nil
  72.   end
  73.   def terminate_message
  74.     old_terminate_message
  75.     self.height = 160
  76.     self.y = 304
  77.   end
  78. end
复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 66rpg学习    时间: 2009-2-21 03:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 「旅」    时间: 2009-2-21 03:35
直接插入就好了。如果出错的话,请发上外挂的对话框脚本。
作者: 柳飛鷹    时间: 2009-2-21 03:37
谢谢啦 {/se} 我就毫不客气的拿去了 这个东西我正需要
作者: 凌辰    时间: 2009-2-21 03:38
好人啊……那我也加入收藏夹了。
作者: 66rpg学习    时间: 2009-2-21 03:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 凌辰    时间: 2009-2-21 03:45
我这可以用哦。
2行字和4个选项,都在一个对话框里呢……
作者: 66rpg学习    时间: 2009-2-21 03:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: 66rpg学习    时间: 2009-2-21 03:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: 霜冻之狼    时间: 2009-2-21 03:50
以下引用66rpg学习于2009-2-20 19:48:44的发言:
发一下外挂里怎么设置的啊!~~我这杂不性捏。。

打开脚本编辑器,在main上新开一页,把外挂脚本复制到那一页,最后保存...
作者: 凌辰    时间: 2009-2-21 03:52
我只是来提醒楼主:请善用编辑功能避免连贴。
作者: 「旅」    时间: 2009-2-21 03:52
再试一下。把它插入到MAIN前——>尽可以最下

在事件中:

显示文章
显示选择项




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1