Per 2016, RMID pindah ke RMID Discord (Invite link dihapus untuk mencegah spambot -Theo @ 2019). Posting sudah tidak bisa dilakukan lagi.
Mohon maaf atas ketidaknyamanannya dan mohon kerjasamanya.

Share | 
 

 Explorer's HUD

Topik sebelumnya Topik selanjutnya Go down 
Explorer's HUD Empty2013-07-29, 22:22
PostExplorer's HUD
#1
atlanteeianprojecta 
Novice
Novice
atlanteeianprojecta

Level 5
Posts : 237
Thanked : 3
Engine : RMVX Ace
Skill : Beginner
Type : Writer
Awards:
Explorer's HUD Vide
Assalamualaikum Wr. Wb.
Maaf sebelumnya kalo script ini udah ada yang posting, saya cuma sharing script. Nih script dapet waktu browsing ke forum rpg maker vx ace.

Explorer's HUD 2lmkrr8
Kamu perluin ini terus namain: InfoHud

Ini Screenshotnya:
Explorer's HUD I2oqib

Scriptnya adalah....:
Code:
#------------------------------------------------------------------------------#
#  Galv's Explorer's HUD
#------------------------------------------------------------------------------#
#  For: RPGMAKER VX ACE
#  Version 2.0
#------------------------------------------------------------------------------#
#  2013-01-31 - Version 2.0 - Fixed a bug with not drawing TP in battle option
#  2013-01-30 - Version 1.9 - Missed some things fixing the no actors crash
#  2013-01-24 - Version 1.8 - Fixed crash if no actors in party
#  2012-11-07 - Version 1.7 - some optimisation thanks to Niclas
#  2012-11-06 - Version 1.6 - more bug fixes
#  2012-11-06 - Version 1.5 - fixed so HUD doesn't appear in battle
#  2012-11-06 - Version 1.4 - added tp option and functionality
#  2012-11-06 - Version 1.3 - added options to disable windows
#  2012-11-06 - Version 1.2 - fixed map name bug not updating
#  2012-11-06 - Version 1.1 - changed z values of HUD
#  2012-11-06 - Version 1.0 - release
#------------------------------------------------------------------------------#
#  A HUD that displays information that might be useful for an RPG with a lot of
#  exploring. Can toggle it on or off when needed with a button. The info
#  displayed is the actor leading the party, so it works well with a script
#  such as Tsukihime's Rotate Formation to switch the lead actor with the press
#  of a button.
#------------------------------------------------------------------------------#
#  Visit: http://xtsukihime.wordpress.com/rmvxa-scripts/
#  To find latest versions of Tsukihime's scripts.
#------------------------------------------------------------------------------#

($imported ||= {})["Galv_Explorers_Hud"] = true

module Galvs_Hud
  
#------------------------------------------------------------------------------#
#  SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#

  # GENERAL
  
  TOGGLE_SWITCH = 1       # Switch ID. When ON, hud is visible. When OFF its not

  ACTIVATE_BUTTON = :Z    # Button to toggle hud visibility switch. (:Z is "D")
                          # to disable make ACTIVATE_BUTTON = nil
                          
  HUD_SKIN = "Window"    # A windowskin to apply to the HUD. Located in
                          # /Graphics/System/
                          # Change to "Window" to use normal skin.

  SHOW_EQUIP = 0          # The equipment piece shown. This is the slot ID.
                          # 0 = weapon
                          # 1 = shield
                          # 2 = head
                          # 3 = body
                          # 4 = accessory

  SHOW_TP = true          # Show TP in top bar.
  

  # BOTTOM BAR
  
  SHOW_GOLD = true        # display gold in bottom bar
  SHOW_MAPNAME = true     # display map display name in bottom bar
  SHOW_COORDS = true      # display x,y coordinates in bottom bar
  
  REMOVE_WINDOWS = false  # This applies for above options that are set to false
                          # true = windows removed. false = windows blank
                          

#------------------------------------------------------------------------------#
#  SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#
                          
end

