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

Project1

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

变量显示图片

 关闭 [复制链接]

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
跳转到指定楼层
1
发表于 2008-11-9 05:01:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
当49号变量等于15时
显示图片【任务】15.png
49号变量等于30时
显示图片【任务】30.png
……

if $game_variables[49] ==15
    picture = "Graphics/Pictures/【任务】15.png"
   @sprite = Sprite.new
   @sprite.bitmap = Bitmap.new(picture)
……

好像不对~~

求把汉字翻译成脚本{/pz}

此贴于 2008-11-9 10:59:33 被版主darkten提醒,请楼主看到后对本贴做出回应。
版务信息:版主帮忙结贴~
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

2
发表于 2008-11-9 05:04:13 | 只看该作者
事件的逻辑在脚本里可能是不行的…… = =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
3
发表于 2008-11-9 05:06:45 | 只看该作者
此脚本写在哪,另外是哪里出错,显示不出?
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-9-12
帖子
953
4
发表于 2008-11-9 05:14:51 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
5
 楼主| 发表于 2008-11-9 05:18:22 | 只看该作者

刚开始的时候是用66的公共事件显示菜单

但昨天用了次亿万大哥的轩辕剑菜单 发现改来用的话 也是可以的

今天就改 因为任务全是图片显示

但现在 因为轩辕剑的合成 用不到
所以 删掉 留下个空给 任务

to 小柯 事件的逻辑在脚本里看来是不行的
to dbshy 显示不出

  1. when 4  # 合成
  2.         #@stagg = -1
  3.         # 演奏确定 SE
  4.         $game_system.se_play($data_system.decision_se)
  5.         # 激活合成窗口
  6.         @command_window.active = false
  7.    
  8.         loadcraft
  9.         #task
  10.         @command_window.active = true
  11.        ……………………
  12. def loadcraft

  13.     if $game_variables[49] ==15
  14.     picture = "Graphics/Pictures/【任务】寻15.png"
  15.    @sprite = Sprite.new
  16.    @sprite.bitmap = Bitmap.new(picture)
  17.    end
  18.   end

复制代码


《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
6
发表于 2008-11-9 05:25:20 | 只看该作者
首先请在INI中生成SPRITE对象

然后再在UPDATE中写刷新(就是不同的变量不同的图片那一段)
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-4-8
帖子
33
7
发表于 2008-11-9 06:30:21 | 只看该作者
  1. if $game_variables[49] ==15
  2.     @back_status.contents = Bitmap.new("Graphics/Pictures/【任务】寻15.png ")
  3.     elsif $game_variables[49] ==30
  4.      @back_status.contents = Bitmap.new("Graphics/Pictures/【任务】寻30.png ")
  5.      elsif $game_variables[49] ==25
  6.      @back_status.contents = Bitmap.new("Graphics/Pictures/【任务】寻25.png ")
  7.      elsif $game_variables[49] ==75
  8.      @back_status.contents = Bitmap.new("Graphics/Pictures/【任务】寻75.png ")
  9.      elsif $game_variables[49] ==60
  10.      @back_status.contents = Bitmap.new("Graphics/Pictures/【任务】寻60.png ")     
  11.    else
  12.       @back_status.contents = Bitmap.new("Graphics/Pictures/【任务】寻95.png ")
  13.       end
复制代码


还真能显示出来
不过我还没给它指令 他就出来了 {/gg}明天接着……

挖到个任务脚本 退一步也够本了 整到轩辕剑菜单里
http://rpg.blue/viewthread.php?tid=77361&page=2

多谢大家的回帖 期望更多的回帖{/hx}

我们不是浪费生命来的…… Let's +U!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
8
发表于 2008-11-9 23:59:58 | 只看该作者
请LZ贴完整脚本,贴一部分看不出问题

