Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Napisy Końcowe [XP]
Autor Wiadomość
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 13 Lip, 2011 11:36
Napisy Końcowe [XP]
~ Napisy Końcowe [XP] ~

Krótki opis
Ze względu na brak takowego na forum zamieszczam krótki skrypt, dzięki któremu można wyświetlać napisy końcowe (tzw. Credits), a także historie, opisy postaci, itd.

Autor skryptu
Ayene [yurika@o2.pl]

Kompatybilność
Tylko XP

Skrypt
Spoiler:

Kod:
#==============================================================================
# Napisy Końcowe [XP] / Scene Credits [XP]       
#==============================================================================
# Autor: Ayene
# www.ultimateam.pl
# ver. 1.2 [15.07.2011]
#==============================================================================
# Skrypt wyświetla napisy końcowe (tzw. Credits).
# Może zostać wykorzystany również do wyświetlania historii, opisu, itd.
# Instalacja: Umieść skrypt nad Main.
#==============================================================================
# By wywołać napisy wpisz:
#     $scene = Scene_Credits.new
#==============================================================================

module AYENE
 
  # Ustawienia czcionki
  CREDITS_FONT = 'Comic Sans MS'    # nazwa czcionki (folder Fonts)
  CREDITS_SIZE = 30                 # rozmiar czcionki
  CREDITS_BOLD = true               # pogrubienie
  CREDITS_ITALIC = false            # kursywa
  WLH = 32                          # interlinia
 
  # Ustawienia muzyki w tle
  CREDITS_BGM = ''                  # nazwa pliku z muzyką (folder Audio/BGM)
  CREDITS_BGM_VOLUME = 100          # głośność
 
  # Ustawienia tła obrazkowego (folder Graphics/Pitures)   
  BACKGROUND_IMAGE = ''             # nazwa tła; '' wyłącza tło
  BACKGROUND_OPACTIY = 255          # przezroczystość tła   
 
  # Formatowanie tesktu
  # Poniżej można dodać własne kolory tekstu
  TEXT_COLOR = { # 'kod' => kolor
  '' => Color.new(255, 255, 255, 255),  # <- nie usuwać - kolor domyślny
  '<r>' => Color.new(255, 126, 126, 255),
  '<y>' => Color.new(255, 253, 92, 255),
  '<g>' => Color.new(92, 255, 150, 255)
  }
     
  CREDITS_OUTLINE = Color.new(0, 0, 0, 255)     # kolor obwódki tekstu
  CREDITS_SHADOW = Color.new(0, 0, 0, 100)      # kolor cienia
   
  BUTTON_CLOSE = true # włącza możliwość przewinięcia sceny za pomocą przycisku
 
  NEXT_SCENE = Scene_Map          # kolejna scena   
  PREVIOUS_SCENE = Scene_Title    # poprzednia scena
 
  # Dodawanie obrazków do tekstu
  # Żeby obrazek nie nachodził na tekst wystarczy - pod linijką z kodem na jego
  # wyświetlenie - dać większy odstęp.
  IMAGE = { # 'kod' => nazwa obrazka
  '<logo>' => 'logo',
  '<ranga>' => 'ranga',   
  }
 
#--------------------------
# Tekst
#--------------------------
CREDIT = <<_CREDIT_

<logo>

<y>Tytuł Gry



<r>~ Reżyser ~
...
---------------

<r>~ Skrypty ~
...
---------------

<r>~ Grafika ~
...
---------------

<r>~ Dźwięk i muzyka ~
...
---------------

<r>~ Mapy ~
...
---------------

<g>www.ultimateam.pl

_CREDIT_
#--------------------------
# Koniec tekstu
#--------------------------
end

#==============================================================================
# ** Bitmap
#==============================================================================

class Bitmap
  include AYENE
  #--------------------------------------------------------------------------
  # * Draw Text Outline
  #--------------------------------------------------------------------------
  def draw_text_outline(x, y, width, height, text, align, color)
    font.name = CREDITS_FONT
    font.size = CREDITS_SIZE
    font.bold = CREDITS_BOLD
    font.italic = CREDITS_ITALIC
    font.color = CREDITS_OUTLINE
    draw_text(x + 1, y, width, height, text, align)
    draw_text(x - 1, y, width, height, text, align)
    draw_text(x, y + 1, width, height, text, align)
    draw_text(x, y - 1, width, height, text, align)
    font.color = CREDITS_SHADOW
    draw_text(x + 2, y + 8, width, height, text, align)   
    font.color = color   
    draw_text(x, y, width, height, text, align)
  end
end

#==============================================================================
# ** Scene_Credits
#==============================================================================

class Scene_Credits
  include AYENE   
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main       
    color = []
    image = []
    if CREDITS_BGM != ''
      Audio.bgm_play("Audio/BGM/" + CREDITS_BGM, CREDITS_BGM_VOLUME, 100)
    end     
    if BACKGROUND_IMAGE != ''
      @background = Sprite.new
      @background.bitmap = RPG::Cache.picture(BACKGROUND_IMAGE)
      @background.opacity = BACKGROUND_OPACTIY
    end   
    text = CREDIT.split(/\n/)     
    @credits = Sprite.new
    @credits.bitmap = Bitmap.new(640, WLH * text.size)
    @credits.z = 9999
    @credits.oy = -470     
    text.each_index { |i|
      color[i] = TEXT_COLOR[0]     
      TEXT_COLOR.each { |st, c|
        if text[i].include?(st)       
          text[i].sub!(st, '')
          color[i] = c           
        end         
      }
      IMAGE.each { |st, im|
        if text[i].include?(st)       
          text[i].sub!(st, '')
          image[i] = im           
        end         
      }
      if image[i] != nil
        bitmap = RPG::Cache.picture(image[i])
        cw = bitmap.width
        ch = bitmap.height
        src_rect = Rect.new(0, 0, cw, ch)
        @credits.bitmap.blt((640 - cw) / 2, i*WLH, bitmap, src_rect)         
      end
      @credits.bitmap.draw_text_outline(0,i*WLH,640,32,text[i],1,color[i])     
    }         
   
    Graphics.transition   
    loop do     
      Graphics.update     
      Input.update     
      update     
      if $scene != self
        break
      end
    end   
    Graphics.freeze
    unless @background.nil?
      @background.bitmap.dispose
      @background.dispose
    end
    @credits.bitmap.dispose
    @credits.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    @credits.oy += 1
    if BUTTON_CLOSE
      if Input.trigger?(Input::C)       
        next_scene               
      elsif Input.trigger?(Input::B)
        previous_scene
      end
    end   
    if @credits.oy >= @credits.bitmap.height
      next_scene
    end   
  end
  #--------------------------------------------------------------------------
  # * Next Scene
  #--------------------------------------------------------------------------
  def next_scene
    Audio.bgm_fade(1500) if CREDITS_BGM != ''
    $scene = eval("#{NEXT_SCENE}.new")
  end
  #--------------------------------------------------------------------------
  # * Previous Scene
  #--------------------------------------------------------------------------
  def previous_scene
    Audio.bgm_fade(1500) if CREDITS_BGM != ''
    $scene = eval("#{PREVIOUS_SCENE}.new")     
  end
end


Demo
niepotrzebne

Screenshot
Spoiler:


Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.

Instrukcja - jak umieścić 'Autorów' w menu ekranu tytułowego:
Spoiler:

Wejdź w 'Scene_Title' i znajdź fragment:
Kod:
s1 = "New Game"
s2 = "Continue"   
s3 = "Shutdown"
@command_window = Window_Command.new(192, [s1, s2, s3])

Zamień go na:
Kod:
s1 = "Nowa Gra"
s2 = "Kontynuuj"   
s3 = "Autorzy"
s4 = "Wyjście"
@command_window = Window_Command.new(192, [s1, s2, s3, s4])

Znajdź pod spodem:
Kod:
@command_window.y = 288

I zamień na:
Kod:
@command_window.y = 256

Następnie znajdź:

Kod:
case @command_window.index
when 0  # New game
  command_new_game
when 1  # Continue
  command_continue
when 2  # Shutdown
  command_shutdown
end

i zamień na:
Kod:
case @command_window.index
when 0  # New game
  command_new_game
when 1  # Continue
  command_continue
when 2  # Autorzy
  $game_system.se_play($data_system.decision_se)
  $scene = Scene_Credits.new
when 3  # Shutdown
  command_shutdown
end


Piszcie w razie problemów.
________________________


 
 
 
wojtas025c 




Preferowany:
RPG Maker VX

Dołączył: 29 Lip 2010
Posty: 106
Skąd: Lubin
Wysłany: Sro 13 Lip, 2011 11:40
0_o Dzięki Ayene znowu ^^

Szukałem tego do swojego projektu a jak zrobić aby był napisz Autorzy w menu. Tak jak w pustkowia Chaosu ^^
________________________
"Jestem jaki jestem i nic tego nie zmieni"
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Sro 13 Lip, 2011 11:42
W którym menu? Na ekranie tytułowym?
________________________


 
 
 
wojtas025c 




Preferowany:
RPG Maker VX

Dołączył: 29 Lip 2010
Posty: 106
Skąd: Lubin
Wysłany: Sro 13 Lip, 2011 11:47
Tak jak mam Ekran Tytułowy to tak jak w "Pustkowia Chaosu" zrobić aby byli "Autorzy"
________________________
"Jestem jaki jestem i nic tego nie zmieni"
 
 
 
Melvin 




Preferowany:
RPG Maker XP

Ranga RM:
1 gra

Pomógł: 35 razy
Dołączył: 23 Paź 2009
Posty: 1063
Wysłany: Sro 13 Lip, 2011 23:03
Pro.
Thx. A można jakoś wbić tam obrazek? :->
________________________
MelvinClass:
Spoiler:

 
 
