Ergebnis 1 bis 8 von 8

Thema: DAs hört ihr ständig, doch trotzdem brauche ich HILFE!

  1. #1

    DAs hört ihr ständig, doch trotzdem brauche ich HILFE!

    Ich weiss, ich weiss, ihr hört das ständig... Hilfe! Hilfe!
    doch trotzdem verlange ich sie!

    Also, wahrscheinlich denkt ihr; nicht schon wieder, noch einer der das Sprechblasenskript braucht... Ich weiss das es schon andere Threads gibt(dort verstehe ich nur Bahnhof), doch ich möchte nicht ein NORMALES sprechblasenskript, sondern ein SUPER FACESETSPRECHBLASENSKRIPT!

    Was das ist? Hier schaut mal rein - > .:Sprechblasenkriptvideo:., genau solche Sprechblasen sollen mein Spiel verschönern!

    Ich kann bei diesem Clip gar nichts von dem Skript lesen, und der, der das Video hochgeladen hat, gibt mir keine Antwort...

    Könnt ihr mir helfen? Wenn niemand mir helfen kann, dann genügt mir schone eine SIMPLE Anleitung für ein normales Sprechblasenskript.

    Danke an jene, die helfen können, ich werde demjenigen eine Figur widmen!

    Gruss Tael

  2. #2
    kann mir niemand helfen?

  3. #3
    Vermutlich nutzt der das UMS. Hermes kann das aber afair auch.

  4. #4
    Aha... was ist das UMS? Und das Hermes schau ich mir noch mal an. Ich weiss, ich bin der blutigste Skriptanfänger der welt...

    Geändert von Tael Alchemist (16.01.2009 um 07:19 Uhr)

  5. #5
    kann mir sonst wirklich niemand helfen?

  6. #6
    Ich hoffe ich habe dich Richtig verstanden.
    Aber ich werde dir mal den Code geben, so wie ich ihn habe.

    Code:
    #============================================================================== 
    # ■ Window_Message 
    #------------------------------------------------------------------------------ 
    #  文章表示に使うメッセージウィンドウです。 
    #============================================================================== 
    
    class Window_Message < Window_Selectable 
    #-------------------------------------------------------------------------- 
      # ● オブジェクト初期化 
      #-------------------------------------------------------------------------- 
      def initialize 
        super(80, 304, 460, 160) #Faceset off 
        self.contents = Bitmap.new(width - 32, height - 32) 
        self.visible = false 
        self.z = 9998 
        @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 
        # 表示中フラグをクリア 
        @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 
        self.contents.font.name = $fontface 
        self.contents.font.size = $fontsize 
        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 
          # 便宜上、"\\\\" を "\000" に変換 
          text.gsub!(/\\\\/) { "\000" } 
          # "\\C" を "\001" に、"\\G" を "\002" に変換 
          text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" } 
          text.gsub!(/\\[Gg]/) { "\002" } 
          # c に 1 文字を取得 (文字が取得できなくなるまでループ) 
          while ((c = text.slice!(/./m)) != nil) 
            # \\ の場合 
            if c == "\000" 
              # 本来の文字に戻す 
              c = "\\" 
            end 
            # \C[n] の場合 
            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 
              # 次の文字へ 
              next 
            end 
            # \G の場合 
            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 を加算 
              y += 1 
              x = 0 
              # 選択肢なら字下げを行う 
              if y >= $game_temp.choice_start 
                x = 8 
              end 
              # 次の文字へ 
              next 
            end 
            # 文字を描画 
            self.contents.draw_text(1 + x, 32 * y, 40, 32, c) 
            # x に描画した文字の幅を加算 
            x += self.contents.text_size(c).width 
          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 
      end 
      #-------------------------------------------------------------------------- 
      # ● Faceset ein oder nicht 
      #-------------------------------------------------------------------------- 
      def reset_window 
        if $game_temp.in_battle 
          self.y = 16 
        else 
          if $game_switches[0001] 
        facepos = $game_system.message_position + 3 
      else 
      facepos = $game_system.message_position 
      end 
           case facepos 
          when 0  # 上 
            self.y = 16 
            self.x = 80 
          when 1  # 中 
            self.y = 160 
            self.x = 80 
          when 2  # 下 
            self.y = 304 
            self.x = 80 
           when 3 #Faceset oben 
            self.x = 165 
            self.y = 16 
           when 4 # Faceset mitte 
              self.x = 165 
              self. y = 160 
            when 5 # Faceset unten 
              self.x = 165 
              self.y = 304 
            end 
            facepos = 0 
        end 
        if $game_system.message_frame == 0 
          self.opacity = 255 
        else 
          self.opacity = 0 
        end 
        self.back_opacity = 160 
      end 
      #-------------------------------------------------------------------------- 
      # ● フレーム更新 
      #-------------------------------------------------------------------------- 
      def update 
        super 
        # フェードインの場合 
        if @fade_in 
          self.contents_opacity += 24 
          if @input_number_window != nil 
            @input_number_window.contents_opacity += 24 
          end 
          if self.contents_opacity == 255 
            @fade_in = false 
          end 
          return 
        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 $game_temp.choice_max == 0 
            self.pause = true 
          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 
          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 -= 48 
          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

    Ersetzt diesen Code einfach mit dem bestehenden aus der Window_Message.

    Das wäre es nun auch schon fast.
    Nun müsst du nur noch wenn du gerne ein Faceset anzeigt folgendes tun


    1. Faceset was du haben möchtet als Picture in den Maker importieren
    2. ab dem Moment an dem du das Faceset zeigen wollt die Switch[0001] auf on setzen
    3. Das Faceset das du als Picture importiert auf die Position x= -10 y= 300 setzen. ( zeigt die Face unten im Bildschirm ). Setzt die Opacity aber auf 0
    4. Moved die Picture des Facesets einfach auf Opacity 255 und das in einer Zeit von 2 Frames
    5. Den gewünschten Text schreiben ( Message Funktion )
    6. Wenn ihr das Faceset ausschalten wollt sie wie Moven auf Opacity 0 und das wieder in einer Zeit von 2 Frames
    7. Die Switch[0001] auf off setzen


    Hoffe es hat dir geholfen.

  7. #7
    es reicht, wenn du ihn über main einfügst.
    und wobei brauchst du eigentlich hilfe?XD

  8. #8
    Vielen dank lady selphia! Ich werde es sobald es mir möglich ist ausprobieren!

    Un wobei ich hilfe brauche? Das sieht man doch, bin skript amateuer und will ein sprechblasenskript mit faceset! so ist das! 8)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •