查看: 2896|回复: 19

[已经解决] 怎么永久增加人物特殊的属性【已解决】

[复制链接]
梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
回帖
709
发表于 2016-10-15 07:56:46 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 sq333333 于 2016-10-24 22:34 编辑

事件里只能增加 力量 智力 敏捷这些数值
怎么可以永久增加特殊的能力。比如必杀 闪避 命中 TP增长率... 这些

听说有一种【状态法】可惜页面找不到了...  不太清楚。
希望有一种不要太繁琐的方法  谢谢老大们!

评分

参与人数 1星屑 +9 收起 理由
李牧羊 + 9 >A<不知道

查看全部评分

梦石
0
星屑
125
在线时间
486 小时
注册时间
2007-5-27
回帖
788
发表于 2016-10-15 11:33:06 | 显示全部楼层
……
做一个不显示图标的状态。
事件附加该状态。
你要的效果分别添加在这些状态里。
只要你不设置自动解除它们就永不解除。
记得如果你不需要解除则永远不要给任何技能解除对应状态的效果。
以上。
回复

使用道具 举报

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
回帖
709
 楼主| 发表于 2016-10-15 12:13:06 来自手机 | 显示全部楼层
紫苍焰 发表于 2016-10-15 11:33
……
做一个不显示图标的状态。
事件附加该状态。

住宿那种全回复会解除状态吧

点评

全回復無効ステート脚本  发表于 2016-10-15 12:38
http://usagimask.web.fc2.com/vxace_material.htm  发表于 2016-10-15 12:38
回复

使用道具 举报

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
回帖
709
 楼主| 发表于 2016-10-16 21:06:56 | 显示全部楼层
sq333333 发表于 2016-10-15 12:13
住宿那种全回复会解除状态吧

七重老大   这个连接打不开...{:2_251:}
回复

使用道具 举报

梦石
0
星屑
6891
在线时间
7027 小时
注册时间
2013-11-2
回帖
1263

开拓者剧作品鉴家

发表于 2016-10-16 21:46:20 | 显示全部楼层
本帖最后由 RaidenInfinity 于 2016-10-16 22:15 编辑

[pre lang="ruby"]
class Game_Actor < Game_Battler
  
  alias :xparam_add_initialize :initialize
  def initialize(actor_id)
    xparam_add_initialize(actor_id)
    xparam_extra_clear
  end
  
  def xparam(xparam_id)
    features_sum(FEATURE_XPARAM, xparam_id) + @xparam_extra[xparam_id]
  end
  
  def xparam_plus(xparam_id, value)
    @xparam_extra[xparam_id] += value  
  end
  
  def xparam_add(type,value) #百分比 比如1%是0.01
    case(type)
      when :hit; xparam_plus(0,value) #HIT 命中率
      when :eva; xparam_plus(1,value) #EVAsion 回避率
      when :cri; xparam_plus(2,value) #CRItical 暴击率
      when :cev; xparam_plus(3,value) #Critical EVasion 暴击回避率
      when :mev; xparam_plus(4,value) #Magic EVasion 魔法回避率
      when :mrf; xparam_plus(5,value) #Magic ReFlect 魔法反弹率
      when :cnt; xparam_plus(6,value) #CouNTerattack 物理反击率
      when :hrg; xparam_plus(7,value) #Hp ReGen 生命恢复率
      when :mrg; xparam_plus(8,value) #Mp ReGen 魔法恢复率
      when :trg; xparam_plus(9,value) #Tp ReGen 特技值恢复率
    end
  end  

  def xparam_extra_clear
   @xparam_extra = [0,0,0,0,0,0,0,0,0,0]
  end
end
[/pre]

插入此插件脚本,然后记得要开启新的游戏。 如果想要继续现有的存档(不建议),请用触发一个事件脚本指令然后存档:
  1. $data_actors.count.times{|i|
  2.   next if i == 0
  3.   $game_actors[i].xparam_extra_clear
  4. }
复制代码


要增加或减少特殊属性,就要使用事件脚本指令:
  1. $game_actors[人物ID].xparam_add(特殊属性代号,百分比的数值)
复制代码

或者
  1. $game_actors[人物ID].xparam_plus(特殊属性ID,百分比的数值)
复制代码


例子:
增加3号角色的回避率5%
  1. $game_actors[3].xparam_add(:eva,0.05)
复制代码

点评

在用事件的初始化之后补这行事件脚本指令  发表于 2018-3-5 08:03
$game_actors[人物ID].xparam_extra_clear  发表于 2018-3-5 08:02
请问版主大大,这样加了后即使初始化角色也不会初始化加的能力,有办法初始化加的能力吗,或者强制能力等于多少!!!  发表于 2018-3-5 01:45
读档的时候$data_actors.count.times{|i| next if i == 0 $game_actors[i].xparam_extra_clear }也可以吧···  发表于 2016-10-24 00:48

评分

参与人数 2星屑 +300 梦石 +1 收起 理由
怪蜀黍 + 250 + 1 楼主认可的解答
鑫晴 + 50 认可答案

查看全部评分

回复 1 0

使用道具 举报

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
回帖
709
 楼主| 发表于 2016-10-19 08:36:13 | 显示全部楼层
RaidenInfinity 发表于 2016-10-16 21:46
class Game_Actor < Game_Battler
  
  alias :xparam_add_initialize :initialize

一直没上线,今天看到了大神的 脚本,万分感谢!!
回复

使用道具 举报

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
回帖
709
 楼主| 发表于 2016-10-19 09:06:38 | 显示全部楼层
大神  插入这个插件会报错, 如果没有插入这个。  上面的脚本也能用,就是反击时是攻击自己,不知道这个插件是什么作用啊? 感谢大神!

【引用:

插入此插件脚本,然后记得要开启新的游戏。 如果想要继续现有的存档(不建议),请用触发一个事件脚本指令然后存档:

    $data_actors.count.times{|i|
      next if i == 0
      $game_actors[i].xparam_extra_clear
    }

复制代码】
回复

使用道具 举报

梦石
0
星屑
6891
在线时间
7027 小时
注册时间
2013-11-2
回帖
1263

开拓者剧作品鉴家

发表于 2016-10-19 10:33:31 | 显示全部楼层
本帖最后由 RaidenInfinity 于 2016-10-19 10:36 编辑
  1. $data_actors.count.times{|i|
  2.       next if i == 0
  3.       $game_actors[i].xparam_extra_clear
  4.     }
复制代码


这段“事件脚本指令”(事件的第三页右下角,在事件内插入一段脚本)的用途是修复已有的存档,避免新定义的数值/变量因不存在存档中而报错。如果你并没有这种需求,而是重新开始游戏,就不需要这个了。

另外如果有报错或其他状况,请附上出错的讯息,和出错的脚本部分,以便获得协助。

点评

谢谢,已经解决!!:-)  发表于 2017-12-27 23:59
后面那个*是要乘(*)还是加(+)就看你自己了。  发表于 2017-12-27 20:07
解决方法是把第10行(假设除了x换成s之外没有任何其他更动)换成 features_pi(FEATURE_SPARAM, sparam_id) * @sparam_extra[sparam_id]  发表于 2017-12-27 20:06
sparam是乘算而不是加算。直接改我在5楼贴的脚本是绝对会出事的。  发表于 2017-12-27 20:04
大大我想增加特殊能力,我把xparam改成sparam,其他功能都正常,就是战斗时候使用药品不能回血了?求帮帮我吧  发表于 2017-12-27 19:27
回复

使用道具 举报

梦石
0
星屑
878
在线时间
576 小时
注册时间
2010-6-26
回帖
709
 楼主| 发表于 2016-10-19 23:19:59 | 显示全部楼层
RaidenInfinity 发表于 2016-10-19 10:33
这段“事件脚本指令”(事件的第三页右下角,在事件内插入一段脚本)的用途是修复已有的存档,避免新定义 ...

原来是这样的啊,多谢大神
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部