Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Wskrzeszanie
Autor Wiadomość
pokecath 




Preferowany:
RPG Maker VX

Pomógł: 6 razy
Dołączył: 07 Mar 2011
Posty: 103
Wysłany: Pon 06 Cze, 2011 14:43
Wskrzeszanie
OPIS
Skrypt pozwala wskrzesić się gdy umrzesz.Jest on przydatny w wypadku systemu walki w czasie rzeczywistym.Można robić punkty wskrzeszeń.

Autor:Julian Villaruz(omegazion)
Tłumaczenie:Pokecath

Kompatybilność
Wyłącznie VX

Potrzebna grafika
Jakaś grafa która będzie tłem w menu wskrzeszenia.

Skrypt

Spoiler:

Kod:

module OZ002
#==============================================================================
#  Nazwa:Wskrzeszenie po śmierci
#  Autor: Julian Villaruz of UP diliman(omegazion)
#  E-mail autora:julianvillaruz@gmail.com
#  Tłumaczenie:Pokecath
#
#  Ten skrypt włącza menu wskrzeszenia po śmierci .
#  Możesz w nim wybrać wskrzeszenie ,wczytać wcześniejszą grę,
#  pójść do tytułu lub wyłączyć grę.
#  Musisz mieć tło które pojawi się w menu wskrzeszenia.
#  Nazwij je:Gameover_menuback
#  Następnie wrzucić do folderu graphic/system
#
#  Jeśli znajdzesz jakieś błędy skontaktuj się ze mną na Rpgrevolution.com
#  lub przez e-mali.
#
#  Instrukcje i opcje znajdzesz poniżej.

#==============================================================================
#  **Opcje
#==============================================================================

#  Nazwy komend w menu wskrzeszenia.
#  Niżej zostawiam po angielsku ,bo mało co zrozumiecie z tego co przetłumacze.

  Revive = "Wskrzesz"
  Continue = "Wczytaj"
  ToTitle = "Do tytułu"
  Shutdown = "Wyłącz"
  BackToMenu = "Wróć do menu"
# Automatically fadeout screen after revive(so that you could process your
# events first before the screen appears then fade in manually through events)
# set value to true/false

  AutomaticFadeoutScreen = false
 
# Zaczynam znowu tłumaczyć.
#=Zignoruj te linie=====================================================
end
class Scene_Gameover < Scene_Base
def start
 
#===============================================================================
# **Instrukcje
# Wklej skrypt nad menu
#
# Zrób tło które pojawi się po śmierci .Nazwij je:Gameover_menuback .
# Następnie wrzucić do folderu graphic/system
#
# Ustawienia puktów wskrzeszenia:
# revive_point("nazwa", ID mapy, map-x, map-y, "kierunek", ID przełącznika)
# "nazwa" = nazwa miejsca (pojawi się ona w menu)(nie zaomnij o "")
# ID mapy = ID mapy na której cię ożywi
# map-x = pozycja x na mapie
# map-y = pozycja y na mapie
# "kierunek" = kierunek w który ma być zwrócona postać (nie zaomnij o "")
# kierunki to (up,down,left,right)
# ID przełącznika = przełącznik który aktywuje miejsce wskrzeszenia.
# Przykład:
# revive_point("Heaven", 1, 10, 10, "left", 1)
#-------------------------------------------------------------------------------
# Tutaj umieszczaj punkty wskrzeszenia (możesz dać kilka)



   

