Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Etam's Pokemon Style HUD
Autor Wiadomość
Etam 




Preferowany:
RPG Maker VX

Dołączył: 23 Lip 2012
Posty: 44
Wysłany: Sro 15 Sie, 2012 00:03
Etam's Pokemon Style HUD
~ Etam's Pokemon Style HUD ~


Krótki opis:
Skrypt pokazuje nam HUD w stylu pokemon. Jest w nim widoczne imię bohatera, lv oraz HP obrazkowe i liczbowe.

Autor:
Etam

Kompatybilność:
RPG Maker VX

Skrypt:
Spoiler:

Kod:
#================================================#
# Etam's Pokemon Style HUD
# Autor : Etam
#================================================#
#================================================#
#=================  Konfiguracja  =====================#
#================================================#

  # Umiejscowienie HUD'u
  # Wpisz minus przed wartością, jeśli chcesz HUD po przeciwnej stronie.
  Position_X = -345
  Position_Y = 10
 
  Images_folder_of_the_HUD = "Graphics/Pictures/"
  Bottom_of_the_HUD = "HUD.png"
  Bar_HP = "Hp.png"
 
  Using_transparency_in_the_entrance = true # HUD znika, gdy jest pod nim postać
  Using_transparency_in_the_exit = true # FadeOut do zanikania
 
  Speed = 3 # Prędkość zanikania
  Final_Opacity = 255 # Ostateczna przeźroczystość HUDa
  Opacity_Final_Element = 255 # Ostateczna przeźroczystość elementów HUDa
  Character_Opacity = 150 # Przeźroczystość, gdy bohater pod HUDem
  Opacity_Character_Element = 160 # Przeźroczystość elementów
 
  Switch_Control = 1 #Przełącznik aktywujący.
                     # HUD jest włączony gdy przełącznik jest on.
                     
  Number_Character = 1 # ID bohatera u którego widoczny będzie HUD

#==============================================#
#==================  Elementy HUD'u ================#
#==============================================#

  # true by wyświetlać imię
  Name_Show = true
  Name_Alignment = 1
  Name_X = -30
  Name_Y = 5
  Name_Width = 134
  Name_Color = Color.new(20,20,20,255)
  Name_Font = nil # Czcionka imienia, nil dla domyślnej
  Name_Size_of_Font = 20 # Rozmiar czcionki imienia

  # True by wyświetlać pasek HP
  HP_Show = true
  HP_X = 77
  HP_Y = 32

  # TRUE by pokazywać liczbowo HP obecne
  Values_HP_Show_Current = true
  # TRUE by pokazywać liczbowo HP maksymalne
  Values_HP_Show_Total = true
  Values_HP_Color = Color.new(50,50,50,255)
  Values_HP_Font = nil # Czcionka, nil dla domyślnej
  Values_HP_Size_of_Font = 16 # Rozmiar czcionki
  Values_HP_X = 70
  Values_HP_Y = 40

  # True by wyświetlać poziom
  LV_Show = true
  LV_Color = Color.new(50,50,50,255)
  LV_Font = nil # Czcionka, nil dla domyślnej
  LV_Size_of_Font = 20 # Rozmiar czcionki
  LV_Width = 30
  LV_X = 150
  LV_Y = 6
 
#===============================================#
#============  Koniec konfiguracji  =====================#
#===============================================#

