查看: 1830|回复: 6

[已经解决] 人物介绍Ver. 1.1的使用中的问题

[复制链接]
梦石
0
星屑
50
在线时间
22 小时
注册时间
2011-12-17
回帖
5
发表于 2015-3-11 23:28:27 | 显示全部楼层 |阅读模式

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

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

×
如题,在人物介绍Ver. 1.1中,编辑脚本人数为19人,但是在使用中,一旦队伍中出现第九个及以后的角色就会显示脚本错误。这个是因为我少设置了什么东西么?求高手帮忙!
梦石
0
星屑
50
在线时间
22 小时
注册时间
2011-12-17
回帖
5
 楼主| 发表于 2015-3-11 23:32:22 | 显示全部楼层
下面是使用的脚本,在脚本测试中,没有添加其他脚本,只有在标题脚本的地方更改了一段代码

[pre lang="ruby"]#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


# 人物介绍     Ver. 1.1          作者: Claimh     翻译与修正:柳柳
#------------------------------------------------------------------------------
# http://www.k3.dion.ne.jp/~claimh/
#==============================================================================
  
  #——功能简介:在状态页面按下回车键会进入人物介绍页面。
  #——如果想自行建立功能,使用$scene = Scene_Charactor.new(角色编号)即可
  #——如果自行建立了功能不想使用默认的切换,去掉217行以后的内容
  
  #——以下数组,如果人物超过8人,请自行继续添加(一般游戏没那么多主人公吧)
  #——如果想更改内容,比如把“体重”改为“智商”,请修改102-107行的文字内容
  
  # 从状态页面切换至人物介绍页面的按键
  CHENGE_KEY = Input::C
  #--------------------------------------------------------------------------
  # 人物年龄 (自定义)
  #--------------------------------------------------------------------------
