查看: 2554|回复: 6

[已经解决] 请教,能不能用脚本实现这样一个“状态”

[复制链接]
梦石
0
星屑
50
在线时间
353 小时
注册时间
2010-12-27
回帖
38
发表于 2015-8-3 11:25:34 | 显示全部楼层 |阅读模式

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

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

×
请教,能不能用脚本实现这样一个“状态”。
状态【蓄力】,使用后,攻击上升100%,但是MP每回合减1,当MP减少到0时,改状态自动解除。
谢谢大家。

点评

你是想做一个持续施法期间每回合消耗魔法的技能吧···  发表于 2015-8-3 20:14
梦石
0
星屑
50
在线时间
85 小时
注册时间
2015-7-29
回帖
69
发表于 2015-8-3 11:31:45 | 显示全部楼层
可以做一个添加能力,法力恢复速度-1%,持续回合做成100回合!

点评

这样如果MP提前归零也不会消失……  发表于 2015-8-3 15:02
回复

使用道具 举报

梦石
0
星屑
125
在线时间
486 小时
注册时间
2007-5-27
回帖
788
发表于 2015-8-3 15:03:42 | 显示全部楼层
……
有个HP低于一定百分比自动附加特定状态的脚本……
如果楼主对脚本有研究的话或许可以根据这个脚本造出MP低于一定百分比自动解除某状态的效果?稍等,我去翻那个脚本……
回复

使用道具 举报

梦石
0
星屑
125
在线时间
486 小时
注册时间
2007-5-27
回帖
788
发表于 2015-8-3 15:08:12 | 显示全部楼层
点击展开/收起module P叔
  #==============参==============数==============设==============定==============
  # 请在下面设定被动技能的ID,当角色拥有该被动技能时才会触发状态附加。
  # 默认设置是127号技能。
    SKILL_ID = 44
  # 请在下面设定附加状态的ID
  # 默认设置是26号状态。
    STATE_ID = 28
  # 请设定HP限定变量的ID,用于控制各项数值。
  # 默认设置是10号变量。
    HP_VARIABLE = 101
  # HP限定变量是类似这样一个特殊的一维数组变量:
  # $game_variables[P叔::HP_VARIABLE] = [40,35,0,45]
  # 默认表示当队伍1号的HP小于或等于40才附加状态;当队伍2号的HP小于或等于35才附加状态;
  # 队伍3号无效化,队伍4号的HP小于或等于45才附加状态
  #==============================================================================
end

class Scene_Base
  
  #--------------------------------------------------------------------------
  # ● 更新画面
  #--------------------------------------------------------------------------
  def update
    auto_state_by_skill                                 # 添加了本句
    update_basic
  end
  
  #--------------------------------------------------------------------------
  # ● 附加状态  自定义函数
  #--------------------------------------------------------------------------
  def auto_state_by_skill
    if $game_variables[P叔::HP_VARIABLE].class == Array # 当HP限定变量才执行
      return if $game_party.members.empty?
      for i in 0...$game_party.members.size
        j = $game_party.members
        j.remove_state(P叔::STATE_ID) if j.hp <= 0      # 死亡时解除状态
        next unless j.skill_learn?($data_skills[P叔::SKILL_ID]) # 没有学会技能则跳过
        # 当hp<=最大hp的百分比时,附加状态STATE_ID,否则就解除
        j.hp <= j.mhp * $game_variables[P叔::HP_VARIABLE] / 100.0 ? j.add_state(P叔::STATE_ID) : j.remove_state(P叔::STATE_ID)
      end  
    end  
  end
end
回复

使用道具 举报

梦石
0
星屑
50
在线时间
85 小时
注册时间
2015-7-29
回帖
69
发表于 2015-8-3 16:55:43 | 显示全部楼层
紫苍焰 发表于 2015-8-3 15:08
[fold]module P叔
  #==============参==============数==============设==============定==============
  ...

这个脚本可以用吗?我也想用

点评

……你随意呗……我也是在6R找的……  发表于 2015-8-6 14:55
回复

使用道具 举报

梦石
0
星屑
3348
在线时间
1120 小时
注册时间
2009-4-15
回帖
761
发表于 2015-8-3 21:23:37 | 显示全部楼层
mp为0自动解除26号状态[pre lang="ruby"]class Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    state_resist_set.each {|state_id| erase_state(state_id) }
    @hp = [[@hp, mhp].min, 0].max
    @mp = [[@mp, mmp].min, 0].max
    remove_state(26) if @mp == 0
    @hp == 0 ? add_state(death_state_id) : remove_state(death_state_id)
  end
end[/pre]

评分

参与人数 1星屑 +200 收起 理由
taroxd + 200 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
353 小时
注册时间
2010-12-27
回帖
38
 楼主| 发表于 2015-8-4 08:52:25 | 显示全部楼层
万分感谢楼上的几位朋友,已经可以,谢谢!!
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部