PS:LZ不象新手,为啥感觉不会问问题
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
9
 楼主| 发表于 2008-11-10 01:09:59 | 只看该作者

  1.     picture = "Graphics/System/menu/【菜单】菜单.jpg"
  2.    @sprite = Sprite.new
  3.    @sprite.bitmap = Bitmap.new(picture)

  4.     @command_window = Window_MenuCommand.new(@menu_index)
  5.     #........................................................................
  6.     @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】菜单.jpg")
  7.    @command_window.width = 640
  8.    @command_window.height = 480
  9.    @command_window.x = -16
  10.    @command_window.y = -16
  11.    @command_window.z = 999
  12.    @command_window.opacity = 0
  13.     #whbm
  14.     #........................................................................
  15.     # 同伴人数为 0 的情况下
  16.     if $game_party.actors.size == 0
  17.       # 物品、特技、装备、状态无效化
  18.       @command_window.disable_item(0)
  19.       @command_window.disable_item(1)
  20.       @command_window.disable_item(2)
  21.       @command_window.disable_item(3)
  22.     end
  23.     # 禁止存档的情况下
  24.     if $game_system.save_disabled
  25.       # 存档无效
  26.       @command_window.disable_item(4)
  27.     end
  28.     # 生成金钱窗口
  29.     @gold_window = Window_Gold_Menu.new
  30.     @gold_window.x = 0
  31.     @gold_window.y = 416
  32.     @gold_window.opacity = 0
  33.     # 生成状态窗口
  34.     @status_window = Window_MenuStatus.new
  35.     #........................................................................
  36.     @back_status = Window_Help.new
  37.     @back_status.height = 640
  38.     @back_status.width = 596
  39.     @back_status.opacity = 0
  40.     @back_status.z = 1
  41.     @back_status.contents = Bitmap.new("Graphics/System/menu/【菜单】菜单.jpg")
  42.     @back_status.x = -16
  43.     @back_status.y = -16
  44.     #........................................................................
  45.     @status_window.x = 120
  46.     @status_window.y = 32
  47.     @status_window.z = 2
  48.     @status_window.opacity = 0
  49.     @status_window1 = Window_MenuEquip.new
  50.     @status_window1.x = 120
  51.     @status_window1.z = 2
  52.     @status_window1.opacity = 0
  53.     @status_window1.y = 32
  54.     @status_window1.visible = false
  55.     # 遮蔽窗口
  56.    #@dummy_window = Window_Base.new(0, 0, 640, 480)
  57.     #........................................................................
  58.     #@dummy_sprite = Sprite.new(Viewport.new(0,0,640 + 32,480 + 32))
  59.     #@dummy_sprite.x = 0
  60.    #@dummy_sprite.y = 0
  61.    # @dummy_window.opacity = 0       #BSY
  62.     #........................................................................
  63.     #@dummy_window.back_opacity = 0
  64.     @old_index = @menu_index
  65.     case @menu_index
  66.     when 1
  67.      # @pic_now = 0
  68.       @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】物品.png")
  69.       #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_物品")
  70.     when 3
  71.       @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】武术.png")
  72.       #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_奇术")
  73.     when 2
  74.       @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】装备.png")
  75.       #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_装备")
  76.     when 4
  77.       @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】任务.png")
  78.       #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_合成")
  79.     when 0
  80.       @pic_now = 0
  81.       @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】状态.png")
  82.       #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_状态")
  83.     when 5
  84.       @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】系统.png")
  85.      # @dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_天书")
  86.     end
  87.     # 执行过渡
  88.     Graphics.transition
  89.     # 主循环
  90.     loop do
  91.       # 刷新游戏画面
  92.       Graphics.update
  93.       # 刷新输入信息
  94.       Input.update
  95.       # 刷新画面
  96.       update
  97.       # 如果切换画面就中断循环
  98.       if $scene != self
  99.         break
  100.       end
  101.     end
  102.     # 准备过渡
  103.     Graphics.freeze
  104.     # 释放窗口
  105.     @command_window.dispose
  106.     @gold_window.dispose
  107.     @status_window.dispose
  108.     @status_window1.dispose
  109. #    @dummy_window.dispose
  110. #    @dummy_sprite.dispose
  111.     #........................................................................
  112.     @back_status.dispose
  113.     #........................................................................
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # ● 刷新画面
  117.   #--------------------------------------------------------------------------
  118.   def update
  119.     # 刷新窗口
  120.     #----------------------------- 主菜单 -----------------------------------
  121.     @command_window.update
  122.     @gold_window.update
  123.     if @command_window.index ==2
  124.       @status_window.visible = false
  125.       @status_window1.visible = true
  126.       @status_window1.update
  127.     else
  128.       @status_window.visible = true and @status_window1.visible = false if !@status_window.visible
  129.       @status_window.update
  130.     end
  131.     if @command_window.index != @old_index
  132.       case @command_window.index
  133.       when 1
  134.         if @pic_now != 1
  135.           @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】物品.png")
  136.           @pic_now = 1
  137.           #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_物品")
  138.         end
  139.       when 3
  140.         if @pic_now != 3
  141.           @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】武术.png")
  142.           @pic_now = 3
  143.           #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_奇术")
  144.         end
  145.       when 2
  146.         if @pic_now != 2
  147.           @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】装备.png")
  148.           @pic_now = 2
  149.           #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_装备")
  150.         end
  151.       when 4
  152.         if @pic_now != 4
  153.           @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】任务.png")
  154.           @pic_now = 4
  155.          # @dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_合成")
  156.         end
  157.       when 0
  158.         if @pic_now != 0
  159.           @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】状态.png")
  160.           @pic_now = 0
  161.           #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_状态")
  162.         end
  163.       when 5
  164.         if @pic_now != 5
  165.           @command_window.contents = Bitmap.new("Graphics/System/menu/【菜单】系统.png")
  166.           @pic_now = 5
  167.           #@dummy_sprite.bitmap = Bitmap.new("Graphics/System/menu/底图_天书")
  168.         end
  169.       end
  170.       @old_index = @command_window.index
  171.     end
  172.     # 命令窗口被激活的情况下: 调用 update_command
  173.     if @command_window.active
  174.       update_command
  175.       return
  176.     end
  177.     # 状态窗口被激活的情况下: 调用 update_status
  178.     if @status_window.active
  179.       if @item_update
  180.         update_item_target
  181.         return
  182.       elsif @skill_update
  183.         update_skill_target
  184.         return
  185.       else
  186.         update_status
  187.         return
  188.       end
  189.     end
  190.     if @status_window1.active
  191.       update_status1
  192.       return
  193.     end
  194.         
  195.     #----------------------------- 物品菜单 ---------------------------------
  196.     if @item_update
  197.       @item_help_window.update
  198.       @item_window.update
  199.       # 物品窗口被激活的情况下: 调用 update_item
  200.       if @item_window.active  
  201.       #........................................................................
  202.         @equip_window.set_item(@item_window.item)
  203.         @equip_window.refresh
  204.       #........................................................................
  205.         update_item
  206.         return
  207.       end
  208.     #----------------------------- 奇术菜单 ---------------------------------
  209.     elsif @skill_update
  210.       # 刷新窗口
  211.       @skill_help_window.update
  212.       @skill_window.update
  213.       # 特技窗口被激活的情况下: 调用 update_skill
  214.       if @skill_window.active
  215.         #........................................................................
  216.           @skill_window_icon.set_skill(@skill_window.skill)
  217.           @skill_window_icon.refresh
  218.         #........................................................................
  219.         update_skill
  220.         return
  221.       end
  222.     #----------------------------- 装备菜单 ---------------------------------
  223.     elsif @equip_update
  224.       @equip_right_window.update
  225.       @equip_item_window.update
  226.       # 设置物品窗口的可视状态
  227.       @equip_item_window1.visible = (@equip_right_window.index == 0)
  228.       @equip_item_window2.visible = (@equip_right_window.index == 1)
  229.       @equip_item_window3.visible = (@equip_right_window.index == 2)
  230.       @equip_item_window4.visible = (@equip_right_window.index == 3)
  231.       @equip_item_window5.visible = (@equip_right_window.index == 4)
  232.       @equip_item_window6.visible = (@equip_right_window.index == 5)
  233.       @equip_item_window7.visible = (@equip_right_window.index == 6)
  234.       @equip_item_window8.visible = (@equip_right_window.index == 7)
  235.       # 获取当前装备中的物品
  236.       item1 = @equip_right_window.item
  237.       #........................................................................
  238.         @equip_window.set_item(item1)
  239.       #........................................................................
  240.       # 设置当前的物品窗口到 @item_window
  241.       case @equip_right_window.index
  242.       when 0
  243.         @equip_item_window = @equip_item_window1
  244.       when 1
  245.         @equip_item_window = @equip_item_window2
  246.       when 2
  247.         @equip_item_window = @equip_item_window3
  248.       when 3
  249.         @equip_item_window = @equip_item_window4
  250.       when 4
  251.         @equip_item_window = @equip_item_window5
  252.       when 5
  253.         @equip_item_window = @equip_item_window6
  254.       when 6
  255.         @equip_item_window = @equip_item_window7
  256.       when 7
  257.         @equip_item_window = @equip_item_window8
  258.       end
  259.       # 右窗口被激活的情况下
  260.       if @equip_right_window.active
  261.         # 删除变更装备后的能力
  262.         @status_window1.set_new_parameters(nil, nil, nil, @status_window1.index)
  263.       end
  264.       # 物品窗口被激活的情况下
  265.       if @equip_item_window.active
  266.         # 获取现在选中的物品
  267.         item2 = @equip_item_window.item
  268.       #........................................................................
  269.         @equip_window.set_item(item2)
  270.       #........................................................................
  271.         # 变更装备
  272.         last_hp = @actor.hp
  273.         last_sp = @actor.sp
  274.         @actor.equip(@equip_right_window.index, item2 == nil ? 0 : item2.id)
  275.         # 获取变更装备后的能力值
  276.         new_atk = @actor.atk
  277.         new_pdef = @actor.pdef
  278.         new_mdef = @actor.mdef
  279.         # 返回到装备
  280.         @actor.equip(@equip_right_window.index, item1 == nil ? 0 : item1.id)
  281.         @actor.hp = last_hp
  282.         @actor.sp = last_sp
  283.         # 描画左窗口
  284.         @status_window1.set_new_parameters(new_atk, new_pdef, new_mdef, @status_window1.index)
  285.       end
  286.     #........................................................................
  287.     @equip_window.refresh
  288.     #........................................................................
  289.       # 右侧窗口被激活的情况下: 调用 update_right
  290.       if @equip_right_window.active
  291.         update_right
  292.         return
  293.       end
  294.       # 物品窗口被激活的情况下: 调用 update_item
  295.       if @equip_item_window.active
  296.         update_equip_item
  297.         return
  298.       end
  299.     #----------------------------- 状态菜单 ---------------------------------
  300.     elsif @status_update
  301.       update_status_status
  302.       return
  303.     #----------------------------- 系统菜单 ---------------------------------
  304.     elsif @sys_update
  305.       if @end_window != nil and !@end_window.disposed?
  306.         update_end
  307.       elsif @bgm_window != nil and !@bgm_window.disposed? and @currentbgm_window != nil and !@currentbgm_window.disposed?
  308.         update_bgm
  309.       elsif @sfx_window != nil and !@sfx_window.disposed? and @currentsfx_window != nil and !@currentsfx_window.disposed?
  310.         update_sfx
  311.       elsif !@system_window.disposed?
  312.         update_system
  313.       end
  314.       return
  315.     end
  316.   end
  317.   
  318.   def update_command
  319.     # 按下 B 键的情况下
  320.     if Input.trigger?(Input::B)
  321.       # 演奏取消 SE
  322.       $game_system.se_play($data_system.cancel_se)
  323.       # 切换的地图画面
  324.       $scene = Scene_Map.new
  325.       return
  326.     end
  327.     # 按下 C 键的情况下
  328.     if Input.trigger?(Input::C)
  329.       # 同伴人数为 0、存档、游戏结束以外的场合
  330.       if $game_party.actors.size == 0 and @command_window.index < 4
  331.         # 演奏冻结 SE
  332.         $game_system.se_play($data_system.buzzer_se)
  333.         return
  334.       end
  335.       # 命令窗口的光标位置分支
  336.       case @command_window.index
  337.       when 1  # 物品
  338.         # 演奏确定 SE
  339.         $game_system.se_play($data_system.decision_se)
  340.         # 生成帮助窗口、物品窗口
  341.         @item_help_window = Window_Help_New.new
  342.         @item_window = Window_Item_New.new
  343.         @item_window.z = 1000
  344.         @item_window.y = 32 + 3
  345.         @item_window.height = 352 + 32
  346.         @item_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  347.         @item_window.back_opacity = 180
  348.         #........................................................................
  349.         @equip_window = Window_Equip.new
  350.         #........................................................................
  351.         # 关联帮助窗口
  352.         @item_window.help_window = @item_help_window
  353.         # 生成目标窗口 (设置为不可见・不活动)

  354.         # 切换到物品画面
  355.         @item_update = true
  356.         @command_window.active = false
  357.       when 3  # 特技
  358.         # 演奏确定 SE
  359.         $game_system.se_play($data_system.decision_se)
  360.         # 激活状态窗口
  361.         @command_window.active = false
  362.         @status_window.active = true
  363.         @status_window.index = 0
  364.       when 2  # 装备
  365.         # 演奏确定 SE
  366.         $game_system.se_play($data_system.decision_se)
  367.         # 激活状态窗口
  368.         @command_window.active = false
  369.         @status_window1.active = true
  370.         @status_window1.index = 0
  371.       when 4  # 合成
  372.         #@stagg = -1
  373.         # 演奏确定 SE
  374.         $game_system.se_play($data_system.decision_se)
  375.         # 激活合成窗口
  376.         @command_window.active = false
  377.         loadcraft
  378.         @command_window.active = true
  379.       when 0  # 状态
  380.         @stagg = -1
  381.         # 演奏确定 SE
  382.         $game_system.se_play($data_system.decision_se)
  383.         # 激活状态窗口
  384.         @command_window.active = false
  385.         @status_window.active = true
  386.         @status_window.index = 0
  387.       when 5  # 存档
  388.         @status_update = false
  389.         # 演奏确定 SE
  390.         $game_system.se_play($data_system.decision_se)
  391.         @system_window = Window_SysCommand.new
  392.         @command_window.active = false
  393.         @sys_update = true
  394.       end
  395.       return
  396.     end
  397.   end
  398.   #--------------------------------------------------------------------------
  399.   def loadcraft(craft_index = 0)
  400.     @scene = 100
  401.     @craft_window = Window_Craft.new
  402.     @craft_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  403.     @craft_window.index = craft_index
  404.     @craft_window.back_opacity = 180
  405.     @confirm_window = Window_Base.new(120, 188, 400, 64)
  406.     @confirm_window.contents = Bitmap.new(368, 32)
  407.     @confirm_window.contents.font.name = "黑体"
  408.     @confirm_window.contents.font.size = 20
  409.     @confirm_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  410.     @confirm_window.back_opacity = 180
  411.     @help_window = Window_Help_New_Craft.new
  412.     #........................................................................
  413.     @equip_icon = Window_Equip_Craft.new
  414.     @equip_icon.set_item_id
  415.     #........................................................................
  416.     @craft_window.help_window = @help_window
  417.     @result_window = Window_CraftResult.new
  418.     @result_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  419.     @result_window.back_opacity = 180
  420.     @ingredients_window = Window_CraftIngredients.new
  421.     @ingredients_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  422.     @ingredients_window.back_opacity = 180
  423.     @yes_no_window = Window_Command.new(100, ["确定", "放弃"])
  424.     @yes_no_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  425.     @yes_no_window.back_opacity = 180
  426.     @confirm_window.visible = false
  427.     @confirm_window.z = 1500
  428.     @yes_no_window.visible = false
  429.     @yes_no_window.active = false
  430.     @yes_no_window.index = 1
  431.     @yes_no_window.x = 270
  432.     @yes_no_window.y = 252
  433.     @yes_no_window.z = 1500
  434.     @label_window = Window_Base.new(450,200 - 32 + 5,190,52)
  435.     @label_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  436.     @label_window.back_opacity = 100
  437.     @label_window.contents=Bitmap.new(@label_window.width - 32,@label_window.height - 32)
  438.     @label_window.contents.font.size=20
  439.     @label_window.contents.font.color = @label_window.normal_color
  440.     @label_window.contents.font.name = "黑体"
  441.     @label_window.contents.draw_text(0, 0, @label_window.contents.width, 20, "  现有   需要")
  442.     loop do
  443.       Graphics.update
  444.       Input.update
  445.       update_loadcraft
  446.       if @scene == 99
  447.         break
  448.       end
  449.     end
  450.     @help_window.dispose
  451.     @equip_icon.dispose
  452.     @craft_window.dispose
  453.     @result_window.dispose
  454.     @ingredients_window.dispose
  455.     @confirm_window.dispose
  456.     @yes_no_window.dispose
  457.     @label_window.dispose
  458.   end

  459.   #--------------------------------------------------------------------------
  460.   #--------------------------------------------------------------------------
  461.   def update_loadcraft
  462.     @craft_window.update
  463.     @equip_icon.set_item(@craft_window.recipe)
  464.     @equip_icon.refresh
  465.     @ingredients_window.update
  466.     if $game_party.recipes.size > 0
  467.       @result_window.set_result(@craft_window.recipe.result, @craft_window.recipe.result_type)
  468.       @ingredients_window.set_ingredients(@craft_window.recipe.ingredients,
  469.                                                            @craft_window.recipe.ingredient_types,
  470.                                                            @craft_window.recipe.quantities)
  471.     end
  472.     if @craft_window.active
  473.       update_craft
  474.       return
  475.     end
  476.     if @yes_no_window.active
  477.       confirm_update
  478.       return
  479.     end
  480.   end
  481.   #--------------------------------------------------------------------------
  482.   def update_craft
  483.     if Input.trigger?(Input::B)
  484.       $game_system.se_play($data_system.cancel_se)
  485.       @scene = 99
  486.       return
  487.     end
  488.     if Input.trigger?(Input::C) and $game_party.recipes.size != 0
  489.       @recipe = @craft_window.recipe
  490.       if @recipe.have
  491.         $game_system.se_play($data_system.decision_se)
  492.         @yes_no_window.active = true
  493.         @craft_window.active = false
  494.       else
  495.         $game_system.se_play($data_system.buzzer_se)
  496.         return
  497.       end
  498.     end
  499.   end

  500.   #--------------------------------------------------------------------------
  501.   def confirm_update
  502.     @craft_index = @craft_window.index
  503.     @confirm_window.visible = true
  504.     @confirm_window.z = 1500
  505.     @yes_no_window.visible = true
  506.     @yes_no_window.active = true
  507.     @yes_no_window.z = 1500
  508.     @yes_no_window.update
  509.     string = "合成 " + @recipe.name + "?"
  510.     cw = @confirm_window.contents.text_size(string).width
  511.     center = @confirm_window.contents.width/2 - cw /2
  512.     unless @drawn
  513.       @confirm_window.contents.draw_text(center, 0, cw, 30, string)
  514.       @drawn = true
  515.     end
  516.     if Input.trigger?(Input::C)
  517.       if @yes_no_window.index == 0
  518.         $game_system.se_play($data_system.decision_se)
  519.         @recipe.make
  520.         $game_system.se_play($data_system.save_se)
  521.         @confirm_window.visible = false
  522.         @yes_no_window.active = false
  523.         @yes_no_window.visible = false
  524.         @craft_window.dispose
  525.         @craft_window = Window_Craft.new
  526.         @craft_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  527.         @craft_window.index = @craft_index
  528.         @craft_window.back_opacity = 180
  529.         @craft_window.active = true
  530.       else
  531.         $game_system.se_play($data_system.cancel_se)
  532.         @confirm_window.visible = false
  533.         @yes_no_window.active = false
  534.         @yes_no_window.visible = false
  535.         @craft_window.dispose
  536.         @craft_window = Window_Craft.new
  537.         @craft_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  538.         @craft_window.index = @craft_index
  539.         @craft_window.back_opacity = 180
  540.         @craft_window.active = true
  541.       end
  542.     end
  543.     if Input.trigger?(Input::B)
  544.       $game_system.se_play($data_system.cancel_se)
  545.         @confirm_window.visible = false
  546.         @yes_no_window.active = false
  547.         @yes_no_window.visible = false
  548.         @craft_window.dispose
  549.         @craft_window = Window_Craft.new
  550.         @craft_window.windowskin = RPG::Cache.windowskin("../system/menu/windowskins/palskin")
  551.         @craft_window.index = @craft_index
  552.         @craft_window.back_opacity = 180
  553.         @craft_window.active = true
  554.     end
  555.   end

  556.   #--------------------------------------------------------------------------

  557.   def update_status
  558.     if @command_window.index == 0 and @stagg != @status_window.index
  559.         # 演奏确定 SE
  560.         # 切换到状态画面
  561.         # 获取角色
  562.         @actor = $game_party.actors[@status_window.index]
  563.         # 生成状态窗口
  564.         if @stagg != -1
  565.           @status_status_window.dispose
  566.         end
  567.         @stagg = @status_window.index
  568.         @status_status_window = Window_Status_New.new(@actor)
  569.         @status_update = true
  570.     end
  571.     # 按下 B 键的情况下
  572.     if Input.trigger?(Input::B)
  573.       # 演奏取消 SE
  574.       $game_system.se_play($data_system.cancel_se)
  575.       if @command_window.index == 0
  576.         @status_status_window.dispose
  577.         @stagg = -1
  578.       end
  579.       # 激活命令窗口
  580.       @command_window.active = true
  581.       @status_window.active = false
  582.       @status_window.index = -2
  583.       return
  584.     end
  585.     # 按下 C 键的情况下
  586.     if Input.trigger?(Input::C)
  587.       # 命令窗口的光标位置分支
  588.       case @command_window.index
  589.       when 3  # 特技
  590.         # 本角色的行动限制在 2 以上的情况下
  591.         if $game_party.actors[@status_window.index].restriction >= 2
  592.           # 演奏冻结 SE
  593.           $game_system.se_play($data_system.buzzer_se)
  594.           return
  595.         end
  596.         # 演奏确定 SE
  597.         $game_system.se_play($data_system.decision_se)
  598.         @window_index = @status_window.index
  599.         @actor = $game_party.actors[@status_window.index]
  600.         # 生成帮助窗口、状态窗口、特技窗口
  601.         @skill_help_window = Window_Help_New_Skill.new
  602.         @skill_window = Window_Skill_New.new(@actor)
  603.         #........................................................................
  604.         @skill_window_icon = Window_Skill_Icon.new
  605.         @skill_window_icon.y = 402
  606.         #........................................................................
  607.         # 关联帮助窗口
  608.         @skill_window.help_window = @skill_help_window
  609.         @status_window.active = false
  610.         @skill_update = true
  611.       end
  612.       return
  613.     end
  614.   end
  615.   #--------------------------------------------------------------------------
  616.   # ● 物品刷新
  617.   #--------------------------------------------------------------------------
  618.   def update_item
  619.     # 按下 B 键的情况下
  620.     if Input.trigger?(Input::B)
  621.       # 演奏取消 SE
  622.       $game_system.se_play($data_system.cancel_se)
  623.       # 切换到菜单画面
  624.       @item_help_window.dispose
  625.       @item_window.dispose
  626.       #........................................................................
  627.       @equip_window.dispose
  628.       #........................................................................
  629.       @item_update = false
  630.       @command_window.active = true
  631.       return
  632.     end
  633.     # 按下 C 键的情况下
  634.     if Input.trigger?(Input::C)
  635.       # 获取物品窗口当前选中的物品数据
  636.       @item = @item_window.item

  637.       # 不使用物品的情况下
  638.       unless @item.is_a?(RPG::Item)
  639.         # 演奏冻结 SE
  640.         $game_system.se_play($data_system.buzzer_se)
  641.         return
  642.       end
  643.       # 不能使用的情况下
  644.       unless $game_party.item_can_use?(@item.id)
  645.         # 演奏冻结 SE
  646.         $game_system.se_play($data_system.buzzer_se)
  647.         return
  648.       end
  649.       # 演奏确定 SE
  650.       $game_system.se_play($data_system.decision_se)
  651.       # 效果范围是我方的情况下
  652.       if @item.scope >= 3
  653.         # 激活目标窗口
  654.         @item_window.active = false
  655.         @status_window.active = true
  656.         # 设置效果范围 (单体/全体) 的对应光标位置
  657.         if @item.scope == 4 || @item.scope == 6
  658.           @status_window.index = -1
  659.         else
  660.           @status_window.index = 0
  661.         end
  662.       # 效果在我方以外的情况下
  663.       else
  664.         # 公共事件 ID 有效的情况下
  665.         if @item.common_event_id > 0
  666.           # 预约调用公共事件
  667.           $game_temp.common_event_id = @item.common_event_id
  668.           # 演奏物品使用时的 SE
  669.           $game_system.se_play(@item.menu_se)
  670.           # 消耗品的情况下
  671.           if @item.consumable
  672.             # 使用的物品数减 1
  673.             $game_party.lose_item(@item.id, 1)
  674.             # 再描绘物品窗口的项目
  675.             @item_window.draw_item(@item_window.index)
  676.           end
  677.           @item_help_window.dispose
  678.           @item_window.dispose
  679.           #........................................................................
  680.           @equip_window.dispose
  681.           #........................................................................
  682.           # 切换到地图画面
  683.           $scene = Scene_Map.new
  684.           return
  685.         end
  686.       end
  687.       return
  688.     end
  689.   end
  690.   def update_item_target
  691.     # 按下 B 键的情况下
  692.     if Input.trigger?(Input::B)
  693.       # 演奏取消 SE
  694.       $game_system.se_play($data_system.cancel_se)
  695.       # 由于物品用完而不能使用的场合
  696.       unless $game_party.item_can_use?(@item.id)
  697.         # 再次生成物品窗口的内容
  698.         @item_window.refresh
  699.       end
  700.       # 删除目标窗口
  701.       @item_window.active = true
  702.       @status_window.index = -2
  703.       @status_window.active = false
  704.       return
  705.     end
  706.     # 按下 C 键的情况下
  707.     if Input.trigger?(Input::C)
  708.       # 如果物品用完的情况下
  709.       if $game_party.item_number(@item.id) == 0
  710.         # 演奏冻结 SE
  711.         $game_system.se_play($data_system.buzzer_se)
  712.         return
  713.       end
  714.       # 目标是全体的情况下
  715.       if @status_window.index == -1
  716.         # 对同伴全体应用物品使用效果
  717.         used = false
  718.         for i in $game_party.actors
  719.           used |= i.item_effect(@item)
  720.         end
  721.       end
  722.       # 目标是单体的情况下
  723.       if @status_window.index >= 0
  724.         # 对目标角色应用物品的使用效果
  725.         target = $game_party.actors[@status_window.index]
  726.         used = target.item_effect(@item)
  727.       end
  728.       # 使用物品的情况下
  729.       if used
  730.         # 演奏物品使用时的 SE
  731.         $game_system.se_play(@item.menu_se)
  732.         # 消耗品的情况下
  733.         if @item.consumable
  734.           # 使用的物品数减 1
  735.           $game_party.lose_item(@item.id, 1)
  736.           # 再描绘物品窗口的项目
  737.           @item_window.draw_item(@item_window.index)
  738.         end
  739.         # 再生成目标窗口的内容
  740.         @status_window.refresh
  741.         # 全灭的情况下
  742.         if $game_party.all_dead?
  743.           # 切换到游戏结束画面
  744.           $scene = Scene_Gameover.new
  745.           return
  746.         end
  747.         # 公共事件 ID 有效的情况下
  748.         if @item.common_event_id > 0
  749.           # 预约调用公共事件
  750.           $game_temp.common_event_id = @item.common_event_id
  751.           @item_help_window.dispose
  752.           @item_window.dispose
  753.           # 切换到地图画面
  754.           $scene = Scene_Map.new
  755.           return
  756.         end
  757.       end
  758.       # 无法使用物品的情况下
  759.       unless used
  760.         # 演奏冻结 SE
  761.         $game_system.se_play($data_system.buzzer_se)
  762.       end
  763.       return
  764.     end
  765.   end
