RPGVX.net

  RPG-Maker VX => VX Skripte [Fertiger Code] => Thema gestartet von: ERZENGEL am März 24, 2008, 02:24:38

Titel: [STR14] Sidetext
Beitrag von: ERZENGEL am März 24, 2008, 02:24:38
Screenshot
(http://imagesload.net/daten_no/1206321330_scsh137.jpg)

Credits
Anleitung
In den Eventcommand "Script" schreiben (den Text nach den Rauten kann man weglassen):
s = $game_temp.sidetext
i = s.index(nil)
i = s.size if (i == nil)
t = "Sidetext"           # Text, der angezeigt werden soll
f = true                 # Buchstaben haben Rand? (aus = false)
w = 120                  # Anzeigedauer (in Frames)
c = Color.new(64,32,128) # Farbe des Randes (rot, grün, blau)
s[i] = Sprite_Sidetext.new(t,f,w,c)
Nach dem Einfügen sollte es bei euch so aussehen:
(http://imagesload.net/daten_no/1218564277_sidetext.PNG)

Skript
#==============================================================================
# ** [STR14] Sidetext (von star) (Version 0.7)
#------------------------------------------------------------------------------
#  Ermöglicht zusätzlichen Text an der linken Seite anzuzeigen.
#==============================================================================

if false
# Das folgenden wird in ein Call Skript geschrieben
s = $game_temp.sidetext
i = s.index(nil)
i = s.size if (i == nil)
t = "Sidetext"           # Text, der angezeigt werden soll
f = true                 # Buchstaben haben Rand? (aus = false)
w = 120                  # Anzeigedauer (in Frames)
c = Color.new(64,32,128) # Farbe des Randes (rot, grün, blau)
s[i] = Sprite_Sidetext.new(t,f,w,c)
#
end

#==============================================================================
# ¦ Sprite_Sidetext
#==============================================================================
class Sprite_Sidetext < Sprite
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize(text, frame = false, wait = 120, c = Color.new(64,32,128))
    super()
    self.x = 16
    num = $game_temp.sidetext.index(nil)
    num = $game_temp.sidetext.size if (num == nil)
    y = 80 + (num * 24)
    self.y = y
    self.z = 200
    bitmap = Bitmap.new(32, 24)
    w = bitmap.text_size(text).width
    bitmap.dispose
    bitmap = Bitmap.new(w, 24)
    if frame
      bitmap.draw_text_f(0, 0, w, 24, text, 0, c)
    else
      bitmap.draw_text(0, 0, w, 24, text)
    end
    self.bitmap = bitmap
    self.opacity = 0
    @wait = wait
  end
  #--------------------------------------------------------------------------
  # ? ??????
  #--------------------------------------------------------------------------
  def update
    if @wait > 0
      self.opacity += 24
      return if self.opacity != 255
      @wait -= 1
    else
      self.x += 4
      self.opacity -= 8
      dispose if self.opacity == 0
    end
  end
end
#==============================================================================
# ¦ Game_Temp
#==============================================================================
class Game_Temp
  #--------------------------------------------------------------------------
  # ? ??????????
  #--------------------------------------------------------------------------
  attr_accessor :sidetext
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  alias initialize_str14 initialize
  def initialize
    initialize_str14
    @sidetext = []
  end
end
#==============================================================================
# ¦ Spriteset_Map
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def create_sidetext
    $game_temp.sidetext = []
  end
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def dispose_sidetext
    for i in 0...$game_temp.sidetext.size
      $game_temp.sidetext[i].dispose if $game_temp.sidetext[i] != nil
    end
    $game_temp.sidetext = []
  end
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def update_sidetext
    for i in 0...$game_temp.sidetext.size
      if $game_temp.sidetext[i] != nil
        $game_temp.sidetext[i].update
        if $game_temp.sidetext[i].disposed?
          $game_temp.sidetext[i] = nil
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  alias create_parallax_str14 create_parallax
  def create_parallax
    create_parallax_str14
    create_sidetext
  end
  alias dispose_str14 dispose
  def dispose
    dispose_sidetext
    dispose_str14
  end
  alias update_str14 update
  def update
    update_str14
    update_sidetext
  end
end
#==============================================================================
# ¦ Spriteset_Battle
#==============================================================================
class Spriteset_Battle
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def create_sidetext
    $game_temp.sidetext = []
  end
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def dispose_sidetext
    for i in 0...$game_temp.sidetext.size
      $game_temp.sidetext[i].dispose if $game_temp.sidetext[i] != nil
    end
    $game_temp.sidetext = []
  end
  #--------------------------------------------------------------------------
  # ? S???????
  #--------------------------------------------------------------------------
  def update_sidetext
    for i in 0...$game_temp.sidetext.size
      if $game_temp.sidetext[i] != nil
        $game_temp.sidetext[i].update
        if $game_temp.sidetext[i].disposed?
          $game_temp.sidetext[i] = nil
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # ? ?????
  #--------------------------------------------------------------------------
  alias create_battleback_str14 create_battleback
  def create_battleback
    create_battleback_str14
    create_sidetext
  end
  alias dispose_str14 dispose
  def dispose
    dispose_sidetext
    dispose_str14
  end
  alias update_str14 update
  def update
    update_str14
    update_sidetext
  end
end
#==============================================================================
# ¦ Bitmap
#==============================================================================
class Bitmap
  #--------------------------------------------------------------------------
  # ? ???????
  #--------------------------------------------------------------------------
  def draw_text_f(x, y, width, height, str, align = 0, color = Color.new(64,32,128))
    shadow = self.font.shadow
    b_color = self.font.color.dup
    font.shadow = false
    font.color = color
    draw_text(x + 1, y, width, height, str, align)
    draw_text(x - 1, y, width, height, str, align)
    draw_text(x, y + 1, width, height, str, align)
    draw_text(x, y - 1, width, height, str, align)
    font.color = b_color
    draw_text(x, y, width, height, str, align)
    font.shadow = shadow
  end
  def draw_text_f_rect(r, str, align = 0, color = Color.new(64,32,128))
    draw_text_f(r.x, r.y, r.width, r.height, str, align = 0, color)
  end
end

Links
star's VX script material (Quelle) (http://strrgssvx.blog.shinobi.jp/Entry/24)
Titel: [STR14] Sidetext
Beitrag von: Silvanus am März 24, 2008, 02:50:33
Yeah, um die Uhrzeit noch? ;)
Klasse Skript, so kann man bestimmt auch tolle Szenen
in Echtezeit machen (beim laufen usw)
ThX x3

Edit: Hey ne Simple Stadtnamenanzeige ^^ Klasse!
Titel: [STR14] Sidetext
Beitrag von: ERZENGEL am März 24, 2008, 03:08:08
@Edit: Das gelbe ist nicht von diesen Skript :)Aber den Mapname anzuzeigen bekommt man mit dem Skript auch hin. Auch wenn man ihn manuell festlegen muss.
Titel: [STR14] Sidetext
Beitrag von: Afenishakur am März 24, 2008, 03:16:48
Fettes Script =)
aber wo muss ich was umstellen wenn der map name links unten angezeigt werden soll?


