设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1104|回复: 1
打印 上一主题 下一主题

[已经解决] 脚本又冲突嘞

 关闭 [复制链接]

Lv3.寻梦者

小空格

梦石
0
星屑
2635
在线时间
554 小时
注册时间
2009-7-15
帖子
1107
跳转到指定楼层
1
发表于 2009-8-13 09:16:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RM_DNF老版的,开始战斗就‘RTAB连击计数-显示部分的61行发生了Errno::Erange Result too l arge - log 10’
结果过大了,把10调小还不行

#==============================================================================
#RTAB观光游第六站,连击效果+连击计数显示 (显示部分)
#==============================================================================
# ▼▲▼ XRXS_BP19. コンボ表示+ヒットボーナス ver.3β ▼▲▼ built 201409
# by 桜雅 在土

#==============================================================================
# □ カスタマイズポイント
#==============================================================================
class XRXS_BP19
  #
  # コンボ持続時間[単位:F](40F が 一秒)
  #
  COMBOHIT_DURATION = 100
  #
  # スキン ファイル名
  #
  SKIN_NUMBER = "SixRice_Number.png"
  SKIN_HIT    = "SixRice_HITS.png"
end
class Game_Battler
  #
  # コンボヒットによるダメージ補正力/ヒット数[単位:%]
  #
  DAMAGE_INCREASE_PER_HIT = 1
end
#==============================================================================
# --- XRXS.ナンバースプライト スキン対応!  ---
#==============================================================================
class NumberSprite
  #--------------------------------------------------------------------------
  # ○ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize(skin)
    @skin = skin
    @sprites = []
    @width  = skin.width/10
    @height = skin.height
    set_digit(4) # 基本設定値
    set(0)
  end
  #--------------------------------------------------------------------------
  # ○ 桁の設定
  #--------------------------------------------------------------------------
  def set_digit(digit)
    @sprites.each{|sprite| sprite.dispose}
    @sprites.clear
    digit.times do
      sprite = Sprite.new
      sprite.bitmap = @skin
      sprite.z = 999
      sprite.src_rect.set(0, 0, @width, @height)
      @sprites.push(sprite)
    end
  end
  #--------------------------------------------------------------------------
  # ○ 値の設定
  #--------------------------------------------------------------------------
  def set(number)
    # 例外補正
    digit = Math.log10(number)
    if digit > @sprites.size
      set_digit(digit)
    end
    # 各桁の適用
    for sprite in @sprites
      sprite.src_rect.x = number%10 * @width
      number /= 10
    end
    # ゼロ表示 上から判定し、一度でも 0 でなければそこから表示
    zero_display = false
    for sprite in @sprites.reverse
      zero_display |= (sprite.src_rect.x != 0)
      sprite.visible = zero_display
    end
  end
  #--------------------------------------------------------------------------
  # ○ 座標などの設定の経由
  #--------------------------------------------------------------------------
  def x=(n)
    @sprites.each{|sprite|
      sprite.x = n
      n -= @width
    }
  end
  def y=(n)
    @sprites.each{|sprite| sprite.y = n }
  end
  def opacity=(n)
    @sprites.each{|sprite| sprite.opacity = n }
  end
  def dispose
    @sprites.each{|sprite| sprite.dispose }
  end
end

#==============================================================================
# □ Window_ComboHit
#------------------------------------------------------------------------------
#     戦闘中にコンボ数を表示する透明なウィンドウです。
#==============================================================================
class Window_ComboHit < Window_Base
  #--------------------------------------------------------------------------
  # ○ オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    @number = NumberSprite.new(RPG::Cache.windowskin(XRXS_BP19::SKIN_NUMBER))
     super(200, 80, 200, 80)
    self.opacity = 0
    self.z = 999
    self.visible = false
    self.contents = RPG::Cache.windowskin(XRXS_BP19::SKIN_HIT).dup
    @active = false
    @show_duration = 0
    @sliding_duration = 0
  end
  #--------------------------------------------------------------------------
  # ○ クリア ほか
  #--------------------------------------------------------------------------
  def clear
    self.visible = false
  end
  def x=(n)
    super
    @number.x = n if @number != nil
  end
  def y=(n)
    super
    @number.y = n if @number != nil
  end
  def contents_opacity=(n)
    super
    @number.opacity = n if @number != nil
  end
  def dispose
    @number.dispose
    super
  end
  #--------------------------------------------------------------------------
  # ○ リフレッシュ
  #--------------------------------------------------------------------------
  def refresh(hit_combo, duration)
    # 可視化
    self.contents_opacity = 255
    self.visible = true
    # 設定
    @show_duration    = duration
    @sliding_duration = 0
    # 描写
    @number.set(hit_combo)
  end
  #--------------------------------------------------------------------------
  # ○ フレーム更新
  #--------------------------------------------------------------------------
  def update
    if @sliding_duration > 0
      @sliding_duration -= 1
      self.contents_opacity -= 32
      self.x += 1
      if @sliding_duration == 0
        self.visible = false
      end
    elsif @show_duration > 0
      @show_duration -= 1
      if @show_duration == 0
        @sliding_duration = 8
      end
    end
  end
end

咋回事情吗?

Lv1.梦旅人

梦石
0
星屑
50
在线时间
77 小时
注册时间
2008-5-16
帖子
194
2
发表于 2009-8-14 05:01:59 | 只看该作者
log 10。。。。要改貌似也应该改大。。。虽然还是不明白这个脚本的意思。。。。
不过对数的真数不能是0。。。。难道把0代进去计算了??。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2025-1-11 00:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表