Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies


  • Si prega di effettuare il log in prima di rispondere
Livello di difficoltà

    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilità:Esperto

#1 Inviato 15 August 2015 - 21:44 PM

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:

Spoiler

 

 

Script:

 

Spoiler

 

Demo 1.0: http://www.mediafire...26ohsw/Demo.zip

 

Bugs e Conflitti noti: N/A

 

Special Thanks:

  -Holy87


Modificato da Sora Keyblade, 14 May 2017 - 09:07 AM.


    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 177
  • 12
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 55833 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#2 Inviato 16 August 2015 - 11:16 AM

Buono script pesantemente commentato! ^ ^

 

Prova ad espanderlo con qualche condizione in più di differenza tra i livelli di difficoltà. E' espandibile o si possono avere solo quei 4 livelli? ^ ^

 

La cosa che dovresti inserire soprattutto è una variabile che indica a che livello si sta giocando, così il giocatore può facilmente cambiare cosette nel finale o dati simili facendo un check.

^ ^


(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler

    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilità:Esperto

#3 Inviato 16 August 2015 - 13:32 PM

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

    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 177
  • 12
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 55833 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#4 Inviato 16 August 2015 - 14:00 PM

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.

^ ^


(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler

    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilità:Esperto

#5 Inviato 16 August 2015 - 14:36 PM

 

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


Modificato da Sora Keyblade, 16 August 2015 - 14:37 PM.


    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 177
  • 12
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 55833 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#6 Inviato 16 August 2015 - 14:53 PM

Intendevo una variabile di gioco per facilità di uso da parte degli utenti, altrimenti dovresti spiegare per bene il procedimento nei commenti.

^ ^


(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler

    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilità:Esperto

#7 Inviato 16 August 2015 - 15:14 PM

Be', a sto punto ci faccio una demo e taglio la testa al toro xD

    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 177
  • 12
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 55833 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#8 Inviato 16 August 2015 - 15:35 PM

Ancora meglio, son sempre apprezzate, anche perché è uno script che solitamente cerchi all'inizio del gioco e puoi costruircelo sopra! ^ ^


(\_/)
(^ ^) <----coniglietto rosso, me!     
(> <)

 
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^  
 
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

Spoiler

    Holy87
  • Prode Guerriero

  • Rpg²S Staff
  • Rens: 474
  • 4
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 6945 messaggi
  • Sesso:Maschio
  • Provenienza:San Giorgio a Cremano
  • Abilità:Maestro

#9 Inviato 17 August 2015 - 10:03 AM

Script utile, ne stavo scrivendo uno anche io.

Le lettere accentate nei nomi delle variabili è meglio non usarle. 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.

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


"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

BannerOverdrive35.png
Cap3.png

578.png
 

Miei script per RPG Maker VX Ace:

Spoiler

 
I miei tutorial:
Spoiler

    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilità:Esperto

#10 Inviato 17 August 2015 - 11:10 AM

 

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



    Holy87
  • Prode Guerriero

  • Rpg²S Staff
  • Rens: 474
  • 4
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 6945 messaggi
  • Sesso:Maschio
  • Provenienza:San Giorgio a Cremano
  • Abilità:Maestro

#11 Inviato 17 August 2015 - 13:58 PM

 

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

 

 

 

Non dovrebbe essere un problema implementarli, oggi ci lavorerò

 

 

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

Forse non mi sono spiegato bene.

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


"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

BannerOverdrive35.png
Cap3.png

578.png
 

Miei script per RPG Maker VX Ace:

Spoiler

 
I miei tutorial:
Spoiler

    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilità:Esperto

#12 Inviato 17 August 2015 - 14:05 PM

Forse non mi sono spiegato bene.

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

Oh, scusami, non avevo notato il "mio"

 

Adesso gli do un'occhiata e vedo di integrarlo ^^



    TheKingGame
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 24 messaggi
  • Sesso:Maschio
  • Provenienza:Palermo - Italia
  • Abilità:Apprendista

#13 Inviato 17 August 2015 - 18:21 PM

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.



    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilità:Esperto

#14 Inviato 18 August 2015 - 15:15 PM

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
    }
)



    Holy87
  • Prode Guerriero

  • Rpg²S Staff
  • Rens: 474
  • 4
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 6945 messaggi
  • Sesso:Maschio
  • Provenienza:San Giorgio a Cremano
  • Abilità:Maestro

#15 Inviato 18 August 2015 - 16:04 PM

 

 

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

 

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
    }
)

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

"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

BannerOverdrive35.png
Cap3.png

578.png
 

Miei script per RPG Maker VX Ace:

Spoiler

 
I miei tutorial:
Spoiler

    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilità:Esperto

#16 Inviato 18 August 2015 - 16:25 PM

 

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           

Modificato da Sora Keyblade, 18 August 2015 - 18:08 PM.


    TheKingGame
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 24 messaggi
  • Sesso:Maschio
  • Provenienza:Palermo - Italia
  • Abilità:Apprendista

#17 Inviato 19 August 2015 - 07:46 AM

 

 

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

 

Non da nessun errore, praticamente quando torni indietro dalla finestra della difficoltà, viene ricreato il menu

creandosi cosi un doppione del menu. Con il mio metodo elimino il menu(@command_viewport.dispose) quando viene chiamato la definizione command_new_game,

e disattivo i comandi del menu con (@CommandsActive = false), cosi quando torno indietro, la definizione create_command_window che si trova sullo script di holy, ricrea il menu.

 

EDIT: Ho provato la nuova versione dello script, ma ho trovato un altro errore, quando finisco la battaglia, mi manda l'errore,

"SystemStackError occurred. stack level to deep", provato sempre su un nuovo progetto ma da lo stesso errore.


Modificato da TheKingGame, 19 August 2015 - 08:14 AM.


    Exim Gealbhonn
  • Utente avanzato

  • Utenti
  • Rens: 49
  • 2
  • StellettaStellettaStelletta
  • 355 messaggi
  • Sesso:Maschio
  • Abilità:Esperto

#18 Inviato 19 August 2015 - 12:08 PM

 

Non da nessun errore, praticamente quando torni indietro dalla finestra della difficoltà, viene ricreato il menu

creandosi cosi un doppione del menu. Con il mio metodo elimino il menu(@command_viewport.dispose) quando viene chiamato la definizione command_new_game,

e disattivo i comandi del menu con (@CommandsActive = false), cosi quando torno indietro, la definizione create_command_window che si trova sullo script di holy, ricrea il menu.

 

EDIT: Ho provato la nuova versione dello script, ma ho trovato un altro errore, quando finisco la battaglia, mi manda l'errore,

"SystemStackError occurred. stack level to deep", provato sempre su un nuovo progetto ma da lo stesso errore.

Scusami, ho postato una versione di prova per sbaglio, prova ora :)

 

P.s. Scusami, ma se il problema è solo il fatto che ci siano 2 menù contemporaneamente (anche se solo 1 è visibile), non si risolverebbe la cosa semplicemente modificando il metodo per tornare indietro in questo modo? 

def elimina_finestra_difficoltà
    @difficoltà.close
    @command_window.open
    @command_window.active=true
  end

Modificato da Sora Keyblade, 19 August 2015 - 12:26 PM.


    TheKingGame
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 24 messaggi
  • Sesso:Maschio
  • Provenienza:Palermo - Italia
  • Abilità:Apprendista

#19 Inviato 20 August 2015 - 07:04 AM

Ok, adesso funziona tutto perfettamente, grazie mille! ^_^



    Nikko_2404
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 1 messaggi

#20 Inviato 07 May 2017 - 20:03 PM

Ci sarebbe la possibilità con questo script di rendere disponibile una modalità di gioco solo dopo aver completato il gioco stesso?

Ad esempio se finisco il gioco in modalità "esperto" , una volta tornato nel menù principale, potrò rigiocare in modalità "critica", ma solo se finisco prima il gioco in una determinata modalità (e la nuova difficoltà comparirà solo al termine di esso e ne menù del titolo).

 

Spero di essere stato chiaro ;)






  • Feed RSS