Edit: Habs gefunden =)
Titel: [STR14] Sidetext
Beitrag von: Goldenboss am März 24, 2008, 09:00:47
Hey...

Das Script ist richtig toll.

Dankesehr. :)
Titel: [STR14] Sidetext
Beitrag von: Dainreth am März 25, 2008, 17:35:57
Nettes Skript, dankeschön fürs Posten EE!
Titel: Re: [STR14] Sidetext
Beitrag von: anarchy.exe am August 05, 2008, 19:44:25
ich würde das script gerne nutzen, ich versteh aber garnicht, wie das geht bzw. wo ich das einfügen muss
Titel: Re: [STR14] Sidetext
Beitrag von: ERZENGEL am August 06, 2008, 13:13:50
Im Script Editor und zwar in Materials bzw. dort wo Insert here (engl. frü Hier einfügen) steht =)
Titel: Re: [STR14] Sidetext
Beitrag von: anarchy.exe am August 06, 2008, 15:45:38
ja und da muss ich alles einfügen? und sonst niergends?
Titel: Re: [STR14] Sidetext
Beitrag von: Kenshin am August 06, 2008, 23:45:07
bei mir gehts nicht hilfe :(
Titel: Re: [STR14] Sidetext
Beitrag von: ERZENGEL am August 07, 2008, 13:39:59
ja und da muss ich alles einfügen? und sonst niergends?
Skript wie die meisten anderen auch in Materials... wie bereits gesagt. Um den Text anzuzeigen die Beschreibung lesen :)

