• Anmelden

1

Dienstag, 4. Januar 2005, 16:55

Wer kennst nicht die guten alten Snes RPGs wo bei einer Message zu jedem Buchstabe ein Sound abgespielt wurde (z.B. bei Terranigma)

Also nun such ich einen Script der bei jedem Buchstaben ein Sound abspielt.
gibt ja auch diesen 2k like Script der die Buchstaben nach der reihe anzeigt.. also müsste das doch irgendwie zu integrieren sein :|

hoffendlich kann mir jemand weiterhelfen..

Danke schonmal

e-dogg

2

Dienstag, 4. Januar 2005, 18:10

Nimm doch einfach den Sound den du haben willst und lass ihn währen der text "gedruckt" wird per LOOP immer wieder wiederhohlen. Wenn alles gesagt ist, was gesagt werden soll einfach END LOOP.

Habs nicht ausprobiert und ich bin mir nicht wirklich sicher ob dir das weiterhiflt aber naja....

3

Dienstag, 4. Januar 2005, 18:17

Das wäre eine MORDS-Arbeit XD
Bei jedem Taxt die Sounds einzufügen XD
Brauche Mitglieder für mein Forum: http://simon.deobald.org/forum

4

Dienstag, 4. Januar 2005, 18:37

Joa währ vieleicht ne möglichkeit... werd ich dann mal ausprobieren :)
Müsste dann halt ein Template irgendwo machen damit ich das dann halt immer kopier (sonst währe das echt viel arbeit) :roll:

aber falls jemand sowas Scripten kann dann informiert mich bitte :)

5

Dienstag, 4. Januar 2005, 18:41

ich hatte schon mal ein advance script, was die buchstaben einzeln anzeigt... müsste nur noch töne dort hinzufügen... aber... ich weiß nicht mehr wie das script heißt >.<"

ich editiere das script später ein...

das script heißt: Advanced Message Script R2 (Edited) by dubealex

er hat es aber nur editiert (ich empfehle es, dass zu downloaden... script)
original script ist von rattie unter: http://f26.aaa.livedoor.jp/~xxms/RPGXP_XRXS9.htm

Edit
Sound script unten

6

Mittwoch, 5. Januar 2005, 16:04

So hab jetzt den Code (mit sound) gefunden:

allerdings kann ich keine Buchstaben mehr sehn.. kann mal einer nachprüfen wieso? (mit dem Standart Code zeigt es schon Buchstaben an)
Edit Achja.. und kann mir einer sagen wo cih den Sound ändern kann?

