변수를 화면에 나타나게 해주는 스크립트입니다.
제작자: sojabird
####################################################################
# Window_HUD_VARS v2.0
#
# By: SojaBird
# Site: http://www.nestcast.blogspot.com
# Discription: This little script creates a HUD wich can show up to 10 different variables simultaneously.
#
####################################################################
module SojaBird_WHV
#############
# Start SETUP #
#############
HUD_SWITCH = 40 # Turn this ON to show the HUD
AMOUNT = 2 # Amount of variables used [1-10]
VAR_ID_1 = 1
TEXT1 = "one"
VAR_ID_2 = 2
TEXT2 = "two"
VAR_ID_3 = 3
TEXT3 = "three"
VAR_ID_4 = 4
TEXT4 = "four"
VAR_ID_5 = 5
TEXT5 = "five"
VAR_ID_6 = 6
TEXT6 = "six"
VAR_ID_7 = 7
TEXT7 = "seven"
VAR_ID_8 = 8
TEXT8 = "eight"
VAR_ID_9 = 9
TEXT9 = "nine"
VAR_ID_10 = 10
TEXT10 = "ten"
FILE = "Window" # Name of windowstyle [Default "Window"]
X_PLACEMENT = 1 # Left=1, Right=2
Y_PLACEMENT = 3 # Top=1, Middle=2, Bottom=3
WIDTH = 100 # Width of the hud
############
# End SETUP #
############
end
class Window_HUD_VARS < Window_Base
include SojaBird_WHV
def initialize
super(0, 0, WIDTH, 24*AMOUNT+32)
case X_PLACEMENT
when 1
self.x = 0
when 2
self.x = 494
end
case Y_PLACEMENT
when 1
self.y = 0
when 2
self.y = 208-(24*AMOUNT+32)/2
when 3
self.y = 416-(24*AMOUNT+32)
end
self.windowskin = Cache.system(FILE)
self.visible = $game_switches[HUD_SWITCH]
refresh
end
def refresh
contents.clear
# get values
@v1 = $game_variables[VAR_ID_1]
@v2 = $game_variables[VAR_ID_2]
@v3 = $game_variables[VAR_ID_3]
@v4 = $game_variables[VAR_ID_4]
@v5 = $game_variables[VAR_ID_5]
@v6 = $game_variables[VAR_ID_6]
@v7 = $game_variables[VAR_ID_7]
@v8 = $game_variables[VAR_ID_8]
@v9 = $game_variables[VAR_ID_9]
@v10 = $game_variables[VAR_ID_10]
# draw values
contents.draw_text(0, 0, contents.width - 0, WLH, @v1, 2)
contents.draw_text(0, 24, contents.width - 0, WLH, @v2, 2)
contents.draw_text(0, 48, contents.width - 0, WLH, @v3, 2)
contents.draw_text(0, 72, contents.width - 0, WLH, @v4, 2)
contents.draw_text(0, 96, contents.width - 0, WLH, @v5, 2)
contents.draw_text(0, 120, contents.width - 0, WLH, @v6, 2)
contents.draw_text(0, 144, contents.width - 0, WLH, @v7, 2)
contents.draw_text(0, 168, contents.width - 0, WLH, @v8, 2)
contents.draw_text(0, 192, contents.width - 0, WLH, @v9, 2)
contents.draw_text(0, 216, contents.width - 0, WLH, @v10, 2)
# draw text
contents.draw_text(0, 0, contents.width - 0, WLH, TEXT1, 0)
contents.draw_text(0, 24, contents.width - 0, WLH, TEXT2, 0)
contents.draw_text(0, 48, contents.width - 0, WLH, TEXT3, 0)
contents.draw_text(0, 72, contents.width - 0, WLH, TEXT4, 0)
contents.draw_text(0, 96, contents.width - 0, WLH, TEXT5, 0)
contents.draw_text(0, 120, contents.width - 0, WLH, TEXT6, 0)
contents.draw_text(0, 144, contents.width - 0, WLH, TEXT7, 0)
contents.draw_text(0, 168, contents.width - 0, WLH, TEXT8, 0)
contents.draw_text(0, 192, contents.width - 0, WLH, TEXT9, 0)
contents.draw_text(0, 216, contents.width - 0, WLH, TEXT10, 0)
end
def update
self.visible = $game_switches[HUD_SWITCH]
return if !self.visible
if @v1 != $game_variables[VAR_ID_1] or
@v2 != $game_variables[VAR_ID_2] or
@v3 != $game_variables[VAR_ID_3] or
@v4 != $game_variables[VAR_ID_4] or
@v5 != $game_variables[VAR_ID_5] or
@v6 != $game_variables[VAR_ID_6] or
@v7 != $game_variables[VAR_ID_7] or
@v8 != $game_variables[VAR_ID_8] or
@v9 != $game_variables[VAR_ID_9] or
@v10 != $game_variables[VAR_ID_10]
refresh
end
end
end
#------------------------------------------------------------
# * Scene_Map: Attach HUD to map
#------------------------------------------------------------
class Scene_Map < Scene_Base
alias soja_scemap_sta_hudv start
alias soja_scemap_ter_hudv terminate
alias soja_scemap_upd_hudv update
def start
soja_scemap_sta_hudv
@soj_hudv = Window_HUD_VARS.new
end
def terminate
@soj_hudv.dispose
soja_scemap_ter_hudv
end
def update
soja_scemap_upd_hudv
@soj_hudv.update
end
end
출처: rpgrevolution.com