bei mir gehts nicht hilfe :(
Kommt ne Fehlermeldung oder hast du den Text nicht hinzugefügt?
Titel: Re: [STR14] Sidetext
Beitrag von: anarchy.exe am August 12, 2008, 19:36:35
bei mir klappt es auch nicht, ich bekomme einen SyntaxError.
Also ich hab jetzt alles, was unter dem Spoiler Scripte steht, unter Materials eingefügt. Dann habe ich ein Event gemacht, in dem alles steht, was unter Anleitung, Code steht. Da habe ich das Wort Sidetext mit dem ersetzt, was da stehen soll.
Wieso geht es nicht?

Ich hätte mir hier eig. eine genauere Anleitung gewünscht, also Schritt für Schritt. Sry

MfG
Duck
Titel: Re: [STR14] Sidetext
Beitrag von: ERZENGEL am August 12, 2008, 19:53:45
Lass die Kommentare weg:i = s.size if (i == nil)
t = "Sidetext"
f = true
w = 120
c = Color.new(64,32,128)
s[i] = Sprite_Sidetext.new(t,f,w,c)
Liegt sicher daran, dass es die Kommentare in ne andere Zeile verschoben hat und wenn es jetzt nicht geht, dann poste mal nen Screen von den Code.

EDIT: Findest du das jetzt genauer?
Titel: Re: [STR14] Sidetext
Beitrag von: Franky am September 30, 2009, 19:33:26
Bei mir funktioniert es nicht ganz:
Wenn ich z.B. den Namen der Karte anzeigen will, muss ich dann das Event als Parallel Process einstellen?
Andauernd erscheint die Fehlermeldung, dass ein Script läuft, sobald ich die Karte betrete.
Wie genau muss ich das für eine Map einstellen und wo?
Titel: Re: [STR14] Sidetext
Beitrag von: Keyru am September 30, 2009, 21:46:09
Das ist eig nicht für das Anzeigen des Mapnamens gedacht, sondern für einen einfachen Text, den man selber definieren kann.

Für Mapnamen gibt es viele andere Scripts, musst dich nur mal umschauen ;)
Titel: Re: [STR14] Sidetext
Beitrag von: Franky am September 30, 2009, 22:04:23
Das ist eig nicht für das Anzeigen des Mapnamens gedacht, sondern für einen einfachen Text, den man selber definieren kann.

Für Mapnamen gibt es viele andere Scripts, musst dich nur mal umschauen ;)

Ach so, kann man sich bei den Texten auch frei bewegen?
Titel: Re: [STR14] Sidetext
Beitrag von: Ðeity am September 30, 2009, 22:30:42
@Franky
Das Script erlaubt es dir per Eventbefehl eine Textanzeige einzublenden, die nach einer Zeit wieder verschwindet.
Wenn du möchtest, kannst du diese Funktion als Manuellen MapNamen verwenden, in dem du beim betreten der Map per Call Event den Namen der Map selber eingibst.

Und ja während der text angezeigt wird, kan man sich frei bewegen.

MfG
Deity
Titel: Re: [STR14] Sidetext
Beitrag von: Franky am Oktober 01, 2009, 15:18:32
@Franky
Das Script erlaubt es dir per Eventbefehl eine Textanzeige einzublenden, die nach einer Zeit wieder verschwindet.
Wenn du möchtest, kannst du diese Funktion als Manuellen MapNamen verwenden, in dem du beim betreten der Map per Call Event den Namen der Map selber eingibst.

Und ja während der text angezeigt wird, kan man sich frei bewegen.

MfG
Deity



Es erscheint allerdings immer derselbe Fehler.


Muss das Event ein Paralleler Process sein, oder Player Touch? Ich weiss es gerade leider nicht, da ich es nicht testen kann.
Titel: Re: [STR14] Sidetext
Beitrag von: Ðeity am Oktober 01, 2009, 15:32:20
Es ist vollkommen egal, wie das Event startet. Hauptsache ist, dass das Call Script möglichst nur ein mal aufgeruffen wird, da es dann nicht verschwindet, und immer wider neugeschrieben wird.
Der Fehler muss wahrscheinlich in dem Call Script sein, denn du benutzt. Versuch mal folgendes:

s = $game_temp.sidetext
i = s.index(nil)
i = s.size if (i == nil)
t = "Hmm so muss es klappen!"           
f = true                 
w = 120                 
c = Color.new(64,32,128)
s[i] = Sprite_Sidetext.new(t,f,w,c)

Wenn danach weiterhin der Fehler kommt, so hast du wohl ein Script mit dem es sich nicht verträgt.

