• Anmelden

xShenx

Ankömmling

  • »xShenx« ist der Autor dieses Themas

Motto: Die Welt ist hart aber grausam...

  • Nachricht senden

1

Sonntag, 10. Oktober 2010, 23:54

[Suche:] Fortschrittsbalken

Also, da ich leider absolut gar keine (aber sowas von) Ahnung vom Skripten habe, stelle ich mal hier eine Anfrage:

Ich suche ein Skript welches mir ermöglicht einen Fortschrittsbalken à la WoW Caster/Channeling Balken zu erstellen.

Das heist in etwa: Ein Balken der von links nach Rechts geht (Für die Herstellung von Gegenständen), und ein Balken der von Rechts nach Links !herunterzählt!(Z.b Für Beschwörung).

Das ganze sollte optimalerweise per Callskript Verfügbar sein und einen individuellen Text anzeigen lassen (Für jeden Call extra)

Hoffe ich habe mich verständlich ausgedrückt :))) Vielleicht hat ja jemand von euch sowas oder würde es mir schreiben. Creditseintrag kann ich bieten, auch gerne ne Gastrolle oder ne extraerwähnung.

xShenx :hilfe:
!NEUES Spiel! FocusRPG !NEUES Spiel!
Klicke auf den Link um die offizielle Seite von FocusRPG zu besuchen.
Spoiler
Vorstellung geplant: November
zum Lesen den Text mit der Maus markieren

Spoiler
Client Release: Januar/Februar
zum Lesen den Text mit der Maus markieren

Clientfortschritt:
Bild

xShenx

Ankömmling

  • »xShenx« ist der Autor dieses Themas

Motto: Die Welt ist hart aber grausam...

  • Nachricht senden

2

Freitag, 15. Oktober 2010, 14:27

*Push* (Leute, kann mir niemand helfen???)
!NEUES Spiel! FocusRPG !NEUES Spiel!
Klicke auf den Link um die offizielle Seite von FocusRPG zu besuchen.
Spoiler
Vorstellung geplant: November
zum Lesen den Text mit der Maus markieren

Spoiler
Client Release: Januar/Februar
zum Lesen den Text mit der Maus markieren

Clientfortschritt:
Bild

Motto: Du kannst zwar niemals die Perfektion an sich erreichen, jedoch solltest du auch nicht vor ihr weglaufen

  • Nachricht senden

3

Freitag, 15. Oktober 2010, 15:07

ich hab zwar nix spezielles für dein problem, aber eine möglicherweise alternative. also wenn du dich anstrengst und dich ein bisschen in das CE reinversetzt, kommst du zu deinem ergebnis, was super modifizierbar ist. falls du probleme hast damit (nachdem du es selbst probiert hast) kann ich dir helfen. dazu muss ich sagen, dass es nicht von mir ist.
»Vito Corleone« hat folgende Datei angehängt:
  • Hunger.rar (178,47 kB - 5 mal heruntergeladen - zuletzt: 27. Juni 2012, 19:22)
Spoiler
Mapping: :star: :star: :star-empty: :star-empty: :star-empty:
Scripting: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
Eventing: :star: :star: :star: :star: :star-empty:
Brainstorming: :star: :star: :star: :star-empty: :star-empty:
pic-Editing: :star: :star-half: :star-empty: :star-empty: :star-empty:
Music-komposing: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
Real-Living: :heart: :heart: :heart: :heart: :heart:

Hauptprojekt: Sons of a new World (Simulation)
Spoiler
Sons of a new World - Die Story

Unsere Reise beginnt an einem heißen Nachmittag im Juni 1999 in Mollywood. Einem 210.824 Einwohner kleinem Stadtteil von Los Devilis. Bis vor kurzem war das Leben hier noch in bester Ordnung. Die Arbeitslosenzahlen sanken jährlich, die Computerindustrie boomte und verschaffte jeden halbwegsintelligenten Bürger einen hohen Wohlstand. Aber etwas erschütterte die Menschen wie ein Laubfeuer in ihren Meinungen an eine glückliche Zukunft. Ein örtlich aufstrebender Zeitungsverlag meldete zum ersten Mal, das die Welt in Gefahr sei und die Unterschicht der Bevölkerung schenkte ihr gehör.

