查看: 1613|回复: 5

[已经解决] 这个问题怎么解决?

[复制链接]
梦石
0
星屑
50
在线时间
153 小时
注册时间
2010-12-18
回帖
112
发表于 2013-5-30 20:42:30 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 mo88 于 2013-5-31 14:26 编辑

站内找到的 敌人能力设置  脚本,但是进战斗就出错。。。


[pre lang="ruby" line="1"]#============================================================================
# 〇 让敌人也有等级(敌人能力自动设置)
#                              By.冰舞蝶恋
#----------------------------------------------------------------------------
#
#  用法:在敌人的备注里写上等级 = 设定的等级即可。
#        如:等级 = 20
#        如果需要随机等级,那么可以用
#            等级 = rand(b)+a
#            那么随机数的最小值是a,最大值是a+b-1
#            比如需要2~5的随机数,那么
#            等级 = rand(4)+2
#            此脚本会显示所设定的敌人等级。
#----------------------------------------------------------------------------
#  设置:请在下方设定敌人的每级增长能力。
#----------------------------------------------------------------------------
#  注意:如果不需要敌人的等级,不在备注中填写相关文字即可。
#        由于该脚本会自动设定敌人的等级和能力,所以当你需要自己设定敌人的能力
#        时,你只需不在备注中填写即可。
#----------------------------------------------------------------------------
#  更新:加入敌人的金钱和经验的计算,更加省力。
#============================================================================

#---------------------- 以下是敌人能力设置部分 ------------------------------
$hpl = 20  # 敌人每级所提高的生命值
$mpl = 10  # 敌人每级所提高的魔法值
$atkl = 3  # 敌人每级所增长的攻击力
$defl = 3  # 敌人每级所增长的防御力
$spil = 2  # 敌人每级所增长的精神力
$agil = 1  # 敌人每级所增长的敏捷度
$goldl = 10# 敌人每级所能多获得的金钱数量
$expl = 5  # 敌人每级所能多获得的经验数量
#----------------------------------------------------------------------------
class Game_Enemy
  #--------------------------------------------------------------------------
  # ● 获取并显示敌人的等级
  #--------------------------------------------------------------------------
  def name
    if @plural
      $z = $data_enemies[@enemy_id].read_note('等级')
      if $z != nil  
        return @original_name + letter + "  #{$z}级"
      else
        return @original_name + letter
      end
    else
      return @original_name
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取基本体力最大值
  #--------------------------------------------------------------------------
  def base_maxhp
    $z = $data_enemies[@enemy_id].read_note('等级')
    if $z == nil
      return enemy.maxhp
    else
      return $data_enemies[@enemy_id].read_note('等级') * $hpl
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取基本魔力最大值
  #--------------------------------------------------------------------------
  def base_maxmp
    $z = $data_enemies[@enemy_id].read_note('等级')
    if $z == nil
      return enemy.maxmp
    else
      return $data_enemies[@enemy_id].read_note('等级') * $mpl
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取基本攻击力
  #--------------------------------------------------------------------------
  def base_atk
    $z = $data_enemies[@enemy_id].read_note('等级')
    if $z == nil
      return enemy.atk
    else
      return $data_enemies[@enemy_id].read_note('等级') * $atkl
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取基本防御力
  #--------------------------------------------------------------------------
  def base_def
    $z = $data_enemies[@enemy_id].read_note('等级')
    if $z == nil
      return enemy.def
    else
      return $data_enemies[@enemy_id].read_note('等级') * $defl
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取基本精神力
  #--------------------------------------------------------------------------
  def base_spi
    $z = $data_enemies[@enemy_id].read_note('等级')
    if $z == nil
      return enemy.spi
    else
      return $data_enemies[@enemy_id].read_note('等级') * $spil
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取基本敏捷
  #--------------------------------------------------------------------------
  def base_agi
    $z = $data_enemies[@enemy_id].read_note('等级')
    if $z == nil
      return enemy.agi
    else
      return $data_enemies[@enemy_id].read_note('等级') * $agil
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取经验值
  #--------------------------------------------------------------------------
  def exp
    $z = $data_enemies[@enemy_id].read_note('等级')
    if $z == nil
      return enemy.exp
    else
      return $data_enemies[@enemy_id].read_note('等级') * $expl
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取金钱
  #--------------------------------------------------------------------------
  def gold
    $z = $data_enemies[@enemy_id].read_note('等级')
    if $z == nil
      return enemy.gold
    else
      return $data_enemies[@enemy_id].read_note('等级') * $goldl
    end
  end
