Project1
标题:
这个技能连击的脚本的作者是谁?
[打印本页]
作者:
卡奥尼特
时间:
2023-6-21 11:40
标题:
这个技能连击的脚本的作者是谁?
嗯,是这样的,这回使用的时候提示出了错误。
提示的错误是这个:
第 70 行:发生 NoMethodError 。
undefined method `target_index' for nil:NilClass
本来是想找找这个脚本的作者是谁的。
我无论怎样都找不着,
在这个前提下我不清楚这个脚本有没有在维护了。
或者说有没有类似的脚本。
脚本部分:
# SkillCombo_for_VXace (2012/ 3/25)
#「スキルコンボ for VXace」
#______________________________________________________________________________
=begin
スキルのメモ欄に、<combo:51, 55, 59> ……と書かれたスキルを使用すると、
そのスキルを使った直後に設定したスキルを発動します。
この例の場合は、
親スキル(?) → スキルID:51 (ファイア) → :55(アイス) → :59(サンダー)
……というように先に書かれたものから順に発動します。
なお、コスト消費処理は、親スキルについてのみ行い、
(メモ欄で指定した)続けて発動するスキルについては一切行いません。
同様に「使用時メッセージ」も無効です。(結果は表示します)
また、スキルの使用可能判定についても、
親スキルのものしかチェックしませんのでご了承ください。
親スキルの「効果範囲」は、「敵単体」or「味方単体」に設定すること。
=end
#______________________________________________________________________________
# --- 2012/ 3/25 VXace用に新規作成
#______________________________________________________________________________
class RPG::UsableItem < RPG::BaseItem
def following_skills
return []
end
end
class RPG::Skill < RPG::UsableItem
def following_skills
if @__following_skills == nil
data = []
note.each_line do |line|
next unless /<(?:combo|スキルコンボ):(.*)>/i =~ line
data += $1.scan(/\d+/).collect{|str| str.to_i }
end
@__following_skills = data
end
return @__following_skills
end
end
#______________________________________________________________________________
class Scene_Battle < Scene_Base
def wait_for_effect;end
alias skill_combo__use_item use_item
def use_item
current_target = @subject.current_action.make_targets[0]
skill_combo__use_item
invoke_following_items(current_target) if current_target != nil
end
#--------------------------------------------------------------------------
def invoke_following_items(current_target)
return if @subject.dead? or current_target.dead?
target_index = @subject.current_action.target_index
@subject.current_action.item.following_skills.each do |skill_id|
action = Game_Action.new(@subject)
action.set_skill(skill_id).target_index = target_index
targets = action.make_targets.compact
next if targets.empty?
@log_window.back_to(1)
show_animation(targets, action.item.animation_id)
targets.each do |target|
action.item.repeats.times{ invoke_item(target, action.item) }
end
break if @subject.dead? or current_target.dead?
end
end
end
复制代码
作者:
300英雄
时间:
2023-7-17 16:50
脚本冲突了,这个你直接贴脚本没有用,他不属于这个脚本本身有问题,而是你和别的一起塞了导致的的
你这个脚本冲突问题解释一下,是你使用了技能,但是目标目测是直接没有读取到信息
target_index = @subject.current_action.target_index 变量 = 使用者(@subject)当前释放技能(current_action)的释放位置(target_index)
你分别去p一下 @subject @subject.current_action这两个,导致谁空了,都不是nil的空值,那么就是你在取target_index出的问题
单独脚本没啥问题,只能是自己加脚本出的冲突,和打MOD一样,打多了就BUG了,单独拿一个出来了,可能它本身没问题,是打了别人的MOD才出的
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1