Beruhigende Worte des wiedergewählten Präsidenten Warnold Whitennegger konnten jedoch seine fleißigen Bürger besänftigen, bevor diese Meldungen über die Landesgrenzen hinaus schwappten.

Nichts desto trotz glauben die Menschen noch immer an den bevorstehenden Untergang der unabstreitbaren technologieabhängigen Weltbevölkerung zur Jahrtausendwende. Hochtitulierte Historiker, Wissenschaftler mit einem IQ von durchschnittlich 190 und überbezahlte Informatiker glauben fest daran, dass alle computergestützen Maschinen sich gegen die stumpfen Menschen auflehnen und in einem fürchterlichen Krieg besiegen werden. Doch gibt es bis jetzt noch keinen Beweis dafür, da der Informant der letzten Katastrophenmeldung sich scheinbar in Luft auflöste.

Sapple, ein Unternehmen, welches für seine überaus teuren Sapple-Computer und oPads bekannt wurde, fanden kurz darauf Hinweise in einem ihrer neusten oPhones. Eine uncodierte Quellcodepassage beschreibt unverwechselbar den Verlauf des Jüngsten Gerichts.

Zuerst dachte man daran, dass ein Sapple-Mitarbeiter sich einen Scherz erlaubte. Doch erwies sich das als Irrweg. Die Erkenntnis über die absolute Echtheit des Quellcodes stellte sich heraus, als sich eine Hand voll Programmierer versuchten, die indentifizierten Passagen zu löschen. Jedoch ohne Erfolg. Immer wieder verweigerte Notepad das Speichern und führte stets wiederholend zu einem Blue-Screen mit dem Fehlercode WEWILLKILLYOU.

Obwohl nun alles für den Weltuntergang spricht, gibt es immer noch ein paar Menschen, die sich versappelt fühlen. So soll der kürzlichst ausgerufene Katastrophen-Notstand insgeheim von den Killuminaten herbeigerufen worden sein, um endlich die Welt offiziell erobern zu können, welche es schon seit Jahrhunderten vergeblich mit allen Mitteln versuchten wie mit dem Blacksaturday, dem purpurnen Vorhang oder die World-Mall-Zerstörung.

So und nicht anders denkt auch unser junger Protagonist an eine Verschwörung. Wir nennen ihn mal fortan Klaus.

Klaus, 22 Jahre jung, blaue Augen, braune Haare. Arbeitet seit er 18 ist, ehrenamtlich beim örtlichen Naturschutz. Ein ganz gewöhnlicher Bürger von Mollywood. Wie jeden Samstag Nachmittag genießt Klaus seinen erholsamen Spaziergang im öffentlichen Park um die Ecke. Ihm faszinieren stets aufs neue die wunderschön spriesenden Gräser, die farbenprächtigen Blumen, welche er schon im Schlaf mit lateinischem Namen aufsagen kann und die vorbeifliegenden Schmetterlinge, die er schon alle einen eigenen Namen gab und bei Gelegenheit auch grüßt.

Unser friedlicher Protagonist war jedoch nicht immer so friedliebend. Klaus verbrachte seine Heranwachsendenzeit wie jeder Junge seinerzeits mit ausgelassenen Partys bis zum Morgengrauen.

Heute dachte Klaus mal wieder daran seinen Lieblingsbaum zu streicheln. Er vergaß es schon sooft und packte die Gelgenheit am Schopf. Klaus musste nur noch über die Brücke um ihn zu erreichen. Doch dann begann etwas, was er bis heute nicht vergaßund schildert es in seinem Tagebuch mit folgenden Worten:


Liebes Tagebuch,

ich schreibe dir heute dem 27.08.1999, weil mir etwas Furchbares passierte. Du wirst es nicht glauben, aber ich werde gerade gekidnappt und das noch bevor ich meinen Baum streicheln konnte. Ich kann es bisher immer noch nicht fassen...

Ich befinde mich gerade auf einem Schiff oder in einem Ballon. Ich kann es dir nicht genau sagen. Es ist sehr dunkel und ich habe nur meinen beleuchteten Kugelschreiber, der mir etwas von meiner Umgebung verrät.Ich sehe einige Geräte. Es scheinen Toaster, Mikrowellen und Computer zu sein. Ob es etwas mit dem Untergang der Welt zu tun hat? Ich kann es mir nicht erklären, was hier vor sich geht, aber ich bin sicher, dass ich es bald erfahren sollte.

Oje, unser armer Klaus. Er scheint deine Hilfe jetzt wirklich dringend zu benötigen. Wirst du ihm Helfen, sich aus dieser misslichen Lage zu befreien? Klaus und meine Wenigkeit zählen auf dich, also starte ein neues Spiel im Story-Modus oder bestreite es mit/ gegen einen Freund am gleichen Computer und lüfte das Geheimnis um den misteriösen Weltuntergang und der Gefangennahme vom verzweifelten Klaus.
zum Lesen den Text mit der Maus markieren

Nebenprojekte:
Spoiler
MySimCity (Wirtschaftssimulation)
zum Lesen den Text mit der Maus markieren
zum Lesen den Text mit der Maus markieren

4

Freitag, 15. Oktober 2010, 16:42

Hab mal was kleines geschrieben, sollte grundsätzlich deinen vorstellungen entsprechen:

Spoiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
class Scene_Map
 
  alias balken_initialize initialize
  def initialize
    @balken = nil
    @balken_maximum = 0
    @balken_stand = 0
    @balken_type = 0
    balken_initialize  
  end  
 
  def balken_erstellen(x, y, text, maximum, type = 0)
    @balken_maximum = maximum
    @balken_type = type
    if @balken_type == 0
      @balken_stand = @balken_maximum
    else
      @balken_stand = 0
    end
    @balken = Sprite.new
    @balken.bitmap = Bitmap.new(96, 32)
    @balken.x = x
    @balken.y = y
    @balken.z = 1000
  end
 
  def balken_löschen
    @balken.dispose
    @balken = nil
  end
 
  def update_balken
    @balken.bitmap.dispose
    @balken.bitmap = Bitmap.new(96, 32)
    background = RPG::Cache.picture("Balken_back")
    rect = @balken.bitmap.rect
    @balken.bitmap.blt(0, 0, background, rect)
    background = RPG::Cache.picture("Balken_fill")
    stand = (96.0 / @balken_maximum) * @balken_stand
    rect = Rect.new(0, 0, stand ,32)
    @balken.bitmap.blt(0, 0, background, rect)
  end
 
 
  alias balken_update update
  def update
    if @balken != nil
      if @balken_type == 0 && @balken_stand > 0
        @balken_stand -= 1
      elsif  @balken_stand < @balken_maximum
        @balken_stand += 1
      end
      update_balken
    end
    balken_update
  end  
end
zum Lesen den Text mit der Maus markieren


Einfach in einem neuen Script im Scripteditor über Main rein..

Habs bereits getestet und funktioniert soweit, probiers mal mit den angehängten Grafiken aus (einfach in den Ornder Grafik/Pictures rein).

Benutzen tust du das ganze per Call-Script so:

Quellcode

1
$scene.balken_erstellen(x, y, text, maximum, type)


x und y geben die Koordinaten der Box an. text steht für einen anzuzeigenden text (dieses Features fehlt derweil noch), maximum gibt den maximalen Wert des Balkens an (der Balken hat also einen bestimmten Wert, dieser wird automatisch rauf/runtergezählt), und mit type gibts du schließlich an ob der Balken runtergezählt (0) oder raufzählt (1) werden soll. Sieht also z.B. so aus:

Quellcode

1
2
$scene.balken_erstellen(100, 50, "Test", 100, 1) #erstellt einen Balken der von 100 rechts nach links abwärts gezählt wird
$scene.balken_erstellen(100, 50, "Test", 200, 0) #erstellt einen Balken von 200 der von links nach rechts raufgezählt wird


Löschen tust du den Balken mit

