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

Project1

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

麻烦帮我修改一下脚本

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-17
帖子
44
跳转到指定楼层
1
发表于 2009-1-18 22:48:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-7
帖子
89
2
发表于 2009-1-18 23:03:28 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-26
帖子
528
3
发表于 2009-1-20 17:17:30 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

指引者

梦石
0
星屑
50
在线时间
2 小时
注册时间
2005-10-25
帖子
375
4
发表于 2009-1-20 18:40:55 | 只看该作者
是脚本冲突我也说不清楚或者是这个版本做得不够完善
我发现的现象是 角色进行Scene操作(也就是攻击 防御 技能 物品操作)时
角色名 HP槽 SP槽会消失
当操作完毕进行选项时恢复显示

楼主若想改位置的话 直接修改14行到65行的数据就可以了
19行到25行是角色1~角色4的X坐标位置调整
37行到43行是角色1~角色4的Y坐标位置调整  
敌人的就不需要在脚本里调整了 在数据库的队伍里调整就可以了
建议你换个版本--我觉得这个做得也太那个了
系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
↓这是啥-- [IMG][/IMG]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
5
发表于 2009-1-20 18:51:17 | 只看该作者
  1. # ————————————————————————————————————
  2. # 本脚本来自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 350
  18. when 1
  19.   return 430
  20. when 2
  21.   return 510
  22. when 3
  23.   return 580
  24. else
  25.   return 600

  26. end
  27. end
  28. #--------------------------------------------------------------------------
  29. # ● 取得战斗画面的 Y 坐标
  30. #--------------------------------------------------------------------------
  31. def screen_y
  32. case self.index
  33. when 0
  34.   return 430
  35. when 1
  36.   return 395
  37. when 2
  38.   return 360
  39. when 3
  40.   return 325
  41. else
  42.   return 1000
  43. end
  44. end
  45. #--------------------------------------------------------------------------
  46. # ● 取得战斗画面的 Z 坐标
  47. #--------------------------------------------------------------------------
  48. def screen_z
  49. case self.index
  50. when 0
  51.   return 10
  52. when 1
  53.   return 9
  54. when 2
  55.   return 8
  56. when 3
  57.   return 7
  58. else
  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.      end
  162.     if @level_up_flags[i]
  163.       self.contents.font.color = normal_color
  164.       self.contents.draw_text(x, y, 80, 24, "LEVEL UP!")
  165.       Audio.me_stop
  166. #        Audio.me_play($data_system_level_up_me)
  167.     else
  168.     draw_actor_hp1(actor, x-15, y-15, 80)
  169.     draw_actor_sp1(actor, x-15, y+5, 80)
  170.    end
  171.   end
  172. end

  173. #--------------------------------------------------------------------------
  174. # ● 刷新画面
  175. #--------------------------------------------------------------------------
  176. def update
  177.   super
  178.   # 主界面的不透明度下降
  179.   if $game_temp.battle_main_phase

  180. #   以下语句出错了。
  181.    #self.contents_opacity -= 50 if self.contents_opacity > 1

  182.     self.contents_opacity -= 4 if self.contents_opacity > 191
  183.   else
  184.     self.contents_opacity += 4 if self.contents_opacity < 255
  185.   end
  186. end
  187. end





  188. #==============================================================================
  189. # ■ Window_BattleStatus
  190. #==============================================================================
  191. class Window_BattleStatus < Window_Base
  192. #--------------------------------------------------------------------------
  193. # ● 初始化
  194. #--------------------------------------------------------------------------
  195. alias xrxs_bp2_refresh refresh
  196. def refresh
  197.   xrxs_bp2_refresh
  198.   @item_max = $game_party.actors.size
  199.    for i in 0...$game_party.actors.size
  200.     actor = $game_party.actors[i]
  201.     case i
  202.       when 0
  203.        x = 310
  204.        y = 390
  205.       when 1
  206.        x = 390
  207.        y = 340
  208.       when 2
  209.        x = 480
  210.        y = 300
  211.       when 3
  212.        x = 550
  213.        y = 270
  214.      end
  215.     draw_actor_hp_meter(actor, x, y, 50)
  216.     draw_actor_sp_meter(actor, x, y + 8, 50)
  217.   end
  218. end
  219. end
  220. #==============================================================================
  221. # ■ Window_Base
  222. #==============================================================================
  223. class Window_Base < Window
  224. #--------------------------------------------------------------------------
  225. # ● HP描画
  226. #--------------------------------------------------------------------------
  227. def draw_actor_hp_meter(actor, x, y, width = 156, type = 0)
  228.   if type == 1 and actor.hp == 0
  229.     return
  230.   end
  231.   self.contents.font.color = system_color
  232.   self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 25))
  233.   w = width * actor.hp / actor.maxhp
  234.   self.contents.fill_rect(x, y+28, w,1, Color.new(255, 96, 96, 255))
  235.   self.contents.fill_rect(x, y+29, w,1, Color.new(255, 0, 0, 255))
  236.   self.contents.fill_rect(x, y+30, w,1, Color.new(128, 0, 0, 255))
  237.   self.contents.fill_rect(x, y+31, w,1, Color.new(0, 0, 0, 255))
  238.   
  239.   end
  240. #--------------------------------------------------------------------------
  241. # ● SP描画
  242. #--------------------------------------------------------------------------
  243. def draw_actor_sp_meter(actor, x, y, width = 156, type =0)
  244.   if type == 1 and actor.hp == 0
  245.     return
  246.   end
  247.   self.contents.font.color = system_color
  248.   self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 255))
  249.   w = width * actor.sp / actor.maxsp
  250.   self.contents.fill_rect(x, y+28, w,1, Color.new(128, 255, 255, 255))
  251.   self.contents.fill_rect(x, y+29, w,1, Color.new(0, 255, 255, 255))
  252.   self.contents.fill_rect(x, y+30, w,1, Color.new(0, 192, 192, 255))
  253.   self.contents.fill_rect(x, y+31, w,1, Color.new(0, 128, 128, 255))
  254. end
  255. end
