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

Project1

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

[已经解决] 高手来看下这个脚本,有问题求教

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
32 小时
注册时间
2013-1-28
帖子
17
跳转到指定楼层
1
 楼主| 发表于 2013-2-15 15:54:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. # ————————————————————————————————————
  2. # 本脚本来自http://www.66rpg.com/,转载请保留此信息
  3. # ————————————————————————————————————
  4. #==============================================================================
  5. # ■ Game_Actor
  6. #------------------------------------------------------------------------------
  7. #  处理角色的类。本类在 Game_Actors 类 ($game_actors)
  8. # 的内部使用、Game_Party 类请参考 ($game_party) 。
  9. #==============================================================================
  10. class Game_Actor < Game_Battler
  11. #--------------------------------------------------------------------------
  12. # ● 取得战斗画面的 X 坐标
  13. #--------------------------------------------------------------------------
  14. def screen_x
  15. case self.index
  16. when 0
  17.    return 370
  18. when 1
  19.    return 430
  20. when 2
  21.    return 520
  22. when 3
  23.    return 580
  24. when 4
  25.    return 540
  26.   end
  27. end
  28. #--------------------------------------------------------------------------
  29. # ● 取得战斗画面的 Y 坐标
  30. #--------------------------------------------------------------------------
  31. def screen_y
  32. case self.index
  33. when 0
  34.    return 450
  35. when 1
  36.    return 390
  37. when 2
  38.    return 350
  39. when 3
  40.    return 320
  41. when 4
  42.    return 480
  43.   end
  44. end
  45. #--------------------------------------------------------------------------
  46. # ● 取得战斗画面的 Z 坐标
  47. #--------------------------------------------------------------------------
  48. def screen_z
  49. case self.index
  50. when 0
  51.    return 0
  52. when 1
  53.    return 0
  54. when 2
  55.    return 0
  56. when 3
  57.    return 0
  58. when 4
  59.    return 0
  60.    end
  61. end
  62. end

  63. #==============================================================================
  64. # ■ Window_Base
  65. #------------------------------------------------------------------------------
  66. #  游戏中全部窗口的超级类。
  67. #==============================================================================
  68. class Window_Base < Window
  69. #--------------------------------------------------------------------------
  70. # ● 描绘 HP
  71. #     actor : 角色
  72. #     x     : 描画目标 X 坐标
  73. #     y     : 描画目标 Y 坐标
  74. #     width : 描画目标的宽
  75. #--------------------------------------------------------------------------
  76. def draw_actor_hp1(actor, x, y, width = 72)
  77.    # 描绘字符串 "HP"
  78.    self.contents.font.color = system_color
  79.    self.contents.draw_text(x, y, 24, 24, $data_system.words.hp)
  80.    # 计算描绘 MaxHP 所需的空间
  81.    if width - 24 >= 32
  82.      hp_x = x + 32# + width - 24
  83.    end
  84.    # 描绘 HP
  85.    self.contents.font.color = actor.hp == 0 ? knockout_color :
  86.      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  87.    self.contents.draw_text(hp_x, y, 32, 24, actor.hp.to_s, 2)
  88. end
  89. #--------------------------------------------------------------------------
  90. # ● 描绘 SP
  91. #     actor : 角色
  92. #     x     : 描画目标 X 坐标
  93. #     y     : 描画目标 Y 坐标
  94. #     width : 描画目标的宽
  95. #--------------------------------------------------------------------------
  96. def draw_actor_sp1(actor, x, y, width = 72)
  97.    # 描绘字符串 "SP"
  98.    self.contents.font.color = system_color
  99.    self.contents.draw_text(x, y, 24, 24, $data_system.words.sp)
  100.    # 计算描绘 MaxSP 所需的空间
  101.    if width - 24 >= 32
  102.      sp_x = x + 32# + width - 24
  103.    end
  104.    # 描绘 SP
  105.    self.contents.font.color = actor.sp == 0 ? knockout_color :
  106.      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  107.    self.contents.draw_text(sp_x, y, 32, 24, actor.sp.to_s, 2)
  108. end
  109. end



  110. #==============================================================================
  111. # ■ Window_BattleStatus
  112. #------------------------------------------------------------------------------
  113. #  显示战斗画面同伴状态的窗口。
  114. #==============================================================================
  115. class Window_BattleStatus < Window_Base
  116. #--------------------------------------------------------------------------
  117. # ● 初始化对像
  118. #--------------------------------------------------------------------------
  119. #$data_system_level_up_me = "Audio/ME/升级音乐"
  120. def initialize
  121.    super(0, 0, 640, 480)
  122.    self.contents = Bitmap.new(width - 10, height - 32)
  123.    self.opacity = 0
  124.    @level_up_flags = [false, false, false, false]
  125.    refresh
  126. end
  127. #--------------------------------------------------------------------------
  128. # ● 释放
  129. #--------------------------------------------------------------------------
  130. def dispose
  131.    super
  132. end
  133. #--------------------------------------------------------------------------
  134. # ● 设置升级标志
  135. #     actor_index : 角色索引
  136. #--------------------------------------------------------------------------
  137. def level_up(actor_index)
  138.    @level_up_flags[actor_index] = true
  139. end
  140. #--------------------------------------------------------------------------
  141. # ● 刷新
  142. #--------------------------------------------------------------------------
  143. def refresh
  144.    self.contents.clear
  145.    @item_max = $game_party.actors.size
  146.     for i in 0...$game_party.actors.size
  147.      actor = $game_party.actors[i]
  148.      case i
  149.        when 0
  150.         x = 310
  151.         y = 390
  152.        when 1
  153.         x = 390
  154.         y = 340
  155.        when 2
  156.         x = 480
  157.         y = 300
  158.        when 3
  159.         x = 550
  160.         y = 270
  161.         when 4
  162.         x = 550
  163.         y = 500
  164.       end
  165.      if @level_up_flags[i]
  166.        self.contents.font.color = normal_color
  167.        self.contents.draw_text(x, y, 80, 24, "         ")
  168.        Audio.me_stop
  169. #        Audio.me_play($data_system_level_up_me)
  170.      else
  171.      draw_actor_hp1(actor, x-15, y-15, 80)
  172.      draw_actor_sp1(actor, x-15, y+5, 80)
  173.     end
  174.    end
  175. end
  176. #--------------------------------------------------------------------------
  177. # ● 刷新画面
  178. #--------------------------------------------------------------------------
  179. def update
  180.    super
  181.    # 主界面的不透明度下降
  182.    if $game_temp.battle_main_phase
  183.      self.contents_opacity -= 50 if self.contents_opacity > 1
  184.    else
  185.      self.contents_opacity += 50 if self.contents_opacity < 255
  186.    end
  187. end
  188. end


  189. #==============================================================================
  190. # ■ Window_BattleStatus
  191. #==============================================================================
  192. class Window_BattleStatus < Window_Base
  193. #--------------------------------------------------------------------------
  194. # ● 初始化
  195. #--------------------------------------------------------------------------
  196. alias xrxs_bp2_refresh refresh
  197. def refresh
  198.    xrxs_bp2_refresh
  199.    @item_max = $game_party.actors.size
  200.     for i in 0...$game_party.actors.size
  201.      actor = $game_party.actors[i]
  202.      case i
  203.        when 0
  204.         x = 310
  205.         y = 390
  206.        when 1
  207.         x = 390
  208.         y = 340
  209.        when 2
  210.         x = 480
  211.         y = 300
  212.        when 3
  213.         x = 550
  214.         y = 270
  215.        when 4
  216.         x = 550
  217.         y = 500
  218.       end
  219.      draw_actor_hp_meter(actor, x, y, 50)
  220.      draw_actor_sp_meter(actor, x, y + 8, 50)
  221.    end
  222. end
  223. end
  224. #==============================================================================
  225. # ■ Window_Base
  226. #==============================================================================
  227. class Window_Base < Window
  228. #--------------------------------------------------------------------------
  229. # ● HP描画
  230. #--------------------------------------------------------------------------
  231. def draw_actor_hp_meter(actor, x, y, width = 156, type = 0)
  232.    if type == 1 and actor.hp == 0
  233.      return
  234.    end
  235.    self.contents.font.color = system_color
  236.    self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 25))
  237.    w = width * actor.hp / actor.maxhp
  238.    self.contents.fill_rect(x, y+28, w,1, Color.new(255, 96, 96, 255))
  239.    self.contents.fill_rect(x, y+29, w,1, Color.new(255, 0, 0, 255))
  240.    self.contents.fill_rect(x, y+30, w,1, Color.new(128, 0, 0, 255))
  241.    self.contents.fill_rect(x, y+31, w,1, Color.new(0, 0, 0, 255))
  242.    self.contents.fill_rect(x, y+32, w,1, Color.new(0, 0, 0, 255))
  243.    
  244.    end
  245. #--------------------------------------------------------------------------
  246. # ● SP描画
  247. #--------------------------------------------------------------------------
  248. def draw_actor_sp_meter(actor, x, y, width = 156, type = 0)
  249.    if type == 1 and actor.hp == 0
  250.      return
  251.    end
  252.    self.contents.font.color = system_color
  253.    self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 255))
  254.    w = width * actor.sp / actor.maxsp
  255.    self.contents.fill_rect(x, y+28, w,1, Color.new(128, 255, 255, 255))
  256.    self.contents.fill_rect(x, y+29, w,1, Color.new(0, 255, 255, 255))
  257.    self.contents.fill_rect(x, y+30, w,1, Color.new(0, 192, 192, 255))
  258.    self.contents.fill_rect(x, y+31, w,1, Color.new(0, 128, 128, 255))
  259.    self.contents.fill_rect(x, y+32, w,1, Color.new(0, 128, 128, 255))
  260.    
  261.    end
  262. end
