RPGVX.net
RPG-Maker VX => VX Technik [Frageforum] => Thema gestartet von: yoru-san am Mai 20, 2011, 17:52:39
-
hallo, hier meine frage:
habe ingame einen switch und würde gerne einen teil vom script starten lassen, wenn der switch im game aktiviert wird.
in pseude-sprache sollte das etwa so aussehen:
wenn switch mit switch id 5 =aktiviert
ausgabe variable
habe im internet nach befehlen gesucht und folgenden probiert:
if $game_switches [5] == true
self.contents.draw_text(30, 0, 80, 400, var1)
else
end
fehlermeldung: undefined method [] for nil:NilClass
ohne if-anweisung funktioniert die ausgabe.
was mach ich falsch, was muss ich tun? (sorry, bin ne niete im programmieren :cry: )
-
an sich ist das Script ja richtig... allerdings stelln sich mir die fragen
1.: Wo haste diesen Schnipsel drin?
2.: haste ma mit $game_switches[5] verscuht? weil du hast nochn leerzeichen ... glaube das führt auch zu nem fehler
-
1) in window_status:
def refresh
(...)
end
$game_switches[5]
(...)
2) ohne leerzeichen kommt die gleiche fehlermeldung
-
sry wegen doppelpost, weiß nicht wo ich löschen kann :misdoubt:
hier mal der teil vom code den ich verändert hab:
lass Window_Status < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 544, 416)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#-------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 128, 0)
draw_actor_face(@actor, 8, 32)
draw_basic_info(128, 32)
draw_variable(4, 128)
end
if $game_switches[5] == true
def draw_variable(x, y)
var1 ="Stärke:"
var2 ="Speed:"
var3 ="Waffenkunst:"
var4 ="Ki-kontrolle:"
var5 ="Resistenz:"
extra1 = $game_variables[003]
extra2 = $game_variables[004]
extra3 = $game_variables[005]
extra4 = $game_variables[006]
extra5 = $game_variables[007]
self.contents.font.color = normal_color
self.contents.draw_text(30, 0, 80, 400, var1)
self.contents.draw_text(30, 0, 80, 450, var2)
self.contents.draw_text(30, 0, 80, 500, var3)
self.contents.draw_text(30, 0, 80, 550, var4)
self.contents.draw_text(30, 0, 80, 600, var5)
self.contents.draw_text(60, 0, 80, 400, extra1, 2)
self.contents.draw_text(60, 0, 80, 450, extra2, 2)
self.contents.draw_text(60, 0, 80, 500, extra3, 2)
self.contents.draw_text(60, 0, 80, 550, extra4, 2)
self.contents.draw_text(60, 0, 80, 600, extra5, 2)
end
else
def draw_variable(x, y)
end
end
#--------------------------------------------------------------------------
# * Draw Basic Information
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
def draw_basic_info(x, y)
draw_actor_state(@actor, x, y + WLH * 1)
draw_actor_hp(@actor, x, y + WLH * 2)
draw_actor_mp(@actor, x, y + WLH * 3)
end
(usw...)
-
für das was du vor hast empfelhle ich dir das deity hud deluxe
erfüllt die gleichen optionen mit besseren einbindungen und ist leicht zu bediehnen
-
heyey,
die Switchabfrage gehört in die Methode draw_variable(x,y) (:
würde dann bei dir wie folgt aussehn:
def draw_variable(x,y)
if $game_switches[3] == true
(deine Codezeilen aus dem draw_variable(x,y)
end
end
wobei ich mich grad Frage wofür du bei draw_variable noch x und y angibst, obwohl es
in der Methode selbst dann nicht gebraucht wird oO
Mach die mal weg, dann dürfte es funktionieren wenn ich mich nicht irre.
lg flip
-
heyey,
die Switchabfrage gehört in die Methode draw_variable(x,y) (:
yay, es funktioniert :haha_zwinker:
für das was du vor hast empfelhle ich dir das deity hud deluxe
das wäre ne option, aber jetz funktionierts ja^^
wobei ich mich grad Frage wofür du bei draw_variable noch x und y angibst, obwohl es
in der Methode selbst dann nicht gebraucht wird oO
stimmt, ka warum ich das noch drin hatte :what:
jedenfalls vielen dank für die schnelle hilfe! :haha: