UltimaForum

Skrypty [VX] - HUD PŻ/PM/PD - 22.01.2011.r

Killerczyc - Sob 22 Sty, 2011 10:51
Temat postu: HUD PŻ/PM/PD - 22.01.2011.r
HUD by Marlos Gama
Ładny,miły,sympatyczny... Przejrzysty Hud działający na RPG MAKER'a VX :D
Zrzut ekranu:
Spoiler:


Nieprawdaż że sympatyczny? ;D
Dodatki graficzne:
Pliki zapisać w Graphics/Pictures
Spoiler:





A oto skrypt
Spoiler:

Kod:
#==============================================================================
# ** HUD
#------------------------------------------------------------------------------
#  By Marlos Gama
#------------------------------------------------------------------------------
 
class Hud < Sprite#Window_Base
  def initialize
    super()#(0-7,-1-23,185-5,108-10)
    self.bitmap = bitmap = Bitmap.new(185-5,108-10)#self.contents = Bitmap.new(width - 32, height - 32)
    #self.windowskin = RPG::Cache.windowskin("Blank")
    self.x = +5+4#0-7
    self.y = -5-3#-1-23
    self.z = 999
    refresh
  end

  def refresh
    self.bitmap.clear
    self.bitmap.font.shadow = false
    self.bitmap.font.size = 14
    self.bitmap.font.name = "Arial"
    # Base HP
    @actor = $game_party.members[0]
    hud3 = Cache.picture("base2j")
    hud1 = hud3.width
    hud2 = hud3.height
    hud4 = Rect.new(0,0,hud1,hud2)
    self.bitmap.blt(19+2,15,hud3,hud4)
    # Base MP
    hudd3 = Cache.picture("base2j")
    hudd1 = hudd3.width
    hudd2 = hudd3.height
    hudd4 = Rect.new(0,0,hudd1,hudd2)
    self.bitmap.blt(19+2,32,hudd3,hudd4)
    #Base Exp
    huddd3 = Cache.picture("base2j")
    huddd1 = huddd3.width
    huddd2 = huddd3.height
    huddd4 = Rect.new(0,0,huddd1,huddd2)
    self.bitmap.blt(19+2,49,huddd3,huddd4)
    # Hp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 5+3, 32, 32, "HP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 5+2, 32, 32, "HP")
    hpbar = Cache.picture("hp2g")
    hpbarwidth = hpbar.width * @actor.hp / @actor.maxhp
    hpbarheight = hpbar.height
    hpbar_rect = Rect.new(0,0,hpbarwidth,hpbarheight)
    self.bitmap.blt(19+2,15,hpbar,hpbar_rect)
    # Valor HP
    self.bitmap.font.color = Color.new(0,0,0)
    hprect = Rect.new(4+1+5+4-15, 5+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect, "#{@actor.hp}/#{@actor.maxhp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    hprect2 = Rect.new(4+5+4-15, 5+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect2, "#{@actor.hp}/#{@actor.maxhp}", 1)
    # Sp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+3, 32+4, 32, "MP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+2, 32+4, 32, "MP")
    mpbar = Cache.picture("mp2e")
    mpbarwidth = mpbar.width * @actor.mp / @actor.maxmp
    mpbarheight = mpbar.height
    mpbar_rect = Rect.new(0,0,mpbarwidth,mpbarheight)
    self.bitmap.blt(19+2,32,mpbar,mpbar_rect)
    # Valor SP
    self.bitmap.font.color = Color.new(0,0,0)
    sprect = Rect.new(4+1+5+4-15, 22+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect, "#{@actor.mp}/#{@actor.maxmp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    sprect2 = Rect.new(4+5+4-15, 22+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect2, "#{@actor.mp}/#{@actor.maxmp}", 1)
    # Exp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+17+3, 32+10, 32, "Exp")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+17+2, 32+10, 32, "Exp")
    if $game_party.members[0].level != 99
    xpbar = Cache.picture("xp2")
    xpbarwidth = xpbar.width * @actor.now_exp / @actor.next_exp
    xpbarheight = xpbar.height
    xpbar_rect = Rect.new(0,0,xpbarwidth,xpbarheight)
    self.bitmap.blt(19+2,49,xpbar,xpbar_rect)
    end
    # Valor Exp
    self.bitmap.font.color = Color.new(0,0,0)
    exprect = Rect.new(4+1+5+4-15, 22+17+4-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    exprect2 = Rect.new(4+5+4-15, 22+17+3-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect2, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
end

end


class Scene_Map
  alias hud_main main
  def main
    @Hud = Hud.new
    hud_main
    @Hud.dispose
  end
  alias hud_update update
  def update
    hud_update
    #if $andando == true
    #@Hud.refresh if Graphics.frame_count % 80 == 0
    #else
    @Hud.refresh if Graphics.frame_count % 30 == 0
    #end
  end
end


class Game_Actor < Game_Battler
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end



[ Komentarz dodany przez: Avara: Pon 29 Paź, 2012 21:00 ]
Tutaj znajdziecie temat z paskami do tego skryptu autorstwa Loki'ego:
Przeróbki huda Marlosa Gamy

A tutaj ten skrypt z moją (Avary) modyfikacją, która pozwala ustawić położenie skryptu oraz włączać/wyłączać hud przełącznikiem.
Wersja, gdzie należy wpisać NAZWĘ przełącznika:
Spoiler:

Kod:
#==============================================================================
# ** HUD
#------------------------------------------------------------------------------
#  By Marlos Gama
#  Module by Avara
#------------------------------------------------------------------------------
module Avara #<- Nie ruszać!
  module Marlos_Gama_HUD #<- Nie ruszać!
#---------------------------------KONFIGURACJA---------------------------------
# Do poniższej wartości: 1 - wyświetla HUD w lewym górnym rogu; 2 - prawy górny
# róg; 3 - lewy dolny róg; 4 - prawy dolny róg
    POLOZENIE = 3
# NAZWA przełącznika odpowiedzialnego za widoczność Hud'a. Gdy będzie ustawiony
# na: ON - hud będzie widoczny; OFF - hud będzie niewidoczny. W ustawieniach
# przełączników nazwa musi być bez cudzysłowia ;)
    CZY_WIDOCZNY_PRZELACZNIK = "HUD"
# Czy HUD ma być widoczny od samego początku gry: true - tak; false - nie.
    CZY_WIDOCZNY_START = true
#-----------------------------KONIEC KONFIGURACJI!-----------------------------
    if POLOZENIE == 1
      POLOZENIE_X = 9
      POLOZENIE_Y = -8
    elsif POLOZENIE == 2
      POLOZENIE_X = 393
      POLOZENIE_Y = -8
    elsif POLOZENIE == 3
      POLOZENIE_X = 9
      POLOZENIE_Y = 347
    elsif POLOZENIE == 4
      POLOZENIE_X = 393
      POLOZENIE_Y = 347
    end
  end
end
class Hud < Sprite#Window_Base
  def initialize
    super()#(0-7,-1-23,185-5,108-10)
    self.bitmap = bitmap = Bitmap.new(185-5,108-10)#self.contents = Bitmap.new(width - 32, height - 32)
    #self.windowskin = RPG::Cache.windowskin("Blank")
    #modyfikacje by Avara
    self.x = Avara::Marlos_Gama_HUD::POLOZENIE_X#+5+4#0-7
    self.y = Avara::Marlos_Gama_HUD::POLOZENIE_Y#-5-3#-1-23
    #koniec modyfikacji by Avara
    self.z = 999
    refresh
  end

  def refresh
    self.bitmap.clear
    #modyfikacje by Avara
    if $game_switches[$data_system.switches.index(Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK)] == true
      self.opacity = 255
    else
      self.opacity = 0
    end
    #koniec modyfikacji by Avara
    self.bitmap.font.shadow = false
    self.bitmap.font.size = 14
    self.bitmap.font.name = "Arial"
    # Base HP
    @actor = $game_party.members[0]
    hud3 = Cache.picture("base2j")
    hud1 = hud3.width
    hud2 = hud3.height
    hud4 = Rect.new(0,0,hud1,hud2)
    self.bitmap.blt(19+2,15,hud3,hud4)
    # Base MP
    hudd3 = Cache.picture("base2j")
    hudd1 = hudd3.width
    hudd2 = hudd3.height
    hudd4 = Rect.new(0,0,hudd1,hudd2)
    self.bitmap.blt(19+2,32,hudd3,hudd4)
    #Base Exp
    huddd3 = Cache.picture("base2j")
    huddd1 = huddd3.width
    huddd2 = huddd3.height
    huddd4 = Rect.new(0,0,huddd1,huddd2)
    self.bitmap.blt(19+2,49,huddd3,huddd4)
    # Hp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 5+3, 32, 32, "HP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 5+2, 32, 32, "HP")
    hpbar = Cache.picture("hp2g")
    hpbarwidth = hpbar.width * @actor.hp / @actor.maxhp
    hpbarheight = hpbar.height
    hpbar_rect = Rect.new(0,0,hpbarwidth,hpbarheight)
    self.bitmap.blt(19+2,15,hpbar,hpbar_rect)
    # Valor HP
    self.bitmap.font.color = Color.new(0,0,0)
    hprect = Rect.new(4+1+5+4-15, 5+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect, "#{@actor.hp}/#{@actor.maxhp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    hprect2 = Rect.new(4+5+4-15, 5+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect2, "#{@actor.hp}/#{@actor.maxhp}", 1)
    # Sp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+3, 32+4, 32, "MP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+2, 32+4, 32, "MP")
    mpbar = Cache.picture("mp2e")
    mpbarwidth = mpbar.width * @actor.mp / @actor.maxmp
    mpbarheight = mpbar.height
    mpbar_rect = Rect.new(0,0,mpbarwidth,mpbarheight)
    self.bitmap.blt(19+2,32,mpbar,mpbar_rect)
    # Valor SP
    self.bitmap.font.color = Color.new(0,0,0)
    sprect = Rect.new(4+1+5+4-15, 22+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect, "#{@actor.mp}/#{@actor.maxmp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    sprect2 = Rect.new(4+5+4-15, 22+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect2, "#{@actor.mp}/#{@actor.maxmp}", 1)
    # Exp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+17+3, 32+10, 32, "Exp")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+17+2, 32+10, 32, "Exp")
    if $game_party.members[0].level != 99
    xpbar = Cache.picture("xp2")
    xpbarwidth = xpbar.width * @actor.now_exp / @actor.next_exp
    xpbarheight = xpbar.height
    xpbar_rect = Rect.new(0,0,xpbarwidth,xpbarheight)
    self.bitmap.blt(19+2,49,xpbar,xpbar_rect)
    end
    # Valor Exp
    self.bitmap.font.color = Color.new(0,0,0)
    exprect = Rect.new(4+1+5+4-15, 22+17+4-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    exprect2 = Rect.new(4+5+4-15, 22+17+3-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect2, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
  end
end


class Scene_Map
  alias hud_main main
  def main
    @Hud = Hud.new
    hud_main
    @Hud.dispose
  end
  alias hud_update update
  def update
    hud_update
    #if $andando == true
    #@Hud.refresh if Graphics.frame_count % 80 == 0
    #else
    @Hud.refresh if Graphics.frame_count % 30 == 0
    #modyfikacje by Avara
    if $game_switches[$data_system.switches.index(Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK)] == true
      @Hud.opacity = 255
    else
      @Hud.opacity = 0
    end
    #koniec modyfikacji by Avara
    #end
  end
end


class Game_Actor < Game_Battler
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end


#modyfikacja by Avara
class Scene_Title < Scene_Base
  alias avara_marlos_gama_hud_cr_ga_ob create_game_objects
  def create_game_objects
    avara_marlos_gama_hud_cr_ga_ob
    $game_switches[$data_system.switches.index(Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK)] =
    Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_START
  end
end #koniec modyfikacji by Avara

Wersja, gdzie należy wpisać NUMER przełącznika:
Spoiler:

Kod:
#==============================================================================
# ** HUD
#------------------------------------------------------------------------------
#  By Marlos Gama
#  Module by Avara
#------------------------------------------------------------------------------
module Avara #<- Nie ruszać!
  module Marlos_Gama_HUD #<- Nie ruszać!
#---------------------------------KONFIGURACJA---------------------------------
# Do poniższej wartości: 1 - wyświetla HUD w lewym górnym rogu; 2 - prawy górny
# róg; 3 - lewy dolny róg; 4 - prawy dolny róg
    POLOZENIE = 3
# Numer przełącznika odpowiedzialnego za widoczność Hud'a. Gdy będzie ustawiony
# na: ON - hud będzie widoczny; OFF - hud będzie niewidoczny.
    CZY_WIDOCZNY_PRZELACZNIK = 10
# Czy HUD ma być widoczny od samego początku gry: true - tak; false - nie.
    CZY_WIDOCZNY_START = true
#-----------------------------KONIEC KONFIGURACJI!-----------------------------
    if POLOZENIE == 1
      POLOZENIE_X = 9
      POLOZENIE_Y = -8
    elsif POLOZENIE == 2
      POLOZENIE_X = 393
      POLOZENIE_Y = -8
    elsif POLOZENIE == 3
      POLOZENIE_X = 9
      POLOZENIE_Y = 347
    elsif POLOZENIE == 4
      POLOZENIE_X = 393
      POLOZENIE_Y = 347
    end
  end
end


class Hud < Sprite#Window_Base
  def initialize
    super()#(0-7,-1-23,185-5,108-10)
    self.bitmap = bitmap = Bitmap.new(185-5,108-10)#self.contents = Bitmap.new(width - 32, height - 32)
    #self.windowskin = RPG::Cache.windowskin("Blank")
    #modyfikacje by Avara
    self.x = Avara::Marlos_Gama_HUD::POLOZENIE_X#+5+4#0-7
    self.y = Avara::Marlos_Gama_HUD::POLOZENIE_Y#-5-3#-1-23
    #koniec modyfikacji by Avara
    self.z = 999
    refresh
  end

  def refresh
    self.bitmap.clear
    #modyfikacje by Avara
    if $game_switches[Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK] == true
      self.opacity = 255
    else
      self.opacity = 0
    end
    #koniec modyfikacji by Avara
    self.bitmap.font.shadow = false
    self.bitmap.font.size = 14
    self.bitmap.font.name = "Arial"
    # Base HP
    @actor = $game_party.members[0]
    hud3 = Cache.picture("base2j")
    hud1 = hud3.width
    hud2 = hud3.height
    hud4 = Rect.new(0,0,hud1,hud2)
    self.bitmap.blt(19+2,15,hud3,hud4)
    # Base MP
    hudd3 = Cache.picture("base2j")
    hudd1 = hudd3.width
    hudd2 = hudd3.height
    hudd4 = Rect.new(0,0,hudd1,hudd2)
    self.bitmap.blt(19+2,32,hudd3,hudd4)
    #Base Exp
    huddd3 = Cache.picture("base2j")
    huddd1 = huddd3.width
    huddd2 = huddd3.height
    huddd4 = Rect.new(0,0,huddd1,huddd2)
    self.bitmap.blt(19+2,49,huddd3,huddd4)
    # Hp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 5+3, 32, 32, "HP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 5+2, 32, 32, "HP")
    hpbar = Cache.picture("hp2g")
    hpbarwidth = hpbar.width * @actor.hp / @actor.maxhp
    hpbarheight = hpbar.height
    hpbar_rect = Rect.new(0,0,hpbarwidth,hpbarheight)
    self.bitmap.blt(19+2,15,hpbar,hpbar_rect)
    # Valor HP
    self.bitmap.font.color = Color.new(0,0,0)
    hprect = Rect.new(4+1+5+4-15, 5+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect, "#{@actor.hp}/#{@actor.maxhp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    hprect2 = Rect.new(4+5+4-15, 5+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect2, "#{@actor.hp}/#{@actor.maxhp}", 1)
    # Sp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+3, 32+4, 32, "MP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+2, 32+4, 32, "MP")
    mpbar = Cache.picture("mp2e")
    mpbarwidth = mpbar.width * @actor.mp / @actor.maxmp
    mpbarheight = mpbar.height
    mpbar_rect = Rect.new(0,0,mpbarwidth,mpbarheight)
    self.bitmap.blt(19+2,32,mpbar,mpbar_rect)
    # Valor SP
    self.bitmap.font.color = Color.new(0,0,0)
    sprect = Rect.new(4+1+5+4-15, 22+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect, "#{@actor.mp}/#{@actor.maxmp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    sprect2 = Rect.new(4+5+4-15, 22+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect2, "#{@actor.mp}/#{@actor.maxmp}", 1)
    # Exp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+17+3, 32+10, 32, "Exp")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+17+2, 32+10, 32, "Exp")
    if $game_party.members[0].level != 99
    xpbar = Cache.picture("xp2")
    xpbarwidth = xpbar.width * @actor.now_exp / @actor.next_exp
    xpbarheight = xpbar.height
    xpbar_rect = Rect.new(0,0,xpbarwidth,xpbarheight)
    self.bitmap.blt(19+2,49,xpbar,xpbar_rect)
    end
    # Valor Exp
    self.bitmap.font.color = Color.new(0,0,0)
    exprect = Rect.new(4+1+5+4-15, 22+17+4-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    exprect2 = Rect.new(4+5+4-15, 22+17+3-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect2, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
  end
end


class Scene_Map
  alias hud_main main
  def main
    @Hud = Hud.new
    hud_main
    @Hud.dispose
  end
  alias hud_update update
  def update
    hud_update
    #if $andando == true
    #@Hud.refresh if Graphics.frame_count % 80 == 0
    #else
    @Hud.refresh if Graphics.frame_count % 30 == 0
    #modyfikacje by Avara
    if $game_switches[Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK] == true
      @Hud.opacity = 255
    else
      @Hud.opacity = 0
    end
    #koniec modyfikacji by Avara
    #end
  end
end


class Game_Actor < Game_Battler
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end


#module by Avara
class Scene_Title < Scene_Base
  alias avara_marlos_gama_hud_cr_ga_ob create_game_objects
  def create_game_objects
    avara_marlos_gama_hud_cr_ga_ob
    $game_switches[Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK] =
    Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_START
  end
end

Dla mnie osobiście wersja pierwsza jest wygodniejsza, ale nie każdy potrafi z niej korzystać -.-

tracersgta - Sob 22 Sty, 2011 11:00

Tylko dlaczego u mnie nie ma napisu HP czy MP czy EXP? Są same paski.
Killerczyc - Sob 22 Sty, 2011 11:38

Nie mam pojęcia, u mnie działa bez zarzutu... Ayene być może zaradzi... Ale nie widzę problemu w rozróżnieniu pasków HP czy MP... Ale tak na marginesie to ten Hud jest "milszy" niż ten na forum?! A co do moich tematów związanych ze hud'ami - proszę o zamknięcie o taki mi chodziło...
tracersgta - Sob 22 Sty, 2011 12:18

Są same paski! Nie ma nawet napisu np. 250/500
Killerczyc - Sob 22 Sty, 2011 12:24

No, cóż... Ayene długo nie ma... A spróbuj na czystym projekcie - chodzi mi o wklejenie skryptu do pustego projektu i sprawdzenie czy pójdzie normalnie...
tracersgta - Sob 22 Sty, 2011 12:37

Spróbowałem i dalej są same paski.
Killerczyc - Sob 22 Sty, 2011 13:00

Spróbuj to:
Spoiler:

Kod:
#==============================================================================
# ** HUD
#------------------------------------------------------------------------------
#  By Marlos Gama
#------------------------------------------------------------------------------
 
class Hud < Sprite#Window_Base
  def initialize
    super()#(0-7,-1-23,185-5,108-10)
    self.bitmap = bitmap = Bitmap.new(185-5,108-10)#self.contents = Bitmap.new(width - 32, height - 32)
    #self.windowskin = RPG::Cache.windowskin("Blank")
    self.x = +5+4#0-7
    self.y = -5-3#-1-23
    self.z = 999
    refresh
  end

  def refresh
    self.bitmap.clear
    self.bitmap.font.shadow = false
    self.bitmap.font.size = 14
    self.bitmap.font.name = "Segoe UI"
    # Base HP
    @actor = $game_party.members[0]
    hud3 = Cache.picture("Base-2")
    hud1 = hud3.width
    hud2 = hud3.height
    hud4 = Rect.new(0,0,hud1,hud2)
    self.bitmap.blt(19+2,15,hud3,hud4)
    # Base MP
    hudd3 = Cache.picture("Base-2")
    hudd1 = hudd3.width
    hudd2 = hudd3.height
    hudd4 = Rect.new(0,0,hudd1,hudd2)
    self.bitmap.blt(19+2,32,hudd3,hudd4)
    #Base Exp
    huddd3 = Cache.picture("Base-2")
    huddd1 = huddd3.width
    huddd2 = huddd3.height
    huddd4 = Rect.new(0,0,huddd1,huddd2)
    self.bitmap.blt(19+2,49,huddd3,huddd4)
    # Hp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 5+3, 32, 32, "HP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 5+2, 32, 32, "HP")
    hpbar = Cache.picture("HP-2")
    hpbarwidth = hpbar.width * @actor.hp / @actor.maxhp
    hpbarheight = hpbar.height
    hpbar_rect = Rect.new(0,0,hpbarwidth,hpbarheight)
    self.bitmap.blt(19+2,15,hpbar,hpbar_rect)
    # Valor HP
    self.bitmap.font.color = Color.new(0,0,0)
    hprect = Rect.new(4+1+5+4-15, 5+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect, "#{@actor.hp}/#{@actor.maxhp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    hprect2 = Rect.new(4+5+4-15, 5+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect2, "#{@actor.hp}/#{@actor.maxhp}", 1)
    # Sp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+3, 32+4, 32, "MP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+2, 32+4, 32, "MP")
    mpbar = Cache.picture("MP-2")
    mpbarwidth = mpbar.width * @actor.mp / @actor.maxmp
    mpbarheight = mpbar.height
    mpbar_rect = Rect.new(0,0,mpbarwidth,mpbarheight)
    self.bitmap.blt(19+2,32,mpbar,mpbar_rect)
    # Valor SP
    self.bitmap.font.color = Color.new(0,0,0)
    sprect = Rect.new(4+1+5+4-15, 22+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect, "#{@actor.mp}/#{@actor.maxmp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    sprect2 = Rect.new(4+5+4-15, 22+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect2, "#{@actor.mp}/#{@actor.maxmp}", 1)
    # Exp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+17+3, 32+10, 32, "Exp")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+17+2, 32+10, 32, "Exp")
    if $game_party.members[0].level != 99
    xpbar = Cache.picture("XP-2")
    xpbarwidth = xpbar.width * @actor.now_exp / @actor.next_exp
    xpbarheight = xpbar.height
    xpbar_rect = Rect.new(0,0,xpbarwidth,xpbarheight)
    self.bitmap.blt(19+2,49,xpbar,xpbar_rect)
    end
    # Valor Exp
    self.bitmap.font.color = Color.new(0,0,0)
    exprect = Rect.new(4+1+5+4-15, 22+17+4-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    exprect2 = Rect.new(4+5+4-15, 22+17+3-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect2, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
end

end


class Scene_Map
  alias hud_main main
  def main
    @Hud = Hud.new
    hud_main
    @Hud.dispose
  end
  alias hud_update update
  def update
    hud_update
    #if $andando == true
    #@Hud.refresh if Graphics.frame_count % 80 == 0
    #else 
    @Hud.refresh if Graphics.frame_count % 30 == 0
    #end
  end
end


class Game_Actor < Game_Battler
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end


tracersgta - Sob 22 Sty, 2011 13:04

Jak było, tak jest.
FilipsO - Sob 22 Sty, 2011 13:23

jak nazwać obrazi?
Czeliosss - Sob 22 Sty, 2011 13:46

tracersgta, jaką masz wersję makera?
Killerczyc - Sob 22 Sty, 2011 13:51

FilipsO, paski ponazywaj tak:
Pasek Zielony - "HP-2"
Pasek Niebieski- "MP-2"
Pasek Żółty - "Xp-2"
Pasek Szary (pusty) - "Base-2"
A tak w ogóle to komuś poszło - osobiście mam polską wersje Maker'a...

tracersgta - Sob 22 Sty, 2011 14:30

Ja mam angielską. Dokładnie 2.0.0.1
Killerczyc - Sob 22 Sty, 2011 14:34

Jak to możliwe że 2.0.0.1?!
Wydawało mi się że można było mieć 1.00 lub 1.02
Ach, my tu spamujemy, a Ayene sobie hasa :D Czekam, być może zaradzi.

tracersgta - Sob 22 Sty, 2011 15:06

Sorki. Popatrzyłem na projekt :-> . Mam 1.0.2.1
Fushigi - Sob 22 Sty, 2011 16:37

Mi w ogóle nie działa skrypt, używam walki w czasie rzeczywistym, inny wygląd sklepu, pauza, punkty co poziom, Thomas Edison skrypt.
Ayene - Pon 31 Sty, 2011 11:35

Sprawdźcie teraz, czy działa (edytowałam pierwszy post) :->
Killerczyc - Wto 01 Lut, 2011 06:26

Jako że nikt nie opowiedział to ja to zrobię :D
Skrypt działa bez zarzutu - powinnaś edytować dział "Lista gotowych skryptów"
:mrgreen:

Michu_1999 - Nie 13 Mar, 2011 16:07

Wszystko działa pięknie.Dzięki za skrypt :-D
Eleanor - Sro 16 Mar, 2011 14:10

Co zrobić, aby skrypt działał dopiero od pewnego momentu gry?
Na przykład: na początku gry nie widać, chodzimy od domku do domku, opuszczamy tą wioską i już przez całą grę od tego momentu widać hud?
Jeszcze jeden problem - nie widać tego niebieskiego gdy postać ma punkty magii.

Angius - Sro 16 Mar, 2011 14:42

Trzeba by edytować skrypt i wprowadzić przełącznik na włączenie. W ogóle przydałaby się jakakolwiek konfiguracja, choćby położenia, bo nie jest to jasno wyróżnione w skrypcie.
Co do paska MP - na pewno nazwałaś grafiki dobrze?

Eleanor - Sro 16 Mar, 2011 16:00

Może Ayene coś zaradzi? Bo ja tam się nie znam, ale coś popróbuję.
Nazwy są dobrze napisane.
Wcześniej dawałam # przed tymi trzema linijkami bo były z nimi problemy.
To dzięki nim wszystko powinno być ok:

jeszcze linijka 65 się knoci.

Piotro888 - Sro 16 Mar, 2011 16:10

Super skrypt.
Eleanor - Sro 16 Mar, 2011 16:18

Dobra, już naprawiłam. Bohater nie może mieć 0 MP, ale z tym sobie poradzę.
Piotro888 - Sob 23 Kwi, 2011 13:45

Powiesz jak to zrobiłaś że jest od pewnego momentu? Bo ja z skryptami jestem do tyłu a by mi się przydało :->
CrasheR - Nie 24 Kwi, 2011 11:51

Dałoby się przenieść te paski na prawy-dolny róg ekranu?
Angius - Nie 24 Kwi, 2011 12:16

Pozmieniaj te linijki, one odpowiadają za położenie X,Y
Kod:
self.x = +5+4#0-7
self.y = -5-3#-1-23

CrasheR - Nie 24 Kwi, 2011 12:59

Działa, ale mam jeszcze 1 pytanie. Da radę zmienić kierunek umykania HP i MP?
Chciałbym aby HP,MP schodziły w prawą stronę.

Aruka21 - Sob 25 Cze, 2011 13:14

Czy istnieje możliwość aby hud się nie zmieniał położeniem a napisy były trochę niżej ?
Ayene - Sob 25 Cze, 2011 22:41

Aruka21, żeby nie zmieniał się położeniem? Co masz na myśli?
Jeśli chodzi o przesunięcie napisów to w skrypcie jest trochę do edytowania... ogólnie to wszystkie te zmienne 'hprect', 'hprect2', 'sprect', 'sprect2' itd., by przesunąć napisy w dół edytuj np.:
Kod:
hprect = Rect.new(4+1+5+4-15, 5+3+1, self.bitmap.width - 8, 32)

zmień wartość '5+3+1' na wyższą (może być to stała liczba np. 20) i obserwuj w grze przesunięcie napisu w górę/dół. To samo tyczy się:
Kod:
hprect2 = Rect.new(4+5+4-15, 5+3, self.bitmap.width - 8, 32)

i wartości '5+3'...

CrasheR, by zmienić kierunek znajdź:
Kod:
hpbar_rect = Rect.new(0,0,hpbarwidth,hpbarheight)   
    self.bitmap.blt(19+2,15,hpbar,hpbar_rect)

i zamień na:
Kod:
hpbar_rect = Rect.new(hpbarwidth-hpbar.width,0,hpbar.width,hpbarheight)
    self.bitmap.blt(24,18,hpbar,hpbar_rect)

następnie:
Kod:
mpbar_rect = Rect.new(0,0,mpbarwidth,mpbarheight)
    self.bitmap.blt(19+2,32,mpbar,mpbar_rect)

zmień na:
Kod:
mpbar_rect = Rect.new(mpbarwidth-mpbar.width,0,mpbar.width,mpbarheight)
    self.bitmap.blt(24,35,mpbar,mpbar_rect)

Podmień grafiki HP i MP na poniższe:


ReyosPL - Nie 11 Wrz, 2011 18:28

U mnie wszytsko działa
reshi - Pią 23 Wrz, 2011 13:15

Pomożecie mam taki problem że wszystko działa wbijam pięknie lvl ale mam np 0 expa zabijam potwora dostaje za niego 40 expa i niby wbija mi lvl nie ale pasek doświadczenia stoi no ok może zajeło cały wbijam następne 80 expa pasek daje 53 expa ? dziwne robię jeszcze jedną walkę wtedy już nie było lvl sama walka i nagle 150 expa skąd jak potwór dał tylko 80 expa .Jakieś bugi mam pomoże ktoś ? Aha i mówię że na tym szarym pasku tak wyskakuje dziwnie .
Angius - Pią 23 Wrz, 2011 13:17

Bug z naliczaniem najprawdopodobniej, HUD nie zlicza całego expa na raz.
reshi - Pią 23 Wrz, 2011 13:44

To co zrobić mam ? Bo nie mam pojęcia .
Angius - Pią 23 Wrz, 2011 13:45

Spróbuj innego huda, nie wiem, Marlosa Gamy?
Ayene - Pią 23 Wrz, 2011 22:35

Pasek powinien pokazywać, ile expa zostało do następnego poziomu. Nie za bardzo rozumiem Twojego błędu. Może dałbyś radę go zilustrować screenami, ewentualnie wrzucić swój projekt na www.mediafire.com i wkleić link w tym temacie ;-)
reshi - Sob 24 Wrz, 2011 10:05

Dobra dobra już czaję mi ten pasek spoko działa lecz mi się buguje exp jakoś dziwnie tak . I buguje się on szczególnie na początku gry pierwszy drugi lvl trzeci a potem już jest tak normalnie dosyć .
Angius - Sob 24 Wrz, 2011 11:06

Eeee? "Się buguje i tak dziwnie jest ten exp co się nalicza, ale to 1, 2, 3 lvl i jest ok"
Tak +/- wygląda dla mnie twoja wypowiedź... Może dodaj jakieś screeny błędu, albo jak wspomniała Ayene, wrzuć projekt na mediafire, bo z tak chaotycznego opisu trudno cokolwiek wywnioskować...

reshi - Sob 24 Wrz, 2011 14:04

Nie da rady wrzucić gra waży 40 mega a to mi się uploaduje długo zresztą przeżyje to :D najwyżej potem jak skącze grę to w poprawkach będę się z tym bawił .
kzk992 - Pią 28 Paź, 2011 22:16

Trzeba stworzyć w folderze Graphics folder Pictures i tam to wrzucić
Angius - Nie 30 Paź, 2011 00:00

O czym piszesz? Bo mam wrażenie, że pomyliłeś wątki...
marcin - Pon 31 Paź, 2011 09:07

Hmmmmmmmm..... a ja mam problem jak mam pełne doświadczenie to dodaje mi poziom i zmniejsza hp oraz mp!
tracersgta - Pon 31 Paź, 2011 09:11

Nie o to chodzi ;-) HP i MP zostają takie same, ale jak się zwiększa poziom to zwiększa się maksymalne HP i MP... ;-) Np. poziom 1: HP: 250/250, a poziom 2: 250/300, rozumiesz? Wtedy HP nie jest pełne i paski się zmniejszają ;-P Jeżeli tak nie chcesz użyj skryptu na regenarcję HP i MP po up-lvl-owaniu ;-)
marcin - Pon 31 Paź, 2011 09:45

Nie wiedziałem myślałem że mi zmniejsza!
Vrona - Pon 31 Paź, 2011 09:52

marcin, weź nie stawiaj na końcu każdego zdania wykrzyknika,drzesz się jak,nie powiem,wyjec.

Topic:Skrypt piękny.Zrobię sobie własne grafiki i będę miał oryginalny HUD :D

tracersgta - Wto 01 Lis, 2011 09:14

Skrypt koliduje z pominięciem strony tytułowej! Da się zrobić tak, aby HUD uruchamiał się od pewnego momentu(czyli od pierwszej mapy)? Żeby na intrze(ID 2) HUD-a nie było a na pierwszej mapce(ID 3) już był? Najlepiej przełącznikiem... Inne HUD-y tak mają, ale nie chcę go zmieniać bo mi się podoba ;)
doa1996 - Pią 25 Lis, 2011 11:16

Działa! Git majonez :-D
YamahaPL - Sro 04 Kwi, 2012 18:43
Temat postu: :D
Super Skrypt:) Ja posiadam polską twierdzówke i wszystko działa bez zarzutów:D
Avara - Sob 07 Lip, 2012 00:05

Na prośbę w tym temacie: http://www.ultimateam.pl/viewtopic.php?p=79221 dodałam do tego skryptu własny moduł, umożliwiający wybór położenia na ekranie i opcję chowania HUD'a (znikanie, podczas włączenia wybranego przełącznika).
Pomyślałam, że go tu wrzucę :roll:
Spoiler:

Kod:
#==============================================================================
# ** HUD
#------------------------------------------------------------------------------
#  By Marlos Gama
#  Module by Avara
#------------------------------------------------------------------------------
module Avara #<- Nie ruszać!
  module Marlos_Gama_HUD #<- Nie ruszać!
#---------------------------------KONFIGURACJA---------------------------------
# Do poniższej wartości: 1 - wyświetla HUD w lewym górnym rogu; 2 - prawy górny
# róg; 3 - lewy dolny róg; 4 - prawy dolny róg
    POLOZENIE = 3
# NAZWA przełącznika odpowiedzialnego za widoczność Hud'a. Gdy będzie ustawiony
# na: ON - hud będzie widoczny; OFF - hud będzie niewidoczny. W ustawieniach
# przełączników nazwa musi być bez cudzysłowia ;)
    CZY_WIDOCZNY_PRZELACZNIK = "HUD"
# Czy HUD ma być widoczny od samego początku gry: true - tak; false - nie.
    CZY_WIDOCZNY_START = true
#-----------------------------KONIEC KONFIGURACJI!-----------------------------
    if POLOZENIE == 1
      POLOZENIE_X = 9
      POLOZENIE_Y = -8
    elsif POLOZENIE == 2
      POLOZENIE_X = 393
      POLOZENIE_Y = -8
    elsif POLOZENIE == 3
      POLOZENIE_X = 9
      POLOZENIE_Y = 347
    elsif POLOZENIE == 4
      POLOZENIE_X = 393
      POLOZENIE_Y = 347
    end
  end
end
class Hud < Sprite#Window_Base
  def initialize
    super()#(0-7,-1-23,185-5,108-10)
    self.bitmap = bitmap = Bitmap.new(185-5,108-10)#self.contents = Bitmap.new(width - 32, height - 32)
    #self.windowskin = RPG::Cache.windowskin("Blank")
    #modyfikacje by Avara
    self.x = Avara::Marlos_Gama_HUD::POLOZENIE_X#+5+4#0-7
    self.y = Avara::Marlos_Gama_HUD::POLOZENIE_Y#-5-3#-1-23
    #koniec modyfikacji by Avara
    self.z = 999
    refresh
  end

  def refresh
    self.bitmap.clear
    #modyfikacje by Avara
    if $game_switches[$data_system.switches.index(Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK)] == true
      self.opacity = 255
    else
      self.opacity = 0
    end
    #koniec modyfikacji by Avara
    self.bitmap.font.shadow = false
    self.bitmap.font.size = 14
    self.bitmap.font.name = "Arial"
    # Base HP
    @actor = $game_party.members[0]
    hud3 = Cache.picture("base2j")
    hud1 = hud3.width
    hud2 = hud3.height
    hud4 = Rect.new(0,0,hud1,hud2)
    self.bitmap.blt(19+2,15,hud3,hud4)
    # Base MP
    hudd3 = Cache.picture("base2j")
    hudd1 = hudd3.width
    hudd2 = hudd3.height
    hudd4 = Rect.new(0,0,hudd1,hudd2)
    self.bitmap.blt(19+2,32,hudd3,hudd4)
    #Base Exp
    huddd3 = Cache.picture("base2j")
    huddd1 = huddd3.width
    huddd2 = huddd3.height
    huddd4 = Rect.new(0,0,huddd1,huddd2)
    self.bitmap.blt(19+2,49,huddd3,huddd4)
    # Hp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 5+3, 32, 32, "HP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 5+2, 32, 32, "HP")
    hpbar = Cache.picture("hp2g")
    hpbarwidth = hpbar.width * @actor.hp / @actor.maxhp
    hpbarheight = hpbar.height
    hpbar_rect = Rect.new(0,0,hpbarwidth,hpbarheight)
    self.bitmap.blt(19+2,15,hpbar,hpbar_rect)
    # Valor HP
    self.bitmap.font.color = Color.new(0,0,0)
    hprect = Rect.new(4+1+5+4-15, 5+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect, "#{@actor.hp}/#{@actor.maxhp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    hprect2 = Rect.new(4+5+4-15, 5+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect2, "#{@actor.hp}/#{@actor.maxhp}", 1)
    # Sp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+3, 32+4, 32, "MP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+2, 32+4, 32, "MP")
    mpbar = Cache.picture("mp2e")
    mpbarwidth = mpbar.width * @actor.mp / @actor.maxmp
    mpbarheight = mpbar.height
    mpbar_rect = Rect.new(0,0,mpbarwidth,mpbarheight)
    self.bitmap.blt(19+2,32,mpbar,mpbar_rect)
    # Valor SP
    self.bitmap.font.color = Color.new(0,0,0)
    sprect = Rect.new(4+1+5+4-15, 22+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect, "#{@actor.mp}/#{@actor.maxmp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    sprect2 = Rect.new(4+5+4-15, 22+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect2, "#{@actor.mp}/#{@actor.maxmp}", 1)
    # Exp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+17+3, 32+10, 32, "Exp")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+17+2, 32+10, 32, "Exp")
    if $game_party.members[0].level != 99
    xpbar = Cache.picture("xp2")
    xpbarwidth = xpbar.width * @actor.now_exp / @actor.next_exp
    xpbarheight = xpbar.height
    xpbar_rect = Rect.new(0,0,xpbarwidth,xpbarheight)
    self.bitmap.blt(19+2,49,xpbar,xpbar_rect)
    end
    # Valor Exp
    self.bitmap.font.color = Color.new(0,0,0)
    exprect = Rect.new(4+1+5+4-15, 22+17+4-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    exprect2 = Rect.new(4+5+4-15, 22+17+3-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect2, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
  end
end


class Scene_Map
  alias hud_main main
  def main
    @Hud = Hud.new
    hud_main
    @Hud.dispose
  end
  alias hud_update update
  def update
    hud_update
    #if $andando == true
    #@Hud.refresh if Graphics.frame_count % 80 == 0
    #else
    @Hud.refresh if Graphics.frame_count % 30 == 0
    #modyfikacje by Avara
    if $game_switches[$data_system.switches.index(Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK)] == true
      @Hud.opacity = 255
    else
      @Hud.opacity = 0
    end
    #koniec modyfikacji by Avara
    #end
  end
end


class Game_Actor < Game_Battler
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end


#modyfikacja by Avara
class Scene_Title < Scene_Base
  alias avara_marlos_gama_hud_cr_ga_ob create_game_objects
  def create_game_objects
    avara_marlos_gama_hud_cr_ga_ob
    $game_switches[$data_system.switches.index(Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK)] =
    Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_START
  end
end #koniec modyfikacji by Avara


Może się komuś jeszcze przyda :roll:

Edit 7.07.2012 13:10 :
Dla nie umiejących wpisywać nazwy przełącznika wersja, gdzie wystarczy podać numer przełącznika -.- .... Czyli dla osób gdzie występuje błąd w Game_Switches..
Spoiler:

Kod:
#==============================================================================
# ** HUD
#------------------------------------------------------------------------------
#  By Marlos Gama
#  Module by Avara
#------------------------------------------------------------------------------
module Avara #<- Nie ruszać!
  module Marlos_Gama_HUD #<- Nie ruszać!
#---------------------------------KONFIGURACJA---------------------------------
# Do poniższej wartości: 1 - wyświetla HUD w lewym górnym rogu; 2 - prawy górny
# róg; 3 - lewy dolny róg; 4 - prawy dolny róg
    POLOZENIE = 3
# Numer przełącznika odpowiedzialnego za widoczność Hud'a. Gdy będzie ustawiony
# na: ON - hud będzie widoczny; OFF - hud będzie niewidoczny.
    CZY_WIDOCZNY_PRZELACZNIK = 10
# Czy HUD ma być widoczny od samego początku gry: true - tak; false - nie.
    CZY_WIDOCZNY_START = true
#-----------------------------KONIEC KONFIGURACJI!-----------------------------
    if POLOZENIE == 1
      POLOZENIE_X = 9
      POLOZENIE_Y = -8
    elsif POLOZENIE == 2
      POLOZENIE_X = 393
      POLOZENIE_Y = -8
    elsif POLOZENIE == 3
      POLOZENIE_X = 9
      POLOZENIE_Y = 347
    elsif POLOZENIE == 4
      POLOZENIE_X = 393
      POLOZENIE_Y = 347
    end
  end
end


class Hud < Sprite#Window_Base
  def initialize
    super()#(0-7,-1-23,185-5,108-10)
    self.bitmap = bitmap = Bitmap.new(185-5,108-10)#self.contents = Bitmap.new(width - 32, height - 32)
    #self.windowskin = RPG::Cache.windowskin("Blank")
    #modyfikacje by Avara
    self.x = Avara::Marlos_Gama_HUD::POLOZENIE_X#+5+4#0-7
    self.y = Avara::Marlos_Gama_HUD::POLOZENIE_Y#-5-3#-1-23
    #koniec modyfikacji by Avara
    self.z = 999
    refresh
  end

  def refresh
    self.bitmap.clear
    #modyfikacje by Avara
    if $game_switches[Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK] == true
      self.opacity = 255
    else
      self.opacity = 0
    end
    #koniec modyfikacji by Avara
    self.bitmap.font.shadow = false
    self.bitmap.font.size = 14
    self.bitmap.font.name = "Arial"
    # Base HP
    @actor = $game_party.members[0]
    hud3 = Cache.picture("base2j")
    hud1 = hud3.width
    hud2 = hud3.height
    hud4 = Rect.new(0,0,hud1,hud2)
    self.bitmap.blt(19+2,15,hud3,hud4)
    # Base MP
    hudd3 = Cache.picture("base2j")
    hudd1 = hudd3.width
    hudd2 = hudd3.height
    hudd4 = Rect.new(0,0,hudd1,hudd2)
    self.bitmap.blt(19+2,32,hudd3,hudd4)
    #Base Exp
    huddd3 = Cache.picture("base2j")
    huddd1 = huddd3.width
    huddd2 = huddd3.height
    huddd4 = Rect.new(0,0,huddd1,huddd2)
    self.bitmap.blt(19+2,49,huddd3,huddd4)
    # Hp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 5+3, 32, 32, "HP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 5+2, 32, 32, "HP")
    hpbar = Cache.picture("hp2g")
    hpbarwidth = hpbar.width * @actor.hp / @actor.maxhp
    hpbarheight = hpbar.height
    hpbar_rect = Rect.new(0,0,hpbarwidth,hpbarheight)
    self.bitmap.blt(19+2,15,hpbar,hpbar_rect)
    # Valor HP
    self.bitmap.font.color = Color.new(0,0,0)
    hprect = Rect.new(4+1+5+4-15, 5+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect, "#{@actor.hp}/#{@actor.maxhp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    hprect2 = Rect.new(4+5+4-15, 5+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(hprect2, "#{@actor.hp}/#{@actor.maxhp}", 1)
    # Sp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+3, 32+4, 32, "MP")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+2, 32+4, 32, "MP")
    mpbar = Cache.picture("mp2e")
    mpbarwidth = mpbar.width * @actor.mp / @actor.maxmp
    mpbarheight = mpbar.height
    mpbar_rect = Rect.new(0,0,mpbarwidth,mpbarheight)
    self.bitmap.blt(19+2,32,mpbar,mpbar_rect)
    # Valor SP
    self.bitmap.font.color = Color.new(0,0,0)
    sprect = Rect.new(4+1+5+4-15, 22+3+1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect, "#{@actor.mp}/#{@actor.maxmp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    sprect2 = Rect.new(4+5+4-15, 22+3, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(sprect2, "#{@actor.mp}/#{@actor.maxmp}", 1)
    # Exp
    self.bitmap.font.color = Color.new(0,0,0)
    self.bitmap.draw_text(0+1, 22+17+3, 32+10, 32, "Exp")
    self.bitmap.font.color = Color.new(255,255,255)
    self.bitmap.draw_text(0, 22+17+2, 32+10, 32, "Exp")
    if $game_party.members[0].level != 99
    xpbar = Cache.picture("xp2")
    xpbarwidth = xpbar.width * @actor.now_exp / @actor.next_exp
    xpbarheight = xpbar.height
    xpbar_rect = Rect.new(0,0,xpbarwidth,xpbarheight)
    self.bitmap.blt(19+2,49,xpbar,xpbar_rect)
    end
    # Valor Exp
    self.bitmap.font.color = Color.new(0,0,0)
    exprect = Rect.new(4+1+5+4-15, 22+17+4-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
    self.bitmap.font.color = Color.new(255,255,255)
    exprect2 = Rect.new(4+5+4-15, 22+17+3-1, self.bitmap.width - 8, 32)
    self.bitmap.draw_text(exprect2, "#{@actor.now_exp}/#{@actor.next_exp}", 1)
  end
end


class Scene_Map
  alias hud_main main
  def main
    @Hud = Hud.new
    hud_main
    @Hud.dispose
  end
  alias hud_update update
  def update
    hud_update
    #if $andando == true
    #@Hud.refresh if Graphics.frame_count % 80 == 0
    #else
    @Hud.refresh if Graphics.frame_count % 30 == 0
    #modyfikacje by Avara
    if $game_switches[Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK] == true
      @Hud.opacity = 255
    else
      @Hud.opacity = 0
    end
    #koniec modyfikacji by Avara
    #end
  end
end


class Game_Actor < Game_Battler
  def now_exp
    return @exp - @exp_list[@level]
  end
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end
end


#module by Avara
class Scene_Title < Scene_Base
  alias avara_marlos_gama_hud_cr_ga_ob create_game_objects
  def create_game_objects
    avara_marlos_gama_hud_cr_ga_ob
    $game_switches[Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_PRZELACZNIK] =
    Avara::Marlos_Gama_HUD::CZY_WIDOCZNY_START
  end
end


Choć moim zdaniem zmiana nazwy przełącznika jest łatwiejsza (nie trzeba wracać do skryptu i wprowadzać zmian).

Lion - Czw 03 Sty, 2013 17:14

Nie wyświetla mi się xp2 w pierwszym poście :evil:

Powered by phpBB modified by Przemo © 2003 phpBB Group