本帖最后由 taroxd 于 2013-12-21 12:33 编辑
抱歉我现在游戏不在身边,只有我自己用的脚本的rvdata2备份在网盘上。里面有你所需要的功能。
请把脚本弄到游戏工程下面,打开脚本编辑器,然后Ctrl+Shift+F,搜索以下两个东西
“ATTACK\s*SKILL” “alive_and_dead”,搜索结果对应的两个脚本分别对应你所要的两个功能,注释里应该写了使用方法了,把其他多余的脚本删了就好了。
里面多余的脚本可能会更改到游戏系统,请务必删掉!如果注释里写了需要“基础设置”那一栏,就不要删掉“基础设置”,然后请把“基础设置”里开头的常量更改到想要的值!以免更改了原本的游戏系统!
添麻烦真是抱歉了,现在真是学校电脑没有环境,只有这样一个东西了。里面大部分是我自己瞎写的,也有很多66rpg里直接拷来的东西,那些请都无视吧。对于文件里用到其他作者的东西我表示抱歉=。= 请无视、无视……为了帮人家忙……
补充:
有环境了,补上脚本
1.http://rpg.blue/thread-341046-1-1.html
2.
class RPG::UsableItem #-------------------------------------------------------------------------- # ● 目标为队友(包括死亡) #-------------------------------------------------------------------------- def for_alive_and_dead_friend? @note =~ /<for\s*alive\s*and\s*dead\s*friends?>/ end end class Game_Unit #-------------------------------------------------------------------------- # ● 决定顺带目标 #-------------------------------------------------------------------------- def alive_and_dead_smooth_target(index) members[index] ? members[index] : members[0] end end class Game_Action #-------------------------------------------------------------------------- # ● 目标为队友 #-------------------------------------------------------------------------- alias alive_and_dead_targets_for_friends targets_for_friends def targets_for_friends if item.for_alive_and_dead_friend? if item.for_one? [friends_unit.alive_and_dead_smooth_target(@target_index)] else friends_unit.members end else alive_and_dead_targets_for_friends end end end class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ● 技能/物品的应用测试 #-------------------------------------------------------------------------- alias alive_and_dead_item_test item_test def item_test(user, item) if item.for_alive_and_dead_friend? return true if $game_party.in_battle return true if item.for_opponent? return true if item.damage.recover? && item.damage.to_hp? && hp < mhp return true if item.damage.recover? && item.damage.to_mp? && mp < mmp return true if item_has_any_valid_effects?(user, item) return false else alive_and_dead_item_test(user, item) end end end
class RPG::UsableItem
#--------------------------------------------------------------------------
# ● 目标为队友(包括死亡)
#--------------------------------------------------------------------------
def for_alive_and_dead_friend?
@note =~ /<for\s*alive\s*and\s*dead\s*friends?>/
end
end
class Game_Unit
#--------------------------------------------------------------------------
# ● 决定顺带目标
#--------------------------------------------------------------------------
def alive_and_dead_smooth_target(index)
members[index] ? members[index] : members[0]
end
end
class Game_Action
#--------------------------------------------------------------------------
# ● 目标为队友
#--------------------------------------------------------------------------
alias alive_and_dead_targets_for_friends targets_for_friends
def targets_for_friends
if item.for_alive_and_dead_friend?
if item.for_one?
[friends_unit.alive_and_dead_smooth_target(@target_index)]
else
friends_unit.members
end
else
alive_and_dead_targets_for_friends
end
end
end
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● 技能/物品的应用测试
#--------------------------------------------------------------------------
alias alive_and_dead_item_test item_test
def item_test(user, item)
if item.for_alive_and_dead_friend?
return true if $game_party.in_battle
return true if item.for_opponent?
return true if item.damage.recover? && item.damage.to_hp? && hp < mhp
return true if item.damage.recover? && item.damage.to_mp? && mp < mmp
return true if item_has_any_valid_effects?(user, item)
return false
else
alive_and_dead_item_test(user, item)
end
end
end
|