复制代码

脚本 前半截{/gg}
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
10
 楼主| 发表于 2008-11-10 01:17:16 | 只看该作者
  1. #--------------------------------------------------------------------------
  2.   # ● 技能刷新
  3.   #--------------------------------------------------------------------------
  4.   def update_skill
  5.     # 按下 B 键的情况下
  6.     if Input.trigger?(Input::B)
  7.       # 演奏取消 SE
  8.       $game_system.se_play($data_system.cancel_se)
  9.       # 切换到菜单画面
  10.       @skill_help_window.dispose
  11.       @skill_window.dispose
  12.       @skill_window_icon.dispose
  13.       @skill_update = false
  14.       @status_window.active = true
  15.       @status_window.index = @window_index
  16.       return
  17.     end
  18.     # 按下 C 键的情况下
  19.     if Input.trigger?(Input::C)
  20.       # 获取特技窗口现在选择的特技的数据
  21.       @skill = @skill_window.skill
  22.       # 不能使用的情况下
  23.       if @skill == nil or not @actor.skill_can_use?(@skill.id)
  24.         # 演奏冻结 SE
  25.         $game_system.se_play($data_system.buzzer_se)
  26.         return
  27.       end
  28.       # 演奏确定 SE
  29.       $game_system.se_play($data_system.decision_se)
  30.       # 效果范围是我方的情况下
  31.       if @skill.scope >= 3
  32.         # 激活目标窗口
  33.         @skill_window.active = false
  34.         @status_window.active = true
  35.         # 设置效果范围 (单体/全体) 的对应光标位置
  36.         if @skill.scope == 4 || @skill.scope == 6
  37.           @status_window.index = -1
  38.         elsif @skill.scope == 7
  39.           @status_window.index = @actor_index - 10
  40.         else
  41.           @status_window.index = 0
  42.         end
  43.       # 效果在我方以外的情况下
  44.       else
  45.         # 公共事件 ID 有效的情况下
  46.         if @skill.common_event_id > 0
  47.           # 预约调用公共事件
  48.           $game_temp.common_event_id = @skill.common_event_id
  49.           # 演奏特技使用时的 SE
  50.           $game_system.se_play(@skill.menu_se)
  51.           # 消耗 SP
  52.           @actor.sp -= @skill.sp_cost
  53.           # 再生成各窗口的内容
  54.           @skill_window.refresh
  55.           @status_window.refresh
  56.           @skill_help_window.dispose
  57.           @skill_window.dispose
  58.           @skill_window_icon.dispose
  59.           @back_skill.dispose
  60.           # 切换到地图画面
  61.           $scene = Scene_Map.new
  62.           return
  63.         end
  64.       end
  65.       return
  66.     end
  67.   end
  68.   def update_skill_target
  69.     # 按下 B 键的情况下
  70.     if Input.trigger?(Input::B)
  71.       # 演奏取消 SE
  72.       $game_system.se_play($data_system.cancel_se)
  73.       # 删除目标窗口
  74.       @skill_window.active = true
  75.       @status_window.index = -2
  76.       @status_window.active = false
  77.       return
  78.     end
  79.     # 按下 C 键的情况下
  80.     if Input.trigger?(Input::C)
  81.       # 因为 SP 不足而无法使用的情况下
  82.       unless @actor.skill_can_use?(@skill.id)
  83.         # 演奏冻结 SE
  84.         $game_system.se_play($data_system.buzzer_se)
  85.         return
  86.       end
  87.       # 目标是全体的情况下
  88.       if @status_window.index == -1
  89.         # 对同伴全体应用特技使用效果
  90.         used = false
  91.         for i in $game_party.actors
  92.           used |= i.skill_effect(@actor, @skill)
  93.         end
  94.       end
  95.       # 目标是使用者的情况下
  96.       if @status_window.index <= -2
  97.         # 对目标角色应用特技的使用效果
  98.         target = $game_party.actors[@status_window.index + 10]
  99.         used = target.skill_effect(@actor, @skill)
  100.       end
  101.       # 目标是单体的情况下
  102.       if @status_window.index >= 0
  103.         # 对目标角色应用特技的使用效果
  104.         target = $game_party.actors[@status_window.index]
  105.         used = target.skill_effect(@actor, @skill)
  106.       end
  107.       # 使用特技的情况下
  108.       if used
  109.         # 演奏特技使用时的 SE
  110.         $game_system.se_play(@skill.menu_se)
  111. #-----修正------------------------------------------------------
  112.         @actor.skill_sp_cost[@skill.id] = @skill.sp_cost if @actor.skill_sp_cost[@skill.id] == nil
  113.         # SP 消費
  114.         @actor.sp -= @actor.skill_sp_cost[@skill.id]
  115. #---------------------------------------------------------------
  116.         # 再生成各窗口内容
  117.         @status_window.refresh
  118.         @skill_window.refresh
  119.         # 全灭的情况下
  120.         if $game_party.all_dead?
  121.           # 切换到游戏结束画面
  122.           $scene = Scene_Gameover.new
  123.           return
  124.         end
  125.         # 公共事件 ID 有效的情况下
  126.         if @skill.common_event_id > 0
  127.           # 预约调用公共事件
  128.           $game_temp.common_event_id = @skill.common_event_id
  129.           @skill_help_window.dispose
  130.           @skill_window.dispose
  131.           @back_skill.dispose
  132.          
  133.           # 释放窗口
  134.           @item_window.dispose
  135. #          @back_item.dispose
  136.           @status_window.dispose
  137.           # 切换到地图画面
  138.           $scene = Scene_Map.new
  139.           return
  140.         end
  141.       end
  142.       # 无法使用特技的情况下
  143.       unless used
  144.         # 演奏冻结 SE
  145.         $game_system.se_play($data_system.buzzer_se)
  146.       end
  147.       return
  148.     end
  149.   end
  150.   #--------------------------------------------------------------------------
  151.   # ● 装备刷新
  152.   #--------------------------------------------------------------------------
  153.   def update_right
  154.     # 按下 B 键的情况下
  155.     if Input.trigger?(Input::B)
  156.       # 演奏取消 SE
  157.       $game_system.se_play($data_system.cancel_se)
  158.       # 切换到菜单画面
  159.       @equip_help_window.dispose
  160.       @equip_right_window.dispose
  161.       @equip_item_window1.dispose
  162.       @equip_item_window2.dispose
  163.       @equip_item_window3.dispose
  164.       @equip_item_window4.dispose
  165.       @equip_item_window5.dispose
  166.       @equip_item_window6.dispose
  167.       @equip_item_window7.dispose
  168.       @equip_item_window8.dispose
  169.       #........................................................................
  170.       @equip_window.dispose
  171.       #........................................................................
  172.       @equip_update = false
  173.       @status_window1.active = true
  174.     end
  175.     # 按下 C 键的情况下
  176.     if Input.trigger?(Input::C)
  177.       # 固定装备的情况下
  178.       if @actor.equip_fix?(@equip_right_window.index)
  179.         # 演奏冻结 SE
  180.         $game_system.se_play($data_system.buzzer_se)
  181.         return
  182.       end
  183.       # 演奏确定 SE
  184.       $game_system.se_play($data_system.decision_se)
  185.       # 激活物品窗口
  186.       @equip_right_window.active = false
  187.       @equip_item_window.active = true
  188.       @equip_window.set_item_id
  189.       @equip_item_window.index = 0
  190.       return
  191.     end
  192.   end
  193.   def update_equip_item
  194.     # 按下 B 键的情况下
  195.     if Input.trigger?(Input::B)
  196.       # 演奏取消 SE
  197.       $game_system.se_play($data_system.cancel_se)
  198.       # 激活右侧窗口
  199.       @equip_right_window.active = true
  200.       @equip_item_window.active = false
  201.       @equip_item_window.index = -1
  202.       @equip_window.set_item_id
  203.       return
  204.     end
  205.     # 按下 C 键的情况下
  206.     if Input.trigger?(Input::C)      
  207.       # 演奏装备 SE
  208.       $game_system.se_play($data_system.equip_se)
  209.       # 获取物品窗口现在选择的装备数据
  210.       item = @equip_item_window.item
  211.       # 变更装备
  212.       @actor.equip(@equip_right_window.index, item == nil ? 0 : item.id)
  213.       # 激活右侧窗口
  214.       @equip_right_window.active = true
  215.       @equip_item_window.active = false
  216.       @equip_item_window.index = -1
  217.       @equip_window.set_item_id
  218.       # 再生成右侧窗口、物品窗口的内容
  219.       @equip_right_window.refresh
  220.       if @equip_right_window.index == 6 or @equip_right_window.index == 7
  221.         @equip_item_window7.refresh
  222.         @equip_item_window8.refresh
  223.       else
  224.         @equip_item_window.refresh
  225.       end
  226.       return
  227.     end
  228.   end
  229.   def update_status1
  230.     # 按下 B 键的情况下
  231.     if Input.trigger?(Input::B)
  232.       # 演奏取消 SE
  233.       $game_system.se_play($data_system.cancel_se)
  234.       # 激活命令窗口
  235.       @command_window.active = true
  236.       @status_window1.active = false
  237.       @status_window1.index = -1
  238.       return
  239.     end
  240.     # 按下 C 键的情况下
  241.     if Input.trigger?(Input::C)
  242.       # 命令窗口的光标位置分支
  243.         # 演奏确定 SE
  244.         $game_system.se_play($data_system.decision_se)
  245.         @equip_index = 0
  246.         @actor = $game_party.actors[@status_window1.index]
  247.         @equip_help_window = Window_Help_New.new
  248.         @equip_help_window.x = 137
  249.         @equip_help_window.y = 480 - 64 - 32 - 8
  250.         @equip_right_window = Window_EquipRight_New.new(@actor)
  251.         @equip_item_window1 = Window_EquipItem_New.new(@actor, 0)
  252.         @equip_item_window2 = Window_EquipItem_New.new(@actor, 1)
  253.         @equip_item_window3 = Window_EquipItem_New.new(@actor, 2)
  254.         @equip_item_window4 = Window_EquipItem_New.new(@actor, 3)
  255.         @equip_item_window5 = Window_EquipItem_New.new(@actor, 4)
  256.         @equip_item_window6 = Window_EquipItem_New.new(@actor, 5)
  257.         @equip_item_window7 = Window_EquipItem_New.new(@actor, 6)
  258.         @equip_item_window8 = Window_EquipItem_New.new(@actor, 6)
  259.         #........................................................................
  260.         @equip_window = Window_Equip.new
  261.         @equip_window.y = 394
  262.         @equip_window.set_item_id
  263.         #........................................................................
  264.         # 关联帮助窗口
  265.         @equip_right_window.help_window = @equip_help_window
  266.         @equip_item_window1.help_window = @equip_help_window
  267.         @equip_item_window2.help_window = @equip_help_window
  268.         @equip_item_window3.help_window = @equip_help_window
  269.         @equip_item_window4.help_window = @equip_help_window
  270.         @equip_item_window5.help_window = @equip_help_window
  271.         @equip_item_window6.help_window = @equip_help_window
  272.         @equip_item_window7.help_window = @equip_help_window
  273.         @equip_item_window8.help_window = @equip_help_window
  274.         # 设置光标位置
  275.         @equip_right_window.index = @equip_index
  276.         @status_window1.active = false
  277.         @equip_update = true
  278.         # 设置物品窗口的可视状态
  279.         @equip_item_window1.visible = (@equip_right_window.index == 0)
  280.         @equip_item_window2.visible = (@equip_right_window.index == 1)
  281.         @equip_item_window3.visible = (@equip_right_window.index == 2)
  282.         @equip_item_window4.visible = (@equip_right_window.index == 3)
  283.         @equip_item_window5.visible = (@equip_right_window.index == 4)
  284.         @equip_item_window6.visible = (@equip_right_window.index == 5)
  285.         @equip_item_window7.visible = (@equip_right_window.index == 6)
  286.         @equip_item_window8.visible = (@equip_right_window.index == 7)
  287.         # 获取当前装备中的物品
  288.         item1 = @equip_right_window.item
  289.         # 设置当前的物品窗口到 @item_window
  290.         @equip_window.set_item_id
  291.         case @equip_right_window.index
  292.         when 0
  293.           @equip_item_window = @equip_item_window1
  294.         when 1
  295.           @equip_item_window = @equip_item_window2
  296.         when 2
  297.           @equip_item_window = @equip_item_window3
  298.         when 3
  299.           @equip_item_window = @equip_item_window4
  300.         when 4
  301.           @equip_item_window = @equip_item_window5
  302.         when 5
  303.           @equip_item_window = @equip_item_window6
  304.         when 6
  305.           @equip_item_window = @equip_item_window7
  306.         when 7
  307.           @equip_item_window = @equip_item_window8
  308.         end
  309.         # 右窗口被激活的情况下
  310.         if @equip_right_window.active
  311.           # 删除变更装备后的能力
  312.           @status_window1.set_new_parameters(nil, nil, nil)
  313.         end
  314.         # 物品窗口被激活的情况下
  315.         if @equip_item_window.active
  316.           # 获取现在选中的物品
  317.           item2 = @equip_item_window.item
  318.           # 变更装备
  319.           last_hp = @actor.hp
  320.           last_sp = @actor.sp
  321.           @actor.equip(@equip_right_window.index, item2 == nil ? 0 : item2.id)
  322.           # 获取变更装备后的能力值
  323.           new_atk = @actor.atk
  324.           new_pdef = @actor.pdef
  325.           new_mdef = @actor.mdef
  326.           # 返回到装备
  327.           @actor.equip(@equip_right_window.index, item1 == nil ? 0 : item1.id)
  328.           @actor.hp = last_hp
  329.           @actor.sp = last_sp
  330.           # 描画左窗口
  331.           @status_window1.set_new_parameters(new_atk, new_pdef, new_mdef)
  332.           #........................................................................
  333.           @equip_window.set_item(item2)
  334.           #........................................................................
  335.         end
  336.     end
  337.   end
  338.   #--------------------------------------------------------------------------
  339.   # ● 状态刷新
  340.   #--------------------------------------------------------------------------
  341.   def update_status_status
  342.     # 按下 B 键的情况下
  343.     if Input.trigger?(Input::B)
  344.       # 演奏取消 SE
  345.       $game_system.se_play($data_system.cancel_se)
  346.       # 切换到菜单画面
  347.       @status_status_window.dispose
  348.       @bgstatus.dispose
  349.       @status_update = false
  350.       @status_window.active = true
  351.       return
  352.     end
  353.   end
  354.   
  355.   def update_system
  356.     @system_window.update
  357.     # 按下 B 键的情况下
  358.     if Input.trigger?(Input::B)
  359.       # 演奏取消 SE
  360.       $game_system.se_play($data_system.cancel_se)
  361.       # 切换到菜单画面
  362.       @system_window.dispose
  363.       @sys_update = false
  364.       @command_window.active = true
  365.       return
  366.     end
  367.     # 按下 C 键的情况下
  368.     if Input.trigger?(Input::C)
  369.       # 演奏确定 SE
  370.       $game_system.se_play($data_system.decision_se)
  371.       case @system_window.index
  372.       when 0
  373.         @bgm_window = Window_BGM_Volume.new(80, ["0%", "17%", "34%", "50%", "67%", "84%", "100%"])
  374.         @currentbgm_window = Window_CurrentBGM_Volume.new
  375.         @system_window.active = false
  376.       when 1
  377.         @sfx_window = Window_SFX_Volume.new(80, ["0%", "17%", "34%", "50%", "67%", "84%", "100%"])
  378.         @currentsfx_window = Window_CurrentSFX_Volume.new
  379.         @system_window.active = false
  380.       when 2
  381.         @system_window.dispose
  382.         $scene = Scene_Save.new
  383.       #when 3
  384.        # @system_window.dispose
  385.         #$scene = Scene_Load.new(true)
  386.       when 3
  387.         @end_window = Window_EndCommand.new
  388.         @system_window.active = false
  389.       end
  390.       return
  391.     end
  392.   end
  393.   
  394.   def update_bgm
  395.     @bgm_window.update
  396.     if Input.trigger?(Input::B)
  397.       $game_system.se_play($data_system.cancel_se)
  398.       @system_window.active = true
  399.       @bgm_window.dispose
  400.       @currentbgm_window.dispose
  401.       return
  402.     end
  403.     if Input.trigger?(Input::C)
  404.       case @bgm_window.index
  405.       when 0
  406.         $game_system.bgm_volume = 0
  407.         $game_system.bgm_play($game_system.bgm_memorize)
  408.         @currentbgm_window.refresh
  409.       when 1
  410.         $game_system.bgm_volume = 17
  411.         $game_system.bgm_play($game_system.bgm_memorize)
  412.         @currentbgm_window.refresh
  413.       when 2
  414.         $game_system.bgm_volume = 34
  415.         $game_system.bgm_play($game_system.bgm_memorize)
  416.         @currentbgm_window.refresh
  417.       when 3
  418.         $game_system.bgm_volume = 50
  419.         $game_system.bgm_play($game_system.bgm_memorize)
  420.         @currentbgm_window.refresh
  421.       when 4
  422.         $game_system.bgm_volume = 67
  423.         $game_system.bgm_play($game_system.bgm_memorize)
  424.         @currentbgm_window.refresh
  425.       when 5
  426.         $game_system.bgm_volume = 84
  427.         $game_system.bgm_play($game_system.bgm_memorize)
  428.         @currentbgm_window.refresh
  429.       when 6
  430.         $game_system.bgm_volume = 100
  431.         $game_system.bgm_play($game_system.bgm_memorize)
  432.         @currentbgm_window.refresh
  433.       end
  434.       return
  435.     end
  436.   end
  437.   
  438.   def update_sfx
  439.     @sfx_window.update
  440.     if Input.trigger?(Input::B)
  441.       $game_system.se_play($data_system.cancel_se)
  442.       @sfx_window.dispose
  443.       @currentsfx_window.dispose
  444.       @system_window.active = true
  445.       return
  446.     end
  447.     if Input.trigger?(Input::C)
  448.       case @sfx_window.index
  449.       when 0
  450.         $game_system.se_volume = 0
  451.         $game_system.se_play($data_system.decision_se)
  452.         @currentsfx_window.refresh
  453.       when 1
  454.         $game_system.se_volume = 17
  455.         $game_system.se_play($data_system.decision_se)
  456.         @currentsfx_window.refresh
  457.       when 2
  458.         $game_system.se_volume = 34
  459.         $game_system.se_play($data_system.decision_se)
  460.         @currentsfx_window.refresh
  461.       when 3
  462.         $game_system.se_volume = 50
  463.         $game_system.se_play($data_system.decision_se)
  464.         @currentsfx_window.refresh
  465.       when 4
  466.         $game_system.se_volume = 67
  467.         $game_system.se_play($data_system.decision_se)
  468.         @currentsfx_window.refresh
  469.       when 5
  470.         $game_system.se_volume = 84
  471.         $game_system.se_play($data_system.decision_se)
  472.         @currentsfx_window.refresh
  473.       when 6
  474.         $game_system.se_volume = 100
  475.         $game_system.se_play($data_system.decision_se)
  476.         @currentsfx_window.refresh
  477.       end
  478.       $game_map.autoplay
  479.       return
  480.     end
  481.   end
  482.   
  483.   def update_end
  484.     @end_window.update
  485.     if Input.trigger?(Input::B)
  486.       $game_system.se_play($data_system.cancel_se)
  487.       @end_window.dispose
  488.       @system_window.active = true
  489.       return
  490.     end
  491.     if Input.trigger?(Input::C)
  492.       case @end_window.index
  493.       when 0
  494.         @end_window.dispose
  495.         @system_window.dispose
  496.         command_to_title
  497.       when 1
  498.         command_shutdown
  499.       end
  500.       return
  501.     end
  502.   end

  503.   def command_to_title
  504.     $game_system.se_play($data_system.decision_se)
  505.     Audio.bgm_fade(800)
  506.     Audio.bgs_fade(800)
  507.     Audio.me_fade(800)
  508.     $scene = Scene_Title.new
  509.   end

  510.   def command_shutdown
  511.     $game_system.se_play($data_system.decision_se)
  512.     Audio.bgm_fade(800)
  513.     Audio.bgs_fade(800)
  514.     Audio.me_fade(800)
  515.     $scene = nil
  516.   end
  517. end
复制代码


脚本后半截
全脚本是 亿万星辰的轩辕剑菜单

不是不贴 是太长了了= =|
脚本过长,连帖无奈。

就是要求任务是这样的根据49号变量显示不同的图片


多谢……

《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-21 15:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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