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的數組
你可以參考這個內建方法
def use_item
item = @subject.current_action.item
@log_window.display_use_item(@subject, item)
@subject.use_item(item)
refresh_status
targets = @subject.current_action.make_targets.compact
show_animation(targets, item.animation_id)
targets.each {|target| item.repeats.times { invoke_item(target, item) } }
end
复制代码
作者:
qootm2
时间:
2017-5-1 21:31
本帖最后由 qootm2 于 2017-5-2 00:58 编辑
d = 100;b.index.times{|t| d -= (b.friends_unit.members[t].alive? ? 30 : 0)};d
复制代码
簡單測試下可行
補充實測畫面:
35235325.jpg
(81.64 KB, 下载次数: 16)
下载附件
保存到相册
2017-5-1 23:42 上传
=========================
好,大概知道樓主要什麼了,然後我想不到只靠傷害公式就搞定的方法,只能改腳本:
class Scene_Battle < Scene_Base
def use_item
item = @subject.current_action.item
@log_window.display_use_item(@subject, item)
@subject.use_item(item)
refresh_status
targets = @subject.current_action.make_targets.compact
show_animation(targets, item.animation_id)
# 用50號變量記錄目標 index
$game_variables[50] = 0
targets.each {|target| item.repeats.times { invoke_item(target, item) } ; $game_variables[50] += 1 }
end
end
复制代码
傷害公式寫:
100 - 30 * v[50]
作者:
taroxd
时间:
2017-5-1 21:46
100 - b.friends_unit.alive_members.index(b) * 30
复制代码
瞎写的没测试
作者:
guoxiaomi
时间:
2017-5-2 00:47
不如设置一个变量,每次使用的时候-30,
比如每回合设置敌群事件 变量1 = 130
$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