Ogłoszenie 

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


Administracja Forum


Poprzedni temat «» Następny temat
Prośba o edycję bestiariusza
Autor Wiadomość
Shadi 



Preferowany:
RPG Maker XP

Ranga RM:
2 gry

Dołączył: 07 Lut 2010
Posty: 51
Wysłany: Nie 26 Sie, 2012 20:40
Prośba o edycję bestiariusza
Witajcie. Mam prośbę o edycję bestiariusza Fantasy Bestiary. Chodzi mi o zaledwie małą drobnostkę. Otóż, chciałbym żeby nie było na liście bestiariusza widać potworów, które mają numery w bazie danych 494 i wyższe. Chodzi o to, że chce tam ustawić potwory które będą miały inne ataki i statystyki niż te wcześniejsze, ale będą tego samego gatunku. A nie chcę żeby w bestiariuszu gatunek się powtarzał.
Z góry dziękuję za pomoc. Skrypt tutaj:
Kod:

#===============================================================================
#--------#    Fantasy Bestiary     #--------------------------------------------
#--------#      version 1.1       #--------------------------------------------
#--------#  by Thieffer and Dante  #--------------------------------------------
#--------#       14.07.2010        #--------------------------------------------
#===============================================================================


#===============================================================================
#--------#          INFO           #--------------------------------------------
#===============================================================================
# Wklej skrypt nad Main.
# Do prawidłowego działania potrzebna jest czcionka używana przez skrypt (standardowo Galileo Font)
# Bestiariusz wywołuje się komendą:
#       $scene = Scene_Fantasy_Bestiary.new
# Po każdej wygranej bitwie, w bestiariuszu pojawia się nowo poznany potwór.
# Możesz również ręcznie dodać poznanego potwora. Użyj komendy:
#       $game_party.add_known_enemy(id)
# gdzie zamiast id wpisz numer ID potwora z bazy danych.
#===============================================================================

#===============================================================================
#--------#        CHANGELOG        #--------------------------------------------
#===============================================================================
#  ** version 1.0 (10.07.2010)
#     - publikacja skryptu
#  ** version 1.1 (14.07.2010)
#     - dodano wyświetlanie: złota, doświadczenia oraz przedmiotu, jakie można
#       zdobyć po zabiciu przeciwnika
#     - dodano możliwość wyboru akcji po wyjściu z bestiariusza (na mapę lub do menu)
#===============================================================================

module Fantasy_Bestiary
  DATA_BESTIARY = {
 
#===============================================================================
#--------#      OPISY POTWORÓW      #--------------------------------------------
#===============================================================================
# Schemat tworzenia opisów:
# ID_Potwora => [1 linijka opisu, 2 linijka opisu, 3 linijka opisu]
# Każdy z takich elementów musi być odzielony przecinkiem.
# W opisie potwora możesz użyć od 1 do 3 linjek tekstu.
# Jeśli nie stworzysz opisu potwora, to w bestiariuszu pozostanie puste miejsce.
#===============================================================================
  }
 
#===============================================================================
#--------#         CONFIG          #--------------------------------------------
#===============================================================================
  # Nazwa czcionki
  FONT_NAME = "Trebuchet MS"
  # Kolor czcionki komend, nagłówka
  FONT_COLOR = Color.new(230, 230, 150, 255)
  # Kolor czcionki statystyk
  FONT_COLOR2 = Color.new(255, 255, 255, 255)
  # Kolor czcionki liczby znanych potworów
  FONT_COLOR3 = Color.new(255, 255, 255, 150)
  # Rozmiar czcionki
  FONT_SIZE = 18
  # Nieprzezroczystość okienek (0-255)
  OPACITY = 200
  # Nieprzezroczystość obrazku tła (0-255)
  BACKGROUND_OPACITY = 150
  # Tekst nagłówka
  HEADING_TEXT = "Pokedex"
  # Rozmiar czcionki nagłówka
  HEADING_FONT_SIZE = 30
  # Grafika windowskina
  WINDOWSKIN_GRAPHIC = "Windowskin4"