复制代码

系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

指引者

梦石
0
星屑
50
在线时间
2 小时
注册时间
2005-10-25
帖子
375
6
发表于 2009-1-20 19:00:27 | 只看该作者
以下引用ONEWateR于2009-1-20 10:51:17的发言:

# ————————————————————————————————————
# 本脚本来自www.66rpg.com,转载请保留此信息
# ————————————————————————————————————

#==============================================================================
# ■ Game_Actor
#------------------------------------------------------------------------------
#  处理角色的类。本类在 Game_Actors 类 ($game_actors)
# 的内部使用、Game_Party 类请参考 ($game_party) 。
#==============================================================================

class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 取得战斗画面的 X 坐标
#--------------------------------------------------------------------------
def screen_x
case self.index
when 0
  return 350
when 1
  return 430
when 2
  return 510
when 3
  return 580
else
  return 600

end
end
#--------------------------------------------------------------------------
# ● 取得战斗画面的 Y 坐标
#--------------------------------------------------------------------------
def screen_y
case self.index
when 0
  return 430
when 1
  return 395
when 2
  return 360
when 3
  return 325
else
  return 1000
end
end
#--------------------------------------------------------------------------
# ● 取得战斗画面的 Z 坐标
#--------------------------------------------------------------------------
def screen_z
case self.index
when 0
  return 10
when 1
  return 9
when 2
  return 8
when 3
  return 7
else
  return 0
  end
end
end


#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
#  游戏中全部窗口的超级类。
#==============================================================================

class Window_Base < Window
#--------------------------------------------------------------------------
# ● 描绘 HP
#     actor : 角色
#     x     : 描画目标 X 坐标
#     y     : 描画目标 Y 坐标
#     width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_hp1(actor, x, y, width = 72)
  # 描绘字符串 "HP"
  self.contents.font.color = system_color
  self.contents.draw_text(x, y, 24, 24, $data_system.words.hp)
  # 计算描绘 MaxHP 所需的空间
  if width - 24 >= 32
    hp_x = x + 32# + width - 24
  end
  # 描绘 HP
  self.contents.font.color = actor.hp == 0 ? knockout_color :
    actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  self.contents.draw_text(hp_x, y, 32, 24, actor.hp.to_s, 2)
end
#--------------------------------------------------------------------------
# ● 描绘 SP
#     actor : 角色
#     x     : 描画目标 X 坐标
#     y     : 描画目标 Y 坐标
#     width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_sp1(actor, x, y, width = 72)
  # 描绘字符串 "SP"
  self.contents.font.color = system_color
  self.contents.draw_text(x, y, 24, 24, $data_system.words.sp)
  # 计算描绘 MaxSP 所需的空间
  if width - 24 >= 32
    sp_x = x + 32# + width - 24
  end
  # 描绘 SP
  self.contents.font.color = actor.sp == 0 ? knockout_color :
    actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  self.contents.draw_text(sp_x, y, 32, 24, actor.sp.to_s, 2)
end
end