class Scene_Map < Scene_Base
  
  alias galv_hud_create_spriteset create_spriteset
  def create_spriteset
    galv_hud_create_spriteset
    create_hud
  end
  
  alias galv_hud_update update
  def update
    galv_hud_update
    check_trigger
    update_hud if !@galv_hud.nil? && !scene_changing?
  end
  
  def update_hud
    @galv_hud.update
  end
  
  def create_hud
    @galv_hud = Galv_Hud.new(@viewport2)
  end  
  
  def check_trigger
    if Input.trigger?(Galvs_Hud::ACTIVATE_BUTTON)
      $game_switches[Galvs_Hud::TOGGLE_SWITCH] ^= true
    end
  end
  
  alias galv_hud_dispose_spriteset dispose_spriteset
  def dispose_spriteset
    galv_hud_dispose_spriteset
    @galv_hud.dispose
  end
  
end


class Galv_Hud < Scene_Base

  def initialize(viewport)
    super(viewport)
    create_gold_window
    create_coords_window
    create_location_window
    create_status_window
    $game_temp.hud_update[4] = []
    $game_temp.hud_update[6] = ""
    $game_temp.hud_update[7] = 0 #$game_party.members[0].tp
  end

  def create_status_window
    @status_window = Window_HudStatus.new
    @status_window.x = 0
    @status_window.y = 0
    @status_window.z = @status_window.z - 10
    @status_window.hide if !$game_switches[Galvs_Hud::TOGGLE_SWITCH]
  end
  
  def create_gold_window
    @gold_window = Window_QuickGold.new
    @gold_window.x = 0
    @gold_window.y = Graphics.height - @gold_window.height
    @gold_window.z = @gold_window.z - 10
    @gold_window.hide if !$game_switches[Galvs_Hud::TOGGLE_SWITCH]
  end
  
  def dispose
    @location_window.dispose
    @gold_window.dispose
    @status_window.dispose
    @coords_window.dispose
  end
  
  def create_coords_window
    @coords_window = Window_Coords.new
    @coords_window.x = Graphics.width - @coords_window.width
    @coords_window.y = Graphics.height - @coords_window.height
    @coords_window.z = @coords_window.z - 10
    @coords_window.hide if !$game_switches[Galvs_Hud::TOGGLE_SWITCH]
  end
  
  def create_location_window
    @location_window = Window_Location.new
    @location_window.x = @gold_window.width
    @location_window.y = Graphics.height - @location_window.height
    @location_window.z = @location_window.z - 10
    @location_window.hide if !$game_switches[Galvs_Hud::TOGGLE_SWITCH]
  end
  
  def update
    check_need_refresh
    hide_windows if !$game_switches[Galvs_Hud::TOGGLE_SWITCH]
    show_windows if $game_switches[Galvs_Hud::TOGGLE_SWITCH]
    @coords_window.refresh if Galvs_Hud::SHOW_COORDS
  end
  
  def check_need_refresh
    a = $game_party.members[0]
    return if a.nil?
    if $game_temp.hud_update != [a.id,a.hp,a.mp,a.exp,a.state_icons,$game_party.gold,$game_map.display_name,a.tp]
      refresh_windows
    else
      return
    end
  end
  
  def refresh_windows
      @status_window.refresh
      @gold_window.refresh
      @location_window.refresh
      $game_temp.hud_update[5] = $game_party.gold
  end
  
  def hide_windows
    if @status_window.visible
      @gold_window.hide
      @location_window.hide
      @coords_window.hide
      @status_window.hide
    end
  end
  
  def show_windows
    if !@status_window.visible
      @gold_window.show
      @location_window.show
      @coords_window.show
      @status_window.show
    end
  end

end # Galv_Hud


class Window_Location < Window_Base

  def initialize
    super(0, 0, window_width, fitting_height(1))
    self.openness = 255
    self.windowskin = Cache.system(Galvs_Hud::HUD_SKIN)
    self.opacity = 0 if !Galvs_Hud::SHOW_MAPNAME && Galvs_Hud::REMOVE_WINDOWS
    refresh
  end

  def window_width
    return (Graphics.width - 130 - 130)
  end

  def refresh
    $game_temp.hud_update[6] = $game_map.display_name
    return if !Galvs_Hud::SHOW_MAPNAME
    contents.clear
    draw_text((contents.width / 2) - ((locate_text.length * 10) / 2), 0, Graphics.width / 2, line_height, locate_text)
    
  end
  
  def locate_text
    $game_map.display_name
  end
 
 def open
    refresh
    super
  end

end # Window_Location < Window_Base


class Window_Coords < Window_Base

  def initialize
    super(0, 0, window_width, fitting_height(1))
    self.openness = 255
    self.windowskin = Cache.system(Galvs_Hud::HUD_SKIN)
    self.opacity = 0 if !Galvs_Hud::SHOW_COORDS && Galvs_Hud::REMOVE_WINDOWS
    refresh
  end

  def window_width
    return 130
  end

  def refresh
    return if !Galvs_Hud::SHOW_COORDS
    contents.clear
    change_color(normal_color)
    draw_text(15, 0, contents.width, line_height, $game_player.x.to_s)
    draw_text(70, 0, contents.width, line_height, $game_player.y.to_s)
    change_color(system_color)
    draw_text(0, 0, window_width, line_height, "X")
    draw_text(55, 0, window_width, line_height, "Y")
  end

  def open
    refresh
    super
  end
  
end # Window_Coords < Window_Base


class Window_QuickGold < Window_Base

  def initialize
    super(0, 0, window_width, fitting_height(1))
    self.openness = 255
    self.windowskin = Cache.system(Galvs_Hud::HUD_SKIN)
    self.opacity = 0 if !Galvs_Hud::SHOW_GOLD && Galvs_Hud::REMOVE_WINDOWS
    refresh
  end

  def window_width
    return 130
  end

  def refresh
    return if !Galvs_Hud::SHOW_GOLD
    contents.clear
    draw_currency_value(value, currency_unit, 4, 0, contents.width -
 end

  def value
    $game_party.gold
  end

  def currency_unit
    Vocab::currency_unit
  end

  def open
    refresh
    super
  end
  
end # Window_QuickGold < Window_Base


class Window_HudStatus < Window_Selectable
  def initialize
    super(0, 0, window_width, window_height)
    refresh if $game_party.leader
    self.openness = 255
    self.windowskin = Cache.system(Galvs_Hud::HUD_SKIN)
  end
  
  def window_width
    Graphics.width
  end
  
  def window_height
    fitting_height(visible_line_number)
  end

  def visible_line_number
    return 2
  end

  def item_max
    1
  end
  
  def refresh
    contents.clear
    draw_item(0)
    draw_equips($game_party.members[0].equips[Galvs_Hud::SHOW_EQUIP].id) unless $game_party.members[0].equips[Galvs_Hud::SHOW_EQUIP].nil?
  end

  def draw_item(index)
    actor = $game_party.battle_members[index]
    draw_basic_area(basic_area_rect(index), actor)
    draw_gauge_area(gauge_area_rect(index), actor)
    draw_face(actor.face_name, actor.face_index, x, y - 30, actor.hp > 0)
    draw_actor_level(actor, Graphics.width - 90, y + line_height * 1)
    $game_temp.hud_update[0] = $game_party.members[0].id
  end
  
  def draw_equips(index)
    if Galvs_Hud::SHOW_EQUIP <= 0
      item = $data_weapons[index]
    else
      item = $data_armors[index]
    end
    if item
      rect = item_rect(1)
      rect.width -= 4
      draw_item_name(item, rect.x + 100, rect.y, $game_party.members[0].hp > 0)
    end
  end
  
  def basic_area_rect(index)
    rect = item_rect_for_text(index)
    rect.width -= gauge_area_width + 10
    rect
  end

  def gauge_area_rect(index)
    rect = item_rect_for_text(index)
    rect.x += rect.width - gauge_area_width
    rect.width = gauge_area_width
    rect
  end

  def gauge_area_width
    return 220
  end

  def draw_basic_area(rect, actor)
    draw_actor_icons(actor, rect.x + 104, rect.y, rect.width - 104)
    $game_temp.hud_update[4] = $game_party.members[0].state_icons
  end

  def draw_gauge_area(rect, actor)
    if $data_system.opt_display_tp
      draw_gauge_area_with_tp(rect, actor)
    else
      draw_gauge_area_without_tp(rect, actor)
    end
  end

  def draw_gauge_area_with_tp(rect, actor)
    draw_actor_hp(actor, rect.x - 60, rect.y, 132)
    draw_actor_tp(actor, rect.x + 82, rect.y + 25, 64) unless !Galvs_Hud::SHOW_TP
    draw_actor_mp(actor, rect.x + 82, rect.y, 64)
    draw_actor_xp(actor, rect.x + 156, rect.y, 64)
    $game_temp.hud_update[1] = $game_party.members[0].hp
    $game_temp.hud_update[2] = $game_party.members[0].mp
    $game_temp.hud_update[3] = $game_party.members[0].exp
    $game_temp.hud_update[7] = $game_party.members[0].tp
  end
  
  def draw_gauge_area_without_tp(rect, actor)
    draw_actor_hp(actor, rect.x - 60, rect.y, 132)
    draw_actor_mp(actor, rect.x + 82, rect.y, 64)
    draw_actor_xp(actor, rect.x + 156, rect.y, 64)
    $game_temp.hud_update[1] = $game_party.members[0].hp
    $game_temp.hud_update[2] = $game_party.members[0].mp
    $game_temp.hud_update[3] = $game_party.members[0].exp
    $game_temp.hud_update[7] = $game_party.members[0].tp
  end

  def draw_actor_xp(actor, x, y, width = 124)
    draw_gauge(x, y, width, (actor.exp.to_f - actor.class.exp_for_level(actor.level)) / (actor.class.exp_for_level(actor.level + 1) - actor.class.exp_for_level(actor.level)), text_color(6), text_color(14))
    change_color(system_color)
    draw_text(x, y, 30, line_height, "EXP")
  end
  
end # Window_HudStatus < Window_Selectable



class Sprite_Timer < Sprite
  
  alias galv_hud_update_position update_position
  def update_position
    galv_hud_update_position
    self.y = 70 if $game_switches[Galvs_Hud::TOGGLE_SWITCH]
  end
end # Sprite_Timer < Sprite


class Window_MapName < Window_Base
  
  alias galv_hud_update update
  def update
    galv_hud_update
    update_position if $game_map.name_display
  end
  
  def update_position
    if $game_switches[Galvs_Hud::TOGGLE_SWITCH]
      self.y = 70
    else
      self.y = 0
    end
  end
  
end # Window_MapName < Window_Base


class Game_Temp
  attr_accessor :hud_update
  
  alias galv_hud_initialize initialize
  def initialize
    galv_hud_initialize
    @hud_update = []
  end
  
end # Game_Temp

Untuk credit tolong kasih ke:
Galv
Tsukihime

2 orang Itu aja cukup karena merekalah yang paling berjasa. Oh ya, sebelumnya maaf bila ada kesalahan kata dan posting. Maklum, baru newbie.
Explorer's HUD Empty2013-07-29, 23:55
PostRe: Explorer's HUD
#2
shikami 
Member 1000 Konsep
avatar

Level 5
Posts : 3744
Thanked : 31
Engine : Multi-Engine User
Skill : Beginner
Type : Developer
Awards:


Explorer's HUD Vide
umm ini ada ijin dari scripternya untuk di share disini ?
disini kita LEBIH MENGHARGAI script bikinan anggota ketimbang share dari forum laen. 
mohon konfirmasi dulu sebelum post script sembarangan, ok ? ;)
Explorer's HUD Empty2013-07-30, 11:51
PostRe: Explorer's HUD
#3
atlanteeianprojecta 
Novice
Novice
atlanteeianprojecta

Level 5
Posts : 237
Thanked : 3
Engine : RMVX Ace
Skill : Beginner
Type : Writer
Awards:
Explorer's HUD Vide
Katanya boleh asalkan memberikan credit pada si pembuat (si Galv ama si Tsukihime). Trus script ini katanya gak boleh dipake buat project yang Commercial Use gitu. Katanya kalo mau pake scriptnya Galv buat Commersial Use, harus bayar dulu ke orangnya.
Dan maaf sebelumnya, Insya Allah untuk kedepannya saya akan membenahi postingan saya.
Explorer's HUD Empty2013-09-25, 21:53
PostRe: Explorer's HUD
#4
Aitsuka 
Newbie
Newbie
Aitsuka

Level 5
Posts : 3
Thanked : 0
Engine : RMVX Ace
Skill : Intermediate
Type : Mapper

Explorer's HUD Vide
SyntaxError line 294
Unexpected keyword_end ..
Gimana nih kk ? :o
Explorer's HUD Empty
PostRe: Explorer's HUD
#5
Sponsored content 




Explorer's HUD Vide
 

Explorer's HUD

Topik sebelumnya Topik selanjutnya Kembali Ke Atas 
Halaman 1 dari 1

Permissions in this forum:Anda tidak dapat menjawab topik
RPGMakerID :: Scripts & Event Systems :: RMVX Ace Scripts-