#===============================================================================
# Fantasy_Bestiary::Window_Command
#===============================================================================
  class Window_Command < Window_Selectable
    def initialize(width, commands)
      super(32, 104, width, commands.size * 32 + 32)
      @item_max = commands.size
      @commands = commands
      self.contents = Bitmap.new(width - 32, @item_max * 32)
      self.opacity = Fantasy_Bestiary::OPACITY
      self.windowskin = RPG::Cache.windowskin(Fantasy_Bestiary::WINDOWSKIN_GRAPHIC)
      refresh
      self.index = 0
    end
    def refresh
      self.contents.clear
      self.contents.font.name = Fantasy_Bestiary::FONT_NAME
      for i in 0...@item_max
        c = Fantasy_Bestiary::FONT_COLOR
        draw_item(i, c)
      end
    end
    def draw_item(index, color)
    self.contents.font.color = color
    rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    self.contents.draw_text(rect, @commands[index])
  end
    def disable_item(index)
      draw_item(index, disabled_color)
    end
  end
 
#===============================================================================
# Fantasy_Bestiary::Window_Heading
#===============================================================================
  class Window_Heading < Window_Base
    def initialize
      super(32, 32, 576, 64)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.opacity = Fantasy_Bestiary::OPACITY
      self.windowskin = RPG::Cache.windowskin(Fantasy_Bestiary::WINDOWSKIN_GRAPHIC)
      refresh
    end
    def refresh
      self.contents.clear
      self.contents.font.name = Fantasy_Bestiary::FONT_NAME
      self.contents.font.color = Fantasy_Bestiary::FONT_COLOR
      self.contents.font.size = Fantasy_Bestiary::HEADING_FONT_SIZE
      self.contents.draw_text(0, 0, 544, 32, Fantasy_Bestiary::HEADING_TEXT, 1)
      # Liczba poznanych potworów
      self.contents.font.size = Fantasy_Bestiary::FONT_SIZE
      self.contents.font.color = Fantasy_Bestiary::FONT_COLOR3
      text = $game_party.number_of_known_enemies.to_s + " / " + ($data_enemies.size-1).to_s
      self.contents.draw_text(484, 10, 60, 32, text, 2)
    end
  end
 
#===============================================================================
# Fantasy_Bestiary::Window_Enemy_Description
#===============================================================================
  class Window_Enemy_Description < Window_Base
    attr_accessor :enemy_id
    def initialize
      super(240, 104, 368, 344)
      self.contents = Bitmap.new(width - 32, height - 32)
      self.opacity = Fantasy_Bestiary::OPACITY
      self.windowskin = RPG::Cache.windowskin(Fantasy_Bestiary::WINDOWSKIN_GRAPHIC)
      if $game_party.number_of_known_enemies == 0
        @enemy_id = -1
      else
        @enemy_id = $game_party.known_enemies[0].id
      end
      refresh
    end
    def refresh
      self.contents.clear
      self.contents.font.name = Fantasy_Bestiary::FONT_NAME
      self.contents.font.size = Fantasy_Bestiary::FONT_SIZE
      if @enemy_id >=0
        enemy = $data_enemies[@enemy_id]
        draw_enemy_battler(enemy)
        y=0
        # HP
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR
        self.contents.draw_text(165,y,171,20,"HP: ")
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR2
        self.contents.draw_text(195,y,141,20,enemy.maxhp.to_s)
        y+=20
        # SP
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR
        self.contents.draw_text(165,y,171,20,"SP: ")
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR2
        self.contents.draw_text(195,y,141,20,enemy.maxsp.to_s)
        y+=20
        # Atk
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR
        self.contents.draw_text(165,y,171,20,"Atak: ")
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR2
        self.contents.draw_text(205,y,131,20,enemy.maxhp.to_s)
        y+=20
        # PDEF
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR
        self.contents.draw_text(165,y,171,20,"Obrona fizyczna: ")
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR2
        self.contents.draw_text(282,y,54,20,enemy.pdef.to_s)
        y+=20
        # MDEF
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR
        self.contents.draw_text(165,y,171,20,"Obrona magiczna: ")
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR2
        self.contents.draw_text(287,y,49,20,enemy.mdef.to_s)
        y+=20
        # Do zdobycia
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR
        self.contents.draw_text(165,y,171,20,"Do zdobycia: ")
        self.contents.font.color = Fantasy_Bestiary::FONT_COLOR2
        y+=20
        self.contents.draw_text(180,y,156,20,enemy.exp.to_s + " EXP")
        y+=20
        self.contents.draw_text(180,y,156,20,enemy.gold.to_s + " " + $data_system.words.gold)
        y+=20
        if enemy.item_id > 0
          item = $data_items[enemy.item_id]
        elsif enemy.weapon_id > 0
          item = $data_weapons[enemy.weapon_id]
        elsif enemy.armor_id > 0
          item = $data_armors[enemy.armor_id]
        end
        if item != nil
          self.contents.blt(180,y,RPG::Cache.icon(item.icon_name),Rect.new(0,0,32,32))
          self.contents.draw_text(205,y,131,26,item.name)
        end
        # Opis
        if Fantasy_Bestiary::DATA_BESTIARY[@enemy_id] != nil
          self.contents.font.color = Fantasy_Bestiary::FONT_COLOR
          self.contents.draw_text(20,205,100,20,"Opis: ")
          self.contents.font.color = Fantasy_Bestiary::FONT_COLOR2
          for i in 0..Fantasy_Bestiary::DATA_BESTIARY[@enemy_id].size-1
            self.contents.draw_text(0,225+25*i,336,20,Fantasy_Bestiary::DATA_BESTIARY[@enemy_id][i])
          end
        end
      end
    end
   
    def draw_enemy_battler(enemy)
      # skalowanie grafiki battlera
      bitmap=Bitmap.new("Graphics/Battlers/"+enemy.battler_name)
      w=bitmap.width
      h=bitmap.height
      if w/150.0 >= h/200.0
        skala = w/150.0
      else
        skala = h/200.0
      end
      new_w = w/skala
      new_h = h/skala
      self.contents.stretch_blt(Rect.new(0,0,new_w,new_h), RPG::Cache.battler(enemy.battler_name,0), Rect.new(0,0,w,h))
    end
   
  end