CHARA_AGE = ["7月4日","6月的第二个星期日","7月14日","12月30日","1月18日",
"6月8日","10月26日","8月1日","7月12日","10月3日","3月17日","10月1日","7月1日",
"2月11日","3月17日","2月12日","8月25日","1月18日","7月1日"]
#--------------------------------------------------------------------------
# 人物出生地
#--------------------------------------------------------------------------
CHARA_FROM = ["华/盛/顿","伦/敦","巴/黎","莫/斯/科","柏/林","布/达/佩/斯",
"维/也/纳","伯/尔/尼","瓦/杜/兹","柏/林","罗/马","北/京","中/環","东/京",
"罗/马","马/德/里","明/斯/克","柏/林","渥/太/华"]
#--------------------------------------------------------------------------
# 人物身高
#--------------------------------------------------------------------------
CHARA_H = [" ",""," "," "," "," "," "," "]
#--------------------------------------------------------------------------
# 人物体重
#--------------------------------------------------------------------------
CHARA_W = ["我就是拯救世界的英雄!",
"learn的过去式应该是learnt,learned是什么啊!笨蛋!",
"Bonjour,今天哥哥我也很闪亮哦~","伏特加——",
"本大爷今天帅的像小鸟一样!","把重要的东西,还给我!",
"你这个大笨蛋先生!","不成体统!","我也能帮助哥哥了~~",
"怎么又是你?给我认真一点!","Pasta~","没有问题,我们有人数优势阿鲁!",
"……","在下会妥善处理的","离我弟弟远一点,土豆混蛋!","TOMATO!TOMATO!",
"哥哥我们结婚吧,合体合体合体……","本大爷今天帅的像小鸟一样!",
"谁?”“加/拿/大啊……"]
#--------------------------------------------------------------------------
# 人物介绍,可以写多行
#--------------------------------------------------------------------------
# 人物1号介绍
L1 = "充满活力,个性张扬,富有正义感"
L2 = "但有些自大并很能折腾,自以为是领导世界的HERO"
L3 = "最喜欢的食物是汉堡、可乐和培根"               
L_SET1 = [L1, L2, L3]  # 人物1号的数组
# 人物2号介绍
L1 = "喜欢嘲讽人又好强,傲娇属性"
L2 = "本性很善良.眉毛非常的粗,代表其绅士风度。"
L3 = "做的菜是异次元级别的,很喜欢喝红茶"
L_SET2 = [L1, L2, L3]  # 人物2号的数组
# 人物3号介绍
L1 = "优雅多情,喜欢一切美的事物"  
L2 = "擅长烹饪,一直力图把爱传遍世界"  
L3 = "自称“哥哥”,爱好是罢工和裸奔"  
L_SET3 = [L1, L2, L3]  
# 人物4号介绍
L1 = "寒冷的北方巨国,永远穿着厚衣服。"  
L2 = "病娇、魔王属性,不发一言却能给人以巨大压迫感"  
L3 = "喜爱伏特加,向日葵,最珍惜水管,曾称呼水管为“魔法小棒棒”"  
L_SET4 = [L1, L2, L3]  
# 人物5号介绍
L1 = "对上司绝对忠诚,喜欢称呼腓/特/烈/大帝为“老爹”"  
L2 = "非常疼爱弟弟德/国,可以说是为了德意志的诞生而存在的兄长。"  
L3 = "性格自大傲慢但意外地认真严肃,爱好是写日记与四处征战"  
L_SET5 = [L1, L2, L3]
# 人物6号介绍
L1 = "从前是马背上的民族,因此与秀丽的外表相反,性格非常勇猛。"  
L2 = "战斗力高强,大概是最有男子气概的人"  
L3 = "小时候以为自己是男人,做事风格也很有大哥气场"  
L_SET6 = [L1, L2, L3]  
# 人物7号介绍
L1 = "喜欢音乐和蛋糕的少爷,看起来阔绰其实颇为节俭"
L2 = "稳重从容,不太露出表情,习惯用音乐表达感情"
L3 = "很会做点心但做时会发出迷之爆炸声,用料颇高级。是个超级大路痴"
L_SET7 = [L1, L2, L3]
# 人物8号介绍
L1 = "性格冷静而且不受动摇,工作起来勤劳又认真"
L2 = "不太想跟其他的角色建立关系,但是非常疼爱妹妹"
L3 = "比较容易生气,但是很讲道理,不会没事就无理取闹"
L_SET8 = [L1, L2, L3]
# 人物9号介绍
L1 = "瑞/士的妹妹,非常可爱和懂事的小女孩"  
L2 = "经常能够说出自己的意见,是公主一样端庄的性格"  
L3 = "由于在WW1最困难的时候被瑞/士帮助,所以对这个哥哥非常感激"  
L_SET9 = [L1, L2, L3]  
# 人物10号介绍
L1 = "人称骑士之国的欧洲大国。曾掀起两度世界大战,实力可见一斑"  
L2 = "严谨有序,严肃,资源回收也做的很认真,对机械过分痴迷"  
L3 = "自认为与各国关系不佳,每天都在抱怨意/大/利但却又处处照顾他"  
L_SET10 = [L1, L2, L3]
# 人物11号介绍
L1 = "性格脱线,阳光但又有点爱哭,吊儿郎当,有点黏人"  
L2 = "打仗无能,擅长画画、制作点心、唱歌和服装设计"  
L3 = "喜欢女孩子、意/大/利面、足球、披萨和午睡,还有量产白旗"  
L_SET11 = [L1, L2, L3]
# 人物12号介绍
L1 = "是现存的年龄最大的国/家,虽然长相是娃娃脸"  
L2 = "能干,自信,热情,精于计算得失,常直言直语,不理会某些国/家的威胁"  
L3 = "看起来有些天然呆,隐藏着锐利眼神但很少表现出来"  
L_SET12 = [L1, L2, L3]
# 人物13号介绍
L1 = "是个说话时常夹杂着着广/东/话和英/语、面瘫属性的少年"  
L2 = "之前被英/国带走,待了155年,因此有后天粗眉毛"  
L3 = "一个性格有些不容易被琢磨出的人,称呼中/国为“先生”"  
L_SET13 = [L1, L2, L3]
# 人物14号介绍
L1 = "严守大和男儿的风俗,谨言慎行,察言观色"  
L2 = "常用暧昧的作答,但其实潜台词是“不”"  
L3 = "勤恳认真,手巧。做事极度认真谨慎踏实,有随大流的倾向"  
L_SET14 = [L1, L2, L3]
# 人物15号介绍
L1 = "罗/马/帝/国的孙子,北/意/大/利的双胞胎哥哥,以前的两/西/西/里王/国。"  
L2 = "绝对傲娇,易怒,话语偏脏,为人率直,也有点爱哭。"  
L3 = "喜欢番茄和意/大/利面,擅长料理、泡女人和午睡"  
L_SET15 = [L1, L2, L3]
# 人物16号介绍
L1 = "曾经是太阳不会西沉的热情国度。个性阳光、热情、大而化之而且相当迟钝。"  
L2 = "许多地方都很随便,但是对自己认为不能退让的事则会彻底燃烧热情。"  
L3 = "宠爱罗维诺到不像话的地步,是个无可救药的番茄控。"  
L_SET16 = [L1, L2, L3]
# 人物17号介绍
L1 = "俄/罗/斯的妹妹,清冷寡言,性情古怪,说话像是男人的语气"  
L2 = "有恋兄情结,经常缠着俄/罗/斯,是哥哥鬼畜时的帮凶"  
L3 = "和乌/克/兰是唯一能让俄/罗/斯感到头疼的存在"  
L_SET17 = [L1, L2, L3]
# 人物18号介绍
L1 = "对上司绝对忠诚,喜欢称呼腓/特/烈/大帝为“老爹”"  
L2 = "非常疼爱弟弟德/国,爱称为“West”,可以说是为了德意志的诞生而存在的兄长。"  
L3 = "性格自大傲慢但意外地认真严肃,爱好是写日记与四处征战"  
L_SET18 = [L1, L2, L3]
# 人物19号介绍
L1 = "美/国的双胞胎兄弟,呆毛总是很没精神地下垂,脾气过分的好。"  
L2 = "存在感很低,就算发牢骚也还是欠缺存在感。"  
L3 = "有只叫熊二郎的北极熊宠物,但是都记不住对方的名字。"  
L_SET19 = [L1, L2, L3]
# 人物介绍数组,如果不够继续添加。
CHARA_INFO = [L_SET1,L_SET2,L_SET3,L_SET4,L_SET5,L_SET6,L_SET7,L_SET8,
L_SET9,L_SET10,L_SET11,L_SET12,L_SET13,L_SET14,L_SET15,L_SET16,L_SET17,
L_SET18,L_SET19]

