Project1

标题: 请教用脚本计算某个状态剩余回合数的写法 [打印本页]

作者: taeckle    时间: 2019-8-2 15:46
标题: 请教用脚本计算某个状态剩余回合数的写法
我想做个魔力递减debuff状态,具体思路如下:

1. 首先设定一个第10号状态,在数据库里设定此状态持续的回合数为99,
2. 中此状态者每过一个回合魔力下降1%,99个回合就下降99%

a= 100-此状态的剩余回合数
a /= 100
data_states[10].int_rate *= a

请教大神怎么写那个第10号状态的剩余回合数啊?
作者: taeckle    时间: 2019-8-2 15:58



目前就是计算那个  “99”回合经过后“100”的概率解除 的剩余回合数不知道咋写..



作者: soulsaga    时间: 2019-8-2 17:48
菜刀大大说的是states_turn
作者: taeckle    时间: 2019-8-2 18:27
本帖最后由 taeckle 于 2019-8-2 23:48 编辑
soulsaga 发表于 2019-8-2 17:48
菜刀大大说的是states_turn


那第10号状态的剩余回合数可以这么写吗:
@active_battler.states[10]_turn        
作者: taeckle    时间: 2019-8-3 18:55
soulsaga 发表于 2019-8-2 17:48
菜刀大大说的是states_turn

报告大神,那个状态剩余回合数我在game_battler 2那里找到了:

# 强制附加的场合
    if force
      # 设置为自然解除的最低回数 -1 (无效)
      @states_turn[state_id] = -1
    end
    # 不能强制附加的场合
    unless  @states_turn[state_id] == -1
      # 设置为自然解除的最低回数
      @states_turn[state_id] = $data_states[state_id].hold_turn
    end

然而我现在的问题是不知怎么调用这个公式到Scene_Battle 4里面,大神你可有啥办法啊?
作者: soulsaga    时间: 2019-8-3 20:50
本帖最后由 soulsaga 于 2019-8-3 20:51 编辑
taeckle 发表于 2019-8-3 18:55
报告大神,那个状态剩余回合数我在game_battler 2那里找到了:

# 强制附加的场合



MAIN上面插入..未测试
RUBY 代码复制
  1. class Game_Battler
  2.   #--------------------------------------------------------------------------
  3.   # ● 定义实例变量
  4.   #--------------------------------------------------------------------------
  5. attr_accessor :states_turn
  6. def states_turn
  7.     return @states_turn
  8.     end


之后用战斗者.states_turn[状态id]
id]
就可以获取到状态剩余回合数..
战斗者是什么你自己研究
作者: soulsaga    时间: 2019-8-5 15:34
怎么都不回复了..
作者: taeckle    时间: 2019-8-5 17:20
soulsaga 发表于 2019-8-5 15:34
怎么都不回复了..

报告大神,能用了,用user和self写都可以,虽然目的达到了咱还有一个地方不太明白,那个
attr_accessor :states_turn有神马用啊?咱自己写就想到这个,所以老搞不定。。


这两天出去玩了,还请大神见谅哈
作者: soulsaga    时间: 2019-8-5 17:54
本帖最后由 soulsaga 于 2019-8-5 17:56 编辑
taeckle 发表于 2019-8-5 17:20
报告大神,能用了,用user和self写都可以,虽然目的达到了咱还有一个地方不太明白,那个
attr_accessor : ...


这个你可以看F1搜attr_accessor第一个结果
作者: YY2019    时间: 2019-8-5 19:39
本帖最后由 YY2019 于 2019-8-6 02:32 编辑

111111111111111


作者: guoxiaomi    时间: 2019-8-10 14:19
soulsaga 发表于 2019-8-3 20:50
MAIN上面插入..未测试
class Game_Battler
  #------------------------------------------------------ ...

只需要读取的话,应该这样写:
  1. class Game_Battler
  2.   attr_reader :states_turn
  3. end
复制代码

作者: taeckle    时间: 2019-8-16 03:50
soulsaga 发表于 2019-8-5 17:54
这个你可以看F1搜attr_accessor第一个结果


搜了,没明白..
还请大神总结一下这个attr_accessor的作用哈,多谢了




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