Project1

标题: 关于杀敌数 [打印本页]

作者: deteckor    时间: 2008-11-11 15:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: hide秀    时间: 2008-11-11 16:30
用上班前空余时间帮你写了个
具体情况还未测试

class Hash
  def key_clear
  str = <<= STR
    temp = {}
    self.each_key {|key|
      temp[key] = 0
    }
    return temp
  STR
  eval(str,binding)
  end
end

class Game_System
  attr_accessor  :enemy_ids
  alias ori_initialize initialize
  def initialize
    ori_initialize
    # 用来保存目前杀死的敌人id=>数量
    @enemy_ids = Enemy_ids.dup
    @enemy_ids.key_clear
  end  
end  

class Game_Battler
  # 这里设置特定敌人id和需要的数量
  # 这里是1号敌人需要杀死10个
  Enemy_ids = {1=>10}  
  def dead?
    if (@hp == 0 and not @immortal)
     if self.is_a?(Game_Enemy)
       id = self.instance_variable_get :@enemy_id
       now_mission = $game_system.enemy_ids   
       goal_mission = Enemy_ids               
       # 检索是否存在于列表中
       if now_mission[id] != nil and goal_mission[id] != nil ||
          now_mission[id] < goal_mission[id]
          $game_system.enemy_ids[id] += 1
          break
       end  
     end
     return true
    end
  end
end
[LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~ [LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: 莳衍灵儿    时间: 2008-11-11 16:32
如果会出现逃跑的话~
在数据库-队伍-战斗事件里
事件出现条件-敌人A 的HP 0% 以下
执行事件 变量0001+=1

如果完成战斗的话~
战斗结束调用公共事件~就是这个~
http://rpg.blue/web/htm/news409.htm
泪~怎么办~没有RM~想不起来具体怎么设置~
大概就是多设置一个战斗事件~
变量0002=变量0001
然后在战斗结束调用的公共事件里~
用条件分歧判断最后打的是否敌人 A~ [LINE]1,#dddddd[/LINE]系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
作者: deteckor    时间: 2008-11-11 17:24
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1