wojtas025c 




Preferowany:
RPG Maker VX

Dołączył: 29 Lip 2010
Posty: 106
Skąd: Lubin
Wysłany: Sro 13 Lip, 2011 23:33
No można.

Przejdź to:
[spoiler]
# Ustawienia tła obrazkowego (folder Graphics/Pitures)
BACKGROUND_IMAGE = '' # Tutaj piszesz nazwę obrazka jeśli jej nie będzie nie będzie obrazka czyli będzie wyłączony
BACKGROUND_OPACTIY = 255[spoiler]
________________________
"Jestem jaki jestem i nic tego nie zmieni"
 
 
 
Melvin 




Preferowany:
RPG Maker XP

Ranga RM:
1 gra

Pomógł: 35 razy
Dołączył: 23 Paź 2009
Posty: 1063
Wysłany: Sro 13 Lip, 2011 23:38
Ale mi nie chodzi o tło tylko obrazek jako napis.
________________________
MelvinClass:
Spoiler:

 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 14 Lip, 2011 07:19
Instrukcja - jak umieścić 'Autorów' w menu ekranu tytułowego:
Spoiler:

Wejdź w 'Scene_Title' i znajdź fragment:
Kod:
s1 = "New Game"
s2 = "Continue"   
s3 = "Shutdown"
@command_window = Window_Command.new(192, [s1, s2, s3])

Zamień go na:
Kod:
s1 = "Nowa Gra"
s2 = "Kontynuuj"   
s3 = "Autorzy"
s4 = "Wyjście"
@command_window = Window_Command.new(192, [s1, s2, s3, s4])

Znajdź pod spodem:
Kod:
@command_window.y = 288

I zamień na:
Kod:
@command_window.y = 256

Następnie znajdź:

Kod:
case @command_window.index
when 0  # New game
  command_new_game
when 1  # Continue
  command_continue
when 2  # Shutdown
  command_shutdown
end

i zamień na:
Kod:
case @command_window.index
when 0  # New game
  command_new_game
when 1  # Continue
  command_continue
when 2  # Autorzy
  $game_system.se_play($data_system.decision_se)
  $scene = Scene_Credits.new
when 3  # Shutdown
  command_shutdown
end


Skrypt z dodatkową opcją wyświetlania obrazków
Pierwszy post edytowany ;-)
________________________


 
 
 
wojtas025c 




Preferowany:
RPG Maker VX

Dołączył: 29 Lip 2010
Posty: 106
Skąd: Lubin
Wysłany: Czw 14 Lip, 2011 12:57
Dziękuje ci Ayene :3

Ogólnie bardzo mi pomagasz w skryptach <3
________________________
"Jestem jaki jestem i nic tego nie zmieni"
 
 
 
Melvin 




Preferowany:
RPG Maker XP

Ranga RM:
1 gra

Pomógł: 35 razy
Dołączył: 23 Paź 2009
Posty: 1063
Wysłany: Czw 14 Lip, 2011 14:56
Dzięki Ayene ;-)
________________________
MelvinClass:
Spoiler:

 
 
wojtas025c 




Preferowany:
RPG Maker VX

Dołączył: 29 Lip 2010
Posty: 106
Skąd: Lubin
Wysłany: Czw 14 Lip, 2011 17:40
Hmm....

Mam mały problemik i chodzi o to że gdy się zamyka "Autorzy" pokazuje mnie się błąd:



A linia brzmi tak:

Kod:
   
@actor = $game_party.actors[0]

________________________
"Jestem jaki jestem i nic tego nie zmieni"
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 14 Lip, 2011 20:22
A masz kogoś w drużynie? W skrypcie z tego tematu, co masz w linijce z konfiguracją NEXT_SCENE?
________________________


 
 
 
wojtas025c 




Preferowany:
RPG Maker VX

Dołączył: 29 Lip 2010
Posty: 106
Skąd: Lubin
Wysłany: Czw 14 Lip, 2011 20:41
Nie za bardzo kapuje co napisałaś ^^
________________________
"Jestem jaki jestem i nic tego nie zmieni"
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Czw 14 Lip, 2011 20:45
Zadałam dwa pytania:
1. Czy masz kogoś w drużynie?
2. Co masz w linijce z konfiguracją NEXT_SCENE? Domyślnie ta linijka wygląda tak w skrypcie:
Kod:
NEXT_SCENE = Scene_Map          # kolejna scena   
________________________


 
 
 
wojtas025c 




Preferowany:
RPG Maker VX

Dołączył: 29 Lip 2010
Posty: 106
Skąd: Lubin
Wysłany: Pią 15 Lip, 2011 21:21
Tak mam 2 osoby ^^

A 2 znowu nie kapuje....

Jestem tępy...
________________________
"Jestem jaki jestem i nic tego nie zmieni"
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene