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

Project1

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

美兽进,关于仿黄金太阳脚本的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
95
在线时间
24 小时
注册时间
2007-6-16
帖子
160
跳转到指定楼层
1
发表于 2008-1-29 08:17:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
用了黄金太阳的脚本,存档后再读取,进入菜单或战斗的时候会出现
脚本'Game_Actor'的51行 发生了 NoMethodError。
undefind method `hp' for #<Small_Sprite:0x3357630>

这里的Game_Actor是你的黄金太阳脚本里面的,就是这一段:
  def actor_sprite_hp      
      temp_hp = 0
      @sprite.each{|n| temp_hp += n.hp unless n.turn?}
      return temp_hp
  end
请问该如何解决呢???
版务信息:本贴由楼主自主结贴~
喜欢玩游戏,更喜欢自己做游戏

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

2
发表于 2008-1-29 14:57:59 | 只看该作者
抱歉,我没发现你叙述的问题,麻烦请详细说下操作步骤。

另:LZ使用的是范例工程吗?该系统有一定冲突风险,我只解决系统本身的BUG,不负责整合。
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

史上最强粉丝

梦石
0
星屑
50
在线时间
9 小时
注册时间
2007-8-20
帖子
5574

贵宾

3
发表于 2008-1-29 15:33:35 | 只看该作者
据说是一个适用于默认纵版的脚本哦。外挂血条和字体加强是进不去的。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
24 小时
注册时间
2007-6-16
帖子
160
4
 楼主| 发表于 2008-1-29 17:57:11 | 只看该作者
是这样,先用脚本获得一个精灵,比如$game_party.get_sprite("伊弗列特")
然后将精灵给角色装备上,提升了各项能力,然后存档,关闭游戏。
再重新开游戏窗口,读取存档,然后进入菜单,或者进入战斗,就会出现这个问题
喜欢玩游戏,更喜欢自己做游戏
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
24 小时
注册时间
2007-6-16
帖子
160
5
 楼主| 发表于 2008-1-29 18:05:14 | 只看该作者
范例工程也有此BUG,请帮忙修正{/pz}
本来我的工程里用这个也出现过不少冲突,但都被我整合了,这个貌似不是冲突{/hx}
喜欢玩游戏,更喜欢自己做游戏
回复 支持 反对

使用道具 举报

Lv1.梦旅人

史上最强粉丝

梦石
0
星屑
50
在线时间
9 小时
注册时间
2007-8-20
帖子
5574

贵宾

6
发表于 2008-1-29 20:09:52 | 只看该作者
存当后…这个的话…要美兽来了,我用还未遇到的。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

7
发表于 2008-1-29 23:38:33 | 只看该作者
替换Small_Sprite

  1. class Small_Sprite
  2.   
  3.   attr_accessor :hp
  4.   attr_accessor :sp
  5.   attr_accessor :str
  6.   attr_accessor :dex
  7.   attr_accessor :agi
  8.   attr_accessor :int
  9.   attr_accessor :turn
  10.   attr_accessor :type
  11.   attr_accessor :name
  12.   attr_accessor :help
  13.   attr_accessor :color
  14.   
  15.   def initialize
  16.       @hp = @sp = @str = @dex = @agi = @int = @turn = @type = 0
  17.       @name = @help = ''
  18.       @color = 0
  19.   end
  20.   
  21.   def base_value
  22.       return [@hp, @sp, @str, @dex, @agi, @int]
  23.   end
  24.   
  25.   def turn?
  26.       return @turn < Sprite_Magic.sprite_turn(@name)
  27.   end
  28.   
  29.   def _name
  30.       turn? ? (return (@name + Sprite_Magic::WAIT)) : (return @name)
  31.   end
  32.   
  33. end
复制代码


替换Sprite_Magic

  1. module Sprite_Magic
  2.       
  3.       #精灵窗口皮肤
  4.       SKIN = 'red'
  5.       #待机标识
  6.       WAIT = '〓'
  7.       
  8.       #HP、SP、力量、灵巧、速度、魔力、恢复回合、属性        
  9.       @magic_value = {
  10.         '拉曼达拉(火)' => [100, 20,  25,  0, -10, 30, 5, 0],
  11.         '沙拉曼达(火)' => [100, 20,  25,  -50, -10, 30, 5, 0],
  12.         '伊弗里特(火)' => [80,  40, -10,   20,  10, 20, 3, 0],
  13.         '希娃(水)' => [50,  50, 10,   40,  40, 10, 4, 1],
  14.         '温蒂尼(水)' => [60,  50, 20,  20,  40, 10, 4, 1],
  15.         '伊夫(风)' => [10,  10, 10,   50,  80, 10, 4, 2],
  16.         '彼得潘(风)' => [70,  50, 20,   40,  40, 10, 4, 2]
  17.       }
  18.       
  19.       #精灵简介(名字 => 说明文字)
  20.       @magic_help_text = {
  21.         '拉曼达拉(火)' => '饱受折磨恋人的愤怒之火。',
  22.         '沙拉曼达(火)' => '绝望沙漠地下熔岩之虫。',
  23.         '伊弗里特(火)' => '古代众神锻造武器之焰。',
  24.         '希娃(水)' => '托尔的老婆。',
  25.         '温蒂尼(水)' => '性格默默,温润生命之源。',
  26.         '伊夫(风)' => '吹拂大地的顽童,拥有翡翠之翼。',
  27.         '彼得潘(风)' => '梦精灵实体,穿越两界滩涂。'     
  28.       }
  29.       
  30.       #精灵属性对应颜色
  31.       @magic_color = {
  32.       0 => Color.new(255,0,0,255),
  33.       1 => Color.new(0,255,0,255),
  34.       2 => Color.new(0,255,255,255)
  35.       }
  36.       
  37.       #普通组合对应特技({属性 => 数量,属性 => 数量……} => 特技id)
  38.       @normal_skill = {
  39.       {0 => 2} => 7,
  40.       {1 => 2} => 2,
  41.       {0 => 2, 1 => 1} => 8,
  42.       {1 => 1, 2 => 1} => 4,
  43.       {0 => 3, 1 => 1, 2 => 1} => 9
  44.       }  
  45.       
  46.       #固定组合对应特技([精灵1,精灵2……] => 特技id)
  47.       @fix_skill = {
  48.       ['伊弗里特(火)', '沙拉曼达(火)'] => 13,
  49.       ['伊弗里特(火)', '希娃(水)'] => 11,
  50.       ['沙拉曼达(火)', '温蒂尼(水)', '伊夫(风)'] => 26,
  51.       ['温蒂尼(水)', '伊夫(风)'] => 6
  52.       }
  53.       
  54.       #持有精灵数上限(id => max)
  55.       @actor_max = {
  56.       1 => 5, 2 => 4, 3 => 6,4 => 7, 5 => 5, 6 => 5, 7 => 4, 8 => 6   
  57.       }
  58.       
  59.       @methed_name = ['hp','sp','str','dex','agi','int','turn','type',
  60.                       'name','help','color']  
  61.       
  62.       def self.find_sprite(sprite, id)
  63.           n_spr = self.find_normal_sprite(id)
  64.           s_spr = self.find_special_sprite(id)
  65.           n_spr.each{|n|
  66.                       sprite.each{|spr|
  67.                                   spr.turn = 0 if (spr.type == n and !spr.turn?)                                      
  68.                                   }
  69.                       }
  70.           s_spr.each{|n|
  71.                       sprite.each{|spr|
  72.                                   spr.turn = 0 if (spr.name == n and !spr.turn?)                                      
  73.                                   }
  74.                       }
  75.       end
  76.       
  77.       def self.find_normal_sprite(id)           
  78.           type_hash = @normal_skill.return_key(id)
  79.           sk_id = Array.new
  80.           type_hash.each{|key, value| value.times{sk_id << key}}
  81.           return sk_id
  82.       end
  83.       
  84.       def self.find_special_sprite(id)         
  85.           return @fix_skill.return_key(id)
  86.       end
  87.       
  88.       def self.sprite_turn(name)
  89.           @magic_value[name].nil? ? (return nil) : (return @magic_value[name][6])         
  90.       end  
  91.       
  92.       def self.make_sprite(name)
  93.           return if @magic_value[name].nil?
  94.           sprite = Small_Sprite.new            
  95.           @methed_name.size.times{|n|
  96.               _name = @methed_name[n]
  97.               #sprite.make_methed(_name)   
  98.               n < 8 ? class_eval("sprite.#{_name}=@magic_value[name][n]") :  
  99.               (class_eval("sprite.#{_name}=name") if n == 8
  100.                class_eval("sprite.#{_name}=@magic_help_text[name]") if n == 9
  101.                class_eval("sprite.#{_name}=@magic_color[sprite.#{@methed_name[7]}]") if n == 10)
  102.           }
  103.           return sprite
  104.       end
  105.       
  106.       def self.find_skill_id(sprite, skill = nil)        
  107.           skill_id = (self.find_normal_id(sprite) + self.find_special_id(sprite)).sort!
  108.           skill_id -= skill if skill
  109.           return skill_id
  110.       end
  111.       
  112.       def self.find_normal_id(sprite)
  113.           temp = {}
  114.           sprite.each{|spr|
  115.                       n = spr.type
  116.                       temp[n] ||= 0 ; temp[n] += 1
  117.                       }
  118.           skill_id = []            
  119.           @normal_skill.each {|key, value|
  120.                         skill_id << value if key.in_all?(temp)                        
  121.                         }
  122.           return skill_id               
  123.       end
  124.       
  125.       def self.find_special_id(sprite)
  126.           skill_id = []
  127.           @fix_skill.each{|key, value|
  128.                      skill_id << value if key.all?{|name| sprite.find {|spr| spr.name == name}}
  129.                      }
  130.           return skill_id                       
  131.       end
  132.       
  133.       def self.sprite_max(id)
  134.           @actor_max[id].nil? ? (return nil) : (return @actor_max[id])         
  135.       end  
  136.   
  137. end  
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
24 小时
注册时间
2007-6-16
帖子
160
8
 楼主| 发表于 2008-1-30 03:47:42 | 只看该作者
已经解决。再发现什么问题我会及时提出的{/hx}
喜欢玩游戏,更喜欢自己做游戏
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-5 11:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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