#-------------------------------------------------------------------------------
    super
    unless @from_load
      RPG::BGM.stop
      RPG::BGS.stop
      $data_system.gameover_me.play
      Graphics.transition(60)
      Graphics.freeze
      create_gameover_graphic
      Graphics.transition(120)
      Graphics.fadein(60)
      loop do
        Graphics.update
        Input.update
        if Input.trigger?(Input::C)
          Graphics.fadeout(120)
          break
        end
      end
    end
    @sprite.dispose unless @sprite == nil
    create_revive_graphic
    create_gameover_menu
    Graphics.fadein(60) unless @from_load
    @command_window.open
    @command_window_active = true
  end
  def initialize(from_load = false)
    @from_load = from_load
  end
  def perform_transition
    unless @from_load
      Graphics.transition(180)
    else
      Graphics.transition(10)
    end
  end
  def terminate
    super
    dispose_gameover_graphic
    @command_window.dispose
    @revive_window.dispose unless @revive_window == nil or @revive_window.disposed?
    $scene = nil if $BTEST
  end
  def update
    super
    update_menu_background
    if @command_window_active
      @command_window.update
      if Input.trigger?(Input::C)
        Sound.play_decision
        case @command_window.index
        when 0 
          create_revive_window
          @command_window.openness = 0
          @revive_window.open
          @command_window_active = false
        when 1 
          $scene = Scene_File.new(false, false, false, true)
          @command_window.openness = 0
        when 2 
          Graphics.fadeout(120)
          Graphics.freeze
          $scene = Scene_Title.new
        when 3 
          $scene = nil
        end
      end
    else
      @revive_window.update
      if Input.trigger?(Input::B)
        return_to_gameover_menu
      end
      if Input.trigger?(Input::C)
        Sound.play_decision
        if @revive_window.index == @available.size
          return_to_gameover_menu     
        else 
          process_revive
        end
      end
    end 
  end
  def create_revive_graphic
    @sprite = Sprite.new
    @sprite.bitmap = Cache.system("Gameover_menuback")
  end
  def create_gameover_menu
    s1 = OZ002::Revive
    s2 = OZ002::Continue
    s3 = OZ002::ToTitle
    s4 = OZ002::Shutdown
    @command_window = Window_Command.new(172, [s1, s2, s3, s4])
    @command_window.x = (544 - @command_window.width) / 2
    @command_window.y = (390 - @command_window.height)
    @command_window.openness = 0
  end
  def revive_point(name, mapid, x, y, direction, switchid = 0)
    if @declared == nil
    @revive_name = []
    @revive_id = []
    @revive_x = []
    @revive_y = []
    @revive_dir = []
    @revive_switch = []
    @declared = true
    end
    @revive_name.push(name)
    @revive_id.push(mapid)
    @revive_x.push(x)
    @revive_y.push(y)
    dir = 2
    case direction
    when "up"
      dir = 8
    when "down"
      dir = 2
    when "left"
      dir = 4
    when "right"
      dir = 6
    end
    @revive_dir.push(dir)
    @revive_switch.push(switchid)
  end
  def create_revive_window
    revive_place_names = []
    @available = []
    for i in (0..@revive_name.size - 1)
      if ($game_switches[@revive_switch[i]] == true) or @revive_switch[i] == 0
        revive_place_names.push(@revive_name[i])
        @available.push(i)
      else
        revive_place_names.push(nil)
      end
    end
    if ((@available.size+1)%16==0)
      columns = (@available.size+1)/16
    else
      columns = (@available.size+1)/16 + 1
    end
    menu_terms = revive_place_names.compact
    menu_terms.push(OZ002::BackToMenu)
    column_width = [172*columns, 544].min
    @revive_window = Window_Command.new(column_width, menu_terms, columns)
    @revive_window.x = (544 - @revive_window.width) / 2
    @revive_window.y = (416 - @revive_window.height) / 2
    @revive_window.openness = 0
  end
  def return_to_gameover_menu
    Sound.play_cancel
    @revive_window.openness = 0
    @revive_window.close
    @command_window.open
    @command_window_active = true
  end
  def process_revive
    i = @available[@revive_window.index]
    if $game_party.all_dead?
      for actor in $game_party.members
        actor.remove_state(1)
      end
    end
    $game_player.reserve_transfer(@revive_id[i], @revive_x[i], @revive_y[i], @revive_dir[i])
    Graphics.fadeout(30)
    @revive_window.dispose
    Graphics.freeze
    $scene = Scene_Map.new(true)
    $game_map.screen.start_fadeout(1) if OZ002::AutomaticFadeoutScreen
  end
end
#-------------------------------------------------------------------------------
class Scene_File < Scene_Base
  def initialize(saving, from_title, from_event, from_gameover = false)
    @saving = saving
    @from_title = from_title
    @from_event = from_event
    @from_gameover = from_gameover
  end
  def start
    super
    create_menu_background unless @from_gameover
    @help_window = Window_Help.new
    create_savefile_windows
    if @saving
      @index = $game_temp.last_file_index
      @help_window.set_text(Vocab::SaveMessage)
    else
      @index = self.latest_file_index
      @help_window.set_text(Vocab::LoadMessage)
    end
    @savefile_windows[@index].selected = true
  end
  def terminate
    super
    dispose_menu_background unless @from_gameover
    @help_window.dispose
    dispose_item_windows
  end
  def return_scene
    if @from_title
      $scene = Scene_Title.new
    elsif @from_event
      $scene = Scene_Map.new
    elsif @from_gameover
      $scene = Scene_Gameover.new(true)
    else
      $scene = Scene_Menu.new(4)
    end
  end
  def do_load
    file = File.open(@savefile_windows[@index].filename, "rb")
    read_save_data(file)
    file.close
    $game_temp =  Game_Temp.new
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    Graphics.fadeout(60)
    Graphics.wait(40)
    @last_bgm.play
    @last_bgs.play
  end
