Project1

标题: 如何改變特殊能力的數值 [打印本页]

作者: 魔潘安    时间: 2013-10-22 03:29
标题: 如何改變特殊能力的數值
各位大大好
小弟又遇到問了

遊戲中,除了基本的
生命、魔力、物理攻擊、物理防禦
魔法攻擊、魔法防禦、敏捷、幸運
八大能力之外

還有其他例如
必殺率
生命再生率
受到攻擊機率
魔法反射機率
...等,諸如此類的(隱藏)能力

請問我該如何在遊戲中,增加或減少該類能力
(事件只能增減八大能力而已XD)

我有想過利用狀態去附加在角色身上
但這樣一來
如果我調用 隊伍全回復 這個動作
那所有狀態就消失了
但我是要角色能夠永久性的獲得提升或減少該類能力
請問我該怎麼做...

先言謝過~
感恩!!
作者: 熊喵酱    时间: 2013-10-22 07:30
有很多詳細屬性的腳本
像是 N.A.S.T.Y extra status 這樣的
也有更新手向的  只是我不會去碰這種系統  所以沒有收藏起來....  
你可能要自己再找下 對不起了
作者: tan12345    时间: 2013-10-22 09:34
关键字查找def xparam(xparam_id),找到后,在里面改,这个函数就是修改特殊能力的地方,比如你可以这样改:
  1. #--------------------------------------------------------------------------
  2.   # ● 获取添加能力
  3.   #--------------------------------------------------------------------------
  4.   def xparam(xparam_id)
  5.     features_sum(FEATURE_XPARAM, xparam_id)
  6.   end
复制代码
改成:
  1. #--------------------------------------------------------------------------
  2.   # ● 获取添加能力
  3.   #--------------------------------------------------------------------------
  4.   def xparam(xparam_id)
  5.     xp = features_sum(FEATURE_XPARAM, xparam_id)
  6.     case xparam_id
  7.     when 0#命中
  8.       xp += 0.15 if skill_learn?($data_skills[1])#如果学会1号技能那么命中加15%
  9.       xp += 0.15 if state?(2)#如果附加着2号状态那么命中加15%
  10.     when 1#闪避
  11.        #这里可以写上你的需要,比如象命中那样
  12.     when 2#暴击
  13.      
  14.     when 3#暴击闪避
  15.       
  16.     when 4#魔法闪避
  17.       
  18.     when 6#反击
  19.       
  20.     when 7#HP回复
  21.       
  22.     else
  23.       xp
  24.     end
  25.   end
复制代码

作者: 魔潘安    时间: 2013-10-23 02:13
本帖最后由 魔潘安 于 2013-10-23 02:25 编辑

回覆 76213585 大大
謝謝~我找到您說的那個腳本了
但那是增加新能力值的腳本
而我是想要增加諸如:暴擊率(固有但隱藏的數值)之類的

#======================================

回覆 tan12345 大大
謝謝您的解答
我嘗試用了上述腳本
發現戰鬥會跳錯誤...
  #--------------------------------------------------------------------------
  # ● 發動技能/物品
  #--------------------------------------------------------------------------
  def invoke_item(target, item)
    if rand < target.item_cnt(@subject, item)
      invoke_counter_attack(target, item)
    elsif rand < target.item_mrf(@subject, item)
      invoke_magic_reflection(target, item)
    else
      apply_item_effects(apply_substitute(target, item), item)
    end
    @subject.last_target_index = target.index
  end

好像是   if rand < target.item_cnt(@subject, item) 這行錯誤
但我不懂原因>"<...
謝謝!!





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