Project1

标题: 脚本求助:关于多选项 [打印本页]

作者: tan12345    时间: 2013-11-11 14:26
标题: 脚本求助:关于多选项
如题,因为VA默认选项只有4个,所以想将其扩展并运用到地图传送上,以下是自己写的脚本(使用方法:在事件脚本里直接填写tan):
RUBY 代码复制
  1. class Game_Interpreter
  2.   def tan
  3.     @params[0] = []
  4.     @params[0] = ["地图1","地图2","地图3","地图4","地图5","取消"]
  5.     @params[1] = 0
  6.     command_102
  7.     case @params[0][@branch[@indent]]
  8.     when "地图1"
  9.       Audio.se_play('Audio/SE/' + "Move",80,100)
  10.       command_221         #淡出画面
  11.       @params[0] = 0      #指定方式
  12.       @params[1] = 20     #地图ID
  13.       @params[2] = 7      #地图X
  14.       @params[3] = 0      #地图Y
  15.       @params[4] = 0      #人物朝向
  16.       @params[5] = 0      #淡入淡出
  17.       command_201         #场所移动
  18.       $game_temp.loadbar_type = 0
  19.       SceneManager.call(Scene_Load_Bar)
  20.       command_222         #淡入画面
  21.     when "地图2"
  22.       Audio.se_play('Audio/SE/' + "Move",80,100)
  23.       command_221         #淡出画面
  24.       @params[0] = 0      #指定方式
  25.       @params[1] = 26     #地图ID
  26.       @params[2] = 8      #地图X
  27.       @params[3] = 1      #地图Y
  28.       @params[4] = 0      #人物朝向
  29.       @params[5] = 0      #淡入淡出
  30.       command_201         #场所移动
  31.       $game_temp.loadbar_type = 0
  32.       SceneManager.call(Scene_Load_Bar)
  33.       command_222         #淡入画面
  34.     when "取消"
  35.       @params[0] = -1      #设置移动对象
  36.       character = get_character(@params[0])
  37.       character.move_backward
  38.     else
  39.  
  40.     end
  41.   end
  42. end


但是这样子有个问题:就是选取消时人物会后退一步,若此时再次触发该脚本就会报错,提示String不能写入到Fixnum数组,所以请高手指点下VA默认机制还有什么是要操作的。
作者: tseyik    时间: 2013-11-11 15:41
選択肢拡張
    通常只有四個選擇顯示可以無限増加。
http://rpg.blue/thread-338327-1-2.html

作者: tan12345    时间: 2013-11-11 16:00
人物后退一步是我设定的,现在的BUG在于:我设定一个传送阵,传送阵事件内容就是事件脚本tan,然后人物走上去触发脚本,选其他的都正常(可以传送去其他地图而且没看到报错),如果选取消,人物会后退一步(这个是必须的),然后此时再往前一步(就是再次触发事件脚本tan),就报错了。
@喵呜喵5
作者: tan12345    时间: 2013-11-11 16:17
麻烦版主结贴,本来想自己改的,现在懒得改了,就用2楼现成的脚本得了,省点力气……
作者: tseyik    时间: 2013-11-11 16:19
本帖最后由 tseyik 于 2013-11-11 16:22 编辑
tan12345 发表于 2013-11-11 16:00
人物后退一步是我设定的,现在的BUG在于:我设定一个传送阵,传送阵事件内容就是事件脚本tan,然后人物走上 ...


這脚本有二種功能
1:選擇項目可多於四個
2:可用変数/開関令選項不表示
只要連続使用選擇命令、而選擇命令之間没其他指令,脚本會把2個/多個選擇命令自動合一
LineMax = 4 改変LineMax的値可改変顯示選擇数量(多於設定時會出現△和▽切換選項)


作者: tseyik    时间: 2013-11-11 16:35
本帖最后由 tseyik 于 2013-11-11 17:02 编辑

    選択肢の文章の最後に if(条件) と書くことで、その条件が偽になると項目が表示されなくなります。
通過選擇句子的末尾寫if(條件),如果條件為假該項目將不會被顯示。
    s でスイッチを参照できます。
s是開關。
    (例: if(s[3]) でスイッチ番号 3 が ON のとき項目が表示されます)
(例: if(s[3]) >開關3 =ON顯示選項)
    v で変数を参照できます。
v是変数
    (例 : if(v[5] >= 4) で変数番号 5 が 4 以上のとき項目が表示されます)
(例 : if(v[5] >= 4) >変数5=4/>4顯示選項)
    これらの条件は eval によって判定されてるので、and や or なども使用できます。
條件比較可使用and 和or
    この機能により選択肢の項目数が 0 となった場合、何も選択しなかったことになります。
使用這脚本機能(條件比較)時若全部選項不成立時不會顕示選項

    「キャンセルの場合」の処理が適用されるわけではありません。
取消没有効果
    この機能により「キャンセルの場合」の項目が表示されない場合、無効と同じ処理をします。
作者: tan12345    时间: 2013-11-11 17:04
tseyik 发表于 2013-11-11 16:35
選択肢の文章の最後に if(条件) と書くことで、その条件が偽になると項目が表示されなくなります。
通 ...

改变LineMax = 8,然后选择最后一项,报错,提示128行 + 错误。
作者: tseyik    时间: 2013-11-11 17:22
tan12345 发表于 2013-11-11 17:04
改变LineMax = 8,然后选择最后一项,报错,提示128行 + 错误。

我没問題



作者: tan12345    时间: 2013-11-11 17:52
tseyik 发表于 2013-11-11 17:22
我没問題

新开个工程,把你的脚本复制进去,报同样的错误。工程已上传,添加rgss3.dll即可,烦请帮忙看看。
Project1.zip (312.1 KB, 下载次数: 48)
作者: tseyik    时间: 2013-11-11 18:01
本帖最后由 tseyik 于 2013-11-11 18:47 编辑


改好了
是論壇改了脚本
作者: tan12345    时间: 2013-11-11 18:14
本帖最后由 tan12345 于 2013-11-11 18:18 编辑
tseyik 发表于 2013-11-11 18:01
@tantseyik
改好了
是論壇改了脚本


没改好……附件下载下来原脚本还是带[url]的,另外,选择选项还是报同样错误……
作者: tseyik    时间: 2013-11-11 18:50
本帖最后由 tseyik 于 2013-11-11 19:28 编辑
tan12345 发表于 2013-11-11 18:14
没改好……附件下载下来原脚本还是带的,另外,选择选项还是报同样错误……  ...


Project1.rar (300.79 KB, 下载次数: 30)
原来我没SAVE,就圧縮了




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