Nemius Loireag
-
Posts
58 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by Nemius Loireag
-
-
La storia è molto carina,
conoscendo bene il mondo di D&D però non sono molto in accordo con alcuni sviluppi ma questo non c'entra nulla con la tua storia :D
in definitiva: Bravo!!
-
Basta fare un evento come quello che hai detto, circondato da eventi, sempre al tocco dell'eroe che quando ci passa la scritta scompare..Lo fai con le picture..In quella che appare ci metti "mostra immagine", e agli altri "Cancella immagine"!
Ho risolto via script...ho preso lo script del messaggio per il nome mappa e l'ho modificato in modo da mostrare un messaggio a video come processo parallelo solo per qualche secondo...i tempi di attesa li ho impostati nell'evento scatenante...se volete posto script e configurazione dell'evento...
-
Proverò a questo punto tramite script...la difficoltà è avere l'evento "Uscita dalla casella di evento"
sai per caso come fare un messaggio a tempo? (che rimane per un certo periodo di tempo e poi scompare?
New: Ho trovato un metodo creandomi un nuovo script...lo gestisco tramite l'evento... se può essere utile lo posso postare nella sezione script...anche se in realtà ho copiato uno script già postato e l'ho modificato per quello che mi serviva
-
Dal titolo forse non è molto chiaro...
quello che voglio fare è questo
quando l'eroe tocca un evento (impostato sotto il character e come tocco Eroe)
mostra una scritta e quando l'eroe si sposta dall'evento scompare...
vorrei però che il messaggio non richieda pressione del tasto...
qualcuno mi sa aiutare?
-
x lusianl: Creandolo come eroe avrei lo spiacevole effetto di un muro che si muove...
x shuuchan: purtroppo gli extraTileset ho finito lo spazio disponibile per gli slot disponibili così cercavo un metodo alternativo...
finirò per creare un characterset di soli tilesetA e userò quelli per simulare la cosa...
-
Quella era appunto la soluzione possibile, c'è solo un problema, a meno di importare anche tutti i tileset A come charset non è possibile in automatico scegliere l'immagine il problema è che non è proprio comodo come metodo...
-
Io l'ho trovato che era già pronto per il VX, per l'XP non c'erano riferimenti....
ho trovato questo sito:
http://rmrk.net/index.php?topic=25494.0
qui sembra essere quello per XP ma è precedente alle mie modifiche...
-
Forse risulterà strana come domanda... mi serve un evento che permetta di passare sotto i tileset A
In pratica vorrei simulare la passabilità a stella solo per alcuni tileset senza bisogno di dover creare un nuovo tileset, un'alternativa è creare un charset sopra il PG che non facca nulla, però con la grafica non me la cavo così bene e preferirei evitare...qualche consiglio?
nello screen quello che vorrei fare è che i tile con la riga verde abbiano passabilità a stella, quelli con la riga rossa non siano passabili (volendo sarebbe utile per simulare anche passaggi segreti..)
http://img178.imageshack.us/img178/3244/passabilittl3.jpg
Conoscete un metodo?
-
Azz...
L'antilag io non lo uso quindi non l'ho notato...effettivamente aggiungendo l'antilag mi da una serie di simpatici errori...qualcuno che ci capisce più di me sa come risolvere?
Nel frattempo aggiungo temporaneamente l'incompatibilità con l'antiLag nel post principale
-
Se vedi i trattini significa che lo "stato della missione" è 0 o 1, se vuoi vedere i dettagli devi impostare la missione come Accettata (impostandolo a 2 secondo le impostazioni di Default).
Per fare questo devi, tramite evento, richiamare lo script
$quest[X].state_number = Y
dove X è l'ID della missione e Y è lo stato che vuoi impostare (in questo caso 2)
-
Beh non mi definisco uno scripter anche perchè Ruby non lo conosco così bene (mi ci sto avvicinando da poco) però sono un programmatore che sa sviluppare in Java e altri linguaggi, per questo ti so rispondere....
2) Il fatto se usare o meno un ciclo o una ricorsione dipende unicamente dal numero di volte che devi eseguire quelle istruzioni...
di base se è sempre un numero limitato (e piccolo) di volte (e quindi di cicli) meglio usare la ricorsione per maggiore velocità
se il numero di cicli è fisso in base al fatto se è un numero di cicli piccoli o meno puoi decidere a scelta di usare ricorsione o cicli (meglio i For)
se il numero di cicli è variabile e imprecisato di solito è meglio usare cicli while volendo nessuno vieta, in caso di cicli nidificati, di fare un mix di ricorsione e di cicli tenendo conto di quando si usa uno e quando l'altro...
Sinceramente non conosco così bene Ruby per risponderti sui puntatori, però trattandosi di programmazione ad oggetti di solito i puntatori non si usano proprio..
-
Ti spiego i due modi:
Il più semplice è rendere invisibile e inattiva l'opzione
Nello script Scene_menu alla riga 59 circa ti dovresti trovare: s5 = Vocab::save devi semplicemente sostituirlo con: s5 = "" Successivamente alla riga 94 ti troverai: when 4 # Save $scene = Scene_File.new(true, false, false) dove basta commentare l'apertura del menu facendolo diventare: when 4 # Save #$scene = Scene_File.new(true, false, false) In questo modo al posto dell'opzione Save avrai una riga vuota che non farà nulla quando ci premi il tastoIl modo più complicato è togliere del tutto l'opzione
Per fare questo devi fare una modifica un pò particolare e non devi in modo assoluto disabilitare il menu salva dagli eventi (altrimenti disabiliterai il menu sbagliato ) Sempre sotto lo script Scene_Menu alla riga 61 troverai: @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) devi togliere il comando s5 dall'array facendolo diventare: @command_window = Window_Command.new(160, [s1, s2, s3, s4, s6]) successivamente devi togliere la gestione del salva e allineare tutti gli altri alla riga 89 ti dovresti trovare: case @command_window.index when 0 # Item $scene = Scene_Item.new when 1,2,3 # Skill, equipment, status start_actor_selection when 4 # Save $scene = Scene_File.new(true, false, false) when 5 # End Game $scene = Scene_End.new end devi modificarlo facendolo diventare: case @command_window.index when 0 # Item $scene = Scene_Item.new when 1,2,3 # Skill, equipment, status start_actor_selection when 4 # End Game $scene = Scene_End.new end oppure se non vuoi cancellarlo poi farlo diventare (commenti la gestione del salva e allinei i successivi: case @command_window.index when 0 # Item $scene = Scene_Item.new when 1,2,3 # Skill, equipment, status start_actor_selection #when 4 # Save #$scene = Scene_File.new(true, false, false) when 4 # End Game $scene = Scene_End.new endspero sia tutto chiaro...
una precisazione: le modifiche che ti sto dicendo sono da fare su uno Script Scene_menu vergine e che non ha subito modifiche per altri script...
-
toglierlo non è difficile, se vuoi ti posso spiegare come...
-
Se a Sleeping Leonhart non dispiace posso rispondere io ad alcune domande di shuuchan...
1) Le contrazioni si possono usare ovunque c'è da ricordare però che contrazioni di quel tipo sono limitate a una sola istruzione (quella che hai postato è un "If compresso") e non possono quindi essere usate per gestire blocchi di istruzioni più complessi
2)Nessuno vieta la ricorsione dove è possibile, è questione di scelta ricorda però che se con i cicli hai un problema di lentezza con la ricorsione presenti un problema di memoria che dipende direttamente dal numero di volte che effettui la ricorsione
3)Spero di non fare una gaff nella risposta a questo punto, variabili di istanza (o di classe) restano vive finchè esiste l'istanza della classe e va quindi a occupare memoria. Se si abusa delle variabili di istanza si finisce per occupare memoria inutilmente (andando ad appesantire l'esecuzione del programma (o del gioco in questo caso) per evitare ciò è spesso più utile utilizzare variabili temporanee di metodo che esistono solo per il breve momento di esecuzione del metodo.
per l'uso delle variabili c'è da tenere conto di questi piccoli accorgimenti:
- Variabile Globale (da usare il meno possibile) solo se deve essere accessibile ovunque nel programma
- Variabile di Classe solo se strettamente necessario per la definizione della classe stessa (solitamente sono quelle variabili che vanno a definire la classe)
- Variabili temporanee sono utilizzabili ovunque e hanno vita molto breve (si usano spesso all'interno di metodi per i calcoli al volo)
Spero che sia tutto chiaro (e se sbaglio correggetemi)
-
Se la disabiliti in tutte le mappe e fai richiamare il menu di salvataggio solo da evento allora ti conviene eliminare l'opzione dal menu...altrimenti è un pò brutto avere un'opzione che non sarà mai utilizzabile..
-
Scusate il ritardo, per inserire l'opzione nel menu devi fare così:
Nello script Scene_Menu
nella sezione Create Command Window vedrai una serie di definizioni (attorno alla riga 54)
s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = Vocab::save s6 = Vocab::game_end
quello che ho fatto io è aggiungere una riga dopo lo status facendo e scalando i successivi in questo modo:
s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = "Missioni" s6 = Vocab::save s7 = Vocab::game_end
poco dopo sostituisci la riga:
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
con la riga:
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
nel comando precedente vai a specificare l'ordine delle opzioni, se vuoi un ordine diverso nell'array scrivi i vari sX dove ti pare.
Ultimo step è aggiungere la chiamata allo script delle quest modificando (attorno alla riga 88) il case:
case @command_window.index when 0 # Item $scene = Scene_Item.new when 1,2,3 # Skill, equipment, status start_actor_selection when 4 # Save $scene = Scene_File.new(true, false, false) when 5 # End Game $scene = Scene_End.new endcon il seguente:
case @command_window.index when 0 # Item $scene = Scene_Item.new when 1,2,3 # Skill, equipment, status start_actor_selection when 4 # Quest Log $scene = Scene_Quest.new when 5 # Save $scene = Scene_File.new(true, false, false) when 6 # End Game $scene = Scene_End.new endps x shuuchan: Io ho solo preso uno script già esistente e l'ho tradotto e modificato per i miei scopi...non ho un così grande merito...
-
L'evento ti crea la missione, per aprire la schermata devi richiamare lo script
$scene = Scene_Quest.new
volendo lo puoi aggiungere come opzione del menù aggiungendo alcune righe...se ti interessa ti dico come
-
Potrebbe avere qualche miglioria ma non essendo uno scripter esperto ho fatto quanto potevo
-
Quest System
DescrizioneQuesto script permette di creare e gestire le missioni all'interno del vostro gioco, in particolare si tratta di un registro passivo contenente i dati delle missioni, volendo questo script con qualche piccola accortezza può essere usato come diario di viaggio
Autori (crediti)Versione rilasciata: 3.0
Istruzioni per l'uso
Creatore della versione XP: Samo, the thief
Conversione per VX: Mecha (aka. MechaGS)
Traduzione e Modifiche: Nemius
Rilasciato il 16/07/2008Copiare lo script sotto Materials e seguire le istruzioni specificate nell'intestazione dello script
Script e Allegati
Allegati
Template.rar
Script=begin Quest Script v3.0 stabile di Samo, the thief Portato a RPG Maker VX da Mecha (aka. MechaGS) Modificato e tradotto da Nemius Loireag (E' stato completamente convertito per RPG Maker VX pertanto non richiede lo script di compatibilità di XP.) Semplificato l'header dello script per semplificare. La versione diffusa è la 2.2 in inglese di SAMO e convertito da Mecha, premetto di non essere un programmatore esperto ma ho voluto tradurre lo script e aggiungere qualche miglioria (o almeno quelle che lo sono state per me) ~Cosa è cambiato dalle versioni precedenti? -Bug rimossi nel salvataggio e nel caricamento -Metodo più semplice per la creazione delle quest -Rimosse Variabili globali inutilizzate -Maggior Velocità Modifiche di Nemius -Gestita una linea in più -Migliore visualizzazione on screen -Gestione punti reputazione e riepilogo missioni -Aggiunta la visualizzazione delle ricompense ~Come si Installa? (Edited by MechaGS for RPG Maker VX Installation) -Aggiungere questo script sotto Materials Nello script Scene_Title, aggiungi dopo la linea:- $game_player = Game_Player.new la seguente riga di codice #----------------ADD BEGIN------------------------ $quest = {} #-----------------ADD END------------------------- ~Come creare le missioni? All'interno di un qualsiasi evento, per la creazione di una Missione, è necessario aggiungere un Call Script come specificato di seguito. L'unica accortezza e come ID della quest mettere un numero crescente partendo da 0, mettendo un ID già esistente la missione precedente verrebbe sovrascritta. ~Call Script: $quest[x] = Quest.new(nome, immagine, linee, difficoltà, stato, reputazione, oro, exp) x deve essere un numero. Un esempio:- $quest[0] = Quest.new("Nome Missione", "Immagine", "1- Prima riga della missione", "2- Seconda riga della missione", "3- Terza riga della missione", "4- Quarta riga della missione", "5- Quinta riga della missione", 1, 1, 100, 10, 20) Se una delle Linee non è necessaria scrivere semplicemente i doppi apici e non verrà visualizzata. ~Grande! Ma in questo modo le missioni sono sempre uguali Come faccio per aggiornarle? $quest[x].parametro = valore i parametri sono i seguenti: name image state_number difficulty_level line1 line2 line3 line4 line5 reputation gold experience Il valore inserito farà in modo di cambiare il parametro della missione aggiornandola a piacimento. Un esempio potrebbe essere:- $quest[0].state_number = 99 Questo comando farà si che la missione assuma stato 99, cioè COMPLETA e verrà quindi visualizzata come tale. ~Quali risorse mi servono? Solo il template salvato nel pacchetto dello script. ~Salvare / Caricare le Missioni Per gestire il salvataggio e rispettivo caricamento delle missioni effettuate è necessario modificare uno degli script nel seguente modo Nello script Scene_File, aggiungi dopo la linea:- Marshal.dump($game_player, file) la seguente riga di codice #----------------ADD BEGIN------------------------ Marshal.dump($quest, file) #-----------------ADD END------------------------- Nello script Scene_File, aggiungi dopo la linea:- $game_player = Marshal.load(file) la seguente riga di codice #----------------ADD BEGIN------------------------ $quest = Marshal.load(file) #-----------------ADD END------------------------- Ora potrai salvare correttamente anche le missioni! ~C'è qualcos'altro da sapere? -Se trovi bug, avvisa e si provvederà. -Se ti piace la nuova versione, perfavore, dillo. -Se hai suggerimenti, perfavore, scrivimi. Buona Fortuna! Crediti Samo, the thief. <-- Creatore Originale (XP) --> (Creation Asylum) Mecha (aka. MechaGS) <-- Convertito per VX --> (GameSkank) Nemius <-- Traduzione e Modifica =end #Script per la gestione delle missioni di SAMO e modificata e tradotta da Nemius #============================================================================== # ¦ Window_Command_Quest # creato per la gestione dei colori #------------------------------------------------------------------------------ class Window_Command_Quest < Window_Selectable #-------------------------------------------------------------------------- def initialize(width, commands) super(0, 0, width, commands.size * 32 + 32) @item_max = commands.size @commands = commands self.contents = Bitmap.new(width - 32, @item_max * 32) refresh self.index = 0 end #-------------------------------------------------------------------------- def refresh self.contents.clear for i in 0...@item_max draw_item(i, normal_color) end end #-------------------------------------------------------------------------- def draw_item(index, color) self.contents.font.color = color rect = Rect.new(4, 24 * index, self.contents.width - 8, 24) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index]) end #-------------------------------------------------------------------------- def disable_item(index) draw_item(index, text_color(7)) #Colore delle missioni in stato NON INIZIATA end #--------------------------------------------------------------------- def complete_item(index) draw_item(index, text_color(3)) #Colore delle missioni in stato COMPLETA end #--------------------------------------------------------------------- def just_finish_item(index) draw_item(index, text_color(14)) #Colore delle missioni in stato CONCLUSA end end #Command_Quest finisce qui, non modificare nulla di questa classe. #--------------------------------------------------- #=================================================== # - CLASSE Scene_Quest #=================================================== #--------------------------------------------------- class Scene_Quest #--------------------------------------------------------------------------------- #--------------------------------------------------------------------------------- def initialize(quest_index = 0) @quest_index = quest_index $MAP_BACKGROUND = true #Mappa in Background. True o false? imposta come preferisci. @quest_options = [] $quests_reputation = 0 $quests_completed = 0 end #------------------------------------------------ def main if $MAP_BACKGROUND @spriteset = Spriteset_Map.new end @window5 = Window_Quest_Diary.new @window5.z= 300 for i in 0.. $quest.size - 1 name = $quest[i].name @quest_options.push(name) end for i in 0.. $quest.size - 1 if $quest[i].state_number == 99 $quests_reputation += $quest[i].reputation $quests_completed += 1 end end @window6 = Window_Reputation.new @window6.z= 300 @command_window = Window_Command_Quest.new(160, @quest_options) @command_window.index = @quest_index @command_window.z = 255 @command_window.height = 150 for i in 0.. $quest.size - 1 if $quest[i].state_number == 1 @command_window.disable_item(i) elsif $quest[i].state_number == 99 @command_window.complete_item(i) elsif $quest[i].state_number == 98 @command_window.just_finish_item(i) end end Graphics.transition (20) loop do Graphics.update Input.update update if $scene != self break end end Graphics.transition Graphics.freeze @command_window.dispose @quest_options.clear @window5.dispose @window6.dispose if $MAP_BACKGROUND @spriteset.dispose end $quest_seen = false end #--------------------------------------------------------------------------------- #--------------------------------------------------------------------------------- def update @command_window.update if @command_window.active update_command return end if Input.trigger?(Input::B) if @command_window.active == false Sound.play_cancel @command_window.active = true @window1.dispose @window2.dispose @window3.dispose @window4.dispose @window7.dispose else Sound.play_cancel $scene = Scene_Map.new end return end end #--------------------------------------------------------------------------------- def update_command if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new return end if Input.trigger?(Input::C) for i in 0.. $quest.size - 1 case @command_window.index when i if $quest[i].state_number == 1 Sound.play_buzzer return end Sound.play_decision $ACTUAL_QUEST = $quest[i] update_quest end end end end def update_quest @command_window.active = false @window1 = Window1.new @window2 = Window2.new @window3 = Window_Quest_Difficulty.new @window4 = Window_Quest_Status.new @window7 = Window_Rewards.new @window1.z= 220 @window2.z= 200 @window3.z= 230 @window4.z= 230 @window7.z= 230 end end class Window1 < Window_Base #--------------------------------------------------------------------------------- def initialize super(160, 0, 245,60) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = "Comic Sans MS" self.contents.font.size = 28 self.contents.font.color = text_color(3) #Colore del Nome della Missione self.contents.draw_text(0, 0, 400, 30, $ACTUAL_QUEST.name) end #-------------------------------- #-------------------------------- end class Window2 < Window_Base #--------------------------------------------------------------------------------- def initialize super(160, 60, 385, 357) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = "Comic Sans MS" self.contents.font.size = 26 self.contents.font.color = text_color(0) # Colore delle righe della Quest src_rect = Rect.new(0, 0, 370, 100) # Dimensione dell'Immagine 350*70 image = Cache.picture($ACTUAL_QUEST.image) self.contents.blt(0, 10, image, src_rect, 255) self.contents.draw_text(0, 100, 500, 33, $ACTUAL_QUEST.line1) self.contents.draw_text(0, 125, 500, 33, $ACTUAL_QUEST.line2) self.contents.draw_text(0, 150, 500, 33, $ACTUAL_QUEST.line3) self.contents.draw_text(0, 175, 500, 33, $ACTUAL_QUEST.line4) self.contents.draw_text(0, 200, 500, 33, $ACTUAL_QUEST.line5) end end #--------------------------------------------------------------------------------- # questa finestra mostra il livello di difficoltà. class Window_Quest_Difficulty < Window_Base def initialize super(0, 230, 160, 80) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = "Comic Sans MS" self.contents.font.size = 20 self.opacity = 255 self.contents.font.color = text_color(4) self.contents.draw_text(0, 0, 100, 20, "Difficoltà:") self.contents.font.color = text_color($ACTUAL_QUEST.difficulty[0]) self.contents.font.size = 26 self.contents.draw_text(0, 20, 100, 26, $ACTUAL_QUEST.difficulty[1]) end end #--------------------------------------------------- # questa finestra mostra lo stato della missione. class Window_Quest_Status < Window_Base def initialize super(0, 150, 160, 80) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = "Comic Sans MS" self.contents.font.size = 20 self.opacity = 255 self.contents.font.color = text_color(4) self.contents.draw_text(0, 0, 100, 20, "Stato:") self.contents.font.color = text_color(14) self.contents.font.size = 26 self.contents.draw_text(0, 20, 100, 26, $ACTUAL_QUEST.state) end end #--------------------------------------------------- # questa finestra mostra un riepilogo di reputazione e di missioni completate. class Window_Reputation < Window_Base def initialize super(0, 310, 160, 107) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = "Comic Sans MS" self.contents.font.size = 16 self.opacity = 255 self.contents.font.color = text_color(4) self.contents.draw_text(0, 0, 140, 16, "Reputazione:") self.contents.font.color = text_color(30) self.contents.font.size = 20 self.contents.draw_text(0, 16, 140, 20, $quests_reputation) self.contents.font.size = 16 self.contents.font.color = text_color(4) self.contents.draw_text(0, 36, 140, 16, "Missioni Complete:") self.contents.font.color = text_color(30) self.contents.font.size = 20 self.contents.draw_text(0, 52, 140, 20, $quests_completed) end end #--------------------------------------------------- #Questa finestra mostra le ricompense della missione selezionata class Window_Rewards < Window_Base def initialize super(160, 337, 385, 80) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = "Comic Sans MS" self.contents.font.size = 20 self.opacity = 255 self.contents.font.color = text_color(4) self.contents.draw_text(0, 0, 100, 20, "Ricompensa:") self.contents.draw_text(0, 25, 100, 20, "Monete d'Oro:") self.contents.draw_text(160, 25, 90, 20, "Esperienza:") self.contents.font.color = text_color(30) self.contents.font.size = 20 self.contents.draw_text(100, 25, 60, 20, $ACTUAL_QUEST.gold) self.contents.draw_text(250, 25, 100, 20, $ACTUAL_QUEST.experience) end end #--------------------------------------------------- #Questa è la finestra del titolo pagina class Window_Quest_Diary < Window_Base def initialize super(405, 0, 140, 60) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = "Comic Sans MS" self.contents.font.size = 20 self.opacity = 255 self.contents.font.color = text_color(4) self.contents.draw_text(0, 0, 100, 33, "Diario Missioni") end end #______________________________________________________________________________ #______________________________________________________________________________ #================================================================ #================================================================ #================================================================ #CLASSE QUEST DI SAMO MODIFICATA DA NEMIUS #Processo principale, questo crea le missione e restituisce tutti i dati #Solo le Parti con #EDITABILE possono essere modificate, non toccare il resto. #================================================================ #================================================================ #================================================================ #______________________________________________________________________________ #______________________________________________________________________________ class Quest attr_accessor :name attr_accessor :image attr_accessor :line1 attr_accessor :line2 attr_accessor :line3 attr_accessor :line4 attr_accessor :line5 attr_accessor :gold attr_accessor :experience attr_accessor :reputation attr_reader :difficulty_level attr_reader :state_number attr_reader :difficulty attr_reader :state #----------------------------------------------------- def initialize(name, image, line1, line2, line3, line4, line5, difficulty_level, state_number, reputation, gold, experience) @name = name @image = image @line1 = line1 @line2 = line2 @line3 = line3 @line4 = line4 @line5 = line5 @difficulty_level = difficulty_level set_difficulty_name @state_number = state_number set_state_name @reputation = reputation @gold = gold @experience = experience end #----------------------------------------------------- def set_state_name #EDITABILE modifica il case aggiungendo eventuali nuovi stati con valore #compreso tra 3 e 97 inserendo un nuovo when #NON MODIFICARE I VALORI GIA' CONFIGURATI #when statement case @state_number when 0 @state = "------" when 1 @state = "Non Iniziata" #Missione creata ma non ancora disponibile nel menu when 2 @state = "Accettata" #Missione disponibile e in svolgimento when 98 @state = "Conclusa" #es. Missione effettuata ma manca il ritiro della Ricompensa when 99 @state = "Completa" #Missione completata al 100% end end #----------------------------------------------------- def set_difficulty_name case @difficulty_level #EDITABILE modifica il case aggiungendo eventuali nuove difficoltà con valore #qualsiasi (non togliere lo 0) inserendo un nuovo when. #i valori devo essere inseriti nel seguente formato: # [colore, "nome della difficoltà"] when 0 #Nessuno @difficulty = [0, " "] when 1 #MOLTO FACILE @difficulty = [3, "MOLTO FACILE"] when 2 #FACILE @difficulty = [11, "FACILE"] when 3 #NORMALE @difficulty = [16, "NORMALE"] when 4 #MODERATO @difficulty = [14, "MODERATO"] when 5 #DIFFICILE @difficulty = [10, "DIFFICILE"] end end def name if @state_number == 1 return '----' else return @name end end def state_number=(value) @state_number = value set_state_name end def difficulty_level=(value) @difficulty_level = value set_difficulty_name end end #-----FINE------------- class Scene_Save < Scene_File alias samo_new_save write_save_data def write_save_data(file) File.open(Quests, "Missioni") { |f| Marshal.dump(obj, f) } end end class Scene_Load < Scene_File alias samo_new_load read_save_data def read_save_data(file) File.open(Quests, "Missioni") { |f| obj = Marshal.load(f) } end end
Immaginihttp://img141.imageshack.us/img141/6803/schermatamissionila2.jpg
Spero che vi sia di qualche utilità
Ciao! -
Qualcuno ha una tabellina con la trascodifica del valore al colore?
es.
se uso l'istruzione
text_color(X)
come faccio a sapere a quale valore di X corrisponde quale colore?
-
Come faccio a dare l'impressione che sia notte?
-
Come faccio a gestire un Cronometro?
Mi spiego meglio, come faccio a conteggiare quanto tempo trascorre da un evento all'altro? (es. cronometrare una prova)
Poi come si usa il Controllo Timer? A quanto ho capito è un conto alla rovescia ma come faccio a gestire quando scade il tempo?
-
Premetto che di RGSS ci capisco molto poco e sarebbe necessario l'intervento di uno scripter per spiegare la cosa in dettaglio o per contraddirmi se dico una cavolata.
Da quello che so cmq nella gestione della battaglia deve essere gestito in qualche modo che lo status Morte deve far scomparire il nemico e se tutti i nemici (o gli alleati) sono in status Morte la battaglia si conclude con vittoria o sconfitta.
Nel tuo caso c'è da gestire la battaglia in modo che in caso sia di Morte che di Bannato allora fa scomparire il nemico. Poi per una corretta gestione se tutti i nemici (o gli alleati) sono in status Morte o Bannato allora la battaglia si conclude con vittoria o sconfitta
In pratica il risultato finale è che Anche con lo status Bannato il mostro viene considerato morto.
Non conoscendo però l'RGSS non so cosa sia necessario modificare per gestire questa cosa...
-
Sono un Quasi-Niubbo ma direi che per far considerare il mostro sconfitto con uno status alternativo a Morto non deve essere configurato il sistema di battaglia?
Mi aspetterei che venga fatto un controllo sullo status Morto a cui in questo caso aggiungere anche lo status Bannato, non sono sicuro di essere stato molto chiaro...

Dead God Tales
in Progetti VX e VX-Ace
Posted · Edited by Nemius Loireag
Dead God Tale (Racconti di un dio senza vita)
TITLE:
http://img187.imageshack.us/img187/4641/titlexu9.jpg
Storia:
Nemius è un ragazzo di sedici anni che nonostante sia orfano ha avuto molti aiuti nella sua vita, cresciuto da un intero villaggio fino all'età scolastica ha imparato che nulla è dovuto ma deve essere guadagnato.
All'età scolastica l'intero villaggio si è preso la responsabilità di mandarlo alla migliore accademia del continente, la famosa accademia di Cordilan. Subito il ragazzo ha dato prova di meritarsi un tale privilegio diventando il primo della classe soprattutto riguardo la magia.
Tutti gli studenti vivono nei dormitori scolastici tranne Nemius che per ridurre le tasse scolastiche dorme in una torre arredata a camera dal preside, gli unici legami che Nemius lega è con un guerriero elfico di nome Aaron che impulsivo e arrogante seguirà l'amico in ogni scorreria.
Del sesso opposto Nemius conosce Noppix, una dolce schiava dai capelli rossi che studia da chierica e la sua amica Sara molto attaccata al potere della natura. La vita di Nemius procede tranquilla per affrontare i suoi esami finchè tutto va a rotoli, Noppix viene venduta ad un sadico e Nemius per salvarla muore...ma sarà davvero la fine?
Introduzione:
Tutta al vicenda si basa su una serie di racconti che sto scrivendo, perciò ogni capitolo di gioco conterrà uno o più racconti. L'idea è rilasciare ogni capitolo come upgrade del precedente, in modo che l'ultimo rilascio comprenda la storia completa dall'inizio alla fine.
Personaggi:
http://img120.imageshack.us/img120/3699/nemiusyv7.png
Nome: Nemius Loireag
Classe: Mago
Particolarità:
Dal carattere solitario e scostante non viene mai preso in considerazione dagli altri studenti, tutte le studentesse lo adorano per la sua bellezza ma non si avvicinano a causa del suo modo di fare. Dietro a questa sua maschera si nasconde però una persona leale e gentile, pronto a tutto per dare a coloro che hanno bisogno. Il suo motto è "Se vuoi avere devi essere disposto a dare". E' innamorato di Noppix e morirà per salvarla.
http://img145.imageshack.us/img145/6285/noppixny2.png
Nome: Noppix
Classe: Chierica
Particolarità:
E' una schiava il cui padrone ha deciso di mandarla a scuola per apprendere la grande arte della preghiera mistica, lei adora il suo padrone e lo rispetta moltissimo, quando egli morirà verrà venduta ad un sadico da cui verrà torturata. Noppix è un nome che si è scelto lei, nessuno conosce quello vero.
http://img145.imageshack.us/img145/5793/aaronyc8.png
Nome: Aaron Tir'Dir
Classe: Guerriero
Particolarità
Elfo molto forte ma allo stesso tempo impulsivo e arroganto come l'amico, riconosce la forza d'animo di Nemius e con lui si butta in ogni bravata. Figlio di una famiglia nobiliare subirà una grave perdità che lo segnerà profondamente rendendolo più saggio
http://img145.imageshack.us/img145/121/sarawm5.png
Nome: Sara Ewan
Classe: Druida
Particolarità
Segretamente Innamorata di Nemius non si dichiarerà mai per rispetto dell'amica, non avrà una parte molto grande ma la si incontrerà anche più avanti nei capitoli.
Altri personaggi nei prossimi capitoli...
Caratteristiche:
- Per il momento non ho previsto nessun BS particolare (devo ancora pensarci :D) perciò sono ben voluti consigli e altro.
- Sistema di Quest personalizzato per la gestione della storia principale ed eventuali sottoQuest
- Grafica Full RTP (se qualche grafico mi aiuta ben vengano miglioramenti)
- Neo Message System
Screenshot:
Camera di Nemius
http://img167.imageshack.us/img167/5559/cameraeroezg8.jpg
Dormitori
http://img329.imageshack.us/img329/7392/dormitorijj1.jpg
Aula
http://img167.imageshack.us/img167/5835/aulafu4.jpg
Cortile
http://img167.imageshack.us/img167/6627/cortilelv9.jpg
Crediti:
Inseriti Man mano
GAME OVER:
http://img75.imageshack.us/img75/8345/gameovervi1.jpg