Project1

标题: 打死怪后累计消灭同种怪物的数量 [打印本页]

作者: Gunderub    时间: 2011-3-19 21:30
标题: 打死怪后累计消灭同种怪物的数量
3
怎么打完怪物之后某变量加一, 别以为是正常情况下,那个用事件我也会。但我弄的是在遇怪,在地图设置遇敌后,每
走多少步遇1次那队伍的敌人,然后消灭其后某变量加一,达到累计消灭数量的用途。


作者: sonic756    时间: 2011-3-19 21:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: Wind2010    时间: 2011-3-19 22:43
战斗事件,判定某敌人的HP为0%,增加变量
作者: 忧雪の伤    时间: 2011-3-20 09:45
这个……同种怪物指的是几个怪还是单一的怪
……
作者: 蔚、蔚、    时间: 2011-3-20 09:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: Gunderub    时间: 2011-3-20 09:51
回复 忧雪の伤 的帖子

我不想用明雷的办法遇怪,
我要地图设置那弄个遇敌步数的,走多久踩一次。
然后因为没有事件了嘛这样遇怪- - 根据我的任务要求,打了什么怪自然要加什么怪对应的变量

假设我队伍里有1号敌人和2号敌人 ,
用踩暗雷的方法遇怪, 进入战斗,战斗胜利了, 1号敌人的相应变量+1, 2号敌人的相应变量也要+1 。


作者: 忧雪の伤    时间: 2011-3-20 09:52
本帖最后由 忧雪の伤 于 2011-3-20 10:25 编辑
Gunderub 发表于 2011-3-20 09:51
回复 忧雪の伤 的帖子

我不想用明雷的办法遇怪,


OK,是根据敌人编号来加指定编号的变量对吧?


  1. class Game_Enemy < Game_Battler
  2.   
  3.   attr_accessor  :diemath
  4.   
  5.   alias :old_initialize :initialize
  6.   def initialize(troop_id, member_index)
  7.     old_initialize(troop_id, member_index)
  8.     @diemath = 0
  9.   end
  10.   
  11.   def diemath?
  12.     if self.diemath == 0
  13.       return true
  14.     else
  15.       return false
  16.     end
  17.   end
  18.   
  19. end

  20. class Scene_Battle
  21.   
  22.   alias :old_update :update
  23.   def update
  24.     old_update
  25.     $game_troop.enemies.each do |enemies|
  26.       if enemies.diemath? and enemies.hp0?
  27.         enemies.diemath += 1
  28.       end
  29.     end
  30.   end
  31.   
  32.   alias :old_start_phase5 :start_phase5
  33.   def start_phase5
  34.     $game_troop.enemies.each do |enemies|
  35.       $game_variables[enemies.id] += enemies.diemath
  36.       $game_variables[enemies.id]
  37.     end
  38.     old_start_phase5
  39.   end
  40.   
  41. end
复制代码

作者: 蔚、蔚、    时间: 2011-3-20 10:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: 忧雪の伤    时间: 2011-3-20 10:26
本帖最后由 忧雪の伤 于 2011-3-20 10:46 编辑
  1. class Game_Enemy < Game_Battler
  2.   
  3.   attr_accessor  :diemath
  4.   
  5.   alias :old_initialize :initialize
  6.   def initialize(troop_id, member_index)
  7.     old_initialize(troop_id, member_index)
  8.     @diemath = 0
  9.   end
  10.   
  11.   def diemath?
  12.     if self.diemath == 0
  13.       return true
  14.     else
  15.       return false
  16.     end
  17.   end
  18.   
  19. end

  20. class Scene_Battle
  21.   
  22.   alias :old_update :update
  23.   def update
  24.     old_update
  25.     $game_troop.enemies.each do |enemies|
  26.       if enemies.diemath? and enemies.hp0?
  27.         enemies.diemath += 1
  28.       end
  29.     end
  30.   end
  31.   
  32.   alias :old_start_phase5 :start_phase5
  33.   def start_phase5
  34.     $game_troop.enemies.each do |enemies|
  35.       $game_variables[enemies.id] += enemies.diemath
  36.     end
  37.     old_start_phase5
  38.   end
  39.   
  40. end
复制代码

作者: Gunderub    时间: 2011-3-20 10:44
本帖最后由 Gunderub 于 2011-3-20 10:45 编辑

回复 忧雪の伤 的帖子

直接套那我怎么设置怪死了加哪个变量。。
有 alias 的脚本我都不敢看,好像挺深奥的- -
作者: 忧雪の伤    时间: 2011-3-20 10:46
本帖最后由 忧雪の伤 于 2011-3-20 10:48 编辑
Gunderub 发表于 2011-3-20 10:44
回复 忧雪の伤 的帖子

直接套那我怎么设置怪死了加哪个变量。。


现在的算法是,直接套入相等编号的变量……
额……好像写错了一个小地方……等下





改完,
$game_variables[enemies.id] += enemies.diemath
这一句是代入的。
[enemies.id],这一句指的是敌人编号……当然你可以改成[enemies.id + 1],那就是敌人编号+1的变量。
作者: Gunderub    时间: 2011-3-20 10:51
回复 忧雪の伤 的帖子

好的。我迟下试试…
作者: 后知后觉    时间: 2011-3-20 11:10
其实LZ还有一个细节没有说.如果一个队伍里有2个1号敌人.3个2号敌人.
战胜后.1号敌人的变量是+1还是+2.2号敌人的变量是+1还是+3.
作者: 忧雪の伤    时间: 2011-3-20 11:23
后知后觉 发表于 2011-3-20 11:10
其实LZ还有一个细节没有说.如果一个队伍里有2个1号敌人.3个2号敌人.
战胜后.1号敌人的变量是+1还是+2.2号敌 ...

哦,那我说明一下……我现在是根据杀的数量加在相应的变量……杀几只就加几只……
作者: Gunderub    时间: 2011-3-20 15:33
回复 后知后觉 的帖子

反正有几个几号敌人 变量就加几个几号敌人的相应变量- - ~  优雪内脚本的效果好像可以做到了
作者: 忧雪の伤    时间: 2011-3-20 15:39
Gunderub 发表于 2011-3-20 15:33
回复 后知后觉 的帖子

反正有几个几号敌人 变量就加几个几号敌人的相应变量- - ~  优雪内脚本的效果好像可 ...

做到的话……去认可帖认可一下……




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