Project1

标题: 10好人卡求改脚本 [打印本页]

作者: 雷之大法师    时间: 2008-1-25 03:06
标题: 10好人卡求改脚本
  1. class Window_HUD < Window_Base
  2.   
  3.   def initialize
  4.     super(200,0,200,480)#########################窗口位置、大小
  5.     self.contents = Bitmap.new(width - 32, height - 32)
  6.     self.contents.font.size = 20
  7.     refresh
  8.   end
  9.   def refresh
  10.     self.contents.clear
  11.     self.opacity = 0############################窗口透明度
  12.     actor = $game_actors[5]#######################角色ID
  13.     bitmap=Bitmap.new("Graphics/battlers/#{actor.battler_name}")
  14.     src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  15.     self.contents.blt(0, 0, bitmap, src_rect)
  16.     x = 0
  17.     y = 96
  18.     draw_actor_name(actor,x,y)
  19.     draw_actor_class(actor,x+0,y)
  20.     y += 32
  21.     draw_actor_hp(actor,x,y+0)
  22.     for i in 4..5
  23.       draw_actor_parameter(actor,x,y + (i+0)*10,i-1)
  24.     end
  25.     $hudtemp = [actor.hp,actor.str,actor.dex,actor.class_id]
  26.   end
  27. end

  28. class Scene_Map
  29.   SWITCH_ID = 150 ############################开关,打开时不显示窗口
  30.   alias raz_hud_main main
  31.   alias raz_hud_update update
  32.   def main
  33.     @hud_window = Window_HUD.new
  34.     raz_hud_main
  35.     @hud_window.dispose
  36.   end

  37.   def update
  38.     @hud_window.visible = $game_switches[SWITCH_ID] ? false : true
  39.     actor = $game_actors[5]#######################角色ID
  40.     maptemp = [actor.hp,actor.str,actor.dex,actor.class_id]
  41.     for i in 4..5
  42.       if $hudtemp[i] != maptemp[i] then
  43.         @hud_window.refresh
  44.         @hud_window.update   
  45.       end
  46.     end
  47.     raz_hud_update
  48.   end
  49. end
复制代码



1.在显示力量和灵巧的地方我想让它紧连着HP
2.我想让那个开关改为当某开关开启才显示脚本
3.显示HP我只要显示HP,不显示最大HP和/
谁帮我改下 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 雷之大法师    时间: 2008-1-25 03:31
有人在吗?有人会改吗?

作者: 雷之大法师    时间: 2008-1-25 03:46

作者: superufo    时间: 2008-1-25 04:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: flyaway    时间: 2008-1-25 04:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: superufo    时间: 2008-1-25 04:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: superufo    时间: 2008-1-25 04:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 雷之大法师    时间: 2008-1-25 04:25
LS··你的脚本我用来会有BUG··在状态下面显示一堆没用的字··看不清楚是什么,重叠了··用我发的那个改··
作者: superufo    时间: 2008-1-25 04:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: ONEWateR    时间: 2008-1-25 04:27
class Window_HUD < Window_Base

def initialize
  super(200,0,200,480)#########################窗口位置、大小
  self.contents = Bitmap.new(width - 32, height - 32)
  self.contents.font.size = 20
  refresh
end
def refresh
  self.contents.clear
  self.opacity = 0############################窗口透明度
  actor = $game_actors[5]#######################角色ID
  bitmap=Bitmap.new("Graphics/battlers/#{actor.battler_name}")
  src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
  self.contents.blt(0, 0, bitmap, src_rect)
  x = 0
  y = 96
  draw_actor_name(actor,x,y)
  draw_actor_class(actor,x,y + 20)
  #############################################################################
  self.contents.font.color = system_color
  self.contents.draw_text(x, y+40, 120-10-2, 32, "HP", 0)
  self.contents.font.color = normal_color
  self.contents.draw_text(x, y+40, 160, 32, $game_actors[5].hp.to_s, 2)
  #draw_actor_hp(actor,x,y + 40)
  #############################################################################
  for i in 4..5
    draw_actor_parameter(actor,x, y + 20 *( i - 1),i-1)
  end
  $hudtemp = [actor.hp,actor.str,actor.dex,actor.class_id]
end
end

class Scene_Map
SWITCH_ID = 1 ############################开关,打开时不显示窗口
alias raz_hud_main main
alias raz_hud_update update
def main
  @hud_window = Window_HUD.new
  raz_hud_main
  @hud_window.dispose
end

def update
  @hud_window.visible = $game_switches[SWITCH_ID] ? true : false
  actor = $game_actors[5]#######################角色ID
  maptemp = [actor.hp,actor.str,actor.dex,actor.class_id]
  for i in 4..5
    if $hudtemp != maptemp then
      @hud_window.refresh
      @hud_window.update   
    end
  end
  raz_hud_update
end
end [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: superufo    时间: 2008-1-25 04:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: ONEWateR    时间: 2008-1-25 04:32
你那个不太美观!{/hx}
作者: superufo    时间: 2008-1-25 04:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: superufo    时间: 2008-1-25 04:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: ONEWateR    时间: 2008-1-25 04:37
以下引用superufo于2008-1-24 20:34:19的发言:

……你那个不是跟我一样的……一摸一样……


一样吗?我只是作了修改而已嘛?
作者: eciling    时间: 2008-1-25 04:42
正好最近做过类似的东西,顺便帮你改一下
class Window_HUD < Window_Base
  
  def initialize
    super(200,0,200,480)#########################窗口位置、大小
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.size = 20
    refresh
  end
  def refresh
    self.contents.clear
    self.opacity = 0############################窗口透明度
    actor = $game_actors[5]#######################角色ID
    bitmap=Bitmap.new("Graphics/battlers/#{actor.battler_name}")
    src_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
    self.contents.blt(0, 0, bitmap, src_rect)
    x = 0
    y = 108
    draw_actor_name(actor,x,y)
    self.contents.draw_text(x+100,y, 48, 32, "["+actor.class_name+"]")#职业位置
    y += 20
    draw_hp(actor,x,y+0)#描绘HP
      draw_actor_parameter(actor,x,y + 20,3)#更改力量坐标
      draw_actor_parameter(actor,x,y + 40,4)#更改灵巧坐标
    $hudtemp = [actor.hp,actor.str,actor.dex,actor.class_id]
  end
  def draw_hp(actor, x, y)#重新定义描绘HP
    # 描绘字符串 "HP"
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
    # 计算描绘 MaxHP 所需的空间
    if width - 32 >= 108
      hp_x = x + width - 88
    elsif width - 32 >= 48
      hp_x = x + width - 28
    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, 48, 32, actor.hp.to_s, 2)
  end
end

  
class Scene_Map
  SWITCH_ID = 150 ############################开关,打开时不显示窗口
  alias raz_hud_main main
  alias raz_hud_update update
  def main
    @hud_window = Window_HUD.new
    @hud_window.visible = false#初始化时不可见
    raz_hud_main
    @hud_window.dispose
  end

  def update
    @hud_window.visible = $game_switches[SWITCH_ID]#窗口的可见性和开关的真假值一致
    actor = $game_actors[5]#######################角色ID
    maptemp = [actor.hp,actor.str,actor.dex,actor.class_id]
    for i in 4..5
      if $hudtemp != maptemp then
        @hud_window.refresh
        @hud_window.update   
      end
    end
    raz_hud_update
  end
end



按照你的要求改过了,不过感觉还有问题,如果还需要什么改进,给我留言吧
作者: 七仙女    时间: 2008-1-25 05:13
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1