MfG
Deity
Titel: Re: [STR14] Sidetext
Beitrag von: Keyru am Oktober 01, 2009, 15:46:24
Wäre auch gut eine Beschreibung des Fehlers anzugeben (Was steht im Fentser ? evtl. Screenshot)

So kann man dir besser bei deinem Problem helfen^^
Titel: Re: [STR14] Sidetext
Beitrag von: Franky am Oktober 01, 2009, 22:39:40
Ja, ich werde noch mal nach schauen ;-) .

Muss das ganze Event per Hand eintippen (lässt sich nicht kopieren und einfügen...), von daher mache ich es morgen, wenn ich es nicht vergesse.
Titel: Re: [STR14] Sidetext
Beitrag von: Ðeity am Oktober 01, 2009, 22:45:59
@Franky
Wenn du mein Beitrag in der Codebox meinst, so liegst du falsch. Man kann den Inhalt kopieren und einfügen.
Wenn du die Fehlermeldung meinst, so drücke doch einfach Alt + Druck so kannst du ein Screenshot direkt von der Fehlermeldung machen.
Eine Frage noch, du meinst aber doch hoffentlich nicht den Inhalt des Windows im aller ersten Post, das ist nämmlich ein Bild. ^^

MfG
Deity
Titel: Re: [STR14] Sidetext
Beitrag von: Franky am Oktober 02, 2009, 14:46:18
@Franky
Wenn du mein Beitrag in der Codebox meinst, so liegst du falsch. Man kann den Inhalt kopieren und einfügen.
Wenn du die Fehlermeldung meinst, so drücke doch einfach Alt + Druck so kannst du ein Screenshot direkt von der Fehlermeldung machen.
Eine Frage noch, du meinst aber doch hoffentlich nicht den Inhalt des Windows im aller ersten Post, das ist nämmlich ein Bild. ^^

MfG
Deity



Nein, ich meine nicht das Bild xD, sondern die Code-Box!

Ich kann es zwar kopieren, aber nicht im Spiel unter Skript einfügen.
Es steht zwar Paste (bzw. Strg + V) allerdings wird kein Text eingefügt.

Ich bringe noch die Fehlermeldung hier rein.
Titel: Re: [STR14] Sidetext
Beitrag von: Colonios am Oktober 02, 2009, 23:31:31
Wenn du über main ein Strg+V machst, dann wird ein leeres Script eingefügt. Du musst dann in dem rechten, größeren Bereich den Text einfügen ;)

Hoffe, dass das nur ein so geringer Fehler war ^^

MfG
Titel: Re: [STR14] Sidetext
Beitrag von: Meitantei ph am Dezember 10, 2009, 11:09:27
Das Skript funktioniert zwar wunderbar bei mir, doch wenn ich den Text abspiele, ist er immerüber der ganzen Zeile, und irgendwann eben weg^^
wenn ich im Befehl mit Enter Absätze mache, dann macht er diese hochformatigen Rechtecke, als Zeichen, dass er das nicht kann^^

Also...wie gehen Absätze bei dem Skript?
Titel: Re: [STR14] Sidetext
Beitrag von: Ðeity am Dezember 13, 2009, 02:39:36
Hay,
füge dieses hier:

#==============================================================================
# ¦ Sprite_Sidetext
#==============================================================================
class Sprite_Sidetext
  #--------------------------------------------------------------------------
  # ? ?????????
  #--------------------------------------------------------------------------
  def initialize(text, frame = false, wait = 120, c = Color.new(64,32,128))
    super()
    self.x = 16
    num = $game_temp.sidetext.index(nil)
    num = $game_temp.sidetext.size if (num == nil)
    y = 80 + (num * 24)
    self.y = y
    self.z = 200
    bitmap = Bitmap.new(32, 24)
    w = bitmap.text_size(text.delete("\n")).width
    bitmap.dispose
    bitmap = Bitmap.new(w, 24)
    if frame
      bitmap.draw_text_f(0, 0, w, 24, text.delete("\n"), 0, c)
    else
      bitmap.draw_text(0, 0, w, 24, text.delete("\n"))
    end
    self.bitmap = bitmap
    self.opacity = 0
    @wait = wait
  end
end

direkt in das Sidetextscript ein, aber ganz unten.

Es müsste gehen.

MfG
Deity
SimplePortal 2.3.3 © 2008-2010, SimplePortal