| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 1 | 
 
| 积分 | 1 | 
 
| 经验 | 880 | 
 
| 最后登录 | 2014-1-4 | 
 
| 在线时间 | 20 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 50 
 
        - 在线时间
 - 20 小时
 
        - 注册时间
 - 2012-1-25
 
        - 帖子
 - 5
 
 
 
 | 
	
 本帖最后由 宁静致远p 于 2012-4-4 15:25 编辑  
 
 小生是个脚本菜鸟,请各位老鸟不要见笑。 
我是想在Scene_Battle4中添加一个效果:中了@active_battler.state?(38)   角色中了38号状态时每回合敌人损失100HP的血,开始的时候我是这样写的(在连续伤害后面添加) 
      if@active_battler.hp > 0 and @active_battler.state?(38)       
     if@active_battler.state?(27) 
     elsif @active_battler.animation_id = 96             # 显示96画  
     @attr_accessor.hp-= 100 # 减少100HP 
     @attr_accessor.sp-=100# 减少100精神  
     @attr_accessor.damage = "红色剑灵低极效果" # 设置伤害文字为"红色剑灵低极效果" 
     @attr_accessor.damage_pop = true             # 将伤害显示在屏幕上  
  end 
 end 
可是脚本出错,希望各位能帮助一下,谢谢! 
最好是可以显示出伤害,这里我用了伤害值美化脚本- module RPG 
 
 -   class Sprite < ::Sprite 
 
 -     #-------------------------------------------------------------------------- 
 
 -     # ● 伤害值描画 
 
 -     #-------------------------------------------------------------------------- 
 
 -     def damage(value, critical) 
 
 -       # 释放伤害 
 
 -       dispose_damage 
 
 -       # 如果伤害值是数值 
 
 -       if value.is_a?(Numeric) 
 
 -         # 绝对值转为字符串 
 
 -         damage_string = value.abs.to_s 
 
 -       else 
 
 -         # 转为字符串 
 
 -         damage_string = value.to_s 
 
 -       end 
 
 -       # 初始化位图 
 
 -       bitmap = Bitmap.new(162, 64) 
 
 -       bitmap.font.name = "华文行楷" #Arial Black
 
 -       bitmap.font.size = 32 
 
 -       # 伤害值是数值的情况下 
 
 -       if value.is_a?(Numeric) 
 
 -         # 分割伤害值字符串 
 
 -         damage_array = damage_string.scan(/./) 
 
 -         damage_x = 81 - damage_string.size * 9 
 
 -         # 伤害值为负的情况下 
 
 -         if value < 0 
 
 -           # 调用回复数字表 
 
 -           rect_y = 32 
 
 -         else 
 
 -           # 调用伤害数字表 
 
 -           rect_y = 0 
 
 -         end 
 
 -         # 循环伤害值字符串 
 
 -         for char in damage_array 
 
 -           number = char.to_i 
 
 -           # 显示伤害数字 
 
 -           bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"), 
 
 -             Rect.new(number * 18, rect_y, 18, 32)) 
 
 -           # 后移一位 
 
 -           damage_x += 18 
 
 -         end 
 
 -       # 伤害值不是数值的情况 
 
 -       else 
 
 -         # 如果伤害值不是 Miss 
 
 -         unless value == "Miss" 
 
 -           # 系统默认描画字符串 
 
 -           bitmap.font.color.set(0, 0, 0) 
 
 -           bitmap.draw_text(-1, 27, 162, 36, damage_string, 1) 
 
 -           bitmap.draw_text(+1, 27, 162, 36, damage_string, 1) 
 
 -           bitmap.draw_text(-1, 29, 162, 36, damage_string, 1) 
 
 -           bitmap.draw_text(+1, 29, 162, 36, damage_string, 1) 
 
 -           bitmap.font.color.set(255, 255, 255) 
 
 -           bitmap.draw_text(0, 28, 162, 36, damage_string, 1) 
 
 -         # Miss 的情况下 
 
 -         else 
 
 -           # 显示未击中图画 
 
 -           bitmap.blt(36, 28, RPG::Cache.picture("Damage"), Rect.new(90, 64, 90, 32)) 
 
 -         end 
 
 -       end 
 
 -       # 会心一击标志打开的情况 
 
 -       if critical 
 
 -         # 显示会心一击图画 
 
 -         bitmap.blt(36, 0, RPG::Cache.picture("Damage"), Rect.new(0, 64, 90, 32)) 
 
 -       end 
 
 -       # 伤害值定位 
 
 -       @_damage_sprite = ::Sprite.new(self.viewport) 
 
 -       @_damage_sprite.bitmap = bitmap 
 
 -       @_damage_sprite.ox = 81 
 
 -       @_damage_sprite.oy = 20 
 
 -       @_damage_sprite.x = self.x 
 
 -       @_damage_sprite.y = self.y - self.oy / 2 
 
 -       @_damage_sprite.z = 3000 
 
 -       @_damage_duration = 40 
 
 -     end 
 
 -   end 
 
 - end 
 
  复制代码 |   
 
 
 
 |