查看: 1463|回复: 7

初级脚本修改请教

  [复制链接]
梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2008-5-22 23:56:49 | 显示全部楼层 |阅读模式

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

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

×
昨天刚开始有志于学脚本~因为从没学过计算机语言,所以有些难懂的地方。请各位高手指点一二,感激不尽。

切入正题,在完成天狼星1110同志的课后作业的时候,发现这一处问题,百思不得其解。

def main
    # 生成命令窗口
    s1 = $data_system.words.item
    s2 = $data_system.words.skill
    s3 = $data_system.words.equip
    s4 = "状态"
    #s5 = "存档"
    s6 = "结束游戏"
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s6])
    @command_window.index = @menu_index
如上,进入菜单后,发现存档项目是被屏蔽了,但是,结束游戏这一行却挂着羊头卖狗肉- -~~进入后是存档画面。

再下面 # 物品、特技、装备、状态无效化
      @command_window.disable_item(0)
      @command_window.disable_item(1)
      @command_window.disable_item(2)
      @command_window.disable_item(3)
    end
    # 禁止存档的情况下
    if $game_system.save_disabled
      # 存档无效
      @command_window.disable_item(4)
    end
我猜那括号内0-4是限制命令的有效,但是,找不到屏蔽存档的地方,想请教下各位。
想给禁止存档那行打上注释号,可是,会引起一大堆错误...所以不敢改了
版务信息:本贴由楼主自主结贴~

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2008-5-23 00:02:09 | 显示全部楼层
# 生成命令窗口
   s1 = $data_system.words.item      # 使用物品
   s2 = $data_system.words.skill     # 使用技能
   s3 = $data_system.words.equip     # 切换装备
   s4 = "状态"
   #s5 = "存档"
   s6 = "结束游戏"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s6])  # 生成命令#选择窗口,160 指的是窗口的宽度 ,[s1, s2, s3, s4, s6] 就是上面的序列
@command_window.index = @menu_index #项目编号等于命令窗口编号,必然 s1 这个#选项的标号就是 0 ,注意,是从 0开始的,不是从1开始的。

《天空之城 —— 破碎的命运》
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
 楼主| 发表于 2008-5-23 00:14:48 | 显示全部楼层
还没写完不知道怎么的按到CTRL+ENTER~

我知道应该是从0开始,也理解sXX = 是命令代号,现在实验了下,就算s4后面直接跳s6,也当成s5,所以,不能简单的跳过s5就能屏蔽。

关键是,前面3个好理解,因为对应着全局变量,s4的状态可以在脚本下面找到“生成状态窗口”
# 生成状态窗口
@status_window = Window_MenuStatus.new  #引用状态窗口
@status_window.x = 160              #窗口的宽度
@status_window.y = 0                #窗口的左上角顶点坐标

存档和退出游戏的窗口呢?该页脚本没有提到。

回复

使用道具 举报

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2008-5-23 00:20:27 | 显示全部楼层
根本就没写上 存档 吧。那个 s5 = "存档" ,被注释掉了。不起作用了。

《天空之城 —— 破碎的命运》
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
 楼主| 发表于 2008-5-23 00:32:05 | 显示全部楼层
恩,是的,S5是不起作用。

按我的理解,注释掉s5,然后@command_window = Window_Command.new(160, [s1, s2, s3, s4, s6])  删掉s5,应该就是屏蔽掉存档。
可是,进入游戏后,选择菜单中的退出游戏,却是存档画面,也就是说,s6 = “退出游戏” 这个项变成了存档,屏蔽掉的是最后的退出游戏。

如图,点“退出游戏”,打开的是存档画面,而不是原本的退出菜单
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
 楼主| 发表于 2008-5-23 00:33:45 | 显示全部楼层
想问的是,如何彻底的屏蔽掉“存档”
回复

使用道具 举报

神隐的主犯

梦石
0
星屑
553
在线时间
271 小时
注册时间
2008-2-22
回帖
7534

贵宾

发表于 2008-5-23 00:35:16 | 显示全部楼层
那是因为刷新指令哪里未做修改。

  update_command 方法里 :
   
把 when 5  # 游戏结束

改成 when 4 即可。
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~

《天空之城 —— 破碎的命运》
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
 楼主| 发表于 2008-5-23 00:40:14 | 显示全部楼层
#when 4  # 存档
        # 禁止存档的情况下
        #if $game_system.save_disabled
          # 演奏冻结 SE
          #$game_system.se_play($data_system.buzzer_se)
          #return
        #end
        # 演奏确定 SE
        $game_system.se_play($data_system.decision_se)
        # 切换到存档画面
        $scene = Scene_Save.new

成功了,屏蔽掉when 4,就行了,谢谢八云同志~~~~
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部