复制代码
这个是我自己添加修改的代码
就是没办法把第5个角色的HPSP血条显示出来
哪位能帮我修改下或指点下

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9418
在线时间
2749 小时
注册时间
2008-9-5
帖子
3544

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

2
发表于 2013-2-15 16:32:22 | 只看该作者
目测是$game_party.actors.size
限定为4了……
不过具体未明~~
可以在when 4
的处理里面试试用一下 p
看看是否被执行了……(大雾
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

3
发表于 2013-2-15 17:05:13 | 只看该作者
应该是$game_party.actors.size的问题
试试改为5看看
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
32 小时
注册时间
2013-1-28
帖子
17
4
 楼主| 发表于 2013-2-15 17:11:15 | 只看该作者
本人今天才接触脚本
楼上2位说 的我都不理解
可以的话,帮我改了吧?
搜了$game_party.actors.size,但后面都是0啊。。。。
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

5
发表于 2013-2-15 17:13:42 | 只看该作者
guoyq1987 发表于 2013-2-15 17:11
本人今天才接触脚本
楼上2位说 的我都不理解
可以的话,帮我改了吧?

$game_party.actors.size最大值默认为4
想改掉的话,
好像不能从这个脚本入手。

评分

参与人数 1星屑 +30 收起 理由
hcm + 30 感谢回答

查看全部评分

大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
32 小时
注册时间
2013-1-28
帖子
17
6
 楼主| 发表于 2013-2-15 19:40:28 | 只看该作者
美丽晨露 发表于 2013-2-15 17:13
$game_party.actors.size最大值默认为4
想改掉的话,
好像不能从这个脚本入手。 ...

之前是和最右边的那个重叠的
我根据其他人物的坐标参考改了坐标,就是显示不出来。。。
如果把下面那个黑色去掉,会不会显示出来?

点评

应该不合那个产生关系的  发表于 2013-2-15 19:45
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33628
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

7
发表于 2013-2-16 13:13:59 | 只看该作者
guoyq1987 发表于 2013-2-15 17:11
本人今天才接触脚本
楼上2位说 的我都不理解
可以的话,帮我改了吧?

    在脚本 Game_Party  大概第 110 行:if @actors.size < 4 and not @actors.include?(actor)

把那个 < 4  改成 <5  试试

评分

参与人数 1星屑 +15 收起 理由
hcm + 15 感谢回答

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3846
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
8
发表于 2013-2-16 13:38:15 | 只看该作者
我觉得就是把参战人员改成5个就可以了,然后再改这个脚本。
87行    4改成5
107行     同上
167行    加一个这个
  1. when 5
  2. x = 1(第五名角色的x坐标)
  3. y = 1(第五名角色的y坐标)
复制代码
再按照LS各位的方法改就可以了吧!

评分

参与人数 1星屑 +20 收起 理由
hcm + 20 感谢回答

查看全部评分

《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33628
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

9
发表于 2013-2-16 13:43:19 | 只看该作者
紫英晓狼1130 发表于 2013-2-16 13:38
我觉得就是把参战人员改成5个就可以了,然后再改这个脚本。
87行    4改成5
107行     同上

因为描绘各人物状态,必须先代入 size .如果 size 不改的话,始终描绘的最多就4人。所以 size 是必须改的
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
32 小时
注册时间
2013-1-28
帖子
17
10
 楼主| 发表于 2013-2-16 18:51:29 | 只看该作者
芯☆淡茹水 发表于 2013-2-16 13:43
因为描绘各人物状态,必须先代入 size .如果 size 不改的话,始终描绘的最多就4人。所以 size 是必须改的 ...

照你的前2步改了还是不行,size不知道怎么改

点评

在这里很难说清楚,可发工程,代改  发表于 2013-2-19 10:53
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-28 10:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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