end
#-------------------------------------------------------------------------------
class Game_Interpreter
  def command_353
    $scene = Scene_Gameover.new
    @index += 1
    return false
  end
end
#-------------------------------------------------------------------------------
class Scene_Map < Scene_Base
  def initialize(from_gameover = false)
    @from_gameover = from_gameover
  end
  def start
    super
    if @from_gameover
      update_transfer_player_from_gameover
      Graphics.freeze
      @spriteset.dispose
    end
    $game_map.refresh
    @spriteset = Spriteset_Map.new
    @message_window = Window_Message.new
  end
  def update_transfer_player_from_gameover
    fade = (Graphics.brightness > 0)
    fadeout(30) if fade
    $game_player.perform_transfer   
    $game_map.autoplay             
    $game_map.update
    Graphics.wait(15)
    @spriteset = Spriteset_Map.new 
    fadein(30) if fade
    Graphics.transition(80)
    $game_temp.next_scene = nil
    Input.update
  end
  def call_gameover
    $game_temp.next_scene = nil
    unless @from_gameover
    $scene = Scene_Gameover.new
    else
    @from_gameover = false
    end
  end
end



Instrukcje
Wklej nad "main"
Reszta instrukcji w części skryptu.

PS.Mam nadzieję ,że temat dobrze założyłem i Angius nie będzie się denerwować.
________________________
Nazwa:Ostatni Czarny Mag : Pradawna Kopalnia
Fabuła:70%
Questy:0%
Mapy:0,99%
Itemy:0,6%
Skrypty:100%
Muzyka:30%
Reszta:0,04
Ogólnie mało.
 
 
Mantiq 




Pomógł: 1 raz
Dołączył: 12 Mar 2011
Posty: 48
Wysłany: Pon 06 Cze, 2011 20:43
Skrypty umieszcza się w [code].Dziwnie przetłumaczony,bo instrukcja powinna znajdować się na samym początku a nie w środku.A skryptu nie wykorzystam,bo sam umiem taki zrobić xD.
 
 
pokecath 




Preferowany:
RPG Maker VX

Pomógł: 6 razy
Dołączył: 07 Mar 2011
Posty: 103
Wysłany: Wto 07 Cze, 2011 14:40
Cytat:
Dziwnie przetłumaczony,bo instrukcja powinna znajdować się na samym początku a nie w środku
Ja tylko tłumaczyłem .Tak było już napisane.
________________________
Nazwa:Ostatni Czarny Mag : Pradawna Kopalnia
Fabuła:70%
Questy:0%
Mapy:0,99%
Itemy:0,6%
Skrypty:100%
Muzyka:30%
Reszta:0,04
Ogólnie mało.
 
 
MrBoomGood 




Preferowany:
RPG Maker VX

Pomógł: 3 razy
Dołączył: 07 Kwi 2011
Posty: 292
Skąd: Katowice
Wysłany: Wto 07 Cze, 2011 15:07
Skrypt bardzo fajny, i działa :) Jednak nie wykorzystam w projekcie :P
 
 
 
Angius 

Nie wkurzać



Preferowany:
RPG Maker VX

Pomógł: 104 razy
Dołączył: 30 Paź 2010
Posty: 1276
Skąd: wROCK
Wysłany: Wto 07 Cze, 2011 15:11
Temat dobrze umieszczony, nie będę się denerwował :P
Choć brakuje screena pokazującego menu po śmierci. Mógłbyś również dodać przykładową grafikę tego tła.
A jak chcecie po ludzku sklecony kod, to łapcie:
Spoiler:

Kod:

module OZ002
#==============================================================================
#  Nazwa:Wskrzeszenie po śmierci
#  Autor: Julian Villaruz of UP diliman(omegazion)
#  E-mail autora:julianvillaruz@gmail.com
#  Tłumaczenie:Pokecath
#
#  Ten skrypt włącza menu wskrzeszenia po śmierci .
#  Możesz w nim wybrać wskrzeszenie ,wczytać wcześniejszą grę,
#  pójść do tytułu lub wyłączyć grę.
#  Musisz mieć tło które pojawi się w menu wskrzeszenia.
#  Nazwij je:Gameover_menuback
#  Następnie wrzucić do folderu graphic/system
#
#  Jeśli znajdzesz jakieś błędy skontaktuj się ze mną na Rpgrevolution.com
#  lub przez e-mali.
#
#  Instrukcje i opcje znajdzesz poniżej.

#==============================================================================
#  **Opcje
#==============================================================================
#=Zignoruj te linie=====================================================
end
class Scene_Gameover < Scene_Base
def start
 
#===============================================================================
# **Instrukcje
# Wklej skrypt nad menu
#
# Zrób tło które pojawi się po śmierci .Nazwij je:Gameover_menuback .
# Następnie wrzucić do folderu graphic/system
#
# Ustawienia puktów wskrzeszenia:
# revive_point("nazwa", ID mapy, map-x, map-y, "kierunek", ID przełącznika)
# "nazwa" = nazwa miejsca (pojawi się ona w menu)(nie zaomnij o "")
# ID mapy = ID mapy na której cię ożywi
# map-x = pozycja x na mapie
# map-y = pozycja y na mapie
# "kierunek" = kierunek w który ma być zwrócona postać (nie zaomnij o "")
# kierunki to (up,down,left,right)
# ID przełącznika = przełącznik który aktywuje miejsce wskrzeszenia.
# Przykład:
# revive_point("Heaven", 1, 10, 10, "left", 1)
#-------------------------------------------------------------------------------
# Tutaj umieszczaj punkty wskrzeszenia (możesz dać kilka)



#===========================================================
#  Nazwy komend w menu wskrzeszenia.
#  Niżej zostawiam po angielsku ,bo mało co zrozumiecie z tego co przetłumacze.

  Revive = "Wskrzesz"
  Continue = "Wczytaj"
  ToTitle = "Do tytułu"
  Shutdown = "Wyłącz"
  BackToMenu = "Wróć do menu"
# Automatycznie zanikający ekran po wskrzeszeniu(dzięki temu możesz uruchamiać
# zdarzenia, przed pojawieniem się ekranu, a następnie ręcznie go "pojawić")
# Ustaw na true/false
   AutomaticFadeoutScreen = false

#-------------------------------------------------------------------------------
    super
    unless @from_load
      RPG::BGM.stop
      RPG::BGS.stop
      $data_system.gameover_me.play
      Graphics.transition(60)
      Graphics.freeze
      create_gameover_graphic
      Graphics.transition(120)
      Graphics.fadein(60)
      loop do
        Graphics.update
        Input.update
        if Input.trigger?(Input::C)
          Graphics.fadeout(120)
          break
        end
      end
    end
    @sprite.dispose unless @sprite == nil
    create_revive_graphic
    create_gameover_menu
    Graphics.fadein(60) unless @from_load
    @command_window.open
    @command_window_active = true
  end
  def initialize(from_load = false)
    @from_load = from_load
  end
  def perform_transition
    unless @from_load
      Graphics.transition(180)
    else
      Graphics.transition(10)
    end
  end
  def terminate
    super
    dispose_gameover_graphic
    @command_window.dispose
    @revive_window.dispose unless @revive_window == nil or @revive_window.disposed?
    $scene = nil if $BTEST
  end
  def update
    super
    update_menu_background
    if @command_window_active
      @command_window.update
      if Input.trigger?(Input::C)
        Sound.play_decision
        case @command_window.index
        when 0 
          create_revive_window
          @command_window.openness = 0
          @revive_window.open
          @command_window_active = false
        when 1 
          $scene = Scene_File.new(false, false, false, true)
          @command_window.openness = 0
        when 2 
          Graphics.fadeout(120)
          Graphics.freeze
          $scene = Scene_Title.new
        when 3 
          $scene = nil
        end
      end
    else
      @revive_window.update
      if Input.trigger?(Input::B)
        return_to_gameover_menu
      end
      if Input.trigger?(Input::C)
        Sound.play_decision
        if @revive_window.index == @available.size
          return_to_gameover_menu     
        else 
          process_revive
        end
      end
    end 
  end
  def create_revive_graphic
    @sprite = Sprite.new
    @sprite.bitmap = Cache.system("Gameover_menuback")
  end
  def create_gameover_menu
    s1 = OZ002::Revive
    s2 = OZ002::Continue
    s3 = OZ002::ToTitle
    s4 = OZ002::Shutdown
    @command_window = Window_Command.new(172, [s1, s2, s3, s4])
    @command_window.x = (544 - @command_window.width) / 2
    @command_window.y = (390 - @command_window.height)
    @command_window.openness = 0
  end
  def revive_point(name, mapid, x, y, direction, switchid = 0)
    if @declared == nil
    @revive_name = []
    @revive_id = []
    @revive_x = []
    @revive_y = []
    @revive_dir = []
    @revive_switch = []
    @declared = true
    end
    @revive_name.push(name)
    @revive_id.push(mapid)
    @revive_x.push(x)
    @revive_y.push(y)
    dir = 2
    case direction
    when "up"
      dir = 8
    when "down"
      dir = 2
    when "left"
      dir = 4
    when "right"
      dir = 6
    end
    @revive_dir.push(dir)
    @revive_switch.push(switchid)
  end
  def create_revive_window
    revive_place_names = []
    @available = []
    for i in (0..@revive_name.size - 1)
      if ($game_switches[@revive_switch[i]] == true) or @revive_switch[i] == 0
        revive_place_names.push(@revive_name[i])
        @available.push(i)
      else
        revive_place_names.push(nil)
      end
    end
    if ((@available.size+1)%16==0)
      columns = (@available.size+1)/16
    else
      columns = (@available.size+1)/16 + 1
    end
    menu_terms = revive_place_names.compact
    menu_terms.push(OZ002::BackToMenu)
    column_width = [172*columns, 544].min
    @revive_window = Window_Command.new(column_width, menu_terms, columns)
    @revive_window.x = (544 - @revive_window.width) / 2
    @revive_window.y = (416 - @revive_window.height) / 2
    @revive_window.openness = 0
  end
  def return_to_gameover_menu
    Sound.play_cancel
    @revive_window.openness = 0
    @revive_window.close
    @command_window.open
    @command_window_active = true
  end
  def process_revive
    i = @available[@revive_window.index]
    if $game_party.all_dead?
      for actor in $game_party.members
        actor.remove_state(1)
      end
    end
    $game_player.reserve_transfer(@revive_id[i], @revive_x[i], @revive_y[i], @revive_dir[i])
    Graphics.fadeout(30)
    @revive_window.dispose
    Graphics.freeze
    $scene = Scene_Map.new(true)
    $game_map.screen.start_fadeout(1) if OZ002::AutomaticFadeoutScreen
  end
end
#-------------------------------------------------------------------------------
class Scene_File < Scene_Base
  def initialize(saving, from_title, from_event, from_gameover = false)
    @saving = saving
    @from_title = from_title
    @from_event = from_event
    @from_gameover = from_gameover
  end
  def start
    super
    create_menu_background unless @from_gameover
    @help_window = Window_Help.new
    create_savefile_windows
    if @saving
      @index = $game_temp.last_file_index
      @help_window.set_text(Vocab::SaveMessage)
    else
      @index = self.latest_file_index
      @help_window.set_text(Vocab::LoadMessage)
    end
    @savefile_windows[@index].selected = true
  end
  def terminate
    super
    dispose_menu_background unless @from_gameover
    @help_window.dispose
    dispose_item_windows
  end
  def return_scene
    if @from_title
      $scene = Scene_Title.new
    elsif @from_event
      $scene = Scene_Map.new
    elsif @from_gameover
      $scene = Scene_Gameover.new(true)
    else
      $scene = Scene_Menu.new(4)
    end
  end
  def do_load
    file = File.open(@savefile_windows[@index].filename, "rb")
    read_save_data(file)
    file.close
    $game_temp =  Game_Temp.new
    $scene = Scene_Map.new
    RPG::BGM.fade(1500)
    Graphics.fadeout(60)
    Graphics.wait(40)
    @last_bgm.play
    @last_bgs.play
  end
end
#-------------------------------------------------------------------------------
class Game_Interpreter
  def command_353
    $scene = Scene_Gameover.new
    @index += 1
    return false
  end
end
#-------------------------------------------------------------------------------
class Scene_Map < Scene_Base
  def initialize(from_gameover = false)
    @from_gameover = from_gameover
  end
  def start
    super
    if @from_gameover
      update_transfer_player_from_gameover
      Graphics.freeze
      @spriteset.dispose
    end
    $game_map.refresh
    @spriteset = Spriteset_Map.new
    @message_window = Window_Message.new
  end
  def update_transfer_player_from_gameover
    fade = (Graphics.brightness > 0)
    fadeout(30) if fade
    $game_player.perform_transfer   
    $game_map.autoplay             
    $game_map.update
    Graphics.wait(15)
    @spriteset = Spriteset_Map.new 
    fadein(30) if fade
    Graphics.transition(80)
    $game_temp.next_scene = nil
    Input.update
  end
  def call_gameover
    $game_temp.next_scene = nil
    unless @from_gameover
    $scene = Scene_Gameover.new
    else
    @from_gameover = false
    end
  end
end


Powinno działać, choć nie muci (jakiś dziwny ten kod...)

PS. Naprawdę sieję aż taki postrach? :roll:
________________________
"Na trolla pewne są tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagająca przeładowania ręcznego."


 
 
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