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

Project1

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

[已经解决] 实在不好意思,又来请教了,Window_Target里的一些问题。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-1-9
帖子
218
跳转到指定楼层
1
发表于 2012-7-16 11:29:24 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
      这个类定义的是,在菜单画面的时候使用特技和物品,浏览角色的画面?  修改哪些可以做到不浏览直接主角为使用者,因为只有一个主角所以想把浏览画面去掉,使用恢复道具的时候直接为选定了主角使用。
[

Lv5.捕梦者

梦石
0
星屑
39016
在线时间
5717 小时
注册时间
2006-11-10
帖子
6619
6
发表于 2012-7-16 15:43:18 | 只看该作者
filia2012 发表于 2012-7-16 15:33
@hys111111 召唤大神,脚本到底怎么才能学好啊。。。。。

刚开始动手惹脚本错误是难免的, 怕错误就学不好脚本的, 记得多备份,多尝试就可以一步一步的来的,其实,脚本和事件的道理是一样的,区别是一个是给计算机看的,一个是给人看的而已


改好的脚本是这样的

#--------------------------------------------------------------------------
  # ● 刷新画面 (物品窗口被激活的情况下)
  #--------------------------------------------------------------------------
  def update_item
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 切换到菜单画面
      $scene = Scene_Menu.new(0)
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 获取物品窗口当前选中的物品数据
      @item = @item_window.item
      # 不使用物品的情况下
      unless @item.is_a?(RPG::Item)
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 不能使用的情况下
      unless $game_party.item_can_use?(@item.id)
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 演奏确定 SE
      $game_system.se_play($data_system.decision_se)
      # 效果范围是我方的情况下
      if @item.scope >= 3
        if $game_party.item_number(@item.id) == 0
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 目标是全体的情况下
      if @target_window.index == -1
        # 对同伴全体应用物品使用效果
        used = false
        for i in $game_party.actors
          used |= i.item_effect(@item)
        end
      end
      # 目标是单体的情况下
      if @target_window.index >= 0
        # 对目标角色应用物品的使用效果
        target = $game_party.actors[@target_window.index]
        used = target.item_effect(@item)
      end
      # 使用物品的情况下
      if used
        # 演奏物品使用时的 SE
        $game_system.se_play(@item.menu_se)
        # 消耗品的情况下
        if @item.consumable
          # 使用的物品数减 1
          $game_party.lose_item(@item.id, 1)
          # 再描绘物品窗口的项目
          @item_window.draw_item(@item_window.index)
        end
        # 再生成目标窗口的内容
        @target_window.refresh
        # 全灭的情况下
        if $game_party.all_dead?
          # 切换到游戏结束画面
          $scene = Scene_Gameover.new
          return
        end
        # 公共事件 ID 有效的情况下
        if @item.common_event_id > 0
          # 预约调用公共事件
          $game_temp.common_event_id = @item.common_event_id
          # 切换到地图画面
          $scene = Scene_Map.new
          return
        end
      end
      # 无法使用物品的情况下
      unless used
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
      end
      return
    end
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  # ● 刷新画面 (目标窗口被激活的情况下)
=begin  #--------------------------------------------------------------------------
  def update_target
    # 按下 B 键的情况下
    if Input.trigger?(Input::B)
      # 演奏取消 SE
      $game_system.se_play($data_system.cancel_se)
      # 由于物品用完而不能使用的场合
      unless $game_party.item_can_use?(@item.id)
        # 再次生成物品窗口的内容
        @item_window.refresh
      end
      # 删除目标窗口
      @item_window.active = true
      @target_window.visible = false
      @target_window.active = false
      return
    end
    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 如果物品用完的情况下
      if $game_party.item_number(@item.id) == 0
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # 目标是全体的情况下
      if @target_window.index == -1
        # 对同伴全体应用物品使用效果
        used = false
        for i in $game_party.actors
          used |= i.item_effect(@item)
        end
      end
      # 目标是单体的情况下
      if @target_window.index >= 0
        # 对目标角色应用物品的使用效果
        target = $game_party.actors[@target_window.index]
        used = target.item_effect(@item)
      end
      # 使用物品的情况下
      if used
        # 演奏物品使用时的 SE
        $game_system.se_play(@item.menu_se)
        # 消耗品的情况下
        if @item.consumable
          # 使用的物品数减 1
          $game_party.lose_item(@item.id, 1)
          # 再描绘物品窗口的项目
          @item_window.draw_item(@item_window.index)
        end
        # 再生成目标窗口的内容
        @target_window.refresh
        # 全灭的情况下
        if $game_party.all_dead?
          # 切换到游戏结束画面
          $scene = Scene_Gameover.new
          return
        end
        # 公共事件 ID 有效的情况下
        if @item.common_event_id > 0
          # 预约调用公共事件
          $game_temp.common_event_id = @item.common_event_id
          # 切换到地图画面
          $scene = Scene_Map.new
          return
        end
      end
      # 无法使用物品的情况下
      unless used
        # 演奏冻结 SE
        $game_system.se_play($data_system.buzzer_se)
      end
      return
    end
  end
=end

只经过初步测试, 可能会有点后遗症,哈哈, 碰到的话尝试自己解决试试

点评

你背一堆单词,也只是考试的时候能多拿几分而已, 实际用到对话中效果怎么样呢? 同样的, 在实践中学习是最好的, 多备份多尝试多提问多思考, 就可以了  发表于 2012-7-16 15:56
我得多看看了,看了F1和RUGY帮助手册感觉知道得不是很多,还是对很多不是很懂,应该怎么弄呢。。。  发表于 2012-7-16 15:51
非常感谢  发表于 2012-7-16 15:44
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
148 小时
注册时间
2012-1-9
帖子
218
5
 楼主| 发表于 2012-7-16 15:33:01 | 只看该作者
@hys111111 召唤大神,脚本到底怎么才能学好啊。。。。。
[
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39016
在线时间
5717 小时
注册时间
2006-11-10
帖子
6619
4
发表于 2012-7-16 14:04:16 | 只看该作者

如果不想弹出那个目标窗口,那就直接在使用道具的时候不激活就行了.

在SCENE ITEM这里,刷新道具窗口里面 update item这里, 从i按下确定键 if Input.trigger?(Input::C) 下面全部不要了, 然后把刷新目标窗口update target, 按下C键这一大段全部塞进去就行了,注意end的数量, 然后update target就不要了,注销掉

这样就是可以用的道具直接使用在1号的身上了

点评

没办法啊,好多错误, @item = @item_window.item是激活当前物品数据,这个也不要么?  发表于 2012-7-16 15:31
试试看  发表于 2012-7-16 15:26
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39016
在线时间
5717 小时
注册时间
2006-11-10
帖子
6619
3
发表于 2012-7-16 12:46:39 | 只看该作者

2楼的方法好, 能不改脚本就尽量不改,这样才是绿色环保的

只要在技能或者道具的使用对象那调整为,对自己全体, 这样就都是直接使用不需要选择目标

点评

经过测试 修稿了 自己全体 还是有选择窗口  发表于 2012-7-16 13:01
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
320 小时
注册时间
2011-6-23
帖子
260
2
发表于 2012-7-16 12:32:59 | 只看该作者
如果只有一个人的话,设置对象为己方全体不久OK了?

点评

是设置什么,数据库物品那一栏吗?还是有 选择角色的画面啊。  发表于 2012-7-16 12:40
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 09:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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