RPGVX.net
RPGVX.net => RPGVX.net Service => Archiv => Thema gestartet von: Michel am Dezember 23, 2009, 18:31:14
-
Ich will den Faktor "Ausdauer" in mein Spiel einbauen
und wollte fragen, ob mir jemand scriptmäßig weiterhelfen kann.
-> es wird eine Variable "Ausdauer" mit zB 2000 festgesetzt
-> immer wenn der Held einen Schritt macht, wird von der Variable 1 abgezogen
-> wenn "Ausdauer" 0 erreicht, sollen HP abgezogen werden dh
wenn der Held immer weiter geht wird er irgendwann mal sterben
-> wenn der Held sich nicht bewegt, soll sich die Ausdauer erholen zB 1 pro 60 Frames
-> es soll auch möglich sein, die Ausdauer in Form von Schlaf erholen zu lassen
(wie man ein Schlaf-Script erstellt, weiß ich =D)
Ich würde mich sehr freuen, wenn jemand ne Idee hätte!
GreEtZ
michel
-
Hi,
vllt hilft dir ja dieses Script: http://www.rpgvx.net/index.php/topic,3728.0.html
Falls nicht, würde ich dir empfehlen, das ganze mit Events zu lösen, weil es wirklich simpel ist.
Fast das ganze System kann in einem Common Event untergebracht werden, und das Schalfen etc. ist ebenfalls ganz simpel zu lösen.
Falls du nicht weiterkommst, kannst du ruhig Fragen stellen.
MfG
Deity
-
Ich hab das Bedürfnissystem ausprobiert..
Es entspricht jedoch nicht ganz dem, was ich mir vorstelle.
Ich habe beschlossen, mein Vorhaben in einem Common Event umzusetzen.
Meine Frage lautet nun:
Wie frage ich danach, ob sich der Player bewegt oder stillsteht?
lg michel
-
HI,
du musst 2 Variablen die Schrittanzahl zuordnen, und sobald eine Variable nicht der zweiten Variable enspricht, wurde 1 Schritt gemacht.
Dafür wird 1 Variable ständig der Schrittanzahl gleichgesetzt, und die zweite wird nur dann der Schrittanzahl gleichgesetzt, falls die beiden Variablen nicht gleich sind. Falls die Variablen gleich sind, so steht der Spieler still.
MfG
Deity
-
Alternativvorschlag:
(http://s1.imageapple.net/img/4v0avxawo/Ausdauer.png)
So wird Ausdauer um eins reduziert wenn du nach
Oben, Unten, Links oder Rechts drückst.
Die 15 Frames warten sind wichtig weil sonst wird zu viel auf einma oder
garnix abgezogen^^
Kannsts ja ma so versuchen.
-
Den Vorschlag von Deity hab ich umgesetzt..
Das Problem bei dir Snake liegt darin, dass die Ausdauer auch dann abgezogen wird, wenn der Player keinen Schritt macht zB wenn er ständig gegen die Mauer rennt..
aber das ist denk ich Geschmackssache.. trotzdem Danke für den Vorschlag! =)
Meine letzte Bitte ist nun:
Ich will die Variable "Ausdauer" auf dem Bildschirm in Form eines Balkens anzeigen lassen!
Ich denke hierfür bedarf es eines Scripts.. Kennt ihr ein Script, womit man
eine Variable (und nicht HP oder MP) anzeigen lassen kann?
lg michel
-
Oh okay, an das dachte ich jetzt nicht, bzw. hatte
das nicht getestet. Aber naja... An sich wärs ja "realistisch"...
Strengt ja auch an wenn man gegen ne Mauer läuft xDDD
Aber wie du sagtest, Geschmacksache^^
-
Wegen der Anzeige:
Das kannst du mit Bildern machen und nem Event im PP.
Kannst die CBs in 5% schritten machen, aber dann ist sie nie soooo genau.
Außerdem musst du ne menge Bilder machen ^^
Ich mache das immer und auch gerne bei meinen Spielereien mit HUDs, aber das ist Geschmacks und Geduldssache.
MfG
-
Hi,
Falls du es mit einem Script machen willst, könntest du dieses benutzen: (Die Settings am Anfang bestimmen nicht vergessen!)
=begin
Script : Ausdauer HUD
für Michel
von Deity
=end
module Condition
VAR_ID = 1 # ID der Variable, die die Ausdauer darstellt
MAX_VALUE = 2000 # Maximaler Ausdaerwert
SWITCH_ID = 1 # Switch, der für die Sichtbarkeit des HUD's dient
WIDTH = 100 # Breite des Balkens
HEIGHT = 10 # Höhe des Balkens
RAND = 2 # Rand des Balkens
BACKGROUND = Color.new(10,10,10,255) # Hintergrundfarbe
FILL_1 = Color.new(255,60,60,150) # Füllfarbe 1
FILL_2 = Color.new(255,60,60,255) # Füllfarbe 2
X_COR = 10 # X-Koordinate des HUD's
Y_COR = 0 # Y-Koordinate des HUD's
CON_TEXT = "Ausdauer" # Anzeigetext ( falls nicht gebraucht("") )
OPACITY = 0 # Sichtbarkeit des Fensters
end
include Condition
class Window_Condition < Window_Base
def initialize
super(X_COR,Y_COR,WIDTH+32,52 + HEIGHT)
self.opacity = OPACITY
self.visible = false
@controll = 0
refresh
end
def refresh
self.contents.clear
self.contents.fill_rect(0, WLH - HEIGHT, WIDTH, HEIGHT, BACKGROUND)
gw = WIDTH - (2 * RAND)
gw = (gw*$game_variables[VAR_ID])/MAX_VALUE
self.contents.gradient_fill_rect(RAND, RAND + WLH - HEIGHT, gw, HEIGHT - (2*RAND), FILL_1, FILL_2)
self.contents.draw_text(RAND + 1,0,WIDTH,WLH,CON_TEXT,0)
@controll = $game_variables[VAR_ID]
end
def update
if @controll != $game_variables[VAR_ID]
refresh
end
end
end
class Scene_Map
alias start_con start
alias update_con update
alias terminate_con terminate
def start
start_con
@conditional_window = Window_Condition.new
end
def terminate
terminate_con
@conditional_window.dispose if @conditional_window != nil
end
def update
update_con
if @conditional_window.visible == false && $game_switches[SWITCH_ID] == true
@conditional_window.visible = true
end
if @conditional_window.visible == true && $game_switches[SWITCH_ID] == false
@conditional_window.visible = false
end
@conditional_window.update if @conditional_window != nil && @conditional_window.visible == true
end
end
Falls du es mit Events machen willst, könntest du es entwder mit einzelnen Bildern machen, oder mit einen einzigen und dem Zoombefehl (Ich liebe diese HUD's ^^).
Bei vielen Bilder wird es grafisch aufwendiger, und die Größe des Projektes erhöht, sieht aber dafür eigentlich besser aus.
Bei einem einzigen ist nur das Aussehen beschränkt, allerdings ist es simpel und verbraucht kaum Platz.
MfG
Deity
-
Danke Deity!
Das Script ist genau das was ich brauche!
Gemeinsam mit meinen Common Events habe ich bereits 99% meines Vorhabens realisiert.
Das Problem ist nur, dass ich ca. nach 5 min. (Test-)Spielzeit keine Fehlermeldung in dem Sinn bekomme, sondern ein Fenster wo steht: "RGSS2 Player funktioniert nicht mehr", worauf ich das Spiel abbrechen muss. Das ist bitter.
Ich weiß nicht, woran es liegt. Vielleicht an meinen 43 Scripts oder 4 parallelen CE's.
Jedenfalls habe ich dein Script neugierhalber mal weggegeben, worauf das Spiel wieder normal funktioniert hat. Hm... Echt blöd.
Hast du vielleicht ne Idee?
lg michel
-
Hay.
Ich schaue es mir noch einmal an, und wenn ich was rausfinde, gebe ich bescheid. ALlerdings drüfte es doch keine Probleme geben, da ich schon viele solcher HUD's gemacht habe, und die Basis ist immer die selbe.
Was hast du genau gemacht, als die Meldung gekommen ist?
MfG
Deity