class Scene_Map < Scene_Base
 
  alias hud_start start
  alias hud_update update
  alias hud_terminate terminate
 
  def start
    active_hud
    hud_start
  end
 
  def active_hud
    $game_switches[Switch_Control] = true
    @animation_hud1 = Using_transparency_in_the_entrance
    @animation_hud2 = Using_transparency_in_the_entrance
    @animation_hud_1 = Using_transparency_in_the_exit
    @animation_hud_2 = Using_transparency_in_the_exit
    @back = Sprite.new
    @back.bitmap = Cache.load_bitmap(Images_folder_of_the_HUD, Bottom_of_the_HUD)
    @back.opacity = 0 if @animation_hud1 == true
    x = Position_X
    y = Position_Y
    w = @back.width
    h = @back.height
    x = ( x == nil ? ( 544 - w ) / 2 : ( x < 0 ? ( 544 + x - w ) : x ) )
    y = ( y == nil ? ( 416 - h ) / 2 : ( y < 0 ? ( 416 + y - h ) : y ) )
    @back.x = x
    @back.y = y
    @back.z = 190
    @wind = Window_Base.new(x-16,y-16,w+32,h+32)
    @wind.opacity = 0
    @wind.contents_opacity = 0 if @animation_hud2 == true
    @wind.z = 195
    @wind.contents.font.shadow = false
    @id = Number_Character-1
    @info = []
    @hp = Sprite.new
    @hp.bitmap = Bitmap.new(32,32)
    @mp = Sprite.new
    @mp.bitmap = Bitmap.new(32,32)
    @hp.x = HP_X + x
    @hp.y = HP_Y + y
    @hp.z = 192
    @mp.z = 193
    @hp.opacity = 0 if @animation_hud2 == true
    @mp.opacity = 0 if @animation_hud2 == true
    real_update if status_update
  end
 
  def terminate
    if @animation_hud_1 == true
      @back.bitmap.dispose
      @back.dispose
    end
    if @animation_hud_2 == true
      @hp.bitmap.dispose
      @hp.dispose
      @mp.bitmap.dispose
      @mp.dispose
      @wind.contents.dispose
      @wind.dispose
    end
    hud_terminate
  end
 
  def update
    if $game_switches[Switch_Control] == true
      if @back != nil
        if @back.opacity < Final_Opacity and @animation_hud1 == true
          @back.opacity += Speed
        else
          @back.opacity = Final_Opacity
          @animation_hud1 = false
        end
        if @wind.contents_opacity < Opacity_Final_Element and @animation_hud2 == true
          @wind.contents_opacity += Speed
          @hp.opacity += Speed
          @mp.opacity += Speed
        else
          @wind.contents_opacity = Opacity_Final_Element
          @hp.opacity = Opacity_Final_Element
          @mp.opacity = Opacity_Final_Element
          @animation_hud2 = false
        end
      else
        active_hud
      end
    else
      if @back != nil
        if @back.opacity > Speed-1 and @animation_hud_1 == true
          @back.opacity -= Speed
        else
          @back.bitmap.dispose
          @back.dispose
          @back = nil
          @animation_hud_1 = false
        end
        if @wind.contents_opacity > Speed-1 and @animation_hud_2 == true
          @wind.contents_opacity -= Speed
          @hp.opacity -= Speed
          @mp.opacity -= Speed
        else
          if @animation_hud_2 == true
            @hp.bitmap.dispose
            @hp.dispose
            @hp = nil
            @mp.bitmap.dispose
            @mp.dispose
            @mp = nil
            @wind.contents.dispose
            @wind.dispose
            @wind = nil
            @animation_hud_2 = false
          end
        end
      end
    end
    if @back != nil
      if $game_player.screen_x >= @back.x and $game_player.screen_x <= @back.x + @back.width and
         $game_player.screen_y >= @back.y and $game_player.screen_y <= @back.y + @back.height
        @back.opacity = Character_Opacity
        @hp.opacity = Opacity_Character_Element
        @mp.opacity = Opacity_Character_Element
        @wind.contents_opacity = Opacity_Character_Element
      end
    end
    real_update if status_update
    hud_update
  end
 
  def real_update
    a = $game_party.members[@id]
    @wind.contents.clear
    if Name_Show
      @wind.contents.font.name = Name_Font if Name_Font != nil
      @wind.contents.font.color = Name_Color
      @wind.contents.font.size = Name_Size_of_Font
      @wind.contents.draw_text(Name_X, Name_Y, Name_Width, Name_Size_of_Font, a.name, Name_Alignment)
    end
    if HP_Show
      @hp.bitmap.dispose
      @hp.bitmap = Cache.load_bitmap(Images_folder_of_the_HUD, Bar_HP)
      @hp.bitmap.clear_rect(Rect.new((@hp.width*a.hp/a.maxhp),0,@hp.width,@hp.height))
    end
    if Values_HP_Show_Current
      text = a.hp.to_s
    end
    if Values_HP_Show_Total
      text = a.maxhp.to_s
    end
    if Values_HP_Show_Current and Values_HP_Show_Total
      text = a.hp.to_s + "/" + a.maxhp.to_s
    end
    if text != nil
      @wind.contents.font.name = Values_HP_Font if Values_HP_Font != nil
      @wind.contents.font.color = Values_HP_Color
      @wind.contents.font.size = Values_HP_Size_of_Font
      @wind.contents.draw_text(Values_HP_X, Values_HP_Y, @hp.width, Values_HP_Size_of_Font, text, 2)
    end
    if LV_Show
      @wind.contents.font.name = LV_Font if LV_Font != nil
      @wind.contents.font.color = LV_Color
      @wind.contents.font.size = LV_Size_of_Font
      @wind.contents.draw_text(LV_X, LV_Y, LV_Width, LV_Size_of_Font, a.level, 1)
    end
  end
 
  def status_update
    return false if @wind == nil
    a = $game_party.members[@id]
    return update_infos if a.id != @info[0]
    return update_infos if a.character_name != @info[1]
    return update_infos if a.name != @info[2]
    return update_infos if a.hp != @info[3]
    return update_infos if a.maxhp != @info[4]
    return update_infos if a.level != @info[5]
    return false
  end
 
  def update_infos
    a = $game_party.members[@id]
    @info[0] = a.id
    @info[1] = a.character_name
    @info[2] = a.name
    @info[3] = a.hp
    @info[4] = a.maxhp
    @info[5] = a.level
    return true
  end 