Quellcode

1
$scene.balken_löschen


Schau dir mal an ob das sowas ist wie du es dir vorgestellt hast, wenn ja dann mach ich dieses Script fertig, also mit Textanzeige, Abfragen ob der Ballken gefüllt/geleert wurde, für jeden Balken variable Zauberzeit, etc.. sag mir halt einfach was du alles brauchst. Sag mir pls auch inwieweit du die Größe usw des Balken im Spiel oder auch sonst ändern möchtest.

mfg
The King
»The King« hat folgende Bilder angehängt:
  • Balken_back.png
  • Balken_fill.png
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »The King« (15. Oktober 2010, 16:42)


xShenx

Ankömmling

  • »xShenx« ist der Autor dieses Themas

Motto: Die Welt ist hart aber grausam...

  • Nachricht senden

5

Freitag, 15. Oktober 2010, 21:41

Wow, danke ich probiers aus!!!

€: Geil, ich will die Textfunktion :)))))))!!!!!!!!
!NEUES Spiel! FocusRPG !NEUES Spiel!
Klicke auf den Link um die offizielle Seite von FocusRPG zu besuchen.
Spoiler
Vorstellung geplant: November
zum Lesen den Text mit der Maus markieren

Spoiler
Client Release: Januar/Februar
zum Lesen den Text mit der Maus markieren

Clientfortschritt:
Bild

6

Samstag, 16. Oktober 2010, 17:39

Spoiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
#===============================================================================
# ** Fortschrittsbalken
#-------------------------------------------------------------------------------
#
# Autor: The King
# Version: 0.6
# Stand: 16.10.2010
#
# 1. Vorbereitung:
#
# Im Ordner Graphics/Pictures müssen 2 gleich große Bilder sein:
#
#  "Balken_fill" (Füllung des Balkens)
#  "Balken_background" (Hintergrund des Balkens)
#
# Um die Größe der Grafiken einzustellen sucht die Zeile
#
#   @sprite.bitmap = Bitmap.new(96, 32)
#
# Und ändert die Zahlen in die Größe eurer Grafik ( Bitmap.new(Breite/Höhe) )
#
# 2.Benutzung:
#
# Ruft per Call-Script auf:
#
# $scene.balken_erstellen(x, y, maximum, typ, text)
#
# erstellt einen Balken an der Stelle x/y mit einem bestimmten Text. 
# typ gibt an ob der Balken gefüllt (0) oder geleert (1) wird.
# maximum gibt den Wert an den der Balken bei maximaler Füllung hat
# (egal welcher Typ).
#
# Beispiel:
#   $scene.balken_erstellen(200, 100, 96, "Zaubern", 0)
#
# Das erstellt einen Balken an der Position 200/100 mit der Inschrift "Zaubern"
# der mit 96 Punkten beginnt und stetig runtergezählt wird.
#
#
# $scene.balken_fertig? 
#
# fragt entweder per call-script oder conditional branch
# ab ob der Balken abgearbeitet wurde (unabhängig vom Typ) und gibt in dem Fall
# "true" zurück, ansonsten "false"
#
# Beispiel:
#   if $scene.balken_fertig == true
#
#
# $scene.balken_löschen 
# 
# löscht den Balken komplett.
# 
# 3. Einstellungen
# Ihr könnt einige Einstellungen für den Text am Ende des Scripts unter
# "def text_settings" treffen
#-------------------------------------------------------------------------------
#
# Freie Verwendung, jedoch bei Benutzung Credits-Vergabe ;)
#
#===============================================================================
 
