• Anmelden

Shizaso

Der Junge, der stirbt

  • »Shizaso« ist der Autor dieses Themas

Motto: Ich bestimme: wir haben Demokratie!

  • Nachricht senden

1

Freitag, 24. April 2009, 14:05

Spiel pausieren und gleichzeitig text anzeigen

Hi!
Ich such ein script, welches beim drücken einer bestimmten taste das spiel pausiert und ein Fenster öffnet in dem ein text unbestimmter länge anzeigt ist, wobei die nachricht auf jeder map eine andere ist. Wichtig ist, dass es auch maps gibt, auf denen diese funktion ausgeschaltet ist. Bestenfalls sollte man die textfarbe im fenster verändern können wie bei einer normalen nachricht.

~Shiza
:shizaso_devil:

2

Samstag, 25. April 2009, 00:54

Nennt sich Autostart-Event was du willst, mit Ausgabe einer Textnachricht. Lässt sich mit Schalter an- und ausknipsen ^^

Shizaso

Der Junge, der stirbt

  • »Shizaso« ist der Autor dieses Themas

Motto: Ich bestimme: wir haben Demokratie!

  • Nachricht senden

3

Samstag, 25. April 2009, 11:32

nennt es sich nicht, da das spiel nicht pausiert, wenn ich das event auf autostart setze. z.b. bewegen sich noch sämtliche Events, die herumlaufen.

es sollte schon wirklich pause sein so wie zB bei diesem pausescript:
Spiel Pausieren
:shizaso_devil:

4

Samstag, 25. April 2009, 14:58

Spoiler: Pausenskript HK

Ruby 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
#==============================================================================
# Pausenskript
# von Hüpfende Kokosnuss, 25.4.2009, rpg-studio.de
#------------------------------------------------------------------------------
# Neue Callscripts:
#
# setze_pausentext('text') - setzt den Text des Pausewindows für die aktuelle Map.
# beim mapwechsel wird dieser gelöscht! Ist das Window mal zu klein und der
# Text wird nicht richtig angezeigt, kann es helfen, ein paar sinnlose Leerzeichen
# ans Ende des Textes zu hängen. (z.B. 'Spiel ist pausiert     ' )
#
# loesche_pausentext - deaktiviert die Pausenfunktion für die aktuelle Map wieder.
# 
# Hier die Taste eintragen, welche Pause auslöst (z.B. Input::C)
$hk_pausenskript_taste = Input::F5
#==============================================================================
class Window_Pause < Window_Base
 def initialize(pausentext)
    super(0, 0, pausentext.length * 8 + 32, 52)
    self.x = 320 - (width / 2)
    self.y = 240 - (height / 2)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 155
    self.contents.clear
    self.contents.font.color = Color.new(255, 255, 255, 255)
    self.contents.font.size = 24
    self.contents.draw_text(0, 0, width - 32, height - 32, pausentext)
    update
  end
  def update
    loop do
      super
      Input.update
      Graphics.update
      if Input.trigger?($hk_pausenskript_taste)
        self.dispose
        break
      end
    end
  end
end
class Game_Player
  alias hk_pausenskript_update update
  def update(*args)
    hk_pausenskript_update(*args)
    unless moving? 
      if Input.trigger?($hk_pausenskript_taste) && 
        $game_map.hk_pausentext != nil && $game_map.hk_pausentext != ''
        Window_Pause.new($game_map.hk_pausentext)        
      end 
    end 
  end
end
class Interpreter
  def setze_pausentext(text)
    $game_map.hk_pausentext = text
    return true
  end
  def loesche_pausentext
    $game_map.hk_pausentext = ''
    return true
  end
end
class Game_Map
  attr_accessor :hk_pausentext
  alias hk_pausenskript_setup setup
  def setup(*args)
    hk_pausenskript_setup(*args)
    @hk_pausentext = ''
  end
end
zum Lesen den Text mit der Maus markieren

In den Kopfzeilen Zeile des Skripts legst du die Pausentaste fest (hier F5, anderes Beispiel: Input::C wäre Leertaste).
Pause ist standardmäßig deaktiviert, du kannst es für die aktuelle Map aktivieren, in dem du das Callscript
setze_pausentext('text')
absetzt.
Mit
loesche_pausentext
deaktivierst du das ganze wieder.
Beim Mapwechsel wird der Text auch wieder deaktiviert. Das heißt du bräuchstest auf der jeweiligen Map immer ein parallel Process Event dass nur den entsprechenden Befehl absetzt und sich dann löscht (nicht mit Self Switch auf Seite 2 gehen, da es ja beim nächsten betreten der Map wieder aktiv werden muss!) ^^
Siehe auch die Skript-Comments ^^

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »Süleyman der Prächtige« (25. April 2009, 16:15)


Shizaso

Der Junge, der stirbt

  • »Shizaso« ist der Autor dieses Themas

Motto: Ich bestimme: wir haben Demokratie!

  • Nachricht senden

5

Samstag, 25. April 2009, 16:43

Also erstmal danke, aber es gibt da noch ein Problem:

Zitat von »mir«

ein text unbestimmter länge

Auf manchen maps kann der text schon einige zeilen, wenn nicht gar die ganze seite umfassen, deshalb müsste ich irgendwie absätze machen können
:shizaso_devil:

6

Samstag, 25. April 2009, 17:43

Ok ich änder das mal...
unbestimmter länge kann aber vieles sein, das nächste mal solltest du dich dann besser ausdrücken, dann hätte ichs auch gleich mit eingebaut ^^"
Edit:
Pauseskript v1.1
Is jetzt groß genug für n richtiges Skript, bei dem sich ne Demo etc lohnt. Bitte sehr ^^
Ich hoffe jetzt is alles drin.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Süleyman der Prächtige« (25. April 2009, 19:58)


Social Bookmarks