Also hab hier mal ein Script geschrieben, welches es erlaubt ganz einfach ein eigenes Variablen-Fenster auf dem Screen zu erzeugen...
Im Module kann man dann die wesentlichsten Dinge einstellen, der Rest ist im Script erklärt.
Credit-Eintrag ist zwar nicht nötig, aber gern gesehn ;)
Viel Spaß damit...
# SARTEKK's SIMPLE_VARIABLEN_WINDOW
# don't claim as your own
# Credit-Eintrag gern gesehn
#----------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------
# * WIE FÜGE ICH VARIABLEN HINZU?
#----------------------------------------------------------------------------------------
#----------------------------------------------------------------------------------------
# Um neue Variablen einzufügen und anzeigen zu lassen,
# muss ein Name der Variable unter module Modify deklariert werden...
# z.B.: VAR2 = 20
# VAR2 = Variablenname im Script ; 20 Variablen-ID
# Als nächstes unter update die Variable neu hinzufügen, um sie fertigzustellen
# z.B.: @vari20 = $game_variables[VAR2]
# hier wäre der Typ z.B. die Game_Variable mit der ID von VAR2, welche in
# module Modify deklariert wurde.
# Natürlich kann die Variable auch jeden beliebigen Typ haben...
# Wie z.B. $game_actors[ID/Variable].hp oder .mp oder so etwas ähnliches
# Um diese Variable jetzt anzeigen zu lassen
# fehlt nur noch folgendes unter update:
# self.contents.draw_text(x-position,y-position,max. Textlänge, max. Texthöhe,Variable)
# was z.B. so aussehen könnte:
# self.contents.draw_text(30, 60, 200, 32, @vari20)
module Modify
WIN_X = 240 #Window X Position
WIN_Y = -18 #Window Y Position
WIN_W = 140 #Window Breite
WIN_H = 150 #Window Höhe
WIN_OPACITY = 100 #Sichtbarkeit des Fensters [0 ~ 255]
WIN_TITLE = "Varis" #Titel des Window
TITLE_VIS_SWITCH = 1 #Switch-ID, mit welcher man den Titel an oder ausschalten kann
FONT_SIZE = 20 #Schriftgröße
VAR_ACT = 1 #Irgendeine unten verwendete Variable, hier: Variable des Actors
VAR1 = 1 #Irgendeine unten verwendete Variable
end
class Simple_Vari_Window < Window_Base
include(Modify)
def initialize
super(WIN_X, WIN_Y, WIN_W, WIN_H) #Erstellt Window
self.contents = Bitmap.new(width-32, height-32)
self.opacity = WIN_OPACITY
self.contents.font.name = "Arial" #Font-Name
self.contents.font.bold = true #Fett
update
end
def update
@vari1 = $game_actors[VAR_ACT].hp #Variable
@vari2 = $game_actors[VAR_ACT].mp #Variable
@vari3 = $game_variables[VAR1] #Variable
self.contents.clear
if $game_switches[TITLE_VIS_SWITCH] == true #Titel sichtbar an/aus?
self.contents.font.size = FONT_SIZE
self.contents.font.color = system_color
self.contents.draw_text(10, 0, 200, 32, WIN_TITLE) #Wiedergabe des Titels
end
self.contents.font.size = FONT_SIZE
self.contents.font.color = normal_color
self.contents.draw_text(0, 20, 200, 32, "HP: ")
self.contents.draw_text(0, 40, 200, 32, "MP: ")
self.contents.draw_text(30, 20, 200, 32, @vari1) #Wiedergabe der Variable
self.contents.draw_text(30, 40, 200, 32, @vari2) #Wiedergabe der Variable
self.contents.draw_text(30, 60, 200, 32, @vari3) #Wiedergabe der Variable
end
end
class Scene_Map < Scene_Base
#Class, um das Fenster direkt anzuzeigen
alias vari_window_start start
alias vari_window_update update
alias vari_window_terminate terminate
def start
vari_window_start
@vari_window = Simple_Vari_Window.new #startet die class
@vari_window.visible = false
show_window
end
def update
vari_window_update
show_window
@vari_window.update
end
def terminate
vari_window_terminate
@vari_window.dispose
end
def show_window
@vari_window.visible = true
end
end
Bei Fragen oder Fehler/Bugs pls hier reinposten... Ich werde mich dann so Gut wie möglich drum kümmern ;)