#==============================================================================
# Window_Charactor
#==============================================================================

class Window_Charactor < Window_Base
  #--------------------------------------------------------------------------
  # actor : 初始化的角色
  #--------------------------------------------------------------------------
  def initialize(actor)
    super(0, 0, 640, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    @actor = actor
    refresh
  end
  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_battler_graphics(@actor, 100, 200)
    self.contents.font.color.set(255, 255,50)
    self.contents.draw_text(250, 10, 80, 32, "姓名")
    self.contents.draw_text(250, 50, 80, 32, "生日")
    self.contents.draw_text(250, 90, 80, 32, "首都/首府")
    self.contents.draw_text(250, 130, 80, 32, "")
    self.contents.draw_text(250, 170, 80, 32, "")
    self.contents.font.color = normal_color
    draw_actor_name(@actor, 350, 10)
    draw_actor_age(@actor, 350, 50)
    draw_actor_from(@actor, 350, 90)
    draw_actor_height(@actor, 350, 130)   
    draw_actor_weight(@actor, 350, 170)
    draw_actor_other(@actor, 50, 250)
  end
end

class Window_Base < Window
  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def draw_battler_graphics(actor, x, y)
    battler=RPG::Cache.battler(actor.battler_name, actor.battler_hue)
    w = battler.width
    h = battler.height
    self.contents.blt(x-w/2, y-h, battler, Rect.new(0, 0, w,h))
  end

  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def draw_actor_age(actor, x, y)
    self.contents.draw_text(x, y, 80, 32, CHARA_AGE[actor.id-1])
  end

  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def draw_actor_from(actor, x, y)
    self.contents.draw_text(x, y, 180, 32, CHARA_FROM[actor.id-1])
  end

  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def draw_actor_height(actor, x, y)
    self.contents.draw_text(x, y , 200, 32, CHARA_H[actor.id-1])
  end

  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def draw_actor_weight(actor, x, y)
    self.contents.draw_text(x, y, 250, 32, CHARA_W[actor.id-1])
  end

  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def draw_actor_other(actor, x, y)
    info = CHARA_INFO[actor.id-1]
    for i in 0...info.size
      self.contents.draw_text(x, y+32*i, 600, 32,info)
    end
  end
end


#==============================================================================
# Scene_Charactor
#==============================================================================

class Scene_Charactor
  #--------------------------------------------------------------------------
  #   actor_index :角色编号
  #--------------------------------------------------------------------------
  def initialize(actor_index = 0, equip_index = 0)
    @actor_index = actor_index
  end
  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def main
    @actor = $game_party.actors[@actor_index]
    @status_window = Window_Charactor.new(@actor)
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  #--------------------------------------------------------------------------
  def update
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(3)
      return
    end
    if Input.trigger?(Input::R)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Charactor.new(@actor_index)
      return
    end
    if Input.trigger?(Input::L)
      $game_system.se_play($data_system.cursor_se)
      @actor_index += $game_party.actors.size - 1
      @actor_index %= $game_party.actors.size
      $scene = Scene_Charactor.new(@actor_index)
      return
    end
  end
end


#==============================================================================
# Scene_Status
#==============================================================================

class Scene_Status
  alias update_chara update
  def update
    if Input.trigger?(CHENGE_KEY)
      $game_system.se_play($data_system.decision_se)
      $scene = Scene_Charactor.new(@actor_index)
      return
    end
    update_chara
  end
end



#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
[/pre]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
22 小时
注册时间
2011-12-17
回帖
5
 楼主| 发表于 2015-3-11 23:36:28 | 显示全部楼层
脚本更改的内容是将Scene_Title的33行至194行内容更换为如下代码:
  1. # 生成标题图形
  2.     @sprite = Sprite.new
  3.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
  4.     #@title_bak = Sprite.new
  5.     #@title_bak.bitmap =RPG::Cache.title("Title.jpg")
  6.    
  7.     @start_1 = Sprite.new #高亮
  8.     @start_0 = Sprite.new #一般
  9.     @load_1 = Sprite.new
  10.     @load_0 = Sprite.new
  11.     @exit_1 = Sprite.new
  12.     @exit_0 = Sprite.new
  13.    
  14.     @start_1.bitmap = RPG::Cache.title("start-1.png")
  15.     @start_0.bitmap = RPG::Cache.title("start-0.png")
  16.     @load_1.bitmap  = RPG::Cache.title("memory-1.png")
  17.     @load_0.bitmap  = RPG::Cache.title("memory-0.png")
  18.     @exit_1.bitmap  = RPG::Cache.title("exit-1.png")
  19.     @exit_0.bitmap  = RPG::Cache.title("exit-0.png")
  20.    
  21.     item_x = 440 #320 - @start_0.bitmap.width / 2
  22.     item_y = 240
  23.     @start_0.y = item_y
  24.     @start_1.y = item_y
  25.     @start_0.x = item_x
  26.     @start_1.x = item_x
  27.     item_x = 400 #320 - @load_0.bitmap.width / 2
  28.     item_y = item_y+72
  29.     @load_0.y = item_y
  30.     @load_1.y = item_y
  31.     @load_0.x = item_x
  32.     @load_1.x = item_x
  33.     item_x =  360 #320 - @exit_0.bitmap.width / 2
  34.     item_y = item_y+72
  35.     @exit_0.y = item_y
  36.     @exit_1.y = item_y
  37.     @exit_0.x = item_x
  38.     @exit_1.x = item_x
  39.    
  40.     @start_0.visible = false
  41.     @start_1.visible = true
  42.     @load_0.visible = true
  43.     @load_1.visible = false
  44.     @exit_0.visible = true
  45.     @exit_1.visible = false
  46.    
  47.     @pic_index = 0
  48.    
  49.     # 生成命令窗口
  50.     s1 = "新游戏"
  51.     s2 = "继续"
  52.     s3 = "退出"
  53.     @command_window = Window_Command.new(192, [s1, s2, s3])
  54.     @command_window.back_opacity = 160
  55.     @command_window.x = 320 - @command_window.width / 2
  56.     @command_window.y = 288
  57.     @command_window.visible = false
  58.     #@command_window.z = -1
  59.     # 判定继续的有效性
  60.     # 存档文件一个也不存在的时候也调查
  61.     # 有効为 @continue_enabled 为 true、无效为 false
  62.     @continue_enabled = false
  63.     for i in 0..3
  64.       if FileTest.exist?("Save#{i+1}.rxdata")
  65.         @continue_enabled = true
  66.       end
  67.     end
  68.     # 继续为有效的情况下、光标停止在继续上
  69.     # 无效的情况下、继续的文字显示为灰色
  70.     if @continue_enabled
  71.       @command_window.index = 1
  72.     else
  73.       @command_window.disable_item(1)
  74.     end
  75.     # 演奏标题 BGM
  76.     $game_system.bgm_play($data_system.title_bgm)
  77.     # 停止演奏 ME、BGS
  78.     Audio.me_stop
  79.     Audio.bgs_stop
  80.     # 执行过渡
  81.     Graphics.transition
  82.     # 主循环
  83.     loop do
  84.       # 刷新游戏画面
  85.       Graphics.update
  86.       # 刷新输入信息
  87.       Input.update
  88.       # 刷新画面
  89.       update
  90.       # 如果画面被切换就中断循环
  91.       if $scene != self
  92.         break
  93.       end
  94.     end
  95.     # 装备过渡
  96.     Graphics.freeze
  97.     # 释放命令窗口
  98.     @command_window.dispose
  99.     # 释放标题图形
  100.     @sprite.bitmap.dispose
  101.     @sprite.dispose
  102.     #@Title_bak.bitmap.dispose
  103.     #@Title_bak.dispose
  104.     @start_1.bitmap.dispose
  105.     @start_0.bitmap.dispose
  106.     @load_1.bitmap.dispose
  107.     @load_0.bitmap.dispose
  108.     @exit_1.bitmap.dispose
  109.     @exit_0.bitmap.dispose
  110.     @start_1.dispose
  111.     @start_0.dispose
  112.     @load_1.dispose
  113.     @load_0.dispose
  114.     @exit_1.dispose
  115.     @exit_0.dispose
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ● 刷新画面
  119.   #--------------------------------------------------------------------------
  120.   def update
  121.     # 刷新命令窗口
  122.     @command_window.update
  123.    
  124.     if @command_window.index != @pic_index
  125.       @pic_index = @command_window.index
  126.     case @command_window.index
  127.      when 0  # 新游戏
  128.        @start_0.visible = false
  129.        @start_1.visible = true
  130.        @load_0.visible = true
  131.        @load_1.visible = false
  132.        @exit_0.visible = true
  133.        @exit_1.visible = false
  134.       when 1  # 继续
  135.        @start_0.visible = true
  136.        @start_1.visible = false
  137.        @load_0.visible = false
  138.        @load_1.visible = true
  139.        @exit_0.visible = true
  140.        @exit_1.visible = false
  141.       when 2  # 退出
  142.        @start_0.visible = true
  143.        @start_1.visible = false
  144.        @load_0.visible = true
  145.        @load_1.visible = false
  146.        @exit_0.visible = false
  147.        @exit_1.visible = true
  148.      end
  149.      end
  150.     # 按下 C 键的情况下
  151.     if Input.trigger?(Input::C)
  152.       # 命令窗口的光标位置的分支
  153.       case @command_window.index
  154.       when 0  # 新游戏
  155.         command_new_game
  156.       when 1  # 继续
  157.         command_continue
  158.       when 2  # 退出
  159.         command_shutdown
  160.       end
  161.     end
  162.   end
复制代码
回复

使用道具 举报

梦石
0
星屑
50
在线时间
22 小时
注册时间
2011-12-17
回帖
5
 楼主| 发表于 2015-3-11 23:42:43 | 显示全部楼层
执行游戏时,替换队友为九号及以后角色并在状态菜单内查看人物介绍时会弹出的错误提示:
a.png
回复

使用道具 举报

匿·蹤

梦石
0
星屑
65
在线时间
99 小时
注册时间
2006-3-19
回帖
404
发表于 2015-3-13 10:28:05 | 显示全部楼层
子默 发表于 2015-3-11 23:42
执行游戏时,替换队友为九号及以后角色并在状态菜单内查看人物介绍时会弹出的错误提示:
...

源脚本,第39行,CHARA_H= 的部分,数组中只有8个量貌似……
加个量试试?

评分

参与人数 1星屑 +200 收起 理由
RyanBern + 200 认可答案

查看全部评分

卐忍 → 解忍 → 元忍 → 隐忍 → 卍忍 → 匿踪(最终)
完全退步到了卐忍阶段
回复

使用道具 举报

梦石
0
星屑
50
在线时间
22 小时
注册时间
2011-12-17
回帖
5
 楼主| 发表于 2015-3-13 13:33:21 | 显示全部楼层
OCTSJimmy 发表于 2015-3-13 10:28
源脚本,第39行,CHARA_H= 的部分,数组中只有8个量貌似……
加个量试试?

哦哦哦!确实是这样我之前疏忽了!!!谢谢帮了大忙!(*´ω`*)
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-3-14 12:02:33 | 显示全部楼层
  1. CHARA_H = [" ",""," "," "," "," "," "," "]
复制代码
这一句要改···
换成
  1. CHARA_H|=[];(0...999).each{|i|CHARA_H[i]=""}
复制代码
就行···不过999貌似太大了···你有多少角色就改成多少吧,嗯,那就这样了···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部