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

Project1

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

[已经解决] 有办法通过使用物品增加单体全部能力值吗?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
105
在线时间
2107 小时
注册时间
2011-2-23
帖子
83
跳转到指定楼层
1
发表于 2012-7-25 12:29:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
物品中,有能力值增加的选项,可是一次只能增加一种属性,我想要让所有属性同时增加,
一开始以为挺简单的,可没想到越弄越糊涂了,用公共事件的话,只能是给固定的队员增加,而不是个这个药品的使用者增加了,
所以想问一下,有办法实现吗?

Lv1.梦旅人

◇无限的妄想者◇

梦石
0
星屑
50
在线时间
1441 小时
注册时间
2012-7-14
帖子
2339
2
发表于 2012-7-25 13:36:35 | 只看该作者
在Scene_Item脚本 第165~167行
  1.         # 对目标角色应用物品的使用效果
  2.         target = $game_party.actors[@target_window.index]
  3.         used = target.item_effect(@item)
复制代码
下面添加一行:
  1.         $tar = @target_window.index
复制代码
然后使用道具调用公共事件,事件内用脚本。
  1. @targ = $game_party.actors[$tar]
  2. @targ.maxhp+=100
  3. @targ.maxsp+=100
  4. @targ.str+=10
  5. @targ.dex+=10
  6. @targ.agi+=10
  7. @targ.int+=10
复制代码
事件内脚本从第二行开始从上到下分别是最大HP、最大SP、力量、灵巧、敏捷、魔力的增加。

————————————————————————————————————
新坑Dreamoon酝酿中,预计短篇⑨完工发布。
————————————————————————————————————
如何调戏橙光文字的 高级UI 系列教程:  鉴赏页制作篇背包系统制作篇
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
2107 小时
注册时间
2011-2-23
帖子
83
3
 楼主| 发表于 2012-7-25 14:44:25 | 只看该作者
本帖最后由 君子兰 于 2012-7-25 16:41 编辑

好吧,果然还是需要改脚本。
不过发现这样做好像还有点问题哦,
不能像其他药品一样使用之后仍然是在物品菜单里,会直接跳回到桌面
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37844
在线时间
5420 小时
注册时间
2006-11-10
帖子
6549
4
发表于 2012-7-26 09:43:53 | 只看该作者
给道具附加一个状态, 然后弄个循环,判断队伍里有谁带这个状态,然后事件直接增加就可以了, 最后全体清除这个状态就行,

for i in $game_party.actors.size
if $game_party.actors[i].state?(状态ID)
    $game_party.actors[i].hp += 100
    .........................要加的能力全塞上
end
end
全体清除X号状态
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
2107 小时
注册时间
2011-2-23
帖子
83
5
 楼主| 发表于 2012-7-26 09:57:23 | 只看该作者
想说,不想碰脚本就是因为我对脚本不在行,麻烦说清楚一点行吗?
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37844
在线时间
5420 小时
注册时间
2006-11-10
帖子
6549
6
发表于 2012-7-26 10:08:19 | 只看该作者

for i in $game_party.actors.size
if $game_party.actors[i].state?(状态ID)

这段是循环判断而已, 为了省事才这样写,其实脚本和事件都是一样

首先,你把药 附加个状态,比如, 附加10号状态("选中" 这个状态没有任何效果,记得勾上无法回避)

然后,公共事件,
条件分歧
当1号角色附加10号状态的时候
1号角色所有能力+ 100 这里的设置你会
当2号角色附加10号状态的时候
2号角色所有能力+ 100
当X号角色附加10号状态的时候
X号角色所有能力+ 100
一个一个设置完

最后加上 全体清除10号状态.

这样就搞定
那段脚本可以达到这样的效果, 循环判断所有人的状态,选出带状态的那个人.
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
2107 小时
注册时间
2011-2-23
帖子
83
7
 楼主| 发表于 2012-7-26 10:41:59 | 只看该作者
灯笼菜刀王 发表于 2012-7-26 11:08
for i in $game_party.actors.size
if $game_party.actors.state?(状态ID)

这个也是可以的,但是依然不明白,为什么用完了之后会回到地图,而不是像其他药一样仍然在药品菜单中。
因为我还用了物品图鉴,这样一来就会出现一种很囧的效果……
回复

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37844
在线时间
5420 小时
注册时间
2006-11-10
帖子
6549
8
发表于 2012-7-26 11:01:21 | 只看该作者
本帖最后由 灯笼菜刀王 于 2012-7-26 11:01 编辑

哈哈, 物品调用公共事件就是这样, 事件结束后就是回到地图,

如果不想这样, 就只能用脚本,在使用道具效果那里开个条件分歧, Scene_Item里面找到这个,

if @target_window.index >= 0
        # 对目标角色应用物品的使用效果
        target = $game_party.actors[@target_window.index]
      if @item.id == 能力药的ID            
            target.maxhp += 100
            target.maxsp += 100
            .
            .
            .
          else

            used = target.item_effect(@item)
          end
      end
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
2107 小时
注册时间
2011-2-23
帖子
83
9
 楼主| 发表于 2012-7-26 11:21:38 | 只看该作者
本帖最后由 君子兰 于 2012-7-26 12:51 编辑
灯笼菜刀王 发表于 2012-7-26 12:01
哈哈, 物品调用公共事件就是这样, 事件结束后就是回到地图,

如果不想这样, 就只能用脚本,在使用道具效果 ...


不好意思,好像还是不行啊。
在新建工程里测试之后发现,按了选中id的药品之后没反应,提示音也是不能使用时的提示音。一开始还以为是不让用,可是后来发现关闭一下药品菜单再重新进入后,角色的能力值就会增加。药品选了“消耗”了,可是却成了可以无限次使用……


自己试着把下面的消耗情况下减1的判断复制了上去,这样用了之后是消耗了,可是用的时候依然提示不能使用的提示音,依然显示没有使用,一定要返回一次再回来看才能看到物品也被消耗了,能力值也增加了。判断的地方好像还是有问题啊。


可以了~~~
我把下面的
“   # 演奏物品使用时的 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

全部都加进去,好像就没问题了~~


谢谢您了~,不过满意答案的选项呢?该怎么确认答案啊?

点评

究竟该怎么确认答案啊?怎么一直找不到确认的地方了……  发表于 2012-7-26 22:12
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-3 05:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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