end


Screeny:
Spoiler:




Dodatkowe informacje:
Potrzebne obrazki
________________________
http://ultimasquad.manifo.com/

Służę pomocą. Zrobię wszystko od grafik do skryptów więc piszcie.
 
 
Loki 




Preferowany:
RPG Maker VX

Pomógł: 12 razy
Dołączył: 25 Kwi 2012
Posty: 162
Wysłany: Sro 15 Sie, 2012 11:09
Bardzo fajny hud, ale wygląda na takiego co tylko do gier pokemonowych się nadaje ;-)

PS: To twój pierwszy hud?
 
 
Etam 




Preferowany:
RPG Maker VX

Dołączył: 23 Lip 2012
Posty: 44
Wysłany: Sro 15 Sie, 2012 11:59
Tak. To mój pierwszy. Zastanawiałem się czy czegoś jeszcze nie dodać. Jakieś propozycje ?
________________________
http://ultimasquad.manifo.com/

Służę pomocą. Zrobię wszystko od grafik do skryptów więc piszcie.
 
 
Loki 




Preferowany:
RPG Maker VX

Pomógł: 12 razy
Dołączył: 25 Kwi 2012
Posty: 162
Wysłany: Czw 16 Sie, 2012 07:14
Zawsze możesz dodać avatar do tego huda, zmiane koloru paska życia, np. jak się życie do 10% zmniejsza to zmienia się na kolor czerwony, itp. Pasek many i exp to nawet bardzo by się przydał :->

PS: Jak na pierwszy hud to bardzo dobry skrypt :-D
 
 
Etam 




Preferowany:
RPG Maker VX

Dołączył: 23 Lip 2012
Posty: 44
Wysłany: Czw 16 Sie, 2012 20:32
:mrgreen: Na takie odpowiedzi liczyłem. Z większością nie będzie problemu. Tylko jak ustawić tą zmianę koloru paska przy zmianie HP ... ?
________________________
http://ultimasquad.manifo.com/

Służę pomocą. Zrobię wszystko od grafik do skryptów więc piszcie.
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene