Jump to content
Rpg²S Forum

ant10

Utenti
  • Posts

    143
  • Joined

  • Last visited

Posts posted by ant10

  1.  

    OK, chiedo scusa. Comunque Zoro mi da errore quello script mi dice: This account's public links are generating too much traffic and have been temporarily disabled!

    Non so cosa voglia dire onestamente, nel senso che non capisco che intenda xD

     

    Questo script lo puoi prendere anche qui:

     

    https://github.com/Archeia/YEARepo/blob/master/Core/Adjust_Limits.rb

  2. Salve, ho bisogno uno script che mi faccia aumentare i livelli delle armi o armature, ad esempio Spada lv 0 a +1, poi da +1 a +2 e cosi via. I potenziamenti li voglio che si pagano sia in gold e sia che si deve avere un oggetto per poter potenziare.

     

    Ho visto che gia e stata fatta una richiesta simile: http://www.rpg2s.net/forum/index.php/topic/18081-potenziamento-armi-e-armature/

     

    Ma sembra che gli script proposti non si adattano bene su quello che ho in mente io :(

     

    Grazie ^^

  3. Puoi risolvere ad eventi mettendo un aspetta tra un oggetto e l'altro.

    Per esempio se ottieni soldi, pozione e spadina nell'evento del forziere fai così:

    ottieni soldi

    aspetta 40 frames

    ottieni pozione

    aspetta 40 frames

    ottieni spadina

     

    In questo modo vedrai gli oggetti comparire uno dietro l'altro in successione. Presta attenzione che gli aspetta bloccano l'eroe, quindi non esagerare col tempo: se è troppo poco rischi di non leggere l'oggetto, se è troppo lungo rischi di far rimanere il personaggio bloccato troppo a lungo, considera che durante il gioco bloccare i movimenti del giocatore non è bello, ma potrebbe risultare buono in questa occasione dato che deve guardare i nomi per godersi i tesori; dipende da te e dal gioco, cerca di calibrarlo bene, se per esempio il tuo gioco mette nel forziere sempre e solo pozioni a lungo non è il massimo, così se uno deve prendere più volte lo stesso forziere a causa di gameover o simili, in quei punti andrebbe veloce.

    ^ ^

     

    Per ovviare all'eroe bloccato ci sarebbe un trucchetto, ma non è base base e ti crea un processo parallelo in più anche se breve. In pratica appunto si tratterebbe di aprire il forziere e lanciare un processo parallelo che dà gli oggetti con gli aspetta allo stesso modo, solo dato che è un parallelo l'eroe intanto può muoversi mentre appaiono le scritte degli oggetti. Non è nulla di complesso, solo più articolato e con qualche pagina in più.

    ^ ^

     

    Grazie, ho provato e i 40 Frames vanno bene, anche perchè non penso di mettere più di 2 o 3 cose nello stesso scrigno ^^

  4. Forse ho trovato lo script, dovrebbe essere questo:

     

     

     

    #===============================================================================
    # * Falcao Pearl ABS script shelf # 8
    #
    # Item and gold pop up v 1.0
    # This is just an add on for the Pearl ABS system, it run as standalone mode too
    #
    # Website: http://falcaorgss.wordpress.com/
    # Foro: www.makerpalace.com
    #===============================================================================
    #
    # * Installation
    # This work as plug and play, copy and paste the script above main
    #
    # * Usage
    # There is no special references, when you earn an item or gold, then pop appear
    # Edit the module below for convenience
    #-------------------------------------------------------------------------------
    
    module PearlItemPop
      
      # Position X of the pop up object
      Pos_X = 10
      
      # Position Y of the pop up object
      Pos_Y = 320
      
      # Icon displayed when earnig gold
      GoldIcon = 245
      
      # Se sound played when gaining items (set nil if you dont want to play sound)
      ItemSe = "Item3"
      
      # Se sound played when gainig gold (set nil if you dont want to play sound)
      GoldSe = "Shop"
      
    end
    
    class Game_Party < Game_Unit
      alias falcaopearl_itempop_gain gain_item
      def gain_item(item, amount, include_equip = false)
        if !item_container(item.class).nil? && SceneManager.scene_is?(Scene_Map)
          if amount > 0
            $game_system.item_object = [item, amount] 
            RPG::SE.new(PearlItemPop::ItemSe, 80).play rescue nil
          end
        end
        falcaopearl_itempop_gain(item, amount, include_equip = false)
      end
      
      alias falcaopearl_itempop_gold gain_gold
      def gain_gold(amount)
        if SceneManager.scene_is?(Scene_Map)
          $game_system.item_object = [nil, amount]
          RPG::SE.new(PearlItemPop::GoldSe, 80).play rescue nil
        end
        falcaopearl_itempop_gold(amount)
      end
    end
    
    class Game_System
      attr_accessor :item_object
    end
    
    class Spriteset_Map
      
      alias falcaopearl_itempop_create create_pictures
      def create_pictures
        create_itempop_sprites
        falcaopearl_itempop_create
      end
      
      def create_itempop_sprites
        @item_object = $game_system.item_object
        @item_sprite = Sprite_PopItem.new(@viewport2, @item_object) if
        not @item_object.nil?
      end
      
      alias falcaopearl_itempop_update update
      def update
        if !@item_sprite.nil?
          unless @item_sprite.disposed?
            @item_sprite.update 
          else
            @item_sprite.dispose
            @item_object = nil
            $game_system.item_object = nil
            @item_sprite = nil
          end
        end
        if @item_object != $game_system.item_object
          @item_sprite.dispose if !@item_sprite.nil?
          @item_sprite = nil
          @item_sprite = Sprite_PopItem.new(@viewport2, $game_system.item_object)
          @item_object = $game_system.item_object
        end
        falcaopearl_itempop_update
      end
      
      alias falcaopearl_itempop_dispose dispose
      def dispose
        @item_sprite.dispose unless @item_sprite.nil?
        falcaopearl_itempop_dispose
      end
    end
    
      
    class Sprite_PopItem < Sprite
      def initialize(viewport, item)
        super(viewport)
        @item = item[0]
        @num = item[1]
        set_bitmap
        self.x = PearlItemPop::Pos_X
        self.y = PearlItemPop::Pos_Y
        @erasetimer = 120
        update
      end
      
      def update
        super
        if @erasetimer > 0
          @erasetimer -= 1 
          self.opacity -= 10 if @erasetimer <= 25
          dispose if @erasetimer == 0
        end
      end
      
      def dispose
        self.bitmap.dispose
        super
      end
      
      def set_bitmap
        @item.nil? ? operand = Vocab::currency_unit : operand = @item.name
        string = operand + ' X' + @num.to_s
        self.bitmap = Bitmap.new(26 + string.length * 9, 28)
        self.bitmap.fill_rect(0, 0, self.bitmap.width, 28, Color.new(0, 0, 0, 100))
        self.bitmap.font.size = 20
        bitmap = Cache.system("Iconset")
        icon = @item.nil? ? PearlItemPop::GoldIcon : @item.icon_index
        rect = Rect.new(icon % 16 * 24, icon / 16 * 24, 24, 24)
        self.bitmap.blt(4, 0, bitmap, rect)
        self.bitmap.draw_text(28, 0, 250, 32, string)
      end
    end
    
    

     

     

     

    :)

  5. @ant: di base rpgmaker non mostra nulla su schermo quando lo prendi, se a te mostra qualcosa senza che tu scriva nulla ad eventi significa che stai usando uno script che ha questa feature, indivudua lo script e chiedi supporto su quello.

    ^ ^

     

    forse dovrebbe essere la battaglia in tempo reale di falcao che misi all'inizio e non sapevo che fosse questo che mi facesse uscire gli oggetti su schermo XD

  6. Salve, come faccio ha far apparire tutti gli oggetti su schermo quando li prendo? Ad esempio qui:

     

    http://i.imgur.com/bun4ztX.jpg?1

     

    Ho aperto uno scrigno è ho preso 1000 gold, una pozione e un arma, e mi ha fatto vedere su schermo solo l'arma, come faccio ha far apparire su schermo tutte le cose che prendo?

     

    Grazie ^^

  7. Ho fatto diverse prove anche con font non presenti su windows ed a quel modo non mi dà problemi! D:

    Hai provato su un nuovo progetto? Magari qualche script ricambia il font. Sicuro poi di indovinare il nome del font da scrivere? Devi aprire il font che usi e copiare il nome in alto.

    ^ ^

     

    Ecco, adesso funziona, sbagliavo ha scrivere il nome del font XD

    Grazie ^^

  8. Salve, come è possibile inserire un font di scrittura esterno dal sistema operativo, ad esempio io voglio scaricare un font esterno, non presente in window, come faccio ad inserirlo in rpg maker? (non voglio inserirlo in window, ma solo nel mio progetto in rpg maker)

     

    Grazie

  9. Ah c'era ancora un altro nascosto! XD

     

    Allora prova a sostituire questo:

    def draw_save_slot(dx, dy, dw)
        reset_font_settings
        change_color(system_color)
        text = sprintf(YEA::SAVE::SLOT_NAME, "")
        draw_text(dx, dy, dw, line_height, text)
        cx = text_size(text).width
        change_color(normal_color)
        draw_text(dx+cx, dy, dw-cx, line_height, (@file_window.index+1).group)
      end
    

    con questo:

    def draw_save_slot(dx, dy, dw)
        reset_font_settings
        change_color(system_color)
        if(@file_window.index==0)
           text = sprintf("Autosalvataggio")
           draw_text(dx, dy, dw, line_height, text)
        else
           text = sprintf(YEA::SAVE::SLOT_NAME, "")
           draw_text(dx, dy, dw, line_height, text)
           cx = text_size(text).width
           change_color(normal_color)
           draw_text(dx+cx, dy, dw-cx, line_height, (@file_window.index+1).group)
        end
      end
    

    ^ ^

     

    Grazie ^^

  10. Se vuoi solo il nome autosalvataggio nella schermata di save e load sostituisci lo script window_SaveFile con questo:

     

     

    #==============================================================================
    # ** Window_SaveFile
    #------------------------------------------------------------------------------
    #  This window displays save files on the save and load screens.
    #==============================================================================
    
    class Window_SaveFile < Window_Base
      #--------------------------------------------------------------------------
      # * Public Instance Variables
      #--------------------------------------------------------------------------
      attr_reader   :selected                 # selected
      #--------------------------------------------------------------------------
      # * Object Initialization
      #     index : index of save files
      #--------------------------------------------------------------------------
      def initialize(height, index)
        super(0, index * height, Graphics.width, height)
        @file_index = index
        refresh
        @selected = false
      end
      #--------------------------------------------------------------------------
      # * Refresh
      #--------------------------------------------------------------------------
      def refresh
        contents.clear
        change_color(normal_color)
        if(@file_index==0)
          name = "Autosalvataggio"
        else
          name = Vocab::File + " #{@file_index + 1}"
        end
        else
        draw_text(4, 0, 200, line_height, name)
        @name_width = text_size(name).width
        draw_party_characters(152, 58)
        draw_playtime(0, contents.height - line_height, contents.width - 4, 2)
      end
      #--------------------------------------------------------------------------
      # * Draw Party Characters
      #--------------------------------------------------------------------------
      def draw_party_characters(x, y)
        header = DataManager.load_header(@file_index)
        return unless header
        header[:characters].each_with_index do |data, i|
          draw_character(data[0], data[1], x + i * 48, y)
        end
      end
      #--------------------------------------------------------------------------
      # * Draw Play Time
      #--------------------------------------------------------------------------
      def draw_playtime(x, y, width, align)
        header = DataManager.load_header(@file_index)
        return unless header
        draw_text(x, y, width, line_height, header[:playtime_s], 2)
      end
      #--------------------------------------------------------------------------
      # * Set Selected
      #--------------------------------------------------------------------------
      def selected=(selected)
        @selected = selected
        update_cursor
      end
      #--------------------------------------------------------------------------
      # * Update Cursor
      #--------------------------------------------------------------------------
      def update_cursor
        if @selected
          cursor_rect.set(0, 0, @name_width + 8, line_height)
        else
          cursor_rect.empty
        end
      end
    end
    
    

     

     

     

    Se invece vuoi che oltre a quello anche il nome del file sul computer nella cartella del progetto sia chiamato autosalvataggio allora sostituisci il tuo data_manager con questo:

     

     

    #==============================================================================
    # ** DataManager
    #------------------------------------------------------------------------------
    #  This module manages the database and game objects. Almost all of the
    # global variables used by the game are initialized by this module.
    #==============================================================================
    
    module DataManager
      #--------------------------------------------------------------------------
      # * Module Instance Variables
      #--------------------------------------------------------------------------
      @last_savefile_index = 0                # most recently accessed file
      #--------------------------------------------------------------------------
      # * Initialize Module
      #--------------------------------------------------------------------------
      def self.init
        @last_savefile_index = 0
        load_database
        create_game_objects
        setup_battle_test if $BTEST
      end
      #--------------------------------------------------------------------------
      # * Load Database
      #--------------------------------------------------------------------------
      def self.load_database
        if $BTEST
          load_battle_test_database
        else
          load_normal_database
          check_player_location
        end
      end
      #--------------------------------------------------------------------------
      # * Load Normal Database
      #--------------------------------------------------------------------------
      def self.load_normal_database
        $data_actors        = load_data("Data/Actors.rvdata2")
        $data_classes       = load_data("Data/Classes.rvdata2")
        $data_skills        = load_data("Data/Skills.rvdata2")
        $data_items         = load_data("Data/Items.rvdata2")
        $data_weapons       = load_data("Data/Weapons.rvdata2")
        $data_armors        = load_data("Data/Armors.rvdata2")
        $data_enemies       = load_data("Data/Enemies.rvdata2")
        $data_troops        = load_data("Data/Troops.rvdata2")
        $data_states        = load_data("Data/States.rvdata2")
        $data_animations    = load_data("Data/Animations.rvdata2")
        $data_tilesets      = load_data("Data/Tilesets.rvdata2")
        $data_common_events = load_data("Data/CommonEvents.rvdata2")
        $data_system        = load_data("Data/System.rvdata2")
        $data_mapinfos      = load_data("Data/MapInfos.rvdata2")
      end
      #--------------------------------------------------------------------------
      # * Load Battle Test Database
      #--------------------------------------------------------------------------
      def self.load_battle_test_database
        $data_actors        = load_data("Data/BT_Actors.rvdata2")
        $data_classes       = load_data("Data/BT_Classes.rvdata2")
        $data_skills        = load_data("Data/BT_Skills.rvdata2")
        $data_items         = load_data("Data/BT_Items.rvdata2")
        $data_weapons       = load_data("Data/BT_Weapons.rvdata2")
        $data_armors        = load_data("Data/BT_Armors.rvdata2")
        $data_enemies       = load_data("Data/BT_Enemies.rvdata2")
        $data_troops        = load_data("Data/BT_Troops.rvdata2")
        $data_states        = load_data("Data/BT_States.rvdata2")
        $data_animations    = load_data("Data/BT_Animations.rvdata2")
        $data_tilesets      = load_data("Data/BT_Tilesets.rvdata2")
        $data_common_events = load_data("Data/BT_CommonEvents.rvdata2")
        $data_system        = load_data("Data/BT_System.rvdata2")
      end
      #--------------------------------------------------------------------------
      # * Check Player Start Location Existence
      #--------------------------------------------------------------------------
      def self.check_player_location
        if $data_system.start_map_id == 0
          msgbox(Vocab::PlayerPosError)
          exit
        end
      end
      #--------------------------------------------------------------------------
      # * Create Game Objects
      #--------------------------------------------------------------------------
      def self.create_game_objects
        $game_temp          = Game_Temp.new
        $game_system        = Game_System.new
        $game_timer         = Game_Timer.new
        $game_message       = Game_Message.new
        $game_switches      = Game_Switches.new
        $game_variables     = Game_Variables.new
        $game_self_switches = Game_SelfSwitches.new
        $game_actors        = Game_Actors.new
        $game_party         = Game_Party.new
        $game_troop         = Game_Troop.new
        $game_map           = Game_Map.new
        $game_player        = Game_Player.new
      end
      #--------------------------------------------------------------------------
      # * Set Up New Game
      #--------------------------------------------------------------------------
      def self.setup_new_game
        create_game_objects
        $game_party.setup_starting_members
        $game_map.setup($data_system.start_map_id)
        $game_player.moveto($data_system.start_x, $data_system.start_y)
        $game_player.refresh
        Graphics.frame_count = 0
      end
      #--------------------------------------------------------------------------
      # * Set Up Battle Test
      #--------------------------------------------------------------------------
      def self.setup_battle_test
        $game_party.setup_battle_test
        BattleManager.setup($data_system.test_troop_id)
        BattleManager.play_battle_bgm
      end
      #--------------------------------------------------------------------------
      # * Determine Existence of Save File
      #--------------------------------------------------------------------------
      def self.save_file_exists?
        !Dir.glob('Save*.rvdata2').empty?
      end
      #--------------------------------------------------------------------------
      # * Maximum Number of Save Files
      #--------------------------------------------------------------------------
      def self.savefile_max
        return 16
      end
      #--------------------------------------------------------------------------
      # * Create Filename
      #     index : File Index
      #--------------------------------------------------------------------------
      def self.make_filename(index)
        if(index==0)
          sprintf("Autosalvataggio.rvdata2")
        else
          sprintf("Save%02d.rvdata2", index + 1)
        end  
      end
      #--------------------------------------------------------------------------
      # * Execute Save
      #--------------------------------------------------------------------------
      def self.save_game(index)
        begin
          save_game_without_rescue(index)
        rescue
          delete_save_file(index)
          false
        end
      end
      #--------------------------------------------------------------------------
      # * Execute Load
      #--------------------------------------------------------------------------
      def self.load_game(index)
        load_game_without_rescue(index) rescue false
      end
      #--------------------------------------------------------------------------
      # * Load Save Header
      #--------------------------------------------------------------------------
      def self.load_header(index)
        load_header_without_rescue(index) rescue nil
      end
      #--------------------------------------------------------------------------
      # * Execute Save (No Exception Processing)
      #--------------------------------------------------------------------------
      def self.save_game_without_rescue(index)
        File.open(make_filename(index), "wb") do |file|
          $game_system.on_before_save
          Marshal.dump(make_save_header, file)
          Marshal.dump(make_save_contents, file)
          @last_savefile_index = index
        end
        return true
      end
      #--------------------------------------------------------------------------
      # * Execute Load (No Exception Processing)
      #--------------------------------------------------------------------------
      def self.load_game_without_rescue(index)
        File.open(make_filename(index), "rb") do |file|
          Marshal.load(file)
          extract_save_contents(Marshal.load(file))
          reload_map_if_updated
          @last_savefile_index = index
        end
        return true
      end
      #--------------------------------------------------------------------------
      # * Load Save Header (No Exception Processing)
      #--------------------------------------------------------------------------
      def self.load_header_without_rescue(index)
        File.open(make_filename(index), "rb") do |file|
          return Marshal.load(file)
        end
        return nil
      end
      #--------------------------------------------------------------------------
      # * Delete Save File
      #--------------------------------------------------------------------------
      def self.delete_save_file(index)
        File.delete(make_filename(index)) rescue nil
      end
      #--------------------------------------------------------------------------
      # * Create Save Header
      #--------------------------------------------------------------------------
      def self.make_save_header
        header = {}
        header[:characters] = $game_party.characters_for_savefile
        header[:playtime_s] = $game_system.playtime_s
        header
      end
      #--------------------------------------------------------------------------
      # * Create Save Contents
      #--------------------------------------------------------------------------
      def self.make_save_contents
        contents = {}
        contents[:system]        = $game_system
        contents[:timer]         = $game_timer
        contents[:message]       = $game_message
        contents[:switches]      = $game_switches
        contents[:variables]     = $game_variables
        contents[:self_switches] = $game_self_switches
        contents[:actors]        = $game_actors
        contents[:party]         = $game_party
        contents[:troop]         = $game_troop
        contents[:map]           = $game_map
        contents[:player]        = $game_player
        contents
      end
      #--------------------------------------------------------------------------
      # * Extract Save Contents
      #--------------------------------------------------------------------------
      def self.extract_save_contents(contents)
        $game_system        = contents[:system]
        $game_timer         = contents[:timer]
        $game_message       = contents[:message]
        $game_switches      = contents[:switches]
        $game_variables     = contents[:variables]
        $game_self_switches = contents[:self_switches]
        $game_actors        = contents[:actors]
        $game_party         = contents[:party]
        $game_troop         = contents[:troop]
        $game_map           = contents[:map]
        $game_player        = contents[:player]
      end
      #--------------------------------------------------------------------------
      # * Reload Map if Data Is Updated
      #--------------------------------------------------------------------------
      def self.reload_map_if_updated
        if $game_system.version_id != $data_system.version_id
          $game_map.setup($game_map.map_id)
          $game_player.center($game_player.x, $game_player.y)
          $game_player.make_encounter_count
        end
      end
      #--------------------------------------------------------------------------
      # * Get Update Date of Save File
      #--------------------------------------------------------------------------
      def self.savefile_time_stamp(index)
        File.mtime(make_filename(index)) rescue Time.at(0)
      end
      #--------------------------------------------------------------------------
      # * Get File Index with Latest Update Date
      #--------------------------------------------------------------------------
      def self.latest_savefile_index
        savefile_max.times.max_by {|i| savefile_time_stamp(i) }
      end
      #--------------------------------------------------------------------------
      # * Get Index of File Most Recently Accessed
      #--------------------------------------------------------------------------
      def self.last_savefile_index
        @last_savefile_index
      end
    end
    
    

     

     

    ^ ^

     

    Grazie, ma mi sono dimenticato di dire che io uso questo script: Ace Save Engine

     

     

    #==============================================================================
    # 
    # ?\ Yanfly Engine Ace - Ace Save Engine v1.03
    # -- Last Updated: 2012.07.22
    # -- Level: Normal
    # -- Requires: n/a
    # 
    #==============================================================================
    
    $imported = {} if $imported.nil?
    $imported["YEA-SaveEngine"] = true
    
    #==============================================================================
    # ?\ Updates
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # 2012.07.22 - Fixed: Location Drawing.
    # 2012.01.23 - Anti-crash method added for removed maps.
    # 2011.12.26 - Compatibility Update: New Game+
    # 2011.12.26 - Started Script and Finished.
    # 
    #==============================================================================
    # ?\ Introduction
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # This script provides a new save interface for the player. Along with a new
    # interface, the player can also load and delete saves straight from the menu
    # itself. This will in turn make the save command from the Main Menu always
    # available, but the save option within the new save menu will be enabled
    # depending on whether or not it is allowed or disallowed. From the interface,
    # the player is given more information regarding the save file including the
    # the location the player saved at, the amount of gold available, and any
    # variables that you want to show the player as well.
    # 
    #==============================================================================
    # ?\ Instructions
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # To install this script, open up your script editor and copy/paste this script
    # to an open slot below ?\ Materials/ef?T but above ?\ Main. Remember to save.
    # 
    # For first time installers, be warned that loading this script the first time
    # may not display all information in the status window for save files made
    # before the installation of this script. To remedy this, just load up the save
    # and save the file again.
    # 
    #==============================================================================
    # ?\ Compatibility
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
    # it will run with RPG Maker VX without adjusting.
    # 
    #==============================================================================
    
    module YEA
      module SAVE
        
        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        # - Slot Window Settings -
        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        # This section adjusts how the slot window appears on the left side of the
        # screen. This also adjusts the maximum number of saves a player can make,
        # the way the slot names appear, and the icons used.
        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        MAX_FILES = 24         # Maximum saves a player can make. Default: 16
        SLOT_NAME = "File %s"  # How the file slots will be named.
        
        # These are the icons
        SAVE_ICON  = 96       # Icon used to indicate a save is present.
        EMPTY_ICON = 97       # Icon used to indicate an empty file.
        
        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        # - Action Window Settings -
        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        # This section adjusts how the action window appears, the sound effect
        # played when deleting files, and what appears in the help window above.
        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        ACTION_LOAD   = "Carica"           # Text used for loading games.
        ACTION_SAVE   = "Salva"           # Text used for saving games.
        ACTION_DELETE = "Elimina"         # Text used for deleting games.
        DELETE_SOUND  = RPG::SE.new("Collapse3", 100, 100) # Sound for deleting.
        
        # These text settings adjust what displays in the help window.
        SELECT_HELP = "Seleziona un File slot su cui salvare."
        LOAD_HELP   = "Carica i dati di gioco."
        SAVE_HELP   = "Salva l'attuale progresso di gioco."
        DELETE_HELP = "Elimina tutti i dati di gioco di questo salvataggio."
        
        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        # - Status Window Settings -
        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        # This section adjusts how the status window appears in the middle of the
        # screen (that displays the game's data) such as the total playtime, total
        # times saved, total gold, the party's current location, and the variables
        # to be displayed.
        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
        EMPTY_TEXT = "Non sono presenti dati di salvataggio"      # Text used when no save data is present.
        PLAYTIME   = "Tempo di gioco:"          # Text used for total playtime.
        TOTAL_SAVE = "Totale salvataggi: "     # Text used to indicate total saves.
        TOTAL_GOLD = "Totale Anime: "      # Text used to indicate total gold.
        LOCATION   = "Posizione: "        # Text used to indicate current location.
        
        # These variables will be shown in each of the two columns for those who
        # would want to display more information than just what's shown. Input the
        # variables into the arrays below to designate what data will be shown.
        COLUMN1_VARIABLES = [1, 2, 3]
        COLUMN2_VARIABLES = [4, 5, 6]
        
      end # SAVE
    end # YEA
    
    #==============================================================================
    # ?\ Editting anything past this point may potentially result in causing
    # computer damage, incontinence, explosion of user's head, coma, death, and/or
    # halitosis so edit at your own risk.
    #==============================================================================
    
    #==============================================================================
    # ?! Icon
    #==============================================================================
    
    module Icon
      
      #--------------------------------------------------------------------------
      # self.save_icon
      #--------------------------------------------------------------------------
      def self.save_icon; return YEA::SAVE::SAVE_ICON; end
      
      #--------------------------------------------------------------------------
      # self.empty_icon
      #--------------------------------------------------------------------------
      def self.empty_icon; return YEA::SAVE::EMPTY_ICON; end
        
    end # Icon
    
    #==============================================================================
    # ?! Numeric
    #==============================================================================
    
    class Numeric
      
      #--------------------------------------------------------------------------
      # new method: group_digits
      #--------------------------------------------------------------------------
      unless $imported["YEA-CoreEngine"]
      def group; return self.to_s; end
      end # $imported["YEA-CoreEngine"]
        
    end # Numeric
    
    #==============================================================================
    # ?! DataManager
    #==============================================================================
    
    module DataManager
      
      #--------------------------------------------------------------------------
      # overwrite method: savefile_max
      #--------------------------------------------------------------------------
      def self.savefile_max
        return YEA::SAVE::MAX_FILES
      end
      
      #--------------------------------------------------------------------------
      # overwrite method: self.make_save_header
      #--------------------------------------------------------------------------
      def self.make_save_header
        header = {}
        header[:characters]    = $game_party.characters_for_savefile
        header[:playtime_s]    = $game_system.playtime_s
        header[:system]        = Marshal.load(Marshal.dump($game_system))
        header[:timer]         = Marshal.load(Marshal.dump($game_timer))
        header[:message]       = Marshal.load(Marshal.dump($game_message))
        header[:switches]      = Marshal.load(Marshal.dump($game_switches))
        header[:variables]     = Marshal.load(Marshal.dump($game_variables))
        header[:self_switches] = Marshal.load(Marshal.dump($game_self_switches))
        header[:actors]        = Marshal.load(Marshal.dump($game_actors))
        header[:party]         = Marshal.load(Marshal.dump($game_party))
        header[:troop]         = Marshal.load(Marshal.dump($game_troop))
        header[:map]           = Marshal.load(Marshal.dump($game_map))
        header[:player]        = Marshal.load(Marshal.dump($game_player))
        header
      end
      
    end # DataManager
    
    #==============================================================================
    # ?! Window_MenuCommand
    #==============================================================================
    
    class Window_MenuCommand < Window_Command
      
      #--------------------------------------------------------------------------
      # overwrite method: save_enabled
      #--------------------------------------------------------------------------
      def save_enabled; return true; end
      
    end # Window_MenuCommand
    
    #==============================================================================
    # ?! Window_FileList
    #==============================================================================
    
    class Window_FileList < Window_Selectable
      
      #--------------------------------------------------------------------------
      # initialize
      #--------------------------------------------------------------------------
      def initialize(dx, dy)
        super(dx, dy, 128, Graphics.height - dy)
        refresh
        activate
        select(SceneManager.scene.first_savefile_index)
      end
      
      #--------------------------------------------------------------------------
      # item_max
      #--------------------------------------------------------------------------
      def item_max; return DataManager.savefile_max; end
      
      #--------------------------------------------------------------------------
      # current_item_enabled?
      #--------------------------------------------------------------------------
      def current_item_enabled?
        header = DataManager.load_header(index)
        return false if header.nil? && SceneManager.scene_is?(Scene_Load)
        return true
      end
      
      #--------------------------------------------------------------------------
      # refresh
      #--------------------------------------------------------------------------
      def refresh
        create_contents
        draw_all_items
      end
      
      #--------------------------------------------------------------------------
      # draw_item
      #--------------------------------------------------------------------------
      def draw_item(index)
        header = DataManager.load_header(index)
        enabled = !header.nil?
        rect = item_rect(index)
        rect.width -= 4
        draw_icon(save_icon?(header), rect.x, rect.y, enabled)
        change_color(normal_color, enabled)
        text = sprintf(YEA::SAVE::SLOT_NAME, (index + 1).group)
        draw_text(rect.x+24, rect.y, rect.width-24, line_height, text)
      end
      
      #--------------------------------------------------------------------------
      # save_icon?
      #--------------------------------------------------------------------------
      def save_icon?(header)
        return Icon.empty_icon if header.nil?
        return Icon.save_icon
      end
      
    end # Window_FileList
    
    #==============================================================================
    # ?! Window_FileStatus
    #==============================================================================
    
    class Window_FileStatus < Window_Base
      
      #--------------------------------------------------------------------------
      # initialize
      #--------------------------------------------------------------------------
      def initialize(dx, dy, file_window)
        super(dx, dy, Graphics.width - dx, Graphics.height - dy)
        @file_window = file_window
        @current_index = @file_window.index
        refresh
      end
      
      #--------------------------------------------------------------------------
      # update
      #--------------------------------------------------------------------------
      def update
        super
        return if @file_window.index < 0
        return if @current_index == @file_window.index
        @current_index = @file_window.index
        refresh
      end
      
      #--------------------------------------------------------------------------
      # refresh
      #--------------------------------------------------------------------------
      def refresh
        contents.clear
        reset_font_settings
        @header = DataManager.load_header(@file_window.index)
        if @header.nil?
          draw_empty
        else
          draw_save_contents
        end
      end
      
      #--------------------------------------------------------------------------
      # draw_empty
      #--------------------------------------------------------------------------
      def draw_empty
        colour = Color.new(0, 0, 0, translucent_alpha/2)
        rect = Rect.new(0, 0, contents.width, contents.height)
        contents.fill_rect(rect, colour)
        text = YEA::SAVE::EMPTY_TEXT
        change_color(system_color)
        draw_text(rect, text, 1)
      end
      
      #--------------------------------------------------------------------------
      # draw_save_slot
      #--------------------------------------------------------------------------
      def draw_save_slot(dx, dy, dw)
        reset_font_settings
        change_color(system_color)
        text = sprintf(YEA::SAVE::SLOT_NAME, "")
        draw_text(dx, dy, dw, line_height, text)
        cx = text_size(text).width
        change_color(normal_color)
        draw_text(dx+cx, dy, dw-cx, line_height, (@file_window.index+1).group)
      end
      
      #--------------------------------------------------------------------------
      # draw_save_playtime
      #--------------------------------------------------------------------------
      def draw_save_playtime(dx, dy, dw)
        return if @header[:playtime_s].nil?
        reset_font_settings
        change_color(system_color)
        draw_text(dx, dy, dw, line_height, YEA::SAVE::PLAYTIME, 0)
        change_color(normal_color)
        draw_text(dx, dy, dw, line_height, @header[:playtime_s], 2)
      end
      
      #--------------------------------------------------------------------------
      # draw_save_total_saves
      #--------------------------------------------------------------------------
      def draw_save_total_saves(dx, dy, dw)
        return if @header[:system].nil?
        reset_font_settings
        change_color(system_color)
        text = YEA::SAVE::TOTAL_SAVE
        draw_text(dx, dy, dw, line_height, text)
        cx = text_size(text).width
        change_color(normal_color)
        draw_text(dx+cx, dy, dw-cx, line_height, @header[:system].save_count.group)
      end
      
      #--------------------------------------------------------------------------
      # draw_save_gold
      #--------------------------------------------------------------------------
      def draw_save_gold(dx, dy, dw)
        return if @header[:party].nil?
        reset_font_settings
        change_color(system_color)
        draw_text(dx, dy, dw, line_height, YEA::SAVE::TOTAL_GOLD)
        text = Vocab::currency_unit
        draw_text(dx, dy, dw, line_height, text, 2)
        cx = text_size(text).width
        change_color(normal_color)
        text = @header[:party].gold.group
        draw_text(dx, dy, dw-cx, line_height, text, 2)
      end
      
      #--------------------------------------------------------------------------
      # draw_save_location
      #--------------------------------------------------------------------------
      def draw_save_location(dx, dy, dw)
        return if @header[:map].nil?
        reset_font_settings
        change_color(system_color)
        draw_text(dx, dy, dw, line_height, YEA::SAVE::LOCATION)
        change_color(normal_color)
        cx = text_size(YEA::SAVE::LOCATION).width
        return if $data_mapinfos[@header[:map].map_id].nil?
        text = @header[:map].display_name
        text = $data_mapinfos[@header[:map].map_id].name if text == ""
        draw_text(dx+cx, dy, dw-cx, line_height, text)
      end
      
      #--------------------------------------------------------------------------
      # draw_save_characters
      #--------------------------------------------------------------------------
      def draw_save_characters(dx, dy)
        return if @header[:party].nil?
        reset_font_settings
        make_font_smaller
        dw = (contents.width - dx) / @header[:party].max_battle_members
        dx += dw/2
        for member in @header[:party].battle_members
          next if member.nil?
          member = @header[:actors][member.id]
          change_color(normal_color)
          draw_actor_graphic(member, dx, dy)
          text = member.name
          draw_text(dx-dw/2, dy, dw, line_height, text, 1)
          text = member.level.group
          draw_text(dx-dw/5, dy-line_height, dw-4, line_height, text, 2)
          cx = text_size(text).width
          change_color(system_color)
          text = Vocab::level_a
          draw_text(dx-dw/5, dy-line_height, dw-cx-4, line_height, text, 2)
          dx += dw
        end
      end
      
      #--------------------------------------------------------------------------
      # draw_save_column1
      #--------------------------------------------------------------------------
      def draw_save_column1(dx, dy, dw)
        data = YEA::SAVE::COLUMN1_VARIABLES
        draw_column_data(data, dx, dy, dw)
      end
      
      #--------------------------------------------------------------------------
      # draw_save_column2
      #--------------------------------------------------------------------------
      def draw_save_column2(dx, dy, dw)
        data = YEA::SAVE::COLUMN2_VARIABLES
        draw_column_data(data, dx, dy, dw)
      end
      
      #--------------------------------------------------------------------------
      # draw_column_data
      #--------------------------------------------------------------------------
      def draw_column_data(data, dx, dy, dw)
        return if @header[:variables].nil?
        reset_font_settings
        for variable_id in data
          next if $data_system.variables[variable_id].nil?
          change_color(system_color)
          name = $data_system.variables[variable_id]
          draw_text(dx, dy, dw, line_height, name, 0)
          value = @header[:variables][variable_id].group
          change_color(normal_color)
          draw_text(dx, dy, dw, line_height, value, 2)
          dy += line_height
        end
      end
      
      #--------------------------------------------------------------------------
      # draw_save_contents
      #--------------------------------------------------------------------------
      def draw_save_contents
        draw_save_slot(160, 0, contents.width/2-8)
      # draw_save_total_saves(4, line_height, contents.width/2-8)
        draw_save_playtime(4, line_height*1, contents.width-8)
        draw_save_characters(150, line_height*4 + line_height/3)
        draw_save_gold(16, line_height*7, contents.width-50)
        draw_save_location(80, line_height*9, contents.width-84)
      # draw_save_column1(16, line_height*7, contents.width/2-48)
      # draw_save_column2(contents.width/2+16, line_height*7, contents.width/2-48)
      end
      
    end # Window_FileStatus
    
    #==============================================================================
    # ?! Window_FileAction
    #==============================================================================
    
    class Window_FileAction < Window_HorzCommand
      
      #--------------------------------------------------------------------------
      # initialize
      #--------------------------------------------------------------------------
      def initialize(dx, dy, file_window)
        @file_window = file_window
        super(dx, dy)
        deactivate
        unselect
      end
      
      #--------------------------------------------------------------------------
      # window_width
      #--------------------------------------------------------------------------
      def window_width; Graphics.width - 128; end
      
      #--------------------------------------------------------------------------
      # col_max
      #--------------------------------------------------------------------------
      def col_max; return 3; end
      
      #--------------------------------------------------------------------------
      # update
      #--------------------------------------------------------------------------
      def update
        super
        return if @file_window.index < 0
        return if @current_index == @file_window.index
        @current_index = @file_window.index
        refresh
      end
      
      #--------------------------------------------------------------------------
      # make_command_list
      #--------------------------------------------------------------------------
      def make_command_list
        @header = DataManager.load_header(@file_window.index)
        add_load_command
        add_save_command
        add_delete_command
      end
      
      #--------------------------------------------------------------------------
      # add_load_command
      #--------------------------------------------------------------------------
      def add_load_command
        add_command(YEA::SAVE::ACTION_LOAD, :load, load_enabled?)
      end
      
      #--------------------------------------------------------------------------
      # load_enabled?
      #--------------------------------------------------------------------------
      def load_enabled?
        return false if @header.nil?
        return true
      end
      
      #--------------------------------------------------------------------------
      # add_save_command
      #--------------------------------------------------------------------------
      def add_save_command
        add_command(YEA::SAVE::ACTION_SAVE, :save, save_enabled?)
      end
      
      #--------------------------------------------------------------------------
      # save_enabled?
      #--------------------------------------------------------------------------
      def save_enabled?
        return false if @header.nil? && SceneManager.scene_is?(Scene_Load)
        return false if SceneManager.scene_is?(Scene_Load)
        return false if $game_system.save_disabled
        return true
      end
      
      #--------------------------------------------------------------------------
      # add_delete_command
      #--------------------------------------------------------------------------
      def add_delete_command
        add_command(YEA::SAVE::ACTION_DELETE, :delete, delete_enabled?)
      end
      
      #--------------------------------------------------------------------------
      # delete_enabled?
      #--------------------------------------------------------------------------
      def delete_enabled?
        return false if @header.nil?
        return true
      end
      
      #--------------------------------------------------------------------------
      # update_help
      #--------------------------------------------------------------------------
      def update_help
        case current_symbol
        when :load; @help_window.set_text(YEA::SAVE::LOAD_HELP)
        when :save; @help_window.set_text(YEA::SAVE::SAVE_HELP)
        when :delete; @help_window.set_text(YEA::SAVE::DELETE_HELP)
        end
      end
      
    end # Window_FileAction
    
    #==============================================================================
    # ?! Scene_File
    #==============================================================================
    
    class Scene_File < Scene_MenuBase
      
      #--------------------------------------------------------------------------
      # overwrite method: start
      #--------------------------------------------------------------------------
      def start
        super
        create_all_windows
      end
      
      #--------------------------------------------------------------------------
      # overwrite method: terminate
      #--------------------------------------------------------------------------
      def terminate
        super
      end
      
      #--------------------------------------------------------------------------
      # overwrite method: update
      #--------------------------------------------------------------------------
      def update
        super
      end
      
      #--------------------------------------------------------------------------
      # new method: create_all_windows
      #--------------------------------------------------------------------------
      def create_all_windows
        create_help_window
        create_file_window
        create_action_window
        create_status_window
      end
      
      #--------------------------------------------------------------------------
      # overwrite method: create_help_window
      #--------------------------------------------------------------------------
      def create_help_window
        @help_window = Window_Help.new
        @help_window.set_text(YEA::SAVE::SELECT_HELP)
      end
      
      #--------------------------------------------------------------------------
      # new method: create_file_window
      #--------------------------------------------------------------------------
      def create_file_window
        wy = @help_window.height
        @file_window = Window_FileList.new(0, wy)
        @file_window.set_handler(:ok, method(:on_file_ok))
        @file_window.set_handler(:cancel, method(:return_scene))
      end
      
      #--------------------------------------------------------------------------
      # new method: create_action_window
      #--------------------------------------------------------------------------
      def create_action_window
        wx = @file_window.width
        wy = @help_window.height
        @action_window = Window_FileAction.new(wx, wy, @file_window)
        @action_window.help_window = @help_window
        @action_window.set_handler(:cancel, method(:on_action_cancel))
        @action_window.set_handler(:load, method(:on_action_load))
        @action_window.set_handler(:save, method(:on_action_save))
        @action_window.set_handler(:delete, method(:on_action_delete))
      end
      
      #--------------------------------------------------------------------------
      # new method: create_status_window
      #--------------------------------------------------------------------------
      def create_status_window
        wx = @action_window.x
        wy = @action_window.y + @action_window.height
        @status_window = Window_FileStatus.new(wx, wy, @file_window)
      end
      
      #--------------------------------------------------------------------------
      # new method: on_file_ok
      #--------------------------------------------------------------------------
      def on_file_ok
        @action_window.activate
        index = SceneManager.scene_is?(Scene_Load) ? 0 : 1
        @action_window.select(index)
      end
      
      #--------------------------------------------------------------------------
      # new method: on_action_cancel
      #--------------------------------------------------------------------------
      def on_action_cancel
        @action_window.unselect
        @file_window.activate
        @help_window.set_text(YEA::SAVE::SELECT_HELP)
      end
      
      #--------------------------------------------------------------------------
      # new method: on_action_load
      #--------------------------------------------------------------------------
      def on_action_load
        if DataManager.load_game(@file_window.index)
          on_load_success
        else
          Sound.play_buzzer
        end
      end
      
      #--------------------------------------------------------------------------
      # overwrite method: on_load_success
      #--------------------------------------------------------------------------
      def on_load_success
        Sound.play_load
        fadeout_all
        $game_system.on_after_load
        SceneManager.goto(Scene_Map)
      end
      
      #--------------------------------------------------------------------------
      # new method: on_action_save
      #--------------------------------------------------------------------------
      def on_action_save
        @action_window.activate
        if DataManager.save_game(@file_window.index)
          on_save_success
          refresh_windows
        else
          Sound.play_buzzer
        end
      end
      
      #--------------------------------------------------------------------------
      # overwrite method: on_save_success
      #--------------------------------------------------------------------------
      def on_save_success; Sound.play_save; end
      
      #--------------------------------------------------------------------------
      # new method: on_action_delete
      #--------------------------------------------------------------------------
      def on_action_delete
        @action_window.activate
        DataManager.delete_save_file(@file_window.index)
        on_delete_success
        refresh_windows
      end
      
      #--------------------------------------------------------------------------
      # new method: on_delete_success
      #--------------------------------------------------------------------------
      def on_delete_success
        YEA::SAVE::DELETE_SOUND.play
      end
      
      #--------------------------------------------------------------------------
      # new method: refresh_windows
      #--------------------------------------------------------------------------
      def refresh_windows
        @file_window.refresh
        @action_window.refresh
        @status_window.refresh
      end
      
    end # Scene_File
    
    #==============================================================================
    # ?! Scene_Save
    #==============================================================================
    
    class Scene_Save < Scene_File
      
      #--------------------------------------------------------------------------
      # overwrite method: on_savefile_ok
      #--------------------------------------------------------------------------
      def on_savefile_ok; super; end
      
      #--------------------------------------------------------------------------
      # overwrite method: on_save_success
      #--------------------------------------------------------------------------
      def on_save_success; super; end
      
    end # help_window_text
    
    #==============================================================================
    # ?! Scene_Load
    #==============================================================================
    
    class Scene_Load < Scene_File
      
      #--------------------------------------------------------------------------
      # overwrite method: on_savefile_ok
      #--------------------------------------------------------------------------
      def on_savefile_ok; super; end
      
      #--------------------------------------------------------------------------
      # overwrite method: on_load_success
      #--------------------------------------------------------------------------
      def on_load_success; super; end
      
    end # Scene_Load
    
    #==============================================================================
    # 
    # ?\ End of File
    # 
    #==============================================================================
    

     

     

     

    Quindi penso che le modifiche vanno fatte su questo script

     

    Ricordo che voglio solo il primo slot rinominato in autosalvataggio ^^

  11. In effetti ci sarebbe qualche problema > <

     

    Credo che possiamo risolvere comunque in modo più semplice ad eventi in questo modo:

    - nello script subito dopo il if $game_party.all_dead? metti nella riga sotto un $game_switches[4] = true

    (in pratica quando muori quella switch viene attivata)

    - crea un evento comune ad inizio automatico che si attiva appunto con la switch 4 su ON, ora dentro mettici: mostra immagine Sei Morto, aspetta tot frames, cancella immagine, metti switch 4 su OFF.

    Così dovrebbe andare e mostrare quel sei morto tutte le volte che effettivamente muori! ^ ^

     

    Ok grazie :)

  12. Sì, si può fare, ma io tengo conto dell'uso dello script. Immagino che lo script ti mantenga gli oggetti che hai perso nel momento in cui sei morto, la vita e cose del genere quando ritorni al check, per questo io dicevo di combinare lo script con un torna sempre alla stessa mappa dove mostrerai l'immagine "sei morto" e poi teletrasporterai l'eroe vicino all'ultimo oggetto toccato. E' toccando l'oggetto che salvi le variabili (puoi farlo automaticamente salvando non un numero preciso ma con l'uso delle variaibili la posizione dell'eroe e l'ID della mappa).

    ^ ^

     

    Si questo script mi mantiene tutti gli oggetti e vita quando ritorno al check dopo che l'eroe e morto.

    Quindi ricapitolando:

    lo script di chiamata del check e questo:

    set_checkpoint
    

    ad esempio lo vorrei trasportare qui dopo che morto:

    ID Mappa: 002

    x del player: 012

    y del player: 005

     

    come devo inserire lo script di chiamata, tramite variabile?

    Non ho capito come devo combinare tutte queste cose, da dove metto il checkpoint, da dove far uscire l'immagine di gameover a ritornare dove ho messo il checkpoint ^^

     

    Ricordo che devo mettere il checkpoint su più mappe ^^

  13. Non vuoi però mi dici:

    Io questo lo leggo come vuoi che compaia il game over o la scritta o sei morto o quello che è prima del checkpoint! XDXD

     

    Comunque il teletrasporto tramite variabili è semplice, è la seconda opzione del teletrasporto e gli devi dare 3 variabili: la x del player, la y del player e l'ID della mappa dove lo vuoi trasportare, ti basterà mettere quindi quando tocchi il checkpoint queste tre variabili al valore desiderato e potrai trasportarti lì al check.

    ^ ^

     

    Non so se si può fare come voglio fare io.

    Il checkpoint lo voglio attivare toccando un oggetto e una volta morto l'eroe riparte vicino a quest'oggetto, si può sempre fare come hai detto tu?

  14. Salva il checkpoint tramite variabile e teletrasporta l'eroe tramite variabili invece che col teletrasporto fisso.

    ^ ^

     

    (Non è un po' strano mostrare il game over prima del checkpoint? D:)

     

    infatti io non voglio mostrare il game over prima del checkpoint XD

    Attualmente, inserendo questo script, quando l'eroe muore inizia automaticamente dove ho attivato il checkpoint tramite lo script di chiamata, io voglio fare che quando l'eroe muore compare prima l'immagine di gameover e poi inizia dove ho attivato il checkpoint ^^

    (Che poi voglio cambiare immagine e voglio mettere uno con scritto "Sei Morto", in modo che sia più originale ^^)

     

    EDIT: poi non ho capito cosa intendi per "Salva il checkpoint tramite variabile e teletrasporta l'eroe tramite variabili invece che col teletrasporto fisso", scusa mi potresti spiegare meglio? Grazie ^^

  15. Non ti basta decidere di farlo andare in una mappa vuota nera dove tu mostri in automatico la scritta o l'immagine game over e poi teletrasportarlo dove vuoi? ^ ^

     

    Sarebbe complicato perche devo fare più di un checkpoint e l'eroe si deve trasportare sempre all'ultimo checkpoint attivato ^^

  16. Sono Riuscito ha trovare quello che cercavo, che è questo qui:

     

     

    #==============================================================================
    # Bravo Checkpoint System
    #------------------------------------------------------------------------------
    # Author: Bravo2Kilo
    # Version: 1.0a
    #
    # Version History:
    #   v1.0 = Initial Release
    #   v1.0a = Fixed a bug
    #==============================================================================
    # To set a checkpoint use this in an event script call
    #   set_checkpoint
    #
    # To add/remove lives use this in an event script call
    #   add_life(amount)    amount = the amount of lives to want to add/remove
    #==============================================================================
    module BRAVO_CHECKPOINT
     # Switch to activate/deactivate the checkpoint respawning on death.
     CHECKPOINT_SWITCH = 1
     # Switch to activate/deactivate the life system. When activated the player
     # must have a life to respawn.
     LIFE_SWITCH = 2
     # Method for restoring health upon respawning. Values are 1, 2, or 3
     # When 1 the actors hp will be set to 1, When 2 the actors hp will be set to max
     # When 3 the actors hp will be restored by a percentage(percent set below)
     HP_RESTORE = 2
     # If the above is set to 3 this will be the percent restored
     HP_PERCENT = 25
     # This is the percent of exp points loss upon respawning
     EXP_LOSS = 10
     # This is the percent of gold loss upon respawning.
     GOLD_LOSS = 5
    #==============================================================================
    # END OF CONFIGURATION
    #==============================================================================
    end
    $imported ||= {}
    $imported[:Bravo_Checkpoint] = true
    
    #==============================================================================
    # ** BattleManager
    #==============================================================================
    
    module BattleManager
     #--------------------------------------------------------------------------
     # * Defeat Processing
     #--------------------------------------------------------------------------
     def self.process_defeat
       $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
       wait_for_message
       if @can_lose
         revive_battle_members
         replay_bgm_and_bgs
         SceneManager.return
       else
         replay_bgm_and_bgs
         SceneManager.scene.check_gameover
       end
       battle_end(2)
       return true
     end
    end
    
    #==============================================================================
    # ** Scene_Base
    #==============================================================================
    
    class Scene_Base
     #--------------------------------------------------------------------------
     # * Determine if Game Is Over
     #--------------------------------------------------------------------------
     alias bravo_checkpoint_check_gameover check_gameover
     def check_gameover
       if $game_party.all_dead?
         if $game_switches[BRAVO_CHECKPOINT::CHECKPOINT_SWITCH] == true
           if $game_switches[BRAVO_CHECKPOINT::LIFE_SWITCH] == true
             if $game_party.checkpoint_life == 0
               bravo_checkpoint_check_gameover
             else
               process_respawn
               $game_party.checkpoint_life -= 1
             end
           else
             process_respawn
           end
         else
           bravo_checkpoint_check_gameover
         end
       end
     end
     #--------------------------------------------------------------------------
     # * Process Respawn
     #--------------------------------------------------------------------------
     def process_respawn
       $game_party.battle_members.each do |actor|
         if BRAVO_CHECKPOINT::HP_RESTORE == 1
           actor.hp = 1 if actor.dead?
         elsif BRAVO_CHECKPOINT::HP_RESTORE == 2
           actor.hp = actor.mhp if actor.dead?
         elsif BRAVO_CHECKPOINT::HP_RESTORE == 3
           amount = (BRAVO_CHECKPOINT::HP_PERCENT * 0.01) * actor.mhp
           actor.hp = amount.to_i if actor.dead?
         end
         current_exp = actor.exp - actor.current_level_exp
         exp_loss = (BRAVO_CHECKPOINT::GOLD_LOSS * 0.01) * current_exp
         actor.change_exp(actor.exp - exp_loss.to_i, false)
       end
       gold_loss = (BRAVO_CHECKPOINT::GOLD_LOSS * 0.01) * $game_party.gold
       $game_party.lose_gold(gold_loss.to_i)
       $game_map.setup($game_party.checkpoint_mapid)
       SceneManager.goto(Scene_Map)
       $game_player.moveto($game_party.checkpoint_x, $game_party.checkpoint_y)
       $game_player.set_direction($game_party.checkpoint_dir)
     end
    end
    
    #==============================================================================
    # ** Game_Party
    #==============================================================================
    
    class Game_Party < Game_Unit
     #--------------------------------------------------------------------------
     # * Public Instance Variables
     #--------------------------------------------------------------------------
     attr_accessor :checkpoint_life
     attr_reader   :checkpoint_mapid
     attr_reader   :checkpoint_x
     attr_reader   :checkpoint_y
     attr_reader   :checkpoint_dir
     #--------------------------------------------------------------------------
     # * Object Initialization
     #--------------------------------------------------------------------------
     alias bravo_checkpoint_initialize initialize
     def initialize
       bravo_checkpoint_initialize
       @checkpoint_life ||= 0
     end
     #--------------------------------------------------------------------------
     # * Set Checkpoint
     #--------------------------------------------------------------------------
     def set_checkpoint
       @checkpoint_mapid = $game_map.map_id
       @checkpoint_x = $game_player.x
       @checkpoint_y = $game_player.y
       @checkpoint_dir = $game_player.direction
     end
    end
    
    #==============================================================================
    # ** Game_Interpreter
    #==============================================================================
    
    class Game_Interpreter
     #--------------------------------------------------------------------------
     # * Set Checkpoint
     #--------------------------------------------------------------------------
     def set_checkpoint
       $game_party.set_checkpoint
     end
     #--------------------------------------------------------------------------
     # * Add Life
     #--------------------------------------------------------------------------
     def add_life(amount)
       $game_party.checkpoint_life += amount
     end
    end
    

     

     

     

    Però quando l'eroe muore va direttamente dove decido io, senza uscire la schermata di gameover.

    Mi potete dire come posso far uscire la schermata di gameover quando l'eroe muore?

     

    Grazie ^^

  17. Salve, mi servirebbe uno script per il checkpoint, in modo che indipendentemente dal salvataggio, voglio che quando l'eroe muore, riparte in una zona dove dico io.

    Ho cercato in giro ma ho trovato solo per xp e vx, a me mi serve per l'ACE,

     

    Grazie :)

  18. Questo script ti permette di caricare il file di autosalvataggio solo dal menu, viene infatti aggiunta l'apposita voce "Load Autosave", perchè il file di salvataggio viene rinominato "Autosave.rvdata2" quindi non viene considerato come un save normale.

    Per fare considerare il tuo autosalvataggio come un salvataggio standard devi andare alle righe:

    114, 120, 144, 155

    e modificare

    "Autosave.rvdata2"

    in

    "Save00.rvdata2"

     

    A questo punto modifichi 00 con il numero corrispondente allo slot che preferisci. Quindi se vuoi che l'autosalvataggio avvenga nel secondo slot, rinominerai le quattro righe dello script con "Save02.rvdata2", se invece lo vuoi nel decimo slot lo rinominerai "Save10.rvdata2".

    Fammi sapere se qualcosa non ti è chiaro (:

     

    Prima di tutto, grazie per la risposta. Cosi gia va un pò meglio, però io vorrei che mi venga data la possibilità di scegliere lo slot per autosalvare quando clicco su Nuova partita. Ad esempio se io clicco su File 1 mi salva per intera partita sempre sullo slot 1, se clicco su File 2 mi salva sempre sullo slot 2, ecc.

    Non so se questo è possibile farlo.

  19. Salve, mi servirebbe uno script di autosalvataggio che mi permette di scegliere lo slot di salvataggio appena che metto nuova partita e che autosalva in tutta quella partita in quello slot che scelgo.

     

    Ho provato questo: http://www.rpgmakervxace.net/topic/6305-csca-autosave-plus/

    questo script è perfetto ma ha solo uno slot di salvataggio e se faccio nuova partita sovrascrive la precedente.

     

    Ecco a me mi servirebbe uno script come questo ma con la possibilità di scegliere lo slot di salvataggio.

     

    grazie ^^

  20. "Event command only" in questo caso dovrebbe voler dire, se non vado errato, che salva automaticamente al cambio di arma, scudo, gold, ecc. solo se questi cambi vengono effettuati tramite Evento.

    In pratica, se metti un comando "Gold +100" in un Evento dovrebbe effettuare l'autosave.

    Se invece cambi i Gold attraverso uno script, o manualmente tramite Call Script, l'autosave non viene effettuato.

     

    Quindi in teoria mettendo a true quelle costanti, dovrebbe già auto-salvare.

    Se però hai uno script che cambia item/gold/ecc. non viene attivato l'autosalvataggio quando quegli script li modificano.

     

    Event command only dovrebbe voler dire che ha effetto solo quando cambi il denaro tramite l'apposita voce dal comando degli eventi, che se hai Ace tradotto da Holy è "Cambia denaro..." e quindi non ,ad esempio, quando ricevi denaro dai mostri dopo una battaglia.

    Lo stesso vale per le altre voci, prova a fammi sapere!

     

    Ops, stavo scrivendo prima di leggere il tuo commento Midi ^^"

     

    Grazie per le risposte, infatti ho provato è quelle cose hanno effetto l'autosave solo se chiamati tramite evento. :)

    Purtroppo non salva se si quipaggiano le armi o armature tramite menù e la cosa piu brutta e che c'è solo uno slot di autosalvataggio e non si può salvare in più slot :(

×
×
  • Create New...