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

Project1

 找回密码
 注册会员
搜索

如何引用重新定义后的enemy.maxhp?

查看数: 1575 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2013-5-10 15:20

正文摘要:

1、“敌人等级”脚本将敌人的MAXHP、MAXMP、atk、def、spi、agi等重新定义了; 比方说1级的“难民”,HP是30。 2、之后的“怪物图鉴2”脚本中引用的enemy.maxhp是数据库中设定的敌人HP,数据库中“难民”的HP是15, ...

回复

芙蕾娅 发表于 2013-5-10 17:09:20
crow2006 发表于 2013-5-10 16:23
回复2楼:

噢老天,那个等级脚本好多出错= =
我稍微随便修复了一下
RUBY 代码复制
  1. #============================================================================
  2. # 〇 让敌人也有等级(敌人能力自动设置)
  3. #                              By.冰舞蝶恋
  4. #----------------------------------------------------------------------------
  5. #
  6. #  用法:在敌人的备注里写上等级 = 设定的等级即可。
  7. #        如:等级 = 20
  8. #        如果需要随机等级,那么可以用
  9. #            等级 = rand(b)+a
  10. #            那么随机数的最小值是a,最大值是a+b-1
  11. #            比如需要2~5的随机数,那么
  12. #            等级 = rand(4)+2
  13. #            此脚本会显示所设定的敌人等级。
  14. #----------------------------------------------------------------------------
  15. #  设置:请在下方设定敌人的每级增长能力。
  16. #----------------------------------------------------------------------------
  17. #  注意:如果不需要敌人的等级,不在备注中填写相关文字即可。
  18. #        由于该脚本会自动设定敌人的等级和能力,所以当你需要自己设定敌人的能力
  19. #        时,你只需不在备注中填写即可。
  20. #----------------------------------------------------------------------------
  21. #  更新:加入敌人的金钱和经验的计算,更加省力。
  22. #============================================================================
  23.  
  24. #---------------------- 以下是敌人能力设置部分 ------------------------------
  25. $hpl = 30   # 敌人每级所提高的生命值
  26. $mpl = 30   # 敌人每级所提高的魔法值
  27. $atkl = 4   # 敌人每级所增长的攻击力
  28. $defl = 4   # 敌人每级所增长的防御力
  29. $spil = 4   # 敌人每级所增长的精神力
  30. $agil = 2   # 敌人每级所增长的敏捷度
  31. $goldl = 6  # 敌人每级所能多获得的金钱数量
  32. $expl = 6   # 敌人每级所能多获得的经验数量
  33. #----------------------------------------------------------------------------
  34. class Game_Enemy
  35.   #--------------------------------------------------------------------------
  36.   # ● 获取并显示敌人的等级
  37.   #--------------------------------------------------------------------------
  38.   def name
  39.     if @plural
  40.       $z = $data_enemies[@enemy_id].read_note('等级')
  41.       if $z != nil  
  42.         return @original_name + "  #{$z}级"
  43.       else
  44.         return @original_name + "  #{$z}级"
  45.       end
  46.       else
  47.       $z = $data_enemies[@enemy_id].read_note('等级')
  48.       return @original_name + "  #{$z}级"
  49.     end
  50.   end
  51.   #--------------------------------------------------------------------------
  52.   # ● 获取基本体力最大值
  53.   #--------------------------------------------------------------------------
  54.   def base_maxhp
  55.     $z = $data_enemies[@enemy_id].read_note('等级')
  56.     if $z == nil
  57.       return enemy.maxhp   
  58.     elsif $game_party.members.size == 1
  59.       return $data_enemies[@enemy_id].read_note('等级') * $hpl
  60.     elsif $game_party.members.size == 2
  61.       return $data_enemies[@enemy_id].read_note('等级') * $hpl * 2
  62.     else
  63.       return enemy.maxhp
  64.     end
  65.   end
  66.   #--------------------------------------------------------------------------
  67.   # ● 获取基本魔力最大值
  68.   #--------------------------------------------------------------------------
  69.   def base_maxmp
  70.     $z = $data_enemies[@enemy_id].read_note('等级')
  71.     if $z == nil
  72.       return enemy.maxmp
  73.     elsif $z
  74.       return $data_enemies[@enemy_id].read_note('等级') * $mpl
  75.     else
  76.       return enemy.maxmp
  77.     end
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● 获取基本攻击力
  81.   #--------------------------------------------------------------------------
  82.   def base_atk
  83.     $z = $data_enemies[@enemy_id].read_note('等级')
  84.     if $z == nil
  85.       return enemy.atk
  86.     elsif $z
  87.       return $data_enemies[@enemy_id].read_note('等级') * $atkl
  88.     else
  89.       return enemy.atk
  90.     end
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● 获取基本防御力
  94.   #--------------------------------------------------------------------------
  95.   def base_def
  96.     $z = $data_enemies[@enemy_id].read_note('等级')
  97.     if $z == nil
  98.       return enemy.def
  99.     elsif $z
  100.       return $data_enemies[@enemy_id].read_note('等级') * $defl
  101.     else
  102.       return enemy.def
  103.     end
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ● 获取基本精神力
  107.   #--------------------------------------------------------------------------
  108.   def base_spi
  109.     $z = $data_enemies[@enemy_id].read_note('等级')
  110.     if $z == nil
  111.       return enemy.spi
  112.     elsif $z
  113.       return $data_enemies[@enemy_id].read_note('等级') * $spil
  114.     else
  115.       return enemy.spi
  116.     end
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # ● 获取基本敏捷
  120.   #--------------------------------------------------------------------------
  121.   def base_agi
  122.     $z = $data_enemies[@enemy_id].read_note('等级')
  123.     if $z == nil
  124.       return enemy.agi
  125.     elsif $z
  126.       return $data_enemies[@enemy_id].read_note('等级') * $agil
  127.     else
  128.       return enemy.agi
  129.     end
  130.   end
  131.   #--------------------------------------------------------------------------
  132.   # ● 获取经验值
  133.   #--------------------------------------------------------------------------
  134.   def exp
  135.     $z = $data_enemies[@enemy_id].read_note('等级')
  136.     if $z == nil
  137.       return enemy.exp
  138.     elsif $game_party.members.size == 1
  139.       return $data_enemies[@enemy_id].read_note('等级') * $expl
  140.     elsif $game_party.members.size == 2
  141.       return $data_enemies[@enemy_id].read_note('等级') * $expl / 2
  142.     else
  143.       return enemy.exp
  144.     end
  145.   end
  146.   #--------------------------------------------------------------------------
  147.   # ● 获取金钱
  148.   #--------------------------------------------------------------------------
  149.   def gold
  150.     $z = $data_enemies[@enemy_id].read_note('等级')
  151.     if $z == nil
  152.       return enemy.gold
  153.     elsif $z
  154.       return $data_enemies[@enemy_id].read_note('等级') * $goldl
  155.     else
  156.       return enemy.gold
  157.     end
  158.   end
  159. end
  160. #----------------------------------------------------------------------------
  161. # 以下大神部分By.沉影不器
  162. #----------------------------------------------------------------------------
  163. module RPG
  164.   module ReadNote
  165.     def self.read(str, section, mismatch = nil)
  166.       str.each_line do |line|
  167.         eval("#{line}; return #{section}") if line =~ /^\s*#{section}\s*=/i
  168.       end
  169.       return mismatch
  170.     end
  171.   end
  172.   class BaseItem
  173.     def read_note(section, mismatch = nil)
  174.       ReadNote.read(self.note, section, mismatch)
  175.     end
  176.   end
  177.   class Enemy
  178.     def read_note(section, mismatch = nil)
  179.       ReadNote.read(self.note, section, mismatch)
  180.     end
  181.   end
  182.   class State
  183.     def read_note(section, mismatch = nil)
  184.       ReadNote.read(self.note, section, mismatch)
  185.     end
  186.   end
  187. end


看了脚本后感觉有点被坑了……
试试把
param[:maxhp] = enemy.base_maxhp
换成
param[:maxhp] = $data_enemies[enemy.id].maxhp

点评

= =请加油  发表于 2013-5-10 19:37
谢谢,我放弃这个脚本了。冲突太大。。  发表于 2013-5-10 18:48

评分

参与人数 1星屑 +100 收起 理由
怪蜀黍 + 100 热心糖

查看全部评分

芙蕾娅 发表于 2013-5-10 16:18:17
param[:maxhp] = enemy.maxhp
改成
param[:maxhp] = enemy.base_maxhp

点评

请看3楼的脚本  发表于 2013-5-10 16:30
好的。我在3楼补上。  发表于 2013-5-10 16:25
出错的是什么?可以提供截图以及脚本看看吗?  发表于 2013-5-10 16:22
试过了,报错。。。  发表于 2013-5-10 16:21
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2025-7-19 12:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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