end

#===============================================================================
# Game_Party
#===============================================================================
class Game_Party
  alias fantasy_bestiary_initialize initialize
  def initialize
    @known_enemies = []
    fantasy_bestiary_initialize
  end
  def add_known_enemy(id)
    @known_enemies << $data_enemies[id] if not @known_enemies.include?($data_enemies[id])
  end
  def number_of_known_enemies
    return @known_enemies.size
  end
  def known_enemies
    return @known_enemies
  end
end

#===============================================================================
# Scene_Battle
#===============================================================================
class Scene_Battle
  alias fantasy_bestiary_start_phase5 start_phase5
  def start_phase5
    for enemy in $game_troop.enemies
      unless enemy.hidden
        $game_party.add_known_enemy(enemy.id)
      end
    end
    fantasy_bestiary_start_phase5
  end
end

#===============================================================================
# Scene_Fantasy_Bestiary
#===============================================================================
class Scene_Fantasy_Bestiary
  def main
    names = []
    @id_array = []
    for i in 0..$game_party.number_of_known_enemies-1
      names << $game_party.known_enemies[i].name
      @id_array << $game_party.known_enemies[i].id
    end
    names << "Brak" if names.size == 0
    @id_array << -1 if @id_array.size == 0
    @cmd_window = Fantasy_Bestiary::Window_Command.new(200,names)
    @cmd_window.height = 344
    @heading_window = Fantasy_Bestiary::Window_Heading.new
    @description_window = Fantasy_Bestiary::Window_Enemy_Description.new
    @spriteset = Spriteset_Map.new
    @tlo = Sprite.new
    @tlo.bitmap = RPG::Cache.picture("fantasy_background")
    @tlo.opacity = Fantasy_Bestiary::BACKGROUND_OPACITY
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @spriteset.dispose
    @cmd_window.dispose
    @heading_window.dispose
    @tlo.dispose
    @description_window.dispose
  end
 
  def update
    @spriteset.update
    @cmd_window.update
    if @cmd_window.active
      update_command
    end
  end
 
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      @description_window.enemy_id = @id_array[@cmd_window.index]
      @description_window.refresh
    end
  end
end
 
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pon 27 Sie, 2012 17:46
Znajdź:
Kod:
text = $game_party.number_of_known_enemies.to_s + " / " + ($data_enemies.size-1).to_s

i zamień na:
Kod:
data = []
$data_enemies.each{|i| data.push(i) if i.id < 494}       
text = $game_party.number_of_known_enemies.to_s + " / " + (data.size-1).to_s

Następnie znajdź:
Kod:
$game_party.add_known_enemy(enemy.id)

zamień na:
Kod:
$game_party.add_known_enemy(enemy.id) if enemy.id < 494
________________________


 
 
 
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