Project1

标题: 习得技能后提高人物的特殊能力。 [打印本页]

作者: 春风莉露    时间: 2018-4-10 09:04
标题: 习得技能后提高人物的特殊能力。
比方说:习得1号技能后,那人物的药理知识提高100%,
偶该怎样实现
作者: 300英雄    时间: 2018-4-10 09:28
以下都是解释,说明更加清晰明了
Game_BattlerBase里面找到
def sparam(sparam_id)
    features_pi(FEATURE_SPARAM, sparam_id)
  end

参数:能力类型ID,能力值位置(这里的类:特殊能力,特殊能力的位置<ID?>)

FEATURE_SPARAM = 23 表示特殊能力 可以不改成23,因为默认设置好了sparam中的FEATURE_SPARAM就是23
sparam_id 是能力值位置
p $game_actors[X].features_pi(23, sparam_id) 在窗口输出第X号人物的sparam_id的特殊能力类型(0-无限大的范围这样,具体我也没试过到底是多少,可能有些可以无限大,有限上限1 ,1就是100%)
以上均为解释
回答:$game_actors[X].sparam(3) 显示第X人物的药理知识

    11 => "属性有效度",
    12 => "弱化有效度",
    13 => "状态有效度",
    14 => "状态免疫",
    21 => "普通能力",
    22 => "添加能力",
    23 => "特殊能力",
    31 => "附带属性",
    32 => "附带状态",
    33 => "攻击速度",
    34 => "添加攻击次数",
    41 => "添加技能类型",
    42 => "禁用技能类型",
    43 => "添加技能",
    44 => "禁用技能",
    51 => "可装备武器类型",
    52 => "可装备护甲类型",
    53 => "固定装备",
    54 => "禁用装备",
    55 => "装备风格",
    61 => "添加行动次数",
    62 => "特殊标志",
    63 => "消失效果",
    64 => "队伍能力",
顺便给你一份类的表格,红色就是23特殊能力类型

QQ图片20180410092203.png (10.24 KB, 下载次数: 30)

ID:0-10

ID:0-10

作者: 300英雄    时间: 2018-4-10 09:34
本帖最后由 300英雄 于 2018-4-10 09:38 编辑

看下这个就知道了
药理知识基础是1.0,也就是100%
我的一名单位学会了一个ID的技能,P出来变成了1.5 也就是设定着 features_pi(FEATURE_SPARAM, sparam_id) + 0.5这个处理

Game_BattlerBase里面找到def sparam(sparam_id)这个类,然后改成下面那样

def sparam(sparam_id)
if self.skills.include?($data_skills[972]) 972是你要的ID
return features_pi(FEATURE_SPARAM, sparam_id) + 0.5 if sparam_id == 3
end
    features_pi(FEATURE_SPARAM, sparam_id)
  end

QQ截图20180410093215.png (36.96 KB, 下载次数: 22)

P出来的结果

P出来的结果

QQ截图20180410093332.png (6.46 KB, 下载次数: 22)

这是设定

这是设定





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1