#==============================================================================
# ■ Window_BattleStatus
#------------------------------------------------------------------------------
#  显示战斗画面同伴状态的窗口。
#==============================================================================

class Window_BattleStatus < Window_Base
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
#$data_system_level_up_me = "Audio/ME/升级音乐"
def initialize
  super(0, 0, 640, 480)
  self.contents = Bitmap.new(width - 10, height - 32)
  self.opacity = 0
  @level_up_flags = [false, false, false, false]
  refresh
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
def dispose
  super
end
#--------------------------------------------------------------------------
# ● 设置升级标志
#     actor_index : 角色索引
#--------------------------------------------------------------------------
def level_up(actor_index)
  @level_up_flags[actor_index] = true
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
  self.contents.clear
  @item_max = $game_party.actors.size
   for i in 0...$game_party.actors.size
    actor = $game_party.actors
    case i
      when 0
       x = 310
       y = 390
      when 1
       x = 390
       y = 340
      when 2
       x = 480
       y = 300
      when 3
       x = 550
       y = 270
     end
    if @level_up_flags
      self.contents.font.color = normal_color
      self.contents.draw_text(x, y, 80, 24, "LEVEL UP!")
      Audio.me_stop
#        Audio.me_play($data_system_level_up_me)
    else
    draw_actor_hp1(actor, x-15, y-15, 80)
    draw_actor_sp1(actor, x-15, y+5, 80)
   end
  end
end

#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update
  super
  # 主界面的不透明度下降
  if $game_temp.battle_main_phase

#   以下语句出错了。
   #self.contents_opacity -= 50 if self.contents_opacity > 1

    self.contents_opacity -= 4 if self.contents_opacity > 191
  else
    self.contents_opacity += 4 if self.contents_opacity < 255
  end
end
end





#==============================================================================
# ■ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Base
#--------------------------------------------------------------------------
# ● 初始化
#--------------------------------------------------------------------------
alias xrxs_bp2_refresh refresh
def refresh
  xrxs_bp2_refresh
  @item_max = $game_party.actors.size
   for i in 0...$game_party.actors.size
    actor = $game_party.actors
    case i
      when 0
       x = 310
       y = 390
      when 1
       x = 390
       y = 340
      when 2
       x = 480
       y = 300
      when 3
       x = 550
       y = 270
     end
    draw_actor_hp_meter(actor, x, y, 50)
    draw_actor_sp_meter(actor, x, y + 8, 50)
  end
end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● HP描画
#--------------------------------------------------------------------------
def draw_actor_hp_meter(actor, x, y, width = 156, type = 0)
  if type == 1 and actor.hp == 0
    return
  end
  self.contents.font.color = system_color
  self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 25))
  w = width * actor.hp / actor.maxhp
  self.contents.fill_rect(x, y+28, w,1, Color.new(255, 96, 96, 255))
  self.contents.fill_rect(x, y+29, w,1, Color.new(255, 0, 0, 255))
  self.contents.fill_rect(x, y+30, w,1, Color.new(128, 0, 0, 255))
  self.contents.fill_rect(x, y+31, w,1, Color.new(0, 0, 0, 255))
  
  end
#--------------------------------------------------------------------------
# ● SP描画
#--------------------------------------------------------------------------
def draw_actor_sp_meter(actor, x, y, width = 156, type =0)
  if type == 1 and actor.hp == 0
    return
  end
  self.contents.font.color = system_color
  self.contents.fill_rect(x-1, y+27, width+2,6, Color.new(0, 0, 0, 255))
  w = width * actor.sp / actor.maxsp
  self.contents.fill_rect(x, y+28, w,1, Color.new(128, 255, 255, 255))
  self.contents.fill_rect(x, y+29, w,1, Color.new(0, 255, 255, 255))
  self.contents.fill_rect(x, y+30, w,1, Color.new(0, 192, 192, 255))
  self.contents.fill_rect(x, y+31, w,1, Color.new(0, 128, 128, 255))
end
end

没多大变化啊.....
↓这是啥-- [IMG][/IMG]
回复 支持 反对

使用道具 举报

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
7
发表于 2009-1-20 19:01:41 | 只看该作者
def update
super
# 主界面的不透明度下降
if $game_temp.battle_main_phase

#   以下语句出错了。
  #self.contents_opacity -= 50 if self.contents_opacity > 1


   self.contents_opacity -= 4 if self.contents_opacity > 191
else
   self.contents_opacity += 4 if self.contents_opacity < 255
end
end
end

加粗的那句,你直接把它的透明度变为 1 了。
orz
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-19 06:59

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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