注册会员 登录
Project1 返回首页

喵呜喵5的树洞 https://rpg.blue/?291206 [收藏] [复制] [分享] [RSS]

日志

【脚本】获取角色在队伍中的位置 + 快速踢人

热度 14已有 2008 次阅读2014-2-7 14:01 |个人分类:脚本| 角色

=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


5

鸡蛋

鲜花

刚表态过的朋友 (5 人)

评论 (0 个评论)

facelist doodle 涂鸦笔

您需要登录后才可以评论 登录 | 注册会员

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-8 10:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部