Project1

标题: 关于TP值的一些设定与问题 [打印本页]

作者: qq1014850720    时间: 2014-11-5 22:14
标题: 关于TP值的一些设定与问题
我的构想是将TP值设定为类似疲劳值一样的  有几个问题想问下:
1实现.在TP值达到最大值时自动附加一个状态(最好区别角色或职业)
2.如何给角色或职业设定在战斗开始时就自动附加状态
3.怎样将TP的最大值变为一个可操控的值 并能通过事件和装备武器和防具来改变

还有几个小白问题:
1.RMVA多个状态附加的话效果都存在吗,还是只有优先级显示的那几个状态?
2.特殊能力中的药理知识是什么意思?
3.其他中的增加行动次数注释上说的存在两个50%是什么意思,是怎么计算的?


作者: 三途亚梦    时间: 2014-11-5 22:19
不要一贴多问,小心VIP打你的小屁屁。

状态效果全部存在,优先级说的很清楚,是显示优先级

药理知识是物品回复量的百分比

行动次数说的很清楚。

50% 行动次数+1
如果有第二个效果也是50% 行动次数+1
则他们分开计算,且可以叠加

那么就有25%的概率是行动2次

50% * 50% = 25%
一个很简单的概率计算问题而已。
作者: 三途亚梦    时间: 2014-11-5 22:24
本帖最后由 三途亚梦 于 2014-11-5 22:26 编辑

1实现.在TP值达到最大值时自动附加一个状态(最好区别角色或职业)
这个你只要参考你以前问过的hp很少时附加状态就可以做出来的,发散思维

2.如何给角色或职业设定在战斗开始时就自动附加状态
自动附加刚好这几天有人问过这样的问题,你可以去看看
https://rpg.blue/thread-373228-1-2.html

3.怎样将TP的最大值变为一个可操控的值 并能通过事件和装备武器和防具来改变。
这个很麻烦……不懂脚本的话劝你最好放弃这个想法。
作者: VIPArcher    时间: 2014-11-5 22:27
本帖最后由 VIPArcher 于 2014-11-5 23:44 编辑

问题1  在角色|职业备注栏备注<TP状态 ID> 就可以在TP满的时候附加上第ID号状态
RUBY 代码复制
  1. class Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 更改 TP
  4.   #--------------------------------------------------------------------------
  5.   alias add_tp tp=
  6.   def tp=(tp)
  7.     add_tp(tp)
  8.     s = []
  9.     self.feature_objects.each {|obj|
  10.     s.push $1.to_i if obj.note =~ /<TP状态\s*(\d+?)>/i}
  11.     if @tp == max_tp && s != []
  12.       s.each{|i| add_state(i)}
  13.     else
  14.       s.each{|i| remove_state(i)}
  15.     end
  16.   end
  17. end
未测试
问题2 https://rpg.blue/thread-373242-1-1.html
问题3 https://rpg.blue/thread-372289-1-1.html 如果你有耐心,能认真琢磨一下,这个脚本可以解决
  1. class Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取 TP 的最大值
  4.   #--------------------------------------------------------------------------
  5.   def max_tp
  6.     return 改成你新建的属性啥啥啥的
  7.   end
  8. end
复制代码

作者: qq1014850720    时间: 2014-11-5 22:44
三途亚梦 发表于 2014-11-5 22:19
不要一贴多问,小心VIP打你的小屁屁。

状态效果全部存在,优先级说的很清楚,是显示优先级

我不太懂脚本? 是把原来的脚本里的hp改成tp?  这样对吗?
module VIPArcher
  Class_State = [1,2,3,4] #自己添加职业ID
  Class_State_ID = [2,2,2,2]  #附加的状态ID和上面一一对应
end
class Game_BattlerBase
  alias vip_20140817_tp tp=
  def tp=(tp)
    vip_20140817_tp(tp)
    if tp_rate = 1
      state = VIPArcher::Class_State_ID[VIPArcher::Class_State.index(self.class_id)] if
      VIPArcher::Class_State.include?(self.class_id)
      self.add_state(state) if state != nil
    end if self.actor?
    refresh
  end
end
作者: qq1014850720    时间: 2014-11-5 23:02
qq1014850720 发表于 2014-11-5 22:44
我不太懂脚本? 是把原来的脚本里的hp改成tp?  这样对吗?
module VIPArcher
  Class_State = [1,2,3,4] ...

好像不行 会报错 我还是用上面的脚本试试看吧
作者: qq1014850720    时间: 2014-11-5 23:12
VIPArcher 发表于 2014-11-5 22:27
问题1  在角色|职业备注栏备注 就可以在TP满的时候附加上第ID号状态
class Game_BattlerBase
  #---------- ...

测试可以的 能不能扩展一下  使TP小于最大值后自动解除呢   




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