Exim Gealbhonn Posted August 15, 2015 Share Posted August 15, 2015 Livello di difficoltàDescrizione:Semplicemente uno script che gestisce le statistiche dei nemici a seconda di una scelta effettuata dal player all'inizio del gioco. In soldoni, grazie a questo script verrà data la possibilità al giocatore di scegliere un livello di difficoltà dopo aver premuto New Game. Inoltre il livello di difficoltà scelto sarà visibile tra le informazioni del salvataggio di gioco (insieme al numero del salvataggio,le ore di gioco etc.) Autore:Sora Keyblade Allegati: / Istruzioni per l'uso:Mettere lo script in una nuova pagina dello script editor sotto "Materials" e seguire le istruzioni presenti nella parte modificabile all'interno dello script Script: #=============================================================================== # Nome Script: SK | Livello di difficoltà # Autore: Sora Keyblade # Versione: 1.0 # Programma: RPG Maker VX Ace # Data: 15/08/2015 # Ultima Modifica: / #=============================================================================== # Descrizione: # Semplicemente uno script che gestisce le statistiche dei nemici a seconda di # una scelta effettuata dal player all'inizio del gioco. In soldoni, grazie # a questo script verrà data la possibilità al giocatore di scegliere un livello # di difficoltà dopo aver premuto New Game. # Inoltre il livello di difficoltà scelto sarà visibile tra le informazioni del # salvataggio di gioco (insieme al numero del salvataggio,le ore di gioco etc.) #=============================================================================== # Istruzioni per l'utilizzo: # Mettere lo script in una nuova pagina dello script editor sotto # "Materials" e seguire le istruzioni presenti nella parte modificabile #=============================================================================== # Special Thanks: # -Holy87 # -La sua guida #=============================================================================== module SK #============================================================================ # Inizio parte modificabile #============================================================================ #All'interno delle parentesi quadre della riga qui sotto inserire tra # virgolette i nomi delle varie difficoltà separate da una virgola Livelli_di_difficoltà=["Principiante","Standard","Esperto","Critico"] #Nelle due righe successive impostare la posizione della finestra dove #il giocatore selezionerà la difficoltà. Se lascerete come valori 0 per la x # e 0 per la y la finestra si posizionerà #nell'angolo in alto a sinistra. I valori di default sono gli stessi della #finestra dei comandi del title screen X_finestra_selezione_difficoltà=(Graphics.width - 160) / 2 Y_finestra_selezione_difficoltà=(Graphics.height * 1.6 - 100) / 2 #Imposta la larghezza della finestra Larghezza_finestra_selezione_difficoltà=160 end class Game_Enemy < Game_Battler #Adesso inizia la parte del settaggio dei nemici a seconda del livello di #difficoltà. I numeri incolonnati sotto i nomi delle statistiche abbreviate #rappresentano dei moltiplicatori delle statistiche corrispondenti dei NEMICI, #mentre le righe sotto i "when" rappresentano i vari livelli di difficoltà. #Di conseguenza, se volete, per esempio, che nel primo livello di difficoltà #(di solito il più facile) i nemici abbiano la metà della vita , basta cambiare #il numero nella prima riga sotto "mhp" da 1 a 0.5. #Invece se volete che nel terzo livello di difficoltà l'attacco dei nemici sia #il doppio, dovrete semplicemente cambiare il numero nella terza riga (sotto when 2) #sotto "atk" da 1 a 2. Se lasciate ad 1 il valore di qualche moltiplicatore, #la statistica del nemico in game (in quel particolare livello di difficoltà) #rispecchierà la statistica scritta nel database # #CONSIGLIO: Per la modalità "Standard" sarebbe più comodo lasciare per tutti # i moltiplicatori delle statistiche il valore di 1, così da lavorare # nel database su quella particolare modalità di difficoltà ed avere # un punto di riferimento per calibrare le altre difficoltà def param_base(param_id) case $game_system.livello_difficoltà when 0 # mhp mmp atk dif mat mdp agi luk stat(param_id,1, 1, 1, 1, 1, 1, 1, 1) #prima opzione-es. "Principiante" when 1 stat(param_id,1, 1, 1, 1, 1, 1, 1, 1) #seconda opzione-es. "Standard" when 2 stat(param_id,1, 1, 1, 1, 1, 1, 1, 1) #terza opzione-es. "Esperto" when 3 stat(param_id,1, 1, 1, 1, 1, 1, 1, 1) #quarta opzione-es. "Critica" # nell'eventualità voi vogliate aggiungere una quinta opzione # basta scrivere sopra "end": # when 4 # stat(param_id,1, 1, 1, 1, 1, 1, 1, 1) #ed in caso di una sesta opzione # when 5 # stat(param_id,1, 1, 1, 1, 1, 1, 1, 1) #e così via end end #============================================================================== # Fine Parte Modificabile #============================================================================== def stat(param_id,mhp,mmp,atk,dif,mat,mdp,agi,luk) case param_id when 0 enemy.params[param_id]*mhp when 1 enemy.params[param_id]*mmp when 2 enemy.params[param_id]*atk when 3 enemy.params[param_id]*dif when 4 enemy.params[param_id]*mat when 5 enemy.params[param_id]*mdp when 6 enemy.params[param_id]*agi when 7 enemy.params[param_id]*luk else enemy.params[param_id] end end end class Game_System attr_accessor :livello_difficoltà alias sk_initialize initialize def initialize sk_initialize @livello_difficoltà=1 end end class Finestra_Selezione_Difficoltà < Window_Selectable def initialize (x, y, width, height) super @data=SK::Livelli_di_difficoltà @index=0 refresh end def item_max if @data==nil return 0 else return @data.size end end def draw_item(index) rect= item_rect(index) nome_difficoltà=@data[index] draw_text(rect, nome_difficoltà) end def index return @index end end class Scene_Title < Scene_Base def create_finestra_difficoltà @difficoltà=Finestra_Selezione_Difficoltà.new(SK::X_finestra_selezione_difficoltà,SK::Y_finestra_selezione_difficoltà,SK::Larghezza_finestra_selezione_difficoltà,25*(SK::Livelli_di_difficoltà.size+1)) @difficoltà.activate @difficoltà.set_handler(:cancel, method(:elimina_finestra_difficoltà)) @difficoltà.set_handler(:ok, method(:seleziona_difficoltà)) end def elimina_finestra_difficoltà @difficoltà.close create_command_window end def seleziona_difficoltà $game_system.livello_difficoltà=@difficoltà.index fadeout_all $game_map.autoplay SceneManager.goto(Scene_Map) end def command_new_game DataManager.setup_new_game close_command_window create_finestra_difficoltà end end module DataManager def self.make_save_header header = {} header[:characters] = $game_party.characters_for_savefile header[:playtime_s] = $game_system.playtime_s header[:difficoltà] = SK::Livelli_di_difficoltà[$game_system.livello_difficoltà] header end end class Window_SaveFile < Window_Base alias sk_refresh refresh def refresh sk_refresh disegna_livello_difficoltà(0, contents.height - line_height - 45 , contents.width - 4) end def disegna_livello_difficoltà(x, y, width) header = DataManager.load_header(@file_index) return unless header draw_text(x, y, width, line_height, header[:difficoltà], 2) end end Bugs e Conflitti noti: N/A http://i.imgur.com/WmE9anR.pngMiei Tutorial: Tileset Creator Fare Dialoghi con Artwork Eliminare dal menù una o più opzioni Guida all'utlizzo dell'"Animated Battle System" di Victor (Work in progress) Rompere la quarta parete come Psycho MantisMiei Script: Endline Automatico dei Messaggi Sistema di Autosalvataggio Livello di Difficoltà Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now