RPGVX.net
RPGVX.net => RPGVX.net Service => Archiv => Thema gestartet von: Charlie Dünnens am Juni 18, 2010, 06:11:26
-
Hallo liebe Community.
Ich kann leider nicht scripten, brauch aber für die meisten meiner Projekte ein bestimmtes kleines Script welches ich so in der Form noch nicht gefunden habe.
Deshalb wäre es nett, wenn einer von euch mir dieses Script scripten könnte.
Alles was es können müsste wäre Folgendes:
-Anzeigen von verschiedenen Variablen auf dem Screen; in Echtzeit (logisch)
-Anzeigeposition der einzelnen Variablen einstellbar
-Anzeige der einzelnen Variablen mit einem Switch (einer pro Variable) an und ausschaltbar.
Das wär's eigentlich schon. Ich brauche kein Fenster um die Variable, oder keine grafische Gestaltung, einfach nur die Anzeige.
Da ich dieses Script OFT nutzen würde, gäbe es als "Belohnung" natürlich einen Crediteintrag in jedem dieser Projekte, sowie mehrere Gastrollen.
Vielen Dank schon mal für eure Mithilfe,
Charlie
PS: Wenn jemand GENAU so ein Script oder eine Eventtechnische Lösung hat darf er mir die natürlich auch gern mitteilen :D
-
HI,
da ich vor längerer Zeit mal ein geschrieben habe, gebe ich es dir gern.
Die Benutzung ist eigentlich ganz simpel und ist im Header erklärt.
Hoffe es gefällt dir. ^^
module Variable_HUD
# Um weitere Variablen hinzuzufügen, die angezeigt werden sollen,
# musst du nur folgendes machen:
# Füge unter SHOWED_VARIABLES = [
# folgendes ein:
# [Variableid , X-Koordinate, Y-Koordinate, Switchid , "Text"],
# Für jeden EIntrag wird eine Variable angezeigt.
# Variableid = ID der Variable, die angezeigt werden soll
# X-Koordinate = Horizontale Koordinate
# Y-Koordinate = Vertikale Koordinate
# Switchid = ID des Schalters, der die Sichtbarkeit ändert
# "Text" = Text def direkt vor der Variable angezeigt werden soll.
SHOWED_VARIABLES = [
#[Variableid , X-Koordinate, Y-Koordinate, Switchid , "Text"],
[1 , 10 , 10 , 1 , "HP "],
[2 , 10 , 40 , 2 , "MP "],
] # <= Nicht löschen!
# Ein simples Beispiel:
# Nehmen wir an, dass der Wert der ersten Variable 100 wäre, und der Text
# "HP" wäre.
# Das Ergebnis wäre: HP 100
# Ist kein Text vorhanden ("") so wird dieser ausgelassen.
end
include Variable_HUD
class Variable_HUD_Sprite
def initialize
@hud = Sprite.new
@hud.bitmap = Bitmap.new(544,416)
@values = []
for i in SHOWED_VARIABLES
@values[i[0]] = []
@values[i[0]][0] = $game_variables[i[0]]
@values[i[0]][1] = $game_switches[i[3]]
end
refresh
end
def refresh
@hud.bitmap.clear
for i in SHOWED_VARIABLES
next if !$game_switches[i[3]]
@hud.bitmap.draw_text(i[1],i[2],@hud.bitmap.text_size(i[4]).width,24,i[4],0)
@hud.bitmap.draw_text(i[1]+@hud.bitmap.text_size(i[4]).width,i[2],@hud.bitmap.text_size($game_variables[i[0]].to_s).width,24,$game_variables[i[0]].to_s,0)
end
end
def update
return if !need_update?
refresh
end
def dispose
@hud.dispose
end
def need_update?
for i in SHOWED_VARIABLES
if @values[i[0]][0] != $game_variables[i[0]]
@values[i[0]][0] = $game_variables[i[0]]
return true
elsif @values[i[0]][1] != $game_switches[i[3]]
@values[i[0]][1] = $game_switches[i[3]]
return true
end
end
return false
end
end
class Spriteset_Map
alias create_characters_var_hud create_characters unless $@
def create_characters
create_characters_var_hud
@var_hud = Variable_HUD_Sprite.new
end
alias update_var_hud update unless $@
def update
update_var_hud
@var_hud.update
end
alias dispose_var_hud dispose unless $@
def dispose
dispose_var_hud
@var_hud.dispose
end
end
MfG
Deity
-
Wow, danke^^
Könnte durchaus genau das sein, nachdem ich gesucht hab *freudepur*.
Ich schätz mal, man muss es ganz klassisch unter "Material" einfügen, oder?
Wie versprochen gibt's natürlich die Credit-Einträge und (so fern es Sinn macht) Gastrollen.
Falls es Probleme gibt melde ich mich per PM, falls genehm.
In dem Fall:
Danke nochmal,
Charlie
PS: Kann geclosed werden.
-
Ja, es soll einfach nur unter Materials eingefügt werden. Ich hoffe die Benutzung ist verständlich.
Auf wunsch close ich auch sofort. ^^
Bei Fragen einfach PM senden.
MfG
Deity