• Anmelden

MangaEngel

Schlitzohr

  • »MangaEngel« ist der Autor dieses Themas

Motto: Vergeude keine Zeit mit Trauer, Wut und Hass, denn so verschwendest du wertvolle Sekunden deines Lebens.

  • Nachricht senden

1

Freitag, 10. Oktober 2014, 11:44

Längere Choices?

Nach ewig und drei Jahren bin ich mal wieder da und ich habe ein Problem mitgebracht...

Zeichenbegrenzung in den Choices!

Jemals "I have no mouth, yet I must scream" gespielt?
Schweres Spiel, tolles Kommunikations-Design!
Allerdings unmöglich mit der Standartprogrammierung des RPG Makers XP, denn man kann ja nur x Zeichen benutzen ehe der Maker blockt.

Jetzt hab ich natürlich erstmal fleißig selbst gesucht und hier direkt das gefunden:

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
class Game_Temp
  attr_accessor :choice1
  attr_accessor :choice2
  attr_accessor :choice3
  attr_accessor :choice4
end
 
def clear_choices
  $game_temp.choice1 = ""
  $game_temp.choice2 = ""
  $game_temp.choice3 = ""
  $game_temp.choice4 = ""
end
 
class Interpreter
  #--------------------------------------------------------------------------
  # * Setup Choices
  #--------------------------------------------------------------------------
  def setup_choices(parameters)
    # Set choice item count to choice_max
    $game_temp.choice_max = parameters[0].size
    # Set choice to message_text
    for text in parameters[0]
      if text.include?("choice")
        case text
          when "choice1"
            $game_temp.message_text += $game_temp.choice1 + "\n"
          when "choice2"
            $game_temp.message_text += $game_temp.choice2 + "\n"
          when "choice3"
            $game_temp.message_text += $game_temp.choice3 + "\n"
          when "choice4"
            $game_temp.message_text += $game_temp.choice4 + "\n"
          end
      else
      $game_temp.message_text += text + "\n"
      end
    end
    # Set cancel processing
    $game_temp.choice_cancel_type = parameters[1]
    # Set callback
    current_indent = @list[@index].indent
    $game_temp.choice_proc = Proc.new { |n| @branch[current_indent] = n }
  end
end

Quelle

Mithilfe von

Quellcode

1
$game_temp.choice1 = "Hahahaha, du unwürdiger, jetzt bist du dran!"

belegt man dann "choice1" und wenn man dies als Antwortmöglichkeit in der "Show Choices"-Box eingibt, dann SOLLTE die entsprechende Choice den langen Text haben.
Bei Alexis auf dem Screen funktioniert das so auch.

Bei mir aber nicht:
Bild

Der Text wird einfach gekappt und auf die nächste Ebene verfrachtet. Die vierte Choice ist zwar anwählbar, aber nicht lesbar. Es kann auch nicht mit irgendwelchen selbsteingebauten Scripten kollidieren, denn ich habe mein gesamtes Projekt kopiert und da alle Scripts entfernt. Selbes Ergebnis, es stimmt also entweder etwas nicht mit meinen Grundskripten oder mit dem Skript von Alexis...
Hier die Eventseite, die den Bildschirm oben aufruft.

Bild

Mir ist selbst bereits aufgefallen, dass auf dem Event-Screen von Alexis der Text offenbar mit einem + unterteilt wird ("Hahahaha, du unwürdiger,"+"jetzt bist du dran!")
Aber egal, in welcher Kontellation ich das nachzustellen versuche, ich bekomme nur errors.
Kann da wohl evtl. jemand kurz gucken und mir sagen, wofür ich gerade zu blöd bin, dass das bei mir nicht geht?

Revito

Rekrut

Motto: Verschwendet ist das Leben viel zu kurz.

  • Nachricht senden

2

Freitag, 10. Oktober 2014, 12:14

Mit dem + werden Strings aneinandergefügt.
Der Maker setzt bei einer bestimmten Länge einer Zeile in einem Callscript einen Zeilenumbruch,
der dann leider auch in deinem String drin steht.

Eine Möglichkeit wäre jetzt, einfach 2 Strings daraus zu machen und die zusammen zu fügen.

Ruby Quellcode

1
2
$game_temp.choice2 = "What room " +
"are you locked into?"

Eine andere wäre, einfach den Zeilenumbruch zu löschen.

Ruby Quellcode

1
2
$game_temp.choice2 = "What room are 
you locked into?".delete("\n")
Enslaved - Von Sklaverei und Freiheit

MangaEngel

Schlitzohr

  • »MangaEngel« ist der Autor dieses Themas

Motto: Vergeude keine Zeit mit Trauer, Wut und Hass, denn so verschwendest du wertvolle Sekunden deines Lebens.

  • Nachricht senden

3

Freitag, 10. Oktober 2014, 12:40

Das mit dem Zeilenumbruch löschen hat funktioniert und ist einfach genug :D
Vielen Dank!

Ähnliche Themen

Social Bookmarks