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

Project1

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

[已经解决] 请教降低固定能力值的状态的实现方法。

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2012-10-24
帖子
55
跳转到指定楼层
1
发表于 2015-3-3 22:04:00 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
我想设定一种状态叫”骨折”,中了“骨折”状态的角色,力量会降固定10点。
请路过的大侠指点迷津,或者可以参考的范例,谢谢。

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

7
发表于 2015-3-8 16:15:38 | 只看该作者
duchen5779 发表于 2015-3-4 18:02
Game_Battler里,在这里面,      if state_id == 19
        self.atk -=10
        end[/pre]

这样是永远地减少了10点吧···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2012-10-24
帖子
55
6
 楼主| 发表于 2015-3-6 21:44:15 | 只看该作者
新的解法?我本来已经放弃了说。我赶紧再试试。
回复 支持 反对

使用道具 举报

Lv2.观梦者

会吐槽的画师

梦石
0
星屑
782
在线时间
3431 小时
注册时间
2011-6-10
帖子
6535
5
发表于 2015-3-6 15:24:48 | 只看该作者
改变角色状态怎么能在battle里设定,肯定是在Actor里设定
def base_atk
    n = actor.parameters[2, @level]
    for item in equips.compact do n += item.atk  end
   if actor.state_id==??
    n = n -10
   end
   return n
  end

评分

参与人数 2星屑 +110 梦石 +1 收起 理由
丿梁丶小柒 + 100 + 1 认可答案
crow2006 + 10 我很赞同

查看全部评分

长名公主玩家群:372588926 攻略娱乐应有尽有
了解更多新RM游戏,游戏制作请加入RPGmaker支援群:113622890
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
4
发表于 2015-3-6 09:48:58 | 只看该作者
本帖最后由 duchen5779 于 2015-3-6 10:17 编辑

啊,好像在战斗中确实是不行。后来在Game_Battler里改了改,战斗中倒是行,但问题是,一直判断是否有那个状态,判断一次减10攻击,判断一次减10攻击,直到减到1……总之吧,好像不顶了……不好意思了,想解决找大神吧……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
81 小时
注册时间
2012-10-24
帖子
55
3
 楼主| 发表于 2015-3-5 14:06:56 | 只看该作者
无比感激,
大侠功高德厚。乐天助人。{:2_275:}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
90
在线时间
357 小时
注册时间
2006-3-3
帖子
181
2
发表于 2015-3-5 11:02:27 | 只看该作者
Game_Battler里,
  1.   #--------------------------------------------------------------------------
  2.   # ● 附加状态
  3.   #     state_id : 状态 ID
  4.   #--------------------------------------------------------------------------
  5.   def add_state(state_id)
  6.     state = $data_states[state_id]        # 获取状态资料
  7.     return if state == nil                # 资料是否为空?
  8.     return if state_ignore?(state_id)     # 状态是否无视?
  9.     unless state?(state_id)               # 状态是否存在?
  10.       unless state_offset?(state_id)      # 状态是否抵销?
  11.         @states.push(state_id)            # 加入状态
  12.       end
  13.       
  14.       if state_id == 19
  15.         self.atk -=10
  16.         end
  17.       if state_id == 1                    # 如状态是「无法战斗」(1号状态)
  18.         @hp = 0                           # 设体力为0
  19.       end
  20.       unless inputable?                   # 除非角色无法输入命令
  21.         @action.clear                     # 清除所有行动
  22.       end
  23.       for i in state.state_set            # 获取「移除状态」列表
  24.         remove_state(i)                   # 移除状态
  25.         @removed_states.delete(i)         # 清除
  26.       end
  27.       sort_states                         # 依照优先度排列状态
  28.     end
  29.     @state_turns[state_id] = state.hold_turn    # 设置回合数
  30.   end
复制代码
在这里面,
RUBY 代码复制
  1. if state_id == 19
  2.         self.atk -=10
  3.         end


是新加上去的,如果状态是19号,攻击力减10

点评

目测减不了...仅仅目测,因为没有电脑...  发表于 2015-3-5 17:46
减肯定是能减……只是消除复原那里确实是没考虑。。。毕竟我也只是刚刚才入门……(捂脸)  发表于 2015-3-5 15:44
目测此法行不通...而且也未考虑状态消除后的复原...  发表于 2015-3-5 14:46

评分

参与人数 1星屑 +100 梦石 +1 收起 理由
丿梁丶小柒 + 100 + 1 我很赞同

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 21:01

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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