Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Zamknięty przez: SaE
Pią 08 Lut, 2013 18:01
Pomoc
Autor Wiadomość
Laura 




Pomogła: 2 razy
Dołączyła: 28 Wrz 2012
Posty: 49
Wysłany: Pią 08 Lut, 2013 09:18
Pomoc
Potrzebuje pomocy, a mianowicie mam skrypt dziennik misji i notebook ale w menu nie wyświetla mi notatnika wie ktoś jak zrobić by wyświetlało misje i notatnik?
 
 
ka0909 



Preferowany:
RPG Maker XP

Pomógł: 20 razy
Dołączył: 02 Paź 2010
Posty: 122
Wysłany: Pią 08 Lut, 2013 11:20
Lauro mogę ci zrobić by ci wyświetlało ale przydałoby się abyś podała link do skryptów ;-)
________________________
ka0909 <--- Tajemnicze kanumerki
Pomagam w skryptach XP,VX i VX ace.
Napisz priv jeśli potrzebujesz pomocy ;)
 
 
Laura 




Pomogła: 2 razy
Dołączyła: 28 Wrz 2012
Posty: 49
Wysłany: Pią 08 Lut, 2013 12:17
Proszę
http://www.ultimateam.pl/viewtopic.php?t=2059 - Dziennik misji
http://www.ultimateam.pl/viewtopic.php?p=85259 - Notatnik
 
 
ka0909 



Preferowany:
RPG Maker XP

Pomógł: 20 razy
Dołączył: 02 Paź 2010
Posty: 122
Wysłany: Pią 08 Lut, 2013 17:12
Mam jeszcze jedno pytanie takie kontrolne. Czy używasz jeszcze jakiś skryptów oprócz tych co podałaś? To ważne by nie doszło do jakiś niepowołanego zamieszania :)
Dobra skończyłem przerabiać menu by wyświetlało ten dziennik misji i notatnik.
1. Zamień kod Scene_Menu na to co podałem:
Spoiler:

Kod:

#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
    @gold_window = Window_Gold.new(0, 360)
    @status_window = Window_MenuStatus.new(160, 0)
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
    @gold_window.dispose
    @status_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    @gold_window.update
    @status_window.update
    if @command_window.active
      update_command_selection
    elsif @status_window.active
      update_actor_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = 'Notatnik'
    s7 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)     # Disable item
      @command_window.draw_item(1, false)     # Disable skill
      @command_window.draw_item(2, false)     # Disable equipment
      @command_window.draw_item(3, false)     # Disable status
    end
    if $game_system.save_disabled             # If save is forbidden
      @command_window.draw_item(4, false)     # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4      # Save
        $scene = Scene_File.new(true, false, false)
      when 5      #Notatnik
        $scene = Scene_Notebook.new
      when 6     # End Game
        $scene = Scene_End.new
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Start Actor Selection
  #--------------------------------------------------------------------------
  def start_actor_selection
    @command_window.active = false
    @status_window.active = true
    if $game_party.last_actor_index < @status_window.item_max
      @status_window.index = $game_party.last_actor_index
    else
      @status_window.index = 0
    end
  end
  #--------------------------------------------------------------------------
  # * End Actor Selection
  #--------------------------------------------------------------------------
  def end_actor_selection
    @command_window.active = true
    @status_window.active = false
    @status_window.index = -1
  end
  #--------------------------------------------------------------------------
  # * Update Actor Selection
  #--------------------------------------------------------------------------
  def update_actor_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_actor_selection
    elsif Input.trigger?(Input::C)
      $game_party.last_actor_index = @status_window.index
      Sound.play_decision
      case @command_window.index
      when 1  # skill
        $scene = Scene_Skill.new(@status_window.index)
      when 2  # equipment
        $scene = Scene_Equip.new(@status_window.index)
      when 3  # status
        $scene = Scene_Status.new(@status_window.index)
      end
    end
  end
end


2. A kod w Scene_Notebook zamień na:
Spoiler:

Kod:

#===============================================================================
# Notebook Menu
# By Jet10985 (Jet)
#===============================================================================
# This script will add a Notebook menu to the game, which can be used to add
# entries to the notebook that the player can read.
# This script has: 6 customization options.
#===============================================================================
# Overwritten Methods:
# None
#-------------------------------------------------------------------------------
# Aliased methods:
# Scene_Title: initialize
#===============================================================================
=begin
Aby użyć tego skryptu, musisz mieć folder w katalogu o nazwie gry
Notebook