#----------------------------------------------------------------------------
# class Scene_Map
# zusätzliche Befehle für den Fortschrittsbalken
#----------------------------------------------------------------------------
class Scene_Map
 
  #--------------------------------------------------------------------------
  # balken_erstellen
  # Erzeugt den Fortschrittsbalken
  #--------------------------------------------------------------------------
 
  def balken_erstellen(x, y, maximum, text = "", typ = 0)
    @balken = Balken.new(x, y, maximum, text, typ)
  end
 
  #--------------------------------------------------------------------------
  # balken_löschen
  # Löscht den Fortschrittsbalken
  #--------------------------------------------------------------------------
 
  def balken_löschen
    @balken.dispose if @balken != nil
    @balken = nil
  end
 
  #--------------------------------------------------------------------------
  # balken_fertig?
  # Fragt ab, ob der Balken geleert (Tpy 0) oder gefüllt (Typ 1) wurde
  #--------------------------------------------------------------------------
 
  def balken_fertig?
    return false if @balken == nil
    return @balken.fertig?
  end
 
  #--------------------------------------------------------------------------
  # alias update
  # Fügt ein Update für den Balken hinzu
  #--------------------------------------------------------------------------
  alias balken_update update
  def update
    @balken.update if @balken != nil
    balken_update
  end  
end
 
#----------------------------------------------------------------------------
# class Balken
# Die Klasse für den Fortschrittsbalken
#----------------------------------------------------------------------------
class Balken
 
  #--------------------------------------------------------------------------
  # initialize
  # Erstellt den Balken
  #--------------------------------------------------------------------------
 
  def initialize(x, y, maximum, text, typ)
    @maximum = maximum
    @typ = typ
    if @typ == 0
      @stand = @maximum
    else
      @stand = 0
    end
    @text = text
    @sprite = Sprite.new
    @sprite.bitmap = Bitmap.new(96, 32)
    @sprite.x = x
    @sprite.y = y
    @sprite.z = 1000
    text_settings
  end
 
  #----------------------------------------------------------------------------
  # update
  # Aktualisiert den Balken
  #----------------------------------------------------------------------------
 
  def update
    if @typ == 0 && @stand > 0
      @stand -= 1
    elsif @stand < @maximum
      @stand += 1
    end
    draw
  end
 
  #----------------------------------------------------------------------------
  # draw
  # zeichnet den Balken
  #---------------------------------------------------------------------------- 
 
  def draw
    background = RPG::Cache.picture("Balken_fill")
    width = @sprite.bitmap.width
    stand = (width / @maximum) * @stand
    height = @sprite.bitmap.height
    rect = Rect.new(0, 0, stand ,height)
    @sprite.bitmap.blt(0, 0, background, rect)
    rect = @sprite.bitmap.rect
    @sprite.bitmap.draw_text(rect, @text, 1)
  end
 
  #----------------------------------------------------------------------------
  # draw
  # zeichnet die Hintergrundgrafik des Balkens
  #----------------------------------------------------------------------------   
 
  def draw_background
    background = RPG::Cache.picture("Balken_back")
    rect = @sprite.bitmap.rect
    @sprite.bitmap.blt(0, 0, background, rect)
  end
 
  #----------------------------------------------------------------------------
  # dispose
  # löscht die Balken-Grafik
  #----------------------------------------------------------------------------
  def dispose
    @sprite.bitmap.dispose
  end
 
  #----------------------------------------------------------------------------
  # fertig?
  # gibt zurück ob der Balken geleert oder gefüllt wurde
  #----------------------------------------------------------------------------
  def fertig?
    case @typ
    when  0
      return (@stand <= 0)
    when  1
      return (@stand >= @maximum)
    end
  end
 
  #----------------------------------------------------------------------------
  # text_settings
  # Einstellungen für den Text des Balkens
  #----------------------------------------------------------------------------
  def text_settings
    @sprite.bitmap.font.name = "Arial"
    @sprite.bitmap.font.size = 16
    @sprite.bitmap.font.color = Color.new(100, 200, 100)
  end
 
end
zum Lesen den Text mit der Maus markieren


Bitte sehr. Hab das ganze noch in ne schönere Form gebracht und bisschen optimiert, und die Text-Funktion eingebaut.

Der Funktionsaufruf hat sich etwas geändert, und es gibt einen neuen Befehl ($scene.balken_fertig?) mit dem du Abfragen kannst ob der Balken gefüllt/geleert wurde). Näheres entnimmst du der Anleitung am Anfang des Scripts.
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

xShenx

Ankömmling

  • »xShenx« ist der Autor dieses Themas

