Jump to content
Rpg²S Forum

Exim Gealbhonn

Utenti
  • Posts

    353
  • Joined

  • Last visited

Posts posted by Exim Gealbhonn

  1.  

    C'è qualcosa di decisamente sbagliato in quest'aggiunta del metodo ritorno. Prima di tutto perché avresti potuto fare direttamente

    $game_system.livello_difficoltà = $game_variables[36]
    senza mettere 4 condizioni

    Inoltre, è prevista una procedura più semplice in questi casi.

    H87Options.push_game_option({:type = :variable, :text => "Difficoltà", :help => "Imposta la difficoltà di gioco",
    :var => 36, :values => ["Facile","Normale","Difficile","Esperto"],
    :method => :aggiorna_difficolta})
     
    class Option
      def aggiorna_difficolta(valore)
        $game_system.livello_difficoltà = valore
      end
    end

    Oh, avevo inteso che

    :method
    

    si potesse aggiungere solo con il

    :type => :advanced
    

    Neanche le istruzioni di uno script riesco a leggere XD

     

    Comunque adesso sistemo e posto lo script aggiornato insieme alle altre migliorie

     

    Grazie per il supporto ^^

     

     

    EDIT:

     

    Aggiornamento 1.1:

    • Possibilità di modificare il quantitativo di exp, denaro ed il drop rate degli oggetti a seconda del livello di difficoltà
    • Possibilità di integrare lo script con il Menu Opzioni di Gioco di Holy87
  2. Sora Keyblade, ho notato, che c'e un incompatibilità con il menu personalizzato di Holy87, l'ho fixato il problema

    con questo metodo:

     

    if $imported["H87_TitleMenu"] == true

    def command_new_game

    DataManager.setup_new_game

    @CommandsActive = false

    @command_viewport.dispose

    close_command_window

    create_finestra_difficoltà

    end

    end

     

    ed sopra, all'inizio dello script ho messo questo:

    $imported = {} if $imported.nil?

    ho sennò da errore, se vuoi puoi aggiungerlo allo script.

     

    Sei sicuro? A me non dà alcun errore :/

    Inoltre non mi pare che lo script di holy modifichi il metodo "command_new_game"

    Comunque grazie della segnalazione, adesso do un'occhiata ^^

     

    Forse non mi sono spiegato bene.

    Non devi fare nessun menu opzioni, ma aggiungere l'opzione a questo.

    Sono riuscito a implementare questo script con il tuo, però ho dovuto fare alcune modifiche al tuo menù e non sono sicuro che vadano bene

    
    class Scene_Options < Scene_MenuBase
      def create_option_window
        @option_window = Window_GameOptions.new(@help_window.y + @help_window.height)
        @option_window.help_window = @help_window
        @option_window.set_handler(:cancel, method(:ritorno))
        @option_window.activate
      end
      
      def ritorno
        return_scene
        if $game_variables[36]==0
          $game_system.livello_difficoltà=0
        elsif $game_variables[36]==1
          $game_system.livello_difficoltà=1
        elsif $game_variables[36]==2
          $game_system.livello_difficoltà=2
        elsif $game_variables[36]==3
          $game_system.livello_difficoltà=3
        end
      end
    end
    
          
      
    
    
    H87Options.push_game_option(
    { :type => :variable,   #tipo variabile
          :text => "Difficoltà",#testo mostrato
          :help => "Imposta la difficoltà di gioco", #descrizione
          :var  => 36,          #variabile
          :values => ["Facile","Normale","Difficile","Esperto"],#valori 0, 1 e 2
        }
    )
    
    
  3. Sistema di Autosalvataggio

     

    Descrizione:

    Uno script che permette di creare un sistema di autosalvataggio.

    Per maggiore ordine lo script crea anche una cartella per contenere i salvataggi

     

    Autore:

    Sora Keyblade

    Istruzioni per l'uso:

    Mettere lo script in una nuova pagina dello script editor e personalizzarlo nella parte modificabile. Per richiamare l'autosalvataggio bisogna creare un evento/script (ultimo comando della seconda colonna della terza pagina degli eventi) con scritto:

    SK.autosave
    
    Naturalmente se volete che si autosalvi il gioco appena si entra in una mappa, dovrete mettere l'evento in processo parallelo, quindi ricordate di stopparlo con una switch locale, altrimenti continuerà a salvare per tutto il tempo in cui starete in quella mappa.
    Script:

    
    #===============================================================================
    # Nome Script: SK | Autosave
    # Autore: Sora Keyblade
    # Versione: 1.0.1
    # Programma: RPG Maker VX Ace
    # Data: 17/08/2015
    # Ultima Modifica: /
    #===============================================================================
    # Descrizione:
    # Uno script che permette di creare un sistema di autosalvataggio.
    # Per maggiore ordine lo script crea anche una cartella per contenere i 
    # salvataggi
    #===============================================================================
    # Istruzioni per l'utilizzo:
    # Mettere lo script in una nuova pagina dello script editor e personalizzarlo
    # nella parte modificabile. Per richiamare l'autosalvataggio bisogna creare un
    # evento/script (ultimo comando della seconda colonna della terza pagina degli
    # eventi) con scritto:
    #        SK.autosave
    # Naturalmente se volete che si autosalvi il gioco appena si entra in una mappa, 
    # dovrete mettere l'evento in proccesso parallelo, quindi ricordate di stopparlo
    # con una switch locale, altrimenti continuerà a salvare per tutto il tempo
    # in cui starete in quella mappa
    #===============================================================================
    # Special Thanks:
    #      -Holy87
    #===============================================================================
    
    module SK
      #============================================================================
      # Inizio parte modificabile
      #============================================================================
      
      #Mettete all'interno delle virgolette il nome del file di 
      #autosalvataggio e il nome che spunterà in game tra i salvataggi.
      # 1 solo nome per entrambi
      Nome_file_autosalvataggio="Autosave"
      #Mettete all'interno delle virgolette il nome della cartella dove verranno 
      #salvati i salvataggi
      Nome_cartella_salvataggi="Saves"
      #Il giocatore può salvare normalmente nel file dell'autosalvataggio?
      #true | false
      Salvataggio_in_autosave=false
      
      Autosave_first_savefile_index=false
      
      Opzioni_game_over=true
     #==============================================================================
     # Fine Parte Modificabile
     #============================================================================== 
      def self.autosave
        DataManager.save_game(0)
      end
      
      def self.save_in_autosave
        if Salvataggio_in_autosave
          return DataManager.savefile_max+1
        else
          return 0
        end
      end
      
      def self.autosave_first_savefile_index
        if Autosave_first_savefile_index
          return DataManager.savefile_max+1
        else
          return 0
        end
      end
      
      
    end
    
    module DataManager
      
      class << self
        alias sk_init init
        alias sk_make_filename make_filename
      end
      
      
      def self.init
        sk_init
        Dir.mkdir("./#{SK::Nome_cartella_salvataggi}") if !File.directory?(SK::Nome_cartella_salvataggi)
      end
      
      def self.make_filename(index)
        if index==0
          sprintf("./%s/%s.rvdata2",SK::Nome_cartella_salvataggi, SK::Nome_file_autosalvataggio)
        else
          sk_make_filename(index)
        end
      end
      
      def self.save_file_exists?
       if !Dir.glob("./#{SK::Nome_cartella_salvataggi}/Save*.rvdata2").empty? or !Dir.glob("./#{SK::Nome_cartella_salvataggi}/#{SK::Nome_file_autosalvataggio}.rvdata2").empty?
         return true
       else
         return false
       end
     end
     
    
    
      
    end
    
    class Window_SaveFile < Window_Base
      def refresh
        contents.clear
        change_color(normal_color)
        if @file_index==0
          name=SK::Nome_file_autosalvataggio
        else
          name = Vocab::File + " #{@file_index}"
        end
        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
      
     
    end
    
    class Scene_Save < Scene_File
      alias sk_first_savefile_index first_savefile_index
      def first_savefile_index
        if DataManager.last_savefile_index==SK.autosave_first_savefile_index
          DataManager.last_savefile_index+1
        else
          sk_first_savefile_index
        end
      end
      
      def on_savefile_ok
        super
        if DataManager.save_game(@index)&&@index!=SK.save_in_autosave
          on_save_success
        else
          Sound.play_buzzer
        end
      end
      
    end 
    
    
    

    Bugs e Conflitti noti: N/A
  4.  

    Le lettere accentate nei nomi delle variabili è meglio non usarle.

     

    Grazie mille del consiglio, cercherò di correggere in questo script e di evitarlo nei futuri :)

     

     

    Potresti aggiungere anche un moltiplicatore per exp, drop e denaro, magari così l'utilizzatore potrebbe dare più ricompense al giocatore se mette gli scontri più difficili.

     

     

    Non dovrebbe essere un problema implementarli, oggi ci lavorerò

     

     

     

    Potresti anche integrare un'opzione nel mio menu Opzioni per scegliere la difficoltà del gioco in qualsiasi momento.

    Ci avevo pensato pure io, ma il problema è che non so come farlo "esteticamente", non c'è nel menù di rpg maker l'opzione "Opzioni" dove piazzarlo, volendo potrei farlo come "Termina Gioco", tu che dici?

     

     

    Anyway, aggiunti screen e demo

  5. Ah ottimo.

    ^ ^

     

    Sì, intendo ricompense od altri avvenimenti in game che hanno a che fare con la difficoltà, ma non si riferiscono alle stat nemiche. Anche per esempio voti a fine battaglia fatti ad eventi dove la S può esser preclusa a difficoltà minori.

    Magari inseriscilo nei commenti dello script se non vuoi assegnarlo ad una variabile, mi pare utile come cosa.

    ^ ^

     

     

    Ma la variabile c'è, è

    $game_system.livello_difficoltà
    

    che contiene il livello di difficoltà in cui si sta giocando

     

    Usando il tuo esempio, mettiamo caso che il voto viene dato da un accumulo di punti che vengono assegnati a seconda di come ci si comporta in battaglia.

    Il grado S viene dato quando si arriva a 50 punti, mentre il grado A viene assegnato quando si raggiungono i 40 punti.

     

    Se nella modalità principiante, il maker non vuole che si raggiunga il grado S, basta semplicemente aggiungere una Condizione SE che lavora in questo modo

     

    Se punteggio_battaglia è maggiore di 50 e $game_system.livello_difficoltà==0 #che rappresenta il primo livello di difficoltà, di solito il più facile

    punteggio_battaglia=49

    Fine Condizione

  6. Sì sì, si possono mettere tutti i livelli di difficoltà che si vuole, nello script è spiegato come fare.

     

    Per la seconda cosa, intendi tipo dare una ricompensa per aver finito la main quest in un determinato livello di difficoltà?

     

    Bisogna semplicemente strutturare un evento così:

    If $game_system.livello_difficoltà==0 #primo livello di difficoltà

    fai_cose

    Elsif $game_system.livello_difficoltà==1 #secondo livello di difficoltà

    fai_cose

     

    E così via

  7. 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

     

    Versione: 1.1

     

    Script Necessari: Modulo di Supporto di Holy87

     

    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

     

    Screen:

     

     

     

    Script:

     

     

     

    #===============================================================================
    # Nome Script: SK | Livello di difficoltà
    # Autore: Sora Keyblade
    # Versione: 1.1
    # Programma: RPG Maker VX Ace
    # Data: 15/08/2015
    # Ultima Modifica: 14/05/2017
    #===============================================================================
    # Descrizione:
    # Semplicemente uno script che gestisce le statistiche dei nemici a seconda di
    # una scelta effettuata dal player all'inizio del gioco, subito dopo aver
    # premuto "New Game". In soldoni, grazie a questo script verrà data la
    # possibilità al giocatore di scegliere un livello di difficoltà  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
    #===============================================================================
    
    module SK
      #============================================================================
      # Inizio parte modificabile
      #============================================================================
      #All'interno delle parentesi quadre della riga qui sotto inserire tra
      # virgolette i nomi delle varie difficoltà associandolo
      # ad un numero, tutto separato da una virgola
      Livelli_di_difficoltà={"Principiante"=>0,"Standard"=>1,"Esperto"=>2,"Critica"=>3}
      # Se volete che alla prima partita siano disponibili sono un ristetto numero
      # di difficoltà, così che durante una partita si sblocchino difficoltà extra,
      # una sorta di NG+, basta inserire nella riga qua sotto, separati da virgola,
      # i nomi delle difficoltà disponibili fin dal principio
      Liv_prima_partita=["Principiante","Standard","Esperto"]
      # Quando volete sbloccare una nuova difficoltà basta semplicemente scrivere in
      # un evento-script (ultima pagina in basso a destra) il seguente codice:
      #   $game_settings["Difficolta n"]=true
      # Dove n è il numero associato al livello di difficoltà.
      # Per esempio se vogliamo sbloccare la difficoltà critica (mantenendo i numeri
      # associati dell'esempio) bisogna scrivere nell'evento-script
      #   $game_settings["Difficolta 3"]=true
     
     
      #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,0.5,  0.5,  0.5,  0.5,  0.5,  0.5,  0.5,  0.5) #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,2,  2,  2,  2,  2,  2,  2,  2) #terza opzione-es. "Esperto"
        when 3
         stat(param_id,3,  3,  3,  3,  3,  3,  3,  3) #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 H87_Settings
      def inizialize_sk_difficolta
        SK::Livelli_di_difficoltà.each_key do |difficolta|
          if SK::Liv_prima_partita.include?(difficolta)
            $game_settings["Difficolta "+SK::Livelli_di_difficoltà[difficolta].to_s]=true
          else
            $game_settings["Difficolta "+SK::Livelli_di_difficoltà[difficolta].to_s]=false
          end
        end
      end
        
    end
    
    
    class Finestra_Selezione_Difficoltà < Window_Selectable
      attr_reader :data
      def initialize (x, y, width, height)
        super
        @data=[]
        SK::Livelli_di_difficoltà.each_key do |difficolta|
          if $game_settings["Difficolta "+SK::Livelli_di_difficoltà[difficolta].to_s]==true
            @data.push(difficolta)
          end
        end
        self.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)
          draw_text(rect, @data[index])
        end
        
     
    end
    
    class Scene_Title < Scene_Base
     
      alias sk_difficolta_start start
      def start
        sk_difficolta_start
        create_finestra_difficoltà
        @difficoltà.visible=false
        @difficoltà.openness=0
        @difficoltà.visible=true
      end
       
      def create_finestra_difficoltà
        contatore=1
        SK::Livelli_di_difficoltà.each_key do |difficolta|
          if $game_settings["Difficolta "+SK::Livelli_di_difficoltà[difficolta].to_s]==nil
            $game_settings.inizialize_sk_difficolta
          end
          if $game_settings["Difficolta "+SK::Livelli_di_difficoltà[difficolta].to_s]==true
            contatore+=1
          end
        end
        @difficoltà=Finestra_Selezione_Difficoltà.new(SK::X_finestra_selezione_difficoltà,SK::Y_finestra_selezione_difficoltà,SK::Larghezza_finestra_selezione_difficoltà,contatore*25)
        @difficoltà.height=25*(@difficoltà.data.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à.openness=0
        create_command_window
      end
     
      def seleziona_difficoltà
        $game_system.livello_difficoltà=SK::Livelli_di_difficoltà[@difficoltà.data[@difficoltà.index]]
        fadeout_all
        $game_map.autoplay
        SceneManager.goto(Scene_Map)
      end
     
      def command_new_game
        DataManager.setup_new_game
        close_command_window
        @difficoltà.openness=255
        @difficoltà.activate
      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à.keys[$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
    

     

    Demo 1.0: http://www.mediafire.com/download/o4yxzbdj126ohsw/Demo.zip

     

    Bugs e Conflitti noti: N/A

     

    Special Thanks:

    -Holy87

  8. 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

     

     

  9. D: Una semplice informazione di servizio, ma ogni lettera nei menù di rpg maker vx ace di quanti pixel è formata in larghezza?

    Sto lavorando a uno script che contiene una finestra, che ha come elementi al suo interno i valori(stringhe) di un array (sottoclasse di Window_Selectable). Così, per impostare la larghezza della finestra ho dato come parametro un metodo che individua la stringa più lunga dell'array, per poi ottenere il numero di caratteri di quest'ultima e moltiplicarlo per il numero di pixel di una lettera. Così ho screenato una lettera e mi risulta che sia larga 10 pixel, però a quanto pare non è il valore corretto xD

     

    Qualcuno mi aiuta?

  10. Chiedo scusa dal profondo del cuore a tutti i partecipanti, gli organizzatori e i giudici.

    Purtroppo per una incompetenza di Alitalia è stato annullato/ho perso il volo del 25, quindi sono arrivato domenica 26, giorno (tra l'altro) pieno di impegni (sapete, primo giorno che arrivi, visita agli amici ecc. ecc. (per chi non lo sapesse o per chi gli sono sfuggiti i miei messaggi nel topic, sono stato via 16 giorni, in vacanza in Scozia ).

     

    Il progetto era proprio alla fine, mancavano 2 mappe da ultimare, scrivere in game il finale e... basta, dovevo solo beta-testarlo.

    In questo momento sto rosicando molto, e sono anche molto rammaricato.

    comunque il progetto lo pubblicherò ugualmente (se gli organizzatori mi danno il permesso, mi piacerebbe mettere nel nome del topic accanto a quello del gioco "[Fuori Concorso SGC 2015]" prevedo che sarà pronto entro settimana prossima, causa impegni vari (effettivamente tornerò a makerare il 31 o l'1) .

    Chiedo ancora scusa a tutti e vi auguro di passare delle belle e sane vacanze XD

     

    naturalmente quando sarò libero proverò tutti i vostri gioco ^^

     

    EDIT: scusate se ho fatto qualche errore (anche concettuale) ma sono di fretta, fra 6 minuti devo uscire, ma ci tenevo a tenervi tutti informati).

  11. Oddio ho fatto mille errori >.< perdonatemi con il mapping poi sono pessimo.... per quanto riguarda l'uso di certi tile che siano tetto od altro..è dovuto dal fatto che quando guardai il mio primo tutorial su Youtube il ragazzo che spiegava usava il tile che voleva per fare quello che voleva >.< ho preso quest'abitudine >.<

     

     

    Nello screen "Perchè non sono ancora tornati!" non ho confuso..è un esclamazione..sta urlando diciamo ^^

     

    Nello screen del paese dove dici che gli alberi vengono tagliati da un altro tipo di alberi in realtà vuole solo delineare che si trova nel bosco..come spiegare...deve dare l'impressione che sia nel bosco..racchiuso da questo tipo di alberi..secondo me ci sta bene :3

     

    Per quanto concerne alla scelta di non usare sempre eventi ( e ti assiucuro che ce ne sono tanti) deriva dal fatto di aver letto che più eventi ci sono..piu cresce la probabilità che lagghi...scatti e via dicendo

     

    LOL come hai fatto a battere lo scheletro O.o?

     

     

    EDIT: Risolti bug dei Tileset Attravversabili

    Aumentati di 1 tile le case/inn /market

    Risolto bug delle quest/del topo che ricomparivano

     

    Molto semplice, il boss ha la possibilità di attaccare prima di te e fa un danno tra i 135 e i 144, disponendo di 500 hp, posso resistere a due attacchi consecutivi, quindi nel primo turno attaccavo, nel secondo mi curavo (essendo più veloce il nemico riesco a finire il secondo turno con tutta la vita) e così via fino alla fine ^^

     

    forse sarebbe meglio che ad un certo momento della battaglia ti faccia un attacco che ti tolga 600 hp, quindi mandandoti ko in un colpo

  12. credo di averla finita

     

    potrei sbagliarmi, ma la demo si conclude con l'entrata di un nuovo membro nel party. [le scale non portano da nessuno parte]

     

     

    Nel complesso il tutto è sviluppato molto bene, anche se ho trovato qualche piccolo errore:

     

     

    1.http://s15.postimg.org/99mn8hhhn/bug1.png

    http://s15.postimg.org/rnx6cgtsb/bug3.pngq

    alcuni alberi (non solo questi) sono stati settati male i passaggi nell'editor del database (sezione Tileset)

    se posso darti un consiglio, usa questo settaggio:

    http://s15.postimg.org/pn6mrmxmv/esepio.png

    (la x impedisce il passaggio al pg

    la o permette al pg di passarci di sopra

    mentre la stella permette al pg di "passare sotto" l'albero )

     

    2.http://s15.postimg.org/kr2zzxxhn/bug9.png

    nella zona cerchiata si nota come un tile del cumulo sia "spezzato" dalla pala, per ovviare a questo problema potresti far uso della Grafica degli eventi per inserire di sopra dei particolari, in questo la parte mancante della catasta di terra (dando così l'dea che la pala sia conficcata. ) questo procedimento può essere applicato anche in altri campi, per esempio "arredare" i tavolini rotondi della Grafica rtp B con fogli, pupazzi, vivande ecc. altrimenti impossibile da fare)

    3.http://s15.postimg.org/wws7acc7f/bug8.png

    l'immagine di game over non è adattata alla modifica della risoluzione dello schermo

    4.adesso passiamo alla "parte calda", ovvero le switch, molte sono state impostate male o in altri casi mancano completamente,ecco quelli che ho trovato

    http://s15.postimg.org/wim9x02q3/bug2.png

    ogni volta che parlerai con l'uomo ti darà la missione

    http://s15.postimg.org/470pzyitn/bug4.png

    invece quest'uomo ti darà sempre la ricompensa per aver completato la sua quest

    http://s15.postimg.org/rmin5b2kr/bug5.png

    quando parlerai con la vecchietta ti preparerà ogni volta la pozione per il "malato"

    http://s15.postimg.org/5xocf6pqj/bug6.png

    il ratto spunterà sempre ogni qual volta rientri nella mappa

    http://s15.postimg.org/fgy18nd8r/bug7.png

    ed infine ogni qual volta interagirai con un soldato morto ti "aggiornerà la quest" (anche dopo averla conclusa)

     

    5. Anche se ammazzi il boss finale (lo scheletro) da umano, partirà ugualmente l'animazione di morte, quindi l'arrivo della donna, la trasformazione ecc. Dovresti cercare di ovviare a tutto questo ^^

     

    6. piccole note finali:

    il mimic è troppo forte, capisco che deve essere un troll, ma almeno fai in modo che non ti oneshotti XD

    ridurrei la quantità di pozioni droppate dai nemici uccisi, alla fine della demo mi sono ritrovato con 70 pozioni senza averne mai comprata una.

     

     

     

    In conclusione ti consiglio di allenarti a creare eventi dato che (per quanto ho visto sono la parte carente del tuo progetto)

    invece una nota di merito va alla world map che è fatta molto bene (grazie a quel bug sono riuscito a visitarla tutta)

    anche la difficoltà è calibrata bene.

     

    P.S. per quanto riguarda il bug della world map una soluzione ci sarebbe, la Grafica B è esente da questo bug, quindi potresti inserire un tile vuoto impostandolo con passaggio vietato e passarlo su tutte quelle zone in cui vuoi vietare il passaggio (es. montagne fiumi mari ecc.)

     

    mentre se posso darti un consiglio, ti direi di aggiungere anche il crepuscolo una torre con l'orologio e dei gelati al sale marino e l'alba così da dare la possibilità al giocatore di capire in quale fascia oraria ti trovi.

  13. davvero interessanti tutte queste features ^^

     

    invece per quanto riguarda il 3° screen ci sono un paio di errori che andrebbero corretti, intanto il muro lo farei alto 2+1 affinché le finestre non diano quel brutto effetto (e come se metà della finestra sia conficcata nel muro); aumentando l'altezza del muro potresti spostare gli armadi di un tale, così da non dare l'impressione che siano in "mezzo" alla stanza;infine renderei un po' più piena la parte in alto a sinistra e modificherei questo:

    http://s14.postimg.org/nwb5jaoht/proaesepio.png

    in questo:

     

    http://s14.postimg.org/wslxn8f41/proaesepio2.png

     

    Spero di esserti stato di aiuto ^^

  14. Allora, quello che hai aggiunto sulla trama mi ha ricordato molto Fire emblem Awekening, ovvero il flashforward sulla battaglia finale,il risveglio privo di ricordi. XD

     

    e tutto questo mi attira, e non poco

     

    EDIT:

    due piccole domande:

     

    1.Quale battle system userai?

    2.ci saranno riferimenti o punti in comune sui gilgamesh dei vari final fantasy ?

  15. Grazie della tua risposta..vedi ci stavo pensando mentre scrivevo prima..ma se ti davo informazioni in più non era più una trama bensì un prologo in ogni caso ti rispondo volentieri qua...allora la trama si compone come letto sopra..ma del protagonista ammetto di non aver descritto molto..come si può immaginare il protagonista era/è un vecchio compagno di Gilgamesh ...il suo nome è Dart...il protagonista è come lo si può immaginare nei film/anime/giochi/storie è quella persona che si sacrificherebbe per i compagni , gli amici e tutti coloro che possono essere salvati persino Gilgamesh ...in pratica quella è l'avventura di Dart per salvare il suo amico...ce la farà? :3 chissà ...per la domanda riguardante i nomi...diciamo che alcune caratteristiche sono tratte dalla vera mitologia ma anche da un paio di anime che hanno Gilgamesh come cattivo ..insomma è una sorta di "mashup" ci sono elementi noti in leggende,elementi che leggi nei libri e non solo ..in ogni caso c'è già una demo già giocabile...devo solo darci un miglioramento ed entro stasera mettò i link nella discussione^^

    Già stasera una demo?

    ma è magnifico, questa si che si chiama efficienza, comunque prenditi tutto il tempo per ricontrollare la demo in cerca di errori e bug^^

     

    Adesso la trama è molto più chiara, e devo dire che se tu riuscissi a sviluppare bene la funzione della "doppia narrazione", quindi la visione dei fatti di Dart e quella di Gilgamesh, potrebbe uscire davvero un bel gioco.

    Che dire aspetto impaziente la demo^^

  16. Che dire, hai accennato veramente poco sulla trama (o forse sono io troppo ingordo di informazioni XD)

     

    però devo dire che l'incipit mi ha incuriosito molto, (una domanda, C'entra in qualche cosa la mitologia sull'epopea di Gilgamesh oppure hai preso solo i nomi?)

     

    per quanto riguarda il mapping tranne qualche piccola imperfezione è molto buono (forse salta subito all'occhio la differenza di terreno nel secondo screen)

     

    Sembra un progetto molto ambizioso e interessante, non vedo l'ora di provare la demo per saperti dare qualche consiglio in più.

     

    P.S.

    è una cosa positiva che tu voglia imparare a creare script per rendere indipendente il tuo progetto, non posso che darti il mio supporto e dirti che qui sul forum c'è un'ottima guida ideata da holy87,

     

    La puoi trovare in questo link: http://www.rpg2s.net/forum/index.php/topic/15820-rgss-in-pillole/page-1^^

  17. Veniamo a capirci e cherchiamo di vederci chiaro.

     

    Ragazzi ha ragione Pat nel dire di non giudicare un gioco prima di averlo provato, e capisco che le questioni trattate dal gioco e il modo in cui vengono argomentate possa avervi dato fastidio ammetto che hanno dato fastidio anche a me.

     

    Per quanto riguarda FRAZ allora in primo luogo devi fare sempre molta attenzione a quello che crei, il gioco che hai presentato come avrai certo notato ha dato fastidio a molte persone, va bene che è un gioco umoristico\demenziale fatto per quel che è stato fatto, ma non puoi andare in giro a pubblicare qualcosa che può essere ritenuta offensiva da qualcuno potresti andare a litigare senza volerlo.

     

    Seconda cosa, questo gioco ha contenuti non adatti ai minori per quanto riguarda argomentazioni, etica dei personaggi e la presenza di un linguaggio inadatto, perciò ti consiglio vivamente di mettere un avvertimento prima del titolo del gioco.

     

     

    Detto ciò spero di aver chiarito la faccenda.

     

     

     

    Cavolo siete riusciti a farmi tornare serio... che seccatura.

    però è anche vero che (anche se presa molto sotto gamba) la linea che divide la satira dall'insulto è molto "sottile" è bisogna avere moolta esperienza per riuscire a rimanere nei confini della "risata"

    spero di non essere andato OT XD

     

     

    EDIT:

     

    Ho letto solo ora questo messaggio:

     

    Parlavo con quei buontemponi che mi postano un bug e non mi dicono se le soluzioni funzionano.

    cosa dire, se cerchi rispetto innanzitutto devi portare rispetto per il lavoro e gli impegni altrui, e vedrai che le segnalazioni di bug e le varie critiche arriveranno(attenzione, il termine critica ha principalmente una valenza positiva, ma nel corso degli anni ha assunto il valore che conosciamo, ovvero negativo. Ho analizzato il significato che ha ricevuto in italiano la parola critica, potremmo discutere per ore sull'etimologia e sulle sue valenze, ma non è questo il luogo e detto fra noi, finirei veramente in OT)

  18. Ho dato un occhiata a tutto.Il titolo è veramente bello, ma c'è un programma particolare per fare quel tipo di decorazioni intorno alla scritta?

    La città del mondo è gigantesca, riuscirai a riempirla tutta di locazioni?Il personaggio grande nella word map stona un pò, non riesci a renderlo più piccolo per far in modo che ci sia una coerenza tra la grandezza della torre e la sua(ma è vezzo, mica un obbligo)

    I nemici casuali nella mappa del mondo mi stonano, non ci sarà un luogo tranquillo?

    E' un buon inzio se vai avanti cosi ci esce una cosa molto buona!

     

    Rispondo io, cercando di essere il più esaustivo possibile.

    Da un lato abbiamo cercato di rinnovare e ampliare quelli che sono gli "standard" degli rpg o jrpg vecchio stampo, quindi nelle varie mappe di gioco ci saranno i nemici visibili con le varie features aggiunte, quindi bonus o malus per lo scontro. Invece per quanto riguarda la World Map abbiamo preferito rimanere "attaccati" alle origini come nei vecchi "dragon quest" e "final fantasy", comunque posso assicurarti che questa tipologia non sarà assillante ma farà di contorno al tutto (ergo i numeri degli incontri nella world map sarà molto ridotto).

  19. Ragazzi, oh, ma prima di partire prevenuti che ne dite di scaricare il gioco, provarlo e dare commenti UTILI al creatore?

    Sarà quel che è, humor spicciolo e chissà che altro, però se invece di fare le frecciatine vi metteste a commentare per aiutare il singolo makeratore a crescere non sarebbe male, che dite?

     

    Poi lamentiamoci se non c'è un makeratore nuovo che sia UNO che riesca a farsi conoscere o comunque a migliorarsi, eh?

    Roba da matti...

     

    Al prossimo "gioco" che tirate fuori vi smonto tutti in egual maniera, poi vediamo.

     

    Detto questo, Fraaz, condivido ciò che Lollo ti aveva detto nella prima pagina.

    Innanzitutto, è facile fare humor random e volgare e di conseguenza scadente, quindi fa molta attenzione a come ti destreggi con questo genere.

     

    Detto questo, è un primo progetto, gli errori si fanno.

    I miei primi giochi completi sono stati demenziali, una demenzialità più "light" ma sempre dementi erano. Pessimi, ma ho ricevuto ottime critiche che mi hanno permesso di fare level-up. Un grazie alle persone che ancora aiutano invece di snobbare a priori.

     

    Però te dacci dentro, eh? Mica che rendi sta mia semi-mini-sclerata fine a se stessa... Ti voglio vedere migliorare.

    Se non si fanno i primi passi, non s'impara nulla.

    Buona fortuna.

    Allora...

     

    premetto dicendo che (credo che) tu non abbia compreso la mia frase a pieno.

    Non mi sarei mai permesso di sminuire il progetto di un "novizio" (sapendo anche quanta passione ci si metta per crearlo essendo la sua prima "creatura")

    senza neanche provarlo, mi sono semplicemente limitato a constatare quello che avevo fra le mani, ovvero un gioco buggato (ecco che entra in gioco il mio commento, ho dovuto scaricare 400mb (ci avrò messo 1 ora e 30,complessivi senza riuscire a provarlo. ecco perché mi sono alterato )

    e la descrizione di un gioco razzista (gira gira il tema è quello, sminuire zingari, ebrei, omosessuali, musulmani ecc.ecc. )

     

    adesso (sperando di aver chiarito questa faccenda ;) ) passiamo alle altre questioni

    Da quando sono iscritto a questo forum (circa 3 anni) non ho MAI criticato negativamente un progetto anzi ho sempre invogliato i nuovi makeratori a continuare il proprio progetto e a seguire i propri sogni. Ma è anche vero che non mi sono mai trovato di fronte ad un progetto simile il cui fine è quello di sminuire tradizioni (giuste o sbagliate che siano),popoli o orientamenti di ogni tipo.

    quindi prima di incitare queste persone a creare nuovi progetti l'unico consiglio che posso dargli è quello di prendere un libro, un giornale e acculturarsi, (perché è l'arma più forte che possediamo) e non credere ai soliti stereotipi.

    Per quanto riguarda spanciai anche a me dole il cuore vedere certi progetti (validi)con poco seguito, ma credo che sia più giusto riuscire a far capire ad una persona di aver sbagliato, e chissà forse un giorno anche questi individui potranno presentare dei progetti validi. (è anche vero che molte persone commentano solo per "criticare" insultando e scoraggiare il creatore, cosa che odio)

     

    spero di essere stato esaustivo e se sono stato poco chiaro non esitate a rispondere o a chiedere delucidazioni ^^

     

    P.S.

     

    passo adesso ad una piccola rassegna dei bug:

     

     

     

    1.http://s4.postimg.org/ffumflcyl/erda2.png

    ogni tanto se non si apre come amministratore compare questo, in più sempre se non si apre come amministratore il file .exe non puoi salvare

    2.http://s4.postimg.org/6ndnrwrtp/erda3.png

    se prendi prima il tuo compagno di squadra e poi entrerai in questa casa si bloccherà tutto.

    3.http://s4.postimg.org/lnalthy3h/erda5.png

    interagendo con la fiamma potrai scendere le scale

    4.http://s4.postimg.org/ywfc2482l/erda7.png

    ti sei dimenticato il teletrasporto per tornare nella mappa principale, sia qui che nell'altra casa con la donna

    5.http://s4.postimg.org/oz8wmspul/erda8.png

    anche se rispondi no ti compare questa finestra di dialogo.

    6.http://s4.postimg.org/48ls7hbkt/erda9.png

    se deicidi di portare la carne scompare lo stesso. (se esci e rientri ri-compare).

    7.http://s4.postimg.org/ncf3ntof1/erda10.png

    anche dopo aver dato 1000 euro al tizio ti richiede di darglieli.

    8.http://s4.postimg.org/9mp5srqot/erda11.png

    il messaggio esce fuori

    9.http://s4.postimg.org/53cx798t9/erda12.png

    idem qui

    10.http://s4.postimg.org/4t5enwu71/erda13.png

    ogni qual volta entri in città ti compare il messaggio del nerd.

    11. purtroppo non ho lo screen ma dopo la sfida dentro il locale avast i dialoghi e la battaglia si ripete in un loop infinito non permettendoti di finire il gioco

     

     

     

    EDIT:

     

    Ho sistemato la citazione di old pat perché ho fatto casini >.<

×
×
  • Create New...