hier der Code:

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
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
class Window_Message < Window_Selectable
# ------------------------------------
  def initialize
    super(80, 304, 480, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.visible = false
    self.z = 9998
    @update_text = true
    @fade_in = false
    @fade_out = false
    @contents_showing = false
    @cursor_width = 0
    self.active = false
    self.index = -1
  end
# ------------------------------------
  def dispose
    terminate_message
    $game_temp.message_window_showing = false
    if @input_number_window != nil
      @input_number_window.dispose
    end
    super
  end
# ------------------------------------
  def terminate_message
    self.active = false
    self.pause = false
    self.index = -1
    self.contents.clear
    @update_text = true
    @contents_showing = false
    if $game_temp.message_proc != nil
      $game_temp.message_proc.call
    end
    $game_temp.message_text = nil
    $game_temp.message_proc = nil
    $game_temp.choice_start = 99
    $game_temp.choice_max = 0
    $game_temp.choice_cancel_type = 0
    $game_temp.choice_proc = nil
    $game_temp.num_input_start = 99
    $game_temp.num_input_variable_id = 0
    $game_temp.num_input_digits_max = 0
    if @gold_window != nil
      @gold_window.dispose
      @gold_window = nil
    end
  end
# ------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    @x = @y = 0
    @cursor_width = 0
    if $game_temp.choice_start == 0
      @x = 8
    end
    if $game_temp.message_text != nil
      @text = $game_temp.message_text
      begin
        last_text = @text.clone
        @text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
      end until @text == last_text
      @text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      @text.gsub!(/\\\\/) { "\000" }
      @text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      @text.gsub!(/\\[Gg]/) { "\002" }
    end
  end
# ------------------------------------
  def reset_window
    if $game_temp.in_battle
      self.y = 16
    else
      case $game_system.message_position
      when 0
        self.y = 16
      when 1
        self.y = 160
      when 2
        self.y = 304
      end
    end
    if $game_system.message_frame == 0
      self.opacity = 255
    else
      self.opacity = 0
    end
    self.back_opacity = 160
  end
# ------------------------------------
  def update_text
    if @text != nil
      while ((c = @text.slice!(/./m)) != nil)
        if c == "\000"
          c = "\\"
        end
        if c == "\001"
          @text.sub!(/\[([0-9]+)\]/, "")
          color = $1.to_i
          if color >= 0 and color <= 7
            self.contents.font.color = text_color(color)
          end
        end
        if c == "\002"
          if @gold_window == nil
            @gold_window = Window_Gold.new
            @gold_window.x = 560 - @gold_window.width
            if $game_temp.in_battle
              @gold_window.y = 192
            else
              @gold_window.y = self.y >= 128 ? 32 : 384
            end
            @gold_window.opacity = self.opacity
            @gold_window.back_opacity = self.back_opacity
          end
          next
        end
        if c == "\n"
          if @y >= $game_temp.choice_start
            @cursor_width = [@cursor_width, @x].max
          end
          @y += 1
          @x = 0
          if @y >= $game_temp.choice_start
            @x = 8
          end
          next
        end
        self.contents.draw_text(4 + @x, 32 * @y, 40, 32, c)
        @x += self.contents.text_size(c).width
        $game_system.se_play($data_system.decision_se)
        return
      end
    end
    if $game_temp.choice_max > 0
      @item_max = $game_temp.choice_max
      self.active = true
      self.index = 0
    end
    if $game_temp.num_input_variable_id > 0
      digits_max = $game_temp.num_input_digits_max
      number = $game_variables[$game_temp.num_input_variable_id]
      @input_number_window = Window_InputNumber.new(digits_max)
      @input_number_window.number = number
      @input_number_window.x = self.x + 8
      @input_number_window.y = self.y + $game_temp.num_input_start * 32
    end
    @update_text = false #š
  end
# ------------------------------------
  def update
    super
    if @fade_in
      self.contents_opacity = 255
      if @input_number_window != nil
        @input_number_window.contents_opacity = 255
      end
      if self.contents_opacity == 255
        @fade_in = false
      end
    end
    if @input_number_window != nil
      @input_number_window.update
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_variables[$game_temp.num_input_variable_id] =
          @input_number_window.number
        $game_map.need_refresh = true
        @input_number_window.dispose
        @input_number_window = nil
        terminate_message
      end
      return
    end
    if @contents_showing
      if @update_text
        update_text
        return
      end
      if $game_temp.choice_max == 0
        self.pause = true
      end
      if self.pause == true && Input.dir4 != 0
        terminate_message
      end
      if Input.trigger?(Input::B)
        if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
          $game_system.se_play($data_system.cancel_se)
          $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
          terminate_message
        end
        terminate_message if self.pause == true
      end
      if Input.trigger?(Input::C)
        if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
        end
        terminate_message
      end
      return
    end
    if @fade_out == false and $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      refresh
      Graphics.frame_reset
      self.visible = true
      self.contents_opacity = 0
      if @input_number_window != nil
        @input_number_window.contents_opacity = 0
      end
      @fade_in = true
      return
    end
    if self.visible
      @fade_out = true
      self.opacity = 0
      if self.opacity == 0
        self.visible = false
        @fade_out = false
        $game_temp.message_window_showing = false
      end
      return
    end
  end
# ------------------------------------
  def update_cursor_rect
    if @index >= 0
      n = $game_temp.choice_start + @index
      self.cursor_rect.set(8, n * 32, @cursor_width, 32)
    else
      self.cursor_rect.empty
    end
  end
end

7

Mittwoch, 5. Januar 2005, 16:23

in line 135 kannst du den sound ändern...

Quellcode

1
$game_system.se_play($data_system.decision_se) 

...
um den text anzuzeigen:
füge in line 54-55 das hier ein

Quellcode

1
2
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize

oder dass

Quellcode

1
2
    self.contents.font.name = "MS UI Gothic"
    self.contents.font.size = 22


wie du halt deine schriftart/größe eingestellt hast...

8

Mittwoch, 5. Januar 2005, 16:38

Danke und was genau muss ich da machen:

Quellcode

1
$game_system.se_play($data_system.decision_se)

9

Mittwoch, 5. Januar 2005, 16:44

Zitat von »"e-dogg"«

Danke und was genau muss ich da machen:

Quellcode

1
$game_system.se_play($data_system.decision_se)

naja, ändern in

Quellcode

1
$game_system.se_play("meinsoundeffect.wav")


kannst natürlich "meinsoundeffect.wav" ändern :D
"sound .ogg .wma .mp3 .wav"

10

Mittwoch, 5. Januar 2005, 16:49

Aso! vieeeelen dank, ich bin dir was schuldig *dichindiecreditzwerf*

11

Mittwoch, 5. Januar 2005, 17:30

bei mir funtzt der script nicht.
Wenn ich das Spiel Testen Will steht da:
?????`window Message`? 34 ??? Name error ?????????
undefined Method 'terminate_Message' for clas 'Window Message'

Ich weis ncit was ich jetzt machen soll :?:
Ps: das passiert beim Grundscript. also von der japanischen seite.
[/img]
Wird mal zeit für ne neue Sig @_@

12

Mittwoch, 5. Januar 2005, 17:35

füg das script unter Windows_Message
also neues script erstellen...script einfügen...

warum?:
Dieses script ist nur ne erweiterung...

asnsonten weiß ich auch nix mehr XD

13

Mittwoch, 5. Januar 2005, 20:28

so das letzte Problem..
wie kann ich nun die Schriftfarbe ändern?
wenn ich sie ändere kommt immer Syntax Error :|

Edit OK war wohl doch nicht das letzte Problem...
wie mach ich das nun dass die Buchstaben langsammer angezeigt werden und auch der soundeffekt langammer geht?

(ich mit meinen dusseligen Fragen :roll: )

14

Mittwoch, 5. Januar 2005, 21:27

schriftfarbe änderst du in line 54 oder so...
bei

Quellcode

1
self.contents.color = normal_color

jetzt ersetzt du das mit dem hier...
self.contents.color = Color.new(255,255,255)

15

Mittwoch, 5. Januar 2005, 22:04

Also ich hab immernoch Probs:
Das Spiel Startet Jetzt.
Ich hab den Script von e-dogg unter dem Window-message Script eingefügt. Wenn ich dann im Spiel die Message anzeige kommt dann pro buchstabe ein Ton aber ich seh die Buchstaben nicht.
Wenn ich dann in Line 54-55 ( wie du gesagt hast) dies 2 Zeilen da einfüge sehe ich immernoch keine Buchstaben sondern höre nur den Ton.
Wo genau muss ich das einfügen?

Quellcode

1
2
self.contents.font.name = $fontface 
self.contents.font.size = $fontsize

Ps: Wie erstellt man ein neues Script??
Sonst hab ich zum Glück keine weiteren Probs.
( Der rest wurde schon geklärt xD)
Wird mal zeit für ne neue Sig @_@

16

Mittwoch, 5. Januar 2005, 22:40

Quellcode

1
2
    self.contents.font.name = "MS UI Gothic" 
    self.contents.font.size = 22


ms ui gothic in deine schriftart ändern
22 für schriftgröße...
script einfügen: rechte taste... insert (einfügen)

Quellcode

1
2
self.contents.font.name = $fontface 
self.contents.font.size = $fontsize

soll man nur verewnden, wenn man in main das eingefügt hat
unter begin
$fontface = "MS UI Gothic"
$fontsize = 22

wie oben, man kann natürlic gothic und 22 ändern

17

Mittwoch, 5. Januar 2005, 23:11

Zitat von »"markusmks"«

schriftfarbe änderst du in line 54 oder so...
bei

Quellcode

1
self.contents.color = normal_color

jetzt ersetzt du das mit dem hier...
self.contents.color = Color.new(255,255,255)

hmmmm :|
immer noch die scheiß Fehlermeldung..
Bild

18

Donnerstag, 6. Januar 2005, 17:47

Quellcode

1
self.contents.font.color


XD sorry, hab font vergessen...

19

Donnerstag, 6. Januar 2005, 19:15

BBUUUHHUUUUU!!!!!
Es funtzt immernoch nicht!!
Kannst du nicht einfach den ganzen code Posten??
Also mit dem Window_Message code.
Den GANZEN Code der sich daraus ergibt .
Und dann Mach das Rot was man ändern Kann.
Also: Den Font, die Grösse, die Farbe, und den Ton der pro Buchstaben kommt.
Weil ich komm durch die ganzen Lines durcheinander, da wir anscheined
irgendwie verschieden ergebnisse habn.
Ich wär dir sehr dankbar wenn du das für mich machen würdest.
Ich denke dann wäre auch die ständige fragerei zu ende.

PS: Hast du meien Pm bekommn????

Dan ke schon mal im Voraus Mfg Di2B
Wird mal zeit für ne neue Sig @_@

20

Donnerstag, 6. Januar 2005, 20:27

Window_Message mit dem Code ersetzen

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
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
class Window_Message < Window_Selectable
# ------------------------------------
  def initialize
    super(80, 304, 480, 160)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.visible = false
    self.z = 99998
    @update_text = true
    @fade_in = false
    @fade_out = false
    @contents_showing = false
    @cursor_width = 0
    self.active = false
    self.index = -1
  end
# ------------------------------------
  def dispose
    terminate_message
    $game_temp.message_window_showing = false
    if @input_number_window != nil
      @input_number_window.dispose
    end
    super
  end
# ------------------------------------
  def terminate_message
    self.active = false
    self.pause = false
    self.index = -1
    self.contents.clear
    @update_text = true
    @contents_showing = false
    if $game_temp.message_proc != nil
      $game_temp.message_proc.call
    end
    $game_temp.message_text = nil
    $game_temp.message_proc = nil
    $game_temp.choice_start = 99
    $game_temp.choice_max = 0
    $game_temp.choice_cancel_type = 0
    $game_temp.choice_proc = nil
    $game_temp.num_input_start = 99
    $game_temp.num_input_variable_id = 0
    $game_temp.num_input_digits_max = 0
    if @gold_window != nil
      @gold_window.dispose
      @gold_window = nil
    end
  end
# ------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = Color.new(119,0,0)
    self.contents.font.name = "Monotype Corsiva" 
    self.contents.font.size = 30
    @x = @y = 0
    @cursor_width = 0
    if $game_temp.choice_start == 0
      @x = 8
    end
    if $game_temp.message_text != nil
      @text = $game_temp.message_text
      begin
        last_text = @text.clone
        @text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
      end until @text == last_text
      @text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      @text.gsub!(/\\\\/) { "\000" }
      @text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      @text.gsub!(/\\[Gg]/) { "\002" }
    end
  end
# ------------------------------------
  def reset_window
    if $game_temp.in_battle
      self.y = 16
    else
      case $game_system.message_position
      when 0
        self.y = 16
      when 1
        self.y = 160
      when 2
        self.y = 304
      end
    end
    if $game_system.message_frame == 0
      self.opacity = 255
    else
      self.opacity = 0
    end
    self.back_opacity = 160
  end
# ------------------------------------
  def update_text
    if @text != nil
      while ((c = @text.slice!(/./m)) != nil)
        if c == "\000"
          c = "\\"
        end
        if c == "\001"
          @text.sub!(/\[([0-9]+)\]/, "")
          color = $1.to_i
          if color >= 0 and color <= 7
            self.contents.font.color = text_color(color)
          end
        end
        if c == "\002"
          if @gold_window == nil
            @gold_window = Window_Gold.new
            @gold_window.x = 560 - @gold_window.width
            if $game_temp.in_battle
              @gold_window.y = 192
            else
              @gold_window.y = self.y >= 128 ? 32 : 384
            end
            @gold_window.opacity = self.opacity
            @gold_window.back_opacity = self.back_opacity
          end
          next
        end
        if c == "\n"
          if @y >= $game_temp.choice_start
            @cursor_width = [@cursor_width, @x].max
          end
          @y += 1
          @x = 0
          if @y >= $game_temp.choice_start
            @x = 8
          end
          next
        end
        self.contents.draw_text(4 + @x, 32 * @y, 40, 32, c)
        @x += self.contents.text_size(c).width
        $game_system.se_play($data_system.decision_se)
        return
      end
    end
    if $game_temp.choice_max > 0
      @item_max = $game_temp.choice_max
      self.active = true
      self.index = 0
    end
    if $game_temp.num_input_variable_id > 0
      digits_max = $game_temp.num_input_digits_max
      number = $game_variables[$game_temp.num_input_variable_id]
      @input_number_window = Window_InputNumber.new(digits_max)
      @input_number_window.number = number
      @input_number_window.x = self.x + 8
      @input_number_window.y = self.y + $game_temp.num_input_start * 32
    end
    @update_text = false #š
  end
# ------------------------------------
  def update
    super
    if @fade_in
      self.contents_opacity = 255
      if @input_number_window != nil
        @input_number_window.contents_opacity = 255
      end
      if self.contents_opacity == 255
        @fade_in = false
      end
    end
    if @input_number_window != nil
      @input_number_window.update
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_variables[$game_temp.num_input_variable_id] =
          @input_number_window.number
        $game_map.need_refresh = true
        @input_number_window.dispose
        @input_number_window = nil
        terminate_message
      end
      return
    end
    if @contents_showing
      if @update_text
        update_text
        return
      end
      if $game_temp.choice_max == 0
        self.pause = true
      end
      if self.pause == true && Input.dir4 != 0
        terminate_message
      end
      if Input.trigger?(Input::B)
        if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
          $game_system.se_play($data_system.cancel_se)
          $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
          terminate_message
        end
        terminate_message if self.pause == true
      end
      if Input.trigger?(Input::C)
        if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
        end
        terminate_message
      end
      return
    end
    if @fade_out == false and $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      refresh
      Graphics.frame_reset
      self.visible = true
      self.contents_opacity = 0
      if @input_number_window != nil
        @input_number_window.contents_opacity = 0
      end
      @fade_in = true
      return
    end
    if self.visible
      @fade_out = true
      self.opacity = 0
      if self.opacity == 0
        self.visible = false
        @fade_out = false
        $game_temp.message_window_showing = false
      end
      return
    end
  end
# ------------------------------------
  def update_cursor_rect
    if @index >= 0
      n = $game_temp.choice_start + @index
      self.cursor_rect.set(8, n * 32, @cursor_width, 32)
    else
      self.cursor_rect.empty
    end
  end
end


die Zeilen 53- 55 kannst(/musst) du nach belieben ändern

Social Bookmarks