Project1

标题: 输出公式出问题了!加急!! [打印本页]

作者: 小小西    时间: 2017-4-30 19:31
标题: 输出公式出问题了!加急!!
本帖最后由 小小西 于 2017-4-30 19:33 编辑

我这里有个攻击全体敌人,伤害递减公式 【敌人A】受到100伤害 【敌人B】受到70伤害 【敌人C】受到40伤害

刚刚仔细测试了一下这个公式:100 - b.index * 30

当A.B两个敌人死了,攻击C的时候伤害竟然是40,第二回合当A.B死了,C承受100伤害怎么改

@SailCat
作者: soulsaga    时间: 2017-4-30 21:35
公式可以用size么..不知道..
作者: QQ蚊子湯    时间: 2017-5-1 01:06
本帖最后由 QQ蚊子湯 于 2017-5-1 01:09 编辑

睡前解題
大概是因為index是對象在敵群的位置
你要想辦法去拿到make_targets的數組
你可以參考這個內建方法
  1.   def use_item
  2.     item = @subject.current_action.item
  3.     @log_window.display_use_item(@subject, item)
  4.     @subject.use_item(item)
  5.     refresh_status
  6.     targets = @subject.current_action.make_targets.compact
  7.     show_animation(targets, item.animation_id)
  8.     targets.each {|target| item.repeats.times { invoke_item(target, item) } }
  9.   end
复制代码

作者: qootm2    时间: 2017-5-1 21:31
本帖最后由 qootm2 于 2017-5-2 00:58 编辑
  1. d = 100;b.index.times{|t| d -= (b.friends_unit.members[t].alive? ? 30 : 0)};d
复制代码

簡單測試下可行

補充實測畫面:



=========================

好,大概知道樓主要什麼了,然後我想不到只靠傷害公式就搞定的方法,只能改腳本:

  1. class Scene_Battle < Scene_Base
  2.   def use_item
  3.     item = @subject.current_action.item
  4.     @log_window.display_use_item(@subject, item)
  5.     @subject.use_item(item)
  6.     refresh_status
  7.     targets = @subject.current_action.make_targets.compact
  8.     show_animation(targets, item.animation_id)
  9.     # 用50號變量記錄目標 index
  10.     $game_variables[50] = 0
  11.     targets.each {|target| item.repeats.times { invoke_item(target, item) } ; $game_variables[50] += 1 }
  12.   end
  13. end
复制代码


傷害公式寫:
100 - 30 * v[50]


作者: taroxd    时间: 2017-5-1 21:46
  1. 100 - b.friends_unit.alive_members.index(b) * 30
复制代码

瞎写的没测试
作者: guoxiaomi    时间: 2017-5-2 00:47
不如设置一个变量,每次使用的时候-30,
比如每回合设置敌群事件 变量1 = 130
  1. $game_variables[1] -= 30; $game_variables[1];
复制代码

作者: 刀饮江山    时间: 2017-5-2 11:21
不懂这里的代码。但是可不可以专门设置一个伤害次数参数,每次造成伤害该参数就+1,并且该技能的伤害取MAX【0,技能伤害】,这样是不是就可控了呢
作者: 七重    时间: 2017-5-3 17:48
作为游戏设计的角度来看,这个技能按编号来作为次序这点多少会给玩家一种不太合理的感觉。
如果改为获取一次存活中的敌人数组再生成一个随机攻击次序会更合理吧。




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