Tam są twoje notatki. .txt powinny się tam znajdować.
Ten skrypt działa tylko pliki txt w folderze, i to, gdzie
chwyta pliki dla konwersji. rvdata jeśli używane.
--------------------------------------------------------------------------------
Aby dodać nowe wpisy do dziennika, użyj tego w event'cie "Script..." komenda.

add_entry("nazwa pliku")

"nazwa pliku" powinna być nazwa pliku .txt w folderze Notebook, bez
.txt. Tak mówią mam plik o nazwie Test.txt: add_entry("Test")

Nawet jeśli używasz pliku. Rvdata, nazwy plików pozostają takie same, więc upewnij się, że
Pamiętasz swoje nazwy.
--------------------------------------------------------------------------------
Możesz wywołać scenę dziennika z tym kodem w wydarzeniu "Script..." komenda:

$scene = Scene_Notebook.new

Czasopismo będzie niedostępne chyba, że gracz ma co najmniej 1 wpis
--------------------------------------------------------------------------------
Jeśli wpis tekstu jest zbyt długi wysokość tekstu będzie wyświetlana w całości, a następnie
Gracz musi użyć Q, aby przewinąć w górę lub W, aby przewinąć w dół.
--------------------------------------------------------------------------------
Aby wymusić następną linię wiersza w tekście umieścić \line wewnątrz pliku tekstowego gdzie
aby wymusić tekstu do następnej linii.
=end

module Notebook
 
  # Czy chcesz przekonwertować wszystkie pliki. Txt w "Notebook" folderu do pliku danych
  # .rvdata które można encrpyted z gry, a używane
  # z USE_RVDATA_FILE opcji?
  DO_CONVERSION_TO_RVDATA = false
 
  # Czy chcesz użyć pliku Notebook.rvdata do generowania z
  # DO_CONVERSION_TO_RVDATA zamiast plików .txt w "notebook" folderu?
  USE_RVDATA_FILE = false
 
  # Jak ma się nazywać Notebook?
  NOTEBOOK_NAME = "Notebook"
 
  # Co robi czcionki wykorzystanie notebooka? Pierwszy elementem podstawowym jest czcionka
  # chcesz, a będzie on przejść każdej pozycji, jeśli czcionka nie istnieje
  # aż znajdzie czcionkę, która nie istnieje.
  NOTEBOOK_FONT = ["Verdana", "Arial", "Courier New"]
 
  # Jaki jest rozmiar czcionki w notatniku? 20 jest domyślnym
  NOTEBOOK_FONT_SIZE = 20
 
  # Ile miejsca zostanie podane dla każdej linii? 24 jest domyślne
  NOTEBOOK_WLH = 24
 
end

#===============================================================================
# NIE EDYTUJ DALEJ, JEŚLI NIE WIESZ, CO ROBIĆ.
#===============================================================================

class Game_System
 
  attr_accessor :notebook_entries
 
  alias jet1835_initialize initialize unless $@
  def initialize(*args, &block)
    @notebook_entries = []
    jet1835_initialize(*args, &block)
  end
end

class Game_Interpreter
 
  def add_entry(filename)
    unless $game_system.notebook_entries.include?(filename)
      $game_system.notebook_entries.push(filename)
    end
  end
end

class Scene_Title
 
  alias jet1934_initialize initialize unless $@
  def initialize(*args, &block)
    convert_txt if Notebook::DO_CONVERSION_TO_RVDATA && $TEST
    jet1934_initialize(*args, &block)
  end
 
  def convert_txt
    file = Dir.entries("Notebook")
    file.reverse!
    2.times {|i| file.pop }
    file.reverse!
    if file.empty?
      p "No files found in Notebook, aborting conversion process."
    end
    text_hash = {}
    for txt in file
      text_hash[txt] = File.open("Notebook/#{txt}", "r") {|a| a.read}
    end
    b = File.new("Data/Notebook.rvdata", "wb")
    Marshal.dump(text_hash, b)
    b.close
    p "Notebook file successfully converted."
  end
end

class String
 
  def each_word
    array = self.split(" ")
    if block_given?
      array.each {|a| yield a }
    else
      return array
    end
  end
end

class Window_Notebook < Window_Base
 
  include Notebook
 
  def initialize(filename)
    super(160, 56, Graphics.width - 160, Graphics.height - 56)
    @filename = filename
    refresh(@filename)
  end
 
  def refresh(filename)
    self.oy = 0
    form_bitmap_rect(filename)
    self.contents.font.name = NOTEBOOK_FONT
    self.contents.font.size = NOTEBOOK_FONT_SIZE
    wlh = NOTEBOOK_WLH
    i = 0
    @file_text.each_line {|line|
      text = line.gsub(/\r|\n/i, "")
      self.contents.draw_text(0, 0 + i * wlh, self.width - 32, wlh, text)
      i += 1
    }
  end
 
  def form_bitmap_rect(filename)
    if USE_RVDATA_FILE
      file = load_data("Data/Notebook.rvdata")[filename + ".txt"]
    else
      file = File.open("Notebook/#{filename}.txt", "r") {|a| a.read }
    end
    new_text = ""
    width_taken = 0
    height_taken = 0
    file.gsub!(/\r\n/i, " ")
    file.gsub!(/\\line/i, " \\xjet ")
    file.each_word {|word|
      width_taken += self.contents.text_size("#{word} ").width
      if word == "\\xjet"
        width_taken = 0
        new_text.concat("\n")
        height_taken += NOTEBOOK_WLH
      elsif width_taken > self.width - 32
        width_taken = 0
        new_text.concat("\n#{word} ")
        width_taken += self.contents.text_size("#{word} ").width
        height_taken += NOTEBOOK_WLH
      else
        new_text.concat("#{word} ")
      end
    }
    @file_text = new_text
    @height_taken = height_taken
    self.contents = Bitmap.new(self.width - 32, @height_taken + 32)
  end
end

class Window_Entries < Window_Base

  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    refresh
  end

  def refresh
    contents.clear
    contents.font.color = system_color
    contents.draw_text(0, 0, 100, 24, "Entries:")
    contents.font.color = normal_color
    contents.draw_text(104, 0, 40, 24, $game_system.notebook_entries.size, 1)
  end
end


class Scene_Notebook < Scene_Base
 
  def initialize
    @return_scene = $scene.class.to_s
    @return = false
  end
 
  def start
    if $game_system.notebook_entries.empty?
      $scene = eval(@return_scene + ".new")
      @return = true
      return
    end
    super
    create_menu_background
    @help_window = Window_Help.new
    @help_window.set_text(Notebook::NOTEBOOK_NAME, 1)
    @notebook_window = Window_Notebook.new($game_system.notebook_entries[0])
    @entries_window = Window_Entries.new(0, Graphics.height - 54)
    @command_window = Window_Command.new(160, $game_system.notebook_entries)
    @command_window.height = Graphics.height - 110
    @command_window.y += 56
  end
 
  def update
    return if @return
    super
    update_menu_background
    old_index = @command_window.index
    @command_window.update
    if old_index != @command_window.index
      @notebook_window.refresh(@command_window.commands[@command_window.index])
    end
    @notebook_window.update
    if Input.trigger?(Input::B)
      return_scene
    end
    if @notebook_window.contents.height > @notebook_window.height - 32
      wlh = Notebook::NOTEBOOK_WLH
      if Input.trigger?(Input::RIGHT)
        @notebook_window.oy = [@notebook_window.oy + wlh,
          @notebook_window.contents.height - @notebook_window.height + 32].min
      elsif Input.trigger?(Input::LEFT)
        @notebook_window.oy = [@notebook_window.oy - wlh,
          0].max
      end
    end
  end
 
  def return_scene
    #$scene = eval(@return_scene + ".new")
    $scene = Scene_Menu.new(5) #Powrot do menu
  end
 
  def perform_transition
    super unless @return
  end
 
  def terminate
    return if @return
    super
    dispose_menu_background
    @help_window.dispose
    @notebook_window.dispose
    @entries_window.dispose
    @command_window.dispose
  end
end


3. Co do dziennika zadań tego co podałaś to nie trzeba nic przerabiać. Wystarczy tylko ustawić by pokazywało w menu ten dzienniczek. Jeśli skopiowałaś to w Quest Journal linijka 83 (MENU_ACCESS = true) powinna być na true jeśli chcesz mieć to okno w menu.

Mam nadzieje że będzie ci wszystko działać. U mnie działa bez zarzutów :)
PS. Niektóre skrypty mogą nie współgrać ale mała jest szansa na to.
________________________
ka0909 <--- Tajemnicze kanumerki
Pomagam w skryptach XP,VX i VX ace.
Napisz priv jeśli potrzebujesz pomocy ;)
 
 
Laura 




Pomogła: 2 razy
Dołączyła: 28 Wrz 2012
Posty: 49
Wysłany: Pią 08 Lut, 2013 17:45
Dzięki działa
Masz pomógł :D
 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
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