ant10
-
Posts
143 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by ant10
-
-
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 ^^
-
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 ^^
-
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:)
-
@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
-
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 ^^
-
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 ^^
-
Ah credevo fosse solo un problema di quando andavi a distribuire il gioco! XD
Provato a cercare sul forum prima di chiedere? E:3
Si ho fatto, ma il font non cambia, ho messo il file del font scaricato nella cartella che hai detto tu sopra, ma non succede nulla :(
-
Devi creare una cartella fonts (forse Fonts) nella cartella del tuo progetto ed infilarlo lì dentro.
^ ^
l'ho fatto, ma come faccio ha rivelarlo al gioco? perchè la scritta rimane come prima.
-
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
-
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) endcon 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 ^^
-
Un altra cosa, come faccio ha rinominare anche la scritta File 1 all'interno dello slot che ho rinominato Autosalvataggio?
http://i60.tinypic.com/rgxs2d.jpg
Grazie ^^
-
Sostituisci questa riga
text = sprintf(YEA::SAVE::SLOT_NAME, (index + 1).group)
con questo:
if(index==0) text = sprintf("Autosalvataggio") else text = sprintf(YEA::SAVE::SLOT_NAME, (index + 1).group) enddovrebbe andare, fammi sarepere! ^ ^
grazie, funziona ^^
-
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 endSe 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 ^^
-
Salve, c'è un modo per rinominare solo il primo slot di salvataggio? Ad esempio da File 1 a Autosalvataggio?
oppure se si può creare uno slot aggiuntivo?
-
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 :)
-
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 ^^
-
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?
-
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 ^^
-
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 ^^
-
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 endPerò 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 ^^
-
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 :)
-
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.
-
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 ^^
-
"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 :(

Oltrepassare il livello 99
in Richieste scripts RGSS3 (VX-Ace)
Posted
Questo script lo puoi prendere anche qui:
https://github.com/Archeia/YEARepo/blob/master/Core/Adjust_Limits.rb