=begin
===============================================================================
获取角色在队伍中的位置 + 快速踢人 By喵呜喵5
===============================================================================
【说明】
在 事件指令-变量操作-脚本 中输入:
m5_position(角色ID)
执行后变量的值则为对应角色在队伍中的位置,如果队伍中没有这个角色则变量的值为0
在 事件指令-脚本 中输入:
m5_t0
踢掉队伍中所有成员
m5_t1(1,2,3)
踢掉队伍中第1、2、3名角色
(括号内的数字个数、位置不限,例如,也可以是m5_t1(6,4))
m5_t2(X)
踢掉队伍中包含X号状态的角色
(括号内的数字个数不限,多个数字时使用英文逗号分隔)
m5_t3(X)
踢掉队伍中等级小于X的角色
如果X为负数,则踢掉队伍中等级大于-X的角色
m5_t4(X)
踢掉队伍中职业为X号职业的角色
(括号内的数字个数不限,多个数字时使用英文逗号分隔)
m5_t5(X)
当X为正数时
踢掉队伍中HP小于X的角色
如果X为小数,则踢掉队伍中HP的百分比小于X的角色
当X为负数时
踢掉队伍中HP大于-X的角色
如果X为小数,则踢掉队伍中HP的百分比大于-X的角色
m5_t6(X)
当X为正数时
踢掉队伍中MP小于X的角色
如果X为小数,则踢掉队伍中MP的百分比小于X的角色
当X为负数时
踢掉队伍中MP大于-X的角色
如果X为小数,则踢掉队伍中MP的百分比大于-X的角色
m5_t7(X,Y)
当X为 true 时
踢掉队伍中武器的编号包含在Y中的角色
(Y的数字个数不限,多个数字时使用英文逗号分隔)
当X为 false 时
踢掉队伍中武器的编号不包含在Y中的角色
(Y的数字个数不限,多个数字时使用英文逗号分隔)
※执行m5_t7(false,1,2) 与执行 m5_t7(false,1) 后执行 m5_t7(false,2) 结果不同
m5_t8(X,Y)
当X为 true 时
踢掉队伍中护甲的编号包含在Y中的角色
(Y的数字个数不限,多个数字时使用英文逗号分隔)
当X为 false 时
踢掉队伍中护甲的编号不包含在Y中的角色
(Y的数字个数不限,多个数字时使用英文逗号分隔)
=end
#==============================================================================
# 脚本开始
#==============================================================================
class Game_Interpreter
def m5_position(actor_id)
actor = $game_actors[actor_id]
actor = $game_party.members.index(actor)
return actor+1 if actor
0
end
def m5_t(id)
$game_party.remove_actor(id)
end
def m5_t0
$game_party.members.each {|actor| m5_t(actor.id)}
end
def m5_t1(*n)
n.uniq.sort.reverse.each do |id|
actor = $game_party.members[id - 1]
m5_t(actor.id) if actor
end
end
def m5_t2(*state)
$game_party.members.each do |actor|
state.uniq.each do |id|
m5_t(actor.id) if actor.state?(id)
end
end
end
def m5_t3(lv)
$game_party.members.each do |actor|
m5_t(actor.id) if (actor.level > -lv && lv < 0)
m5_t(actor.id) if (actor.level < lv && lv >= 0)
end
end
def m5_t4(*class_id)
$game_party.members.each do |actor|
class_id.uniq.each do |id|
m5_t(actor.id) if (actor.class_id == id)
end
end
end
def m5_t5(hp)
$game_party.members.each do |actor|
judge = (hp > -1 && hp < 1) ? actor.hp_rate : actor.hp
if hp > 0
m5_t(actor.id) if judge < hp
else
m5_t(actor.id) if judge > -hp
end
end
end
def m5_t6(mp)
$game_party.members.each do |actor|
judge = (mp > -1 && mp < 1) ? actor.mp_rate : actor.mp
if mp > 0
m5_t(actor.id) if judge < mp
else
m5_t(actor.id) if judge > -mp
end
end
end
def m5_t7(include,*equip_id)
$game_party.members.each do |actor|
array = actor.equips.compact.collect {|eq| eq.id if eq.etype_id == 0 }
array = array.compact + equip_id
m5_t(actor.id) if array.size != array.uniq.size and include
m5_t(actor.id) if array.size == array.uniq.size and !include
end
end
def m5_t8(include,*equip_id)
$game_party.members.each do |actor|
array = actor.equips.compact.collect {|eq| eq.id if eq.etype_id != 0 }
array = array.compact + equip_id
m5_t(actor.id) if array.size != array.uniq.size and include
m5_t(actor.id) if array.size == array.uniq.size and !include
end
end
end