end
#----------------------------------------------------------------------------
# 以下大神部分By.沉影不器
#----------------------------------------------------------------------------
module RPG
  module ReadNote
    def self.read(str, section, mismatch = nil)
      str.each_line do |line|
        eval("#{line}; return #{section}") if line =~ /^\s*#{section}\s*=/i
      end
      return mismatch
    end
  end
  class BaseItem
    def read_note(section, mismatch = nil)
      ReadNote.read(self.note, section, mismatch)
    end
  end
  class Enemy
    def read_note(section, mismatch = nil)
      ReadNote.read(self.note, section, mismatch)
    end
  end
  class State
    def read_note(section, mismatch = nil)
      ReadNote.read(self.note, section, mismatch)
    end
  end
end[/pre]
未命名.jpg
第一个游戏《神马传说》完成度:
策划:★★★★★★★★★★ 100%
素材:★★★★★★★★★★ 100%
脚本:★★★★★★★★★★ 100%
数据库:★★★★★★★★★★ 100%
剧情:★★★★★★★★★★ 100%
BUG修复:★★★★★★★★★★ 100%

狂気の月兔

梦石
0
星屑
421
在线时间
1245 小时
注册时间
2009-4-7
回帖
866

贵宾

发表于 2013-5-30 20:51:27 | 显示全部楼层
错误点不是在这.

你在 Cache  的 73 行,  添加

p  folder_name,  filename

-------------------

如果 coche 有外带的脚本, 这就更不好找错了.

点评

= =那么我把工程发上来,麻烦你帮我修改一下可以吗?  发表于 2013-5-30 21:08
这不是在改错, 是在找错. 你给的错误信息不能找到错误的事发点.  发表于 2013-5-30 20:59
= =添加了你那句后还是提示一样的错误。。  发表于 2013-5-30 20:58
回复

使用道具 举报

梦石
0
星屑
50
在线时间
153 小时
注册时间
2010-12-18
回帖
112
 楼主| 发表于 2013-5-30 21:10:54 | 显示全部楼层
本帖最后由 mo88 于 2013-5-30 22:00 编辑

麻烦帮我看看出了什么问题?我对复杂的脚本不太懂。。= =
第一个游戏《神马传说》完成度:
策划:★★★★★★★★★★ 100%
素材:★★★★★★★★★★ 100%
脚本:★★★★★★★★★★ 100%
数据库:★★★★★★★★★★ 100%
剧情:★★★★★★★★★★ 100%
BUG修复:★★★★★★★★★★ 100%
回复

使用道具 举报

狂気の月兔

梦石
0
星屑
421
在线时间
1245 小时
注册时间
2009-4-7
回帖
866

贵宾

发表于 2013-5-30 21:31:47 | 显示全部楼层
mo88 发表于 2013-5-30 21:10
麻烦帮我看看出了什么问题?我对复杂的脚本不太懂。。= =

错误的地方不在于这个脚本.

真正出问题的, 是 "战斗背景" 这个脚本.

"战斗背景" 16行 的在设定为2 , 并且 第 22 行没有添加相应的 地图编号的时候, 就会出错.

把 16行 改为 0 即可.


------------------------------------

其实 "战斗背景" 这个翻译有一个错误的地方,  

"战斗背景" 23行 : 地图编号 => "(Graphics/Battlebacks/图片名)" , 其实按照脚本里的写法, 其实是 地图编号 => "(Graphics/System/图片名)"

评分

参与人数 1梦石 +1 收起 理由
怪蜀黍 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
153 小时
注册时间
2010-12-18
回帖
112
 楼主| 发表于 2013-5-30 21:59:42 | 显示全部楼层
铃仙·优昙华院·因幡 发表于 2013-5-30 21:31
错误的地方不在于这个脚本.

真正出问题的, 是 "战斗背景" 这个脚本.

那个问题按照你教的方法解决了,但是另一个脚本出问题了,我估计是那个  敌人能力自动设置  的脚本出问题,存放怪物图片的文件夹不是Battlers吗?怎么它提示要放在Characters里的?后来我按照它的要求把怪物图放到Characters后就可以进入战斗场面,但是有部分怪物就无法正常显示,例如下面这图,史莱姆打格子了= =
01.jpg
02.jpg
03.jpg
第一个游戏《神马传说》完成度:
策划:★★★★★★★★★★ 100%
素材:★★★★★★★★★★ 100%
脚本:★★★★★★★★★★ 100%
数据库:★★★★★★★★★★ 100%
剧情:★★★★★★★★★★ 100%
BUG修复:★★★★★★★★★★ 100%
回复

使用道具 举报

狂気の月兔

梦石
0
星屑
421
在线时间
1245 小时
注册时间
2009-4-7
回帖
866

贵宾

发表于 2013-5-30 22:05:36 | 显示全部楼层
你提供给我的范例没有问题. 都很正常.

点评

= =我也觉得很奇怪,后来我用相同的横版系统,然后一个一个脚本加上去测试也没发现什么问题。不知道是什么原因了  发表于 2013-5-30 22:29
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部