Motto: Die Welt ist hart aber grausam...

  • Nachricht senden

7

Samstag, 16. Oktober 2010, 21:24

Sehr hübsch :)

bloß wird der hintergrundbalken (der schwarze) bei mir nicht mehr angezeigt...

Weist du woran das liegt?

~Shen
!NEUES Spiel! FocusRPG !NEUES Spiel!
Klicke auf den Link um die offizielle Seite von FocusRPG zu besuchen.
Spoiler
Vorstellung geplant: November
zum Lesen den Text mit der Maus markieren

Spoiler
Client Release: Januar/Februar
zum Lesen den Text mit der Maus markieren

Clientfortschritt:
Bild

8

Sonntag, 17. Oktober 2010, 14:34

Spoiler

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
#===============================================================================
# ** Fortschrittsbalken
#-------------------------------------------------------------------------------
#
# Autor: The King
# Version: 0.7
# Stand: 17.10.2010
#
# 1. Vorbereitung:
#
# Im Ordner Graphics/Pictures müssen 2 gleich große Bilder sein:
#
#  "Balken_fill" (Füllung des Balkens)
#  "Balken_background" (Hintergrund des Balkens)
#
# Um die Größe der Grafiken einzustellen sucht die Zeile
#
#   @sprite.bitmap = Bitmap.new(96, 32)
#
# Und ändert die Zahlen in die Größe eurer Grafik ( Bitmap.new(Breite/Höhe) )
#
# 2.Benutzung:
#
# Ruft per Call-Script auf:
#
# $scene.balken_erstellen(x, y, maximum, typ, text)
#
# erstellt einen Balken an der Stelle x/y mit einem bestimmten Text. 
# typ gibt an ob der Balken gefüllt (0) oder geleert (1) wird.
# maximum gibt den Wert an den der Balken bei maximaler Füllung hat
# (egal welcher Typ).
#
# Beispiel:
#   $scene.balken_erstellen(200, 100, 96, "Zaubern", 0)
#
# Das erstellt einen Balken an der Position 200/100 mit der Inschrift "Zaubern"
# der mit 96 Punkten beginnt und stetig runtergezählt wird.
#
#
# $scene.balken_fertig? 
#
# fragt entweder per call-script oder conditional branch
# ab ob der Balken abgearbeitet wurde (unabhängig vom Typ) und gibt in dem Fall
# "true" zurück, ansonsten "false"
#
# Beispiel:
#   if $scene.balken_fertig == true
#
#
# $scene.balken_löschen 
# 
# löscht den Balken komplett.
# 
# 3. Einstellungen
# Ihr könnt einige Einstellungen für den Text am Ende des Scripts unter
# "def text_settings" treffen
#-------------------------------------------------------------------------------
#
# Freie Verwendung, jedoch bei Benutzung Credits-Vergabe ;)
#
#===============================================================================
 
#----------------------------------------------------------------------------
# class Scene_Map
# zusätzliche Befehle für den Fortschrittsbalken
#----------------------------------------------------------------------------
class Scene_Map
 
  #--------------------------------------------------------------------------
  # balken_erstellen
  # Erzeugt den Fortschrittsbalken
  #--------------------------------------------------------------------------
 
  def balken_erstellen(x, y, maximum, text = "", typ = 0)
    @balken = Balken.new(x, y, maximum, text, typ)
  end
 
  #--------------------------------------------------------------------------
  # balken_löschen
  # Löscht den Fortschrittsbalken
  #--------------------------------------------------------------------------
 
  def balken_löschen
    @balken.dispose if @balken != nil
    @balken = nil
  end
 
  #--------------------------------------------------------------------------
  # balken_fertig?
  # Fragt ab, ob der Balken geleert (Tpy 0) oder gefüllt (Typ 1) wurde
  #--------------------------------------------------------------------------
 
  def balken_fertig?
    return false if @balken == nil
    return @balken.fertig?
  end
 
  #--------------------------------------------------------------------------
  # alias update
  # Fügt ein Update für den Balken hinzu
  #--------------------------------------------------------------------------
  alias balken_update update
  def update
    @balken.update if @balken != nil
    balken_update
  end  
end
 
#----------------------------------------------------------------------------
# class Balken
# Die Klasse für den Fortschrittsbalken
#----------------------------------------------------------------------------
class Balken
 
  #--------------------------------------------------------------------------
  # initialize
  # Erstellt den Balken
  #--------------------------------------------------------------------------
 
  def initialize(x, y, maximum, text, typ)
    @maximum = maximum
    @typ = typ
    if @typ == 0
      @stand = @maximum
    else
      @stand = 0
    end
    @text = text
    @sprite = Sprite.new
    @sprite.bitmap = Bitmap.new(96, 32)
    @sprite.x = x
    @sprite.y = y
    @sprite.z = 1000
    text_settings
  end
 
  #----------------------------------------------------------------------------
  # update
  # Aktualisiert den Balken
  #----------------------------------------------------------------------------
 
  def update
    if @typ == 0 && @stand > 0
      @stand -= 1
    elsif @stand < @maximum
      @stand += 1
    end
    draw
  end
 
  #----------------------------------------------------------------------------
  # draw
  # zeichnet den Balken
  #---------------------------------------------------------------------------- 
 
  def draw
    reset
    draw_background
    text_settings
    background = RPG::Cache.picture("Balken_fill")
    width = @sprite.bitmap.width
    stand = (width.to_f / @maximum.to_f) * @stand.to_f
    height = @sprite.bitmap.height
    rect = Rect.new(0, 0, stand ,height)
    @sprite.bitmap.blt(0, 0, background, rect)
    rect = @sprite.bitmap.rect
    @sprite.bitmap.draw_text(rect, @text, 1)
  end
 
  #----------------------------------------------------------------------------
  # draw
  # zeichnet die Hintergrundgrafik des Balkens
  #----------------------------------------------------------------------------   
 
  def draw_background
    background = RPG::Cache.picture("Balken_back")
    rect = @sprite.bitmap.rect
    @sprite.bitmap.blt(0, 0, background, rect)
  end
 
  #----------------------------------------------------------------------------
  # dispose
  # löscht die Balken-Grafik
  #----------------------------------------------------------------------------
  def dispose
    @sprite.bitmap.dispose
  end
 
  #----------------------------------------------------------------------------
  # fertig?
  # gibt zurück ob der Balken geleert oder gefüllt wurde
  #----------------------------------------------------------------------------
  def fertig?
    case @typ
    when  0
      return (@stand <= 0)
    when  1
      return (@stand >= @maximum)
    end
  end
 
  #----------------------------------------------------------------------------
  # text_settings
  # Einstellungen für den Text des Balkens
  #----------------------------------------------------------------------------
  def text_settings
    @sprite.bitmap.font.name = "Arial"
    @sprite.bitmap.font.size = 16
    @sprite.bitmap.font.color = Color.new(100, 200, 100)
  end
 
  #----------------------------------------------------------------------------
  # reset
  # Setzt die Grafik des Balkens zurück
  #----------------------------------------------------------------------------
 
  def reset
    dispose
    @sprite.bitmap = Bitmap.new(96, 32)
  end
 
end
zum Lesen den Text mit der Maus markieren


Jetzt müsste es wieder funktionieren.
Terranigma 2 - Episode I - Open Beta out now!

RPC - Rpg-Maker Community Platform - Spielübergreifende Erfolge und mehr!

xShenx

Ankömmling

  • »xShenx« ist der Autor dieses Themas

Motto: Die Welt ist hart aber grausam...

  • Nachricht senden

9

Sonntag, 17. Oktober 2010, 16:42

Danke :)) Wunderbar jetzt geht alles!
!NEUES Spiel! FocusRPG !NEUES Spiel!
Klicke auf den Link um die offizielle Seite von FocusRPG zu besuchen.
Spoiler
Vorstellung geplant: November
zum Lesen den Text mit der Maus markieren

Spoiler
Client Release: Januar/Februar
zum Lesen den Text mit der Maus markieren

Clientfortschritt:
Bild

Social Bookmarks