Jump to content
Rpg²S Forum
  • 0

Mi servirebbe quest per ace...!


Maker Bros
 Share

Question

Recommended Posts

  • 0

Scusate spero di fare bene a postare qui, comunque visto che è possibile fare il porting di uno script del VX, si potrebbe fare il portingi di questo? Ovviamente anche questo è Quest System.

 

#==============================#=================== #============================
# Omegas7's Ultimate Quest sistema di script.
# ================================================= ============================
# Autore: Omegas7.
# Version: 3.0 (finale).
# Il mio sito: baseomega.forumer.com
# ================================================= ============================
# La versione finale viene caricato con uno più bello layout,
# Una zona più personalizzabile di configurazione, ecc ..
# ================================================= ============================
# Caratteristiche:
#> Facile per creare missioni nello script.
#> Una ricerca funziona con una variabile, non passa!
#> Attività Unlimited per ogni quest! (Scroll Function)
#> Icone completi e incompleti.
#> Imposta sfondo e la grafica HUD per il vostro stile di menu own!
#> È possibile utilizzare le immagini per ogni quest!
#> Descrizioni di ogni ricerca.
#> Supporto per le variabili! Valori variabili di visualizzazione per le missioni complesse!
#> Categorie per tutti, completa e missioni INCOMPLETO.
#> Aggiunge automaticamente "Quest Completato" A differenza delle versioni precedenti.
#> Cambia le dimensioni dei caratteri.
#> Un sacco di opzioni di personalizzazione, di controllo sotto.
# ================================================= ============================
# Istruzioni: (primo tempo? Meglio leggerli)
#
# Grazie per aver utilizzato questo script.
# E 'un sistema utile, prendi il tuo tempo per leggere i prossimi:
#
# Prima di tutto, creiamo una nuova ricerca per il nostro gioco.
# Sotto, nella zona di configurazioni, si trova il
# [AREA CREAZIONE DI QUEST]. Per creare la tua personale ricerca, si
# Necessità di aggiungere un po 'di codice. Ecco il template di base:
#
# Quest [iD] = [ 'Nome', VAR, Icona, IconB, 'Immagine']
# COMPITI [iD] = [ 'Fate questo', 'e questo', 'E']
# DESCRIZIONI [iD] = [ 'Si tratta di una ricerca awesome', 'per noobs']
#
# ID sarà il vostro numero di identificazione ricerca.
# Quindi, se hai 20 missioni, la vostra nuova ricerca ID sarebbero 21.
# 'Name' è ... Lol il nome. Assicurarsi di essere racchiusa tra virgolette '.
# VAR è la variabile ID che controlla questa ricerca.
# Icona è il numero incompleta indice icona.
# Ia IconB quella completa.
# 'Immagine' sarà l'immagine visualizzata sulla parte superiore della sua ricerca.
# Si può disabilitare mettendo 'zero' (senza virgolette).
#
COMPITI # sarà l'array contenente tutti i To-Do roba del
# Quest. Ogni attività è una stringa, racchiusa tra virgolette '.
# Ogni operazione, è separato da una virgola.
# Si possono avere compiti di merito (la finestra diventerà scorrevole).
# Si può mettere \ v [id] per mostrare le variabili nella vostra attività!
#
DESCRIZIONE # è come COMPITI. Solo che sarà la descrizione
# Viene mostrato nel menu principale per la ricerca.
# Ogni elemento è una riga di testo.
#
# Guarda la demo, se hai bisogno di aiuto.
# Per ulteriore assistenza, me lo faccia sapere. Il mio sito è:
# Baseomega.forumer.com
# Traduzione by Xemnas
================================================= ============================
module OMEGAS7
 module QUEST
# =========================================================================
#  Configuration Options.
# =========================================================================
 
# Exit dovue vuoi che ti porta? Alla  MAP o al  MENU?
EXIT_TO = "MENU"
# Se il menu, allora, In quale slot vuoi che appaia il comando? (Contando da 0)
MENU_RETURN_SLOT = 6
 
  # Sfondo e la grafica HUD, sia nella cartella di sistema.
BACKGROUND = 'QUEST BG'
HUD = 'QUEST HUD'
 
# Compiti prefisso e icona di spaziatura (spazi prima del nome della ricerca per l'icona).
TASKS_PREFIX = "> "
ICON_SPACING = "	 "
 
# Quest menu principale e le linee di attività le dimensioni dei caratteri:
QUESTS_FONT_SIZE = 13
TASKS_FONT_SIZE = 16
 
# Category Icon Indexes.
# [All,Completed,Incompleted]
CATEGORY_ICONS = [100,101,99]
 
# =========================================================================
QUESTS = []			   # Don't edit.
TASKS = []				# Don't edit.
DESCRIPTIONS = []		 # Don't edit.
# =========================================================================
 
QUESTS[0] = ['Sacred Sword.',1,99,101,'legendary']
TASKS[0] = ['I must grab the sacred blade on the table.',
'I think I got the right Blade. Go talk with the master.',
'Now I have to purify 4 crystals. \v[3] so far.',
'It is better I report back to my master about the crystals.',
'I should turn the switch. Something might happen.',
'Go and kill the bad guy.']
DESCRIPTIONS[0] = ['My master has a few easy tasks','for me, he is so awesome.']
 
QUESTS[1] = ['Example',2,99,101,'lol']
TASKS[1] = ['1st task...','2nd task...','3rd task...']
DESCRIPTIONS[1] = ['The second quest is always harder','than the first one.']
 end
end

class Omega_Quest < Scene_Base
 include OMEGAS7::QUEST
 def initialize
@index = 0
@mode = 0
@empty_list = false
create_background
create_quest_list
create_quest_commands
create_quest_description
create_category
create_information
 end
 def create_background
@background = Sprite_Base.new
@background.bitmap = Cache.system(BACKGROUND.to_s)
@background.z = 50
@hud = Sprite_Base.new
@hud.bitmap = Cache.system(HUD.to_s)
@hud.z = 60
 end
 def create_quest_list
@list = []
@list[0] = []
@list[1] = []
@list[2] = []
for i in 0...QUESTS.size
  if $game_variables[QUESTS[i][1].to_i].to_i > TASKS[i].size
	@list[0][i] = [QUESTS[i][0].to_s,true,i]
	@list[1][i] = [QUESTS[i][0].to_s,true,i]
  elsif $game_variables[QUESTS[i][1].to_i].to_i > 0
	@list[0][i] = [QUESTS[i][0].to_s,false,i]
	@list[2][i] = [QUESTS[i][0].to_s,false,i]
  end
end
@list[0].compact!
@list[1].compact!
@list[2].compact!
@list.compact!
if @list[0].empty?
  @empty_list = true
end
 end
 def create_quest_commands
create_quest_list
@command_window = Window_Quest_Command.new(250,@list[@mode])
@command_window.y = 90
@command_window.x = 12
@command_window.opacity = 0
@index = @command_window.index
 end
 def create_quest_description
@window_description = Window_Base.new(280,80,250,170)
@window_description.contents.font.size = QUESTS_FONT_SIZE
@window_description.opacity = 0
refresh_description
 end
 def refresh_description
@window_description.contents.clear
if @list[@mode][@command_window.index][2] != nil
  for i in 0...DESCRIPTIONS[@list[@mode][@command_window.index][2]].size
	txt = DESCRIPTIONS[@list[@mode][@command_window.index][2]][i].to_s
	@window_description.contents.draw_text(0,18*i,260,18,txt.to_s)
  end
end
 end
 def update
@command_window.update
@category.update
if @mode != @category.index
  @mode = @category.index
  @command_window.dispose
  create_quest_commands
  refresh_description
end
if @index != @command_window.index
  @index = @command_window.index
  refresh_description
end
if Input.trigger?(Input::C) && @list[@mode][@command_window.index][2] != nil
  @background.dispose
  @hud.dispose
  @command_window.dispose
  @window_description.dispose
  @category.dispose
  @information.dispose
  $scene = Omega_Quest_View.new(@list[@mode][@command_window.index][2])
elsif Input.trigger?(Input::C) && @list[@mode][@command_window.index][2] == nil
  Sound.play_buzzer
end
if Input.trigger?(Input::B)
  finish
end
 end
 def create_category
@category = Window_Categories_Command.new(180)
@category.opacity = 0
@category.x = -6
@category.y = 40
 end
 def create_information
@information = Window_Base.new(544-250,416-120,250,120)
@information.opacity = 0
@information.contents.font.size = 16
if @empty_list == true
  @information.contents.draw_text(0,0,250,24,"Current Total Quests: 0")
else
  @information.contents.draw_text(0,0,250,24,"Current Total Quests: " + @list[0].size.to_s)
end
@information.contents.font.color = Color.new(0,255,0)
@information.contents.draw_text(0,24,250,24,"Completed Quests: " + @list[1].size.to_s)
@information.contents.font.color = Color.new(255,167,0)
@information.contents.draw_text(0,48,250,24,"Incomplete Quests: " + @list[2].size.to_s)
 end
 def finish
@background.dispose
@hud.dispose
@command_window.dispose
@window_description.dispose
@category.dispose
@information.dispose
case EXIT_TO
when "MENU"
  $scene = Scene_Menu.new(MENU_RETURN_SLOT)
when "MAP"
  $scene = Scene_Map.new
end
 end
end

class Omega_Quest_View < Scene_Base
 include OMEGAS7::QUEST
 def initialize(id)
@font_size = 16
@line_height = 18
@id = id
@limit_y = 0
draw_picture if QUESTS[@id][4] != nil
set_tasks
create_window
refresh_window
 end
 def draw_picture
@picture = Sprite_Base.new
@picture.bitmap = Cache.system(QUESTS[@id][4].to_s)
@picture.x = (544/2) - (@picture.width/2)
@picture.z = 250
 end
 def set_tasks
@tasks = []
for i in 0...TASKS[@id].size
  if $game_variables[QUESTS[@id][1]].to_i >= i + 1
	@tasks[i] = TASKS[@id][i].to_s
  end
end
if $game_variables[QUESTS[@id][1]].to_i > TASKS[@id].size
  @tasks.push('Quest Completed!')
end
 end
 def create_window
height = @line_height * @tasks.size + 32
y = 0
if @picture != nil
  y += @picture.height
  @limit_y = @picture.height
end
@window = Window_Base.new(0,y,544,height)
 end
 def refresh_window
@window.contents.clear
@window.contents.font.size = @font_size
@display = []
for i in 0...@tasks.size
  @display[i] = @tasks[i].clone
  @display[i].to_s.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
  @display[i].to_s.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
  @window.contents.draw_text(0,i * @line_height,500,@line_height,TASKS_PREFIX.to_s + @display[i].to_s)
end
 end
 def update
if Input.press?(Input::DOWN) && ((@window.y + @window.height) > 416)
  @window.y -= 3
elsif Input.press?(Input::UP) && (@window.y < @limit_y)
  @window.y += 3
end
if Input.trigger?(Input::B)
  @picture.dispose if @picture != nil
  @window.dispose
  $scene = Omega_Quest.new
end
 end
end

class Window_Quest_Command < Window_Selectable
 include OMEGAS7::QUEST
 attr_reader   :commands
 def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
@commands = commands
@empty = false
if @commands.empty?
  @commands[0] = ["No quests.",false]
  @empty = true
end  
if row_max == 0
  row_max = (@commands.size + column_max - 1) / column_max
end
super(0, 0, width, row_max * WLH + 32, spacing)
@item_max = commands.size
@column_max = column_max
self.contents.font.size = TASKS_FONT_SIZE
refresh
self.index = 0
 end
 def refresh
self.contents.clear
for i in 0...@item_max
  draw_item(i)
end
 end
 def draw_item(index, enabled = true)
spacing = ICON_SPACING.to_s
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
self.contents.font.color = Color.new(255,0,0)
self.contents.font.color.alpha = enabled ? 255 : 128
if @empty == false
  if @commands[index][1] == true
	self.contents.font.color = Color.new(0,255,0)
	draw_icon(QUESTS[@commands[index][2]][3].to_i,rect.x,rect.y)
  else
	self.contents.font.color = Color.new(255,0,0)
	draw_icon(QUESTS[@commands[index][2]][2].to_i,rect.x,rect.y)
  end
elsif @empty == true
  spacing = ""
end
self.contents.draw_text(rect, spacing + @commands[index][0].to_s)
 end
end
class Window_Categories_Command < Window_Selectable
 include OMEGAS7::QUEST
 attr_reader   :commands
 def initialize(width, column_max = 3, row_max = 1, spacing = 32)
super(0, 0, width, row_max * WLH + 32, spacing)
@commands = ['','','']
@item_max = commands.size
@column_max = column_max
@icons = CATEGORY_ICONS
refresh
self.index = 0
 end
 def refresh
self.contents.clear
for i in 0...@item_max
  draw_item(i)
end
 end
 def draw_item(index, enabled = true)
rect = item_rect(index)
rect.x += 4
rect.width -= 8
self.contents.clear_rect(rect)
draw_icon(@icons[index],rect.x,rect.y)
 end
end

 

Edited by dantuzzu

Firma aggiornata il 04/07/2012

La mia presentazione:

Il mio vero nome è Filippo, sono del "91, il mio nickname è "Dantuzzu" Il nome proviene da "Dante" (facile da intuire xD) però avete mai provato a registrarvi da qualche parte con "Dante"? beh impossibile, tutti usano questo nick, ecco perchè il nome è diventato "Dantuzzu" perchè di Dantuzzu c'è ne uno solo :P Il mio secondo nickname è "Astigma" questo nome ha una storia xD se volete conoscerla aprite lo spoiler :)

 

Un giorno mentre tornavo a casa da Catania con l'autobus, io e miei compagni stavamo andando verso la fermata, ad un certo punto passa l'autobus e tutti si mettono a correre dicendo: <<Filippo forza corri!!>>,mi sono messo a correre e stavo fumando,la sigaretta l'avevo accesa da poco,per non buttarla l'ho spenta, sapete dove? Nella mano xD mi sono fatto un buco e ho cominciato a dire <<Una Astigma, una Astigma>> xD mentre in realtà volevo dire una stigmate (quelle di Padre Pio) xD e da qui nacque "Astigma"

 

 

 

Il mio gioco:

Inizio da una piccola premessa, cioè sono un appassionato di "Final Fantasy", mi piace che è un gioco molto lungo, pieno di personaggi, ecc... ecc... Il mio obbiettivo è quello di creare un gioco simile, il titolo del gioco è "Oltre la fantasia" il titolo non c'entra niente con la storia e se progetterò altri giochi, non saranno il continuo ed il titolo sarà sempre con il numero d'avanti cioè "Oltre la fantasia 2" Proprio come "Final Fantasy", ovviamente tutto dipende dalle mie abilità e dei vostri giudizi, cioè se il mio gioco piacerà allora continua la saga :) altrimenti si perfeziona il primo.

Il gioco si sta sviluppando con una regola, ovvero "cogli l'attimo" cioè la storia non è stata già progettata ma andrà avanti in base alle idee che mi vengono al momento :) sarà pieno di personaggi, sarete voi a scegliergli il nome e quali personaggi usare :) però perchè nei giochi i protagonisti non muoiono mai? Ecco, un punto chiave del mio gioco sono le sorprese! Cioè non affezionatevi ad un personaggio, la sua vita potrebbe essere breve e anche se fosse lunga non è detto che arrivi alla fine. Un altro punto chiave è l'andamento della storia che dipenderà dalle vostre scelte! Il gioco avrà momenti ironici, strani e misteriosi.

La prima demo è gia disponibile, per mostrarvi le basi del gioco. Spero che vi piaccia, ciò che lega me e il gioco è la passione!

 

Finalmente sono lieto di presentarvi la mia prima demo :) Per informazioni e provarla clicca qui -->

Oltre la fantasia

Link to comment
Share on other sites

  • 0

Alla fine uso lo script di Clyde, però ho trovato un problema... cioè la riga 67

 

Return	  = -1

 

Bene se mettiamo "-1" quando usciamo ritorna nella mappa, se invece mettiamo "0" porta alla prima opzione del menù io ho messo "5" perchè corrisponde al menù quest, il problema è che appena esci dal menu quest, ritorni nel menù però se premi di nuovo il tasto per uscire (ESC) ti fa tornare nel menù quest, cioè non si può tornare più nella mappa, ogni volta che si preme "esc" torna nel menu quest xD

 

Un altra cosa, si può fare in modo che nella quest, invece di comparire completata e non completata appare anche "aggiornata"?

Firma aggiornata il 04/07/2012

La mia presentazione:

Il mio vero nome è Filippo, sono del "91, il mio nickname è "Dantuzzu" Il nome proviene da "Dante" (facile da intuire xD) però avete mai provato a registrarvi da qualche parte con "Dante"? beh impossibile, tutti usano questo nick, ecco perchè il nome è diventato "Dantuzzu" perchè di Dantuzzu c'è ne uno solo :P Il mio secondo nickname è "Astigma" questo nome ha una storia xD se volete conoscerla aprite lo spoiler :)

 

Un giorno mentre tornavo a casa da Catania con l'autobus, io e miei compagni stavamo andando verso la fermata, ad un certo punto passa l'autobus e tutti si mettono a correre dicendo: <<Filippo forza corri!!>>,mi sono messo a correre e stavo fumando,la sigaretta l'avevo accesa da poco,per non buttarla l'ho spenta, sapete dove? Nella mano xD mi sono fatto un buco e ho cominciato a dire <<Una Astigma, una Astigma>> xD mentre in realtà volevo dire una stigmate (quelle di Padre Pio) xD e da qui nacque "Astigma"

 

 

 

Il mio gioco:

Inizio da una piccola premessa, cioè sono un appassionato di "Final Fantasy", mi piace che è un gioco molto lungo, pieno di personaggi, ecc... ecc... Il mio obbiettivo è quello di creare un gioco simile, il titolo del gioco è "Oltre la fantasia" il titolo non c'entra niente con la storia e se progetterò altri giochi, non saranno il continuo ed il titolo sarà sempre con il numero d'avanti cioè "Oltre la fantasia 2" Proprio come "Final Fantasy", ovviamente tutto dipende dalle mie abilità e dei vostri giudizi, cioè se il mio gioco piacerà allora continua la saga :) altrimenti si perfeziona il primo.

Il gioco si sta sviluppando con una regola, ovvero "cogli l'attimo" cioè la storia non è stata già progettata ma andrà avanti in base alle idee che mi vengono al momento :) sarà pieno di personaggi, sarete voi a scegliergli il nome e quali personaggi usare :) però perchè nei giochi i protagonisti non muoiono mai? Ecco, un punto chiave del mio gioco sono le sorprese! Cioè non affezionatevi ad un personaggio, la sua vita potrebbe essere breve e anche se fosse lunga non è detto che arrivi alla fine. Un altro punto chiave è l'andamento della storia che dipenderà dalle vostre scelte! Il gioco avrà momenti ironici, strani e misteriosi.

La prima demo è gia disponibile, per mostrarvi le basi del gioco. Spero che vi piaccia, ciò che lega me e il gioco è la passione!

 

Finalmente sono lieto di presentarvi la mia prima demo :) Per informazioni e provarla clicca qui -->

Oltre la fantasia

Link to comment
Share on other sites

  • 0

Non ho l'ACE, ma guardando in giro credo che capiti perchè è stato usato call (che mette nello stack) invece di goto (vai a . . .) o return (togli dallo stack)

 

Quindi dovresti rimediare sostituendo appunto nel codice del Quest System le due chiamate . . .

 

# Appare così . . .
#
 def inputUpdate
if Input.trigger?(Input::B)
  #Play Cancel SE
  Sound.play_cancel
  #Return to set scene
  if TNDqb::Return > -1
 SceneManager.call(Scene_Menu)
  else
 SceneManager.call(Scene_Map)
  end
elsif Input.trigger?(Input::C)
  #Play Decision SE
  Sound.play_ok
  #Refresh quest data
  @main.set_quest(@quest[@command_window.index])
  #Goto command_refresh
end
 end
#
# . . . Dovrebbe diventare così . . .
#
 def inputUpdate
if Input.trigger?(Input::B)
  #Play Cancel SE
  Sound.play_cancel
  #Return to set scene
  if TNDqb::Return > -1
 SceneManager.return
  else
 SceneManager.goto(Scene_Map)
  end
elsif Input.trigger?(Input::C)
  #Play Decision SE
  Sound.play_ok
  #Refresh quest data
  @main.set_quest(@quest[@command_window.index])
  #Goto command_refresh
end
 end

 

 

Chiedo scusa per il non poter essere più preciso . . .

Ovviamente, potrebbe non funzionare . . .

Edited by giver

 


SCRIPT RGSS (RPG Maker XP) VINTAGE LIBRARY [2018+]


Breaking (in ogni senso) News: "Treno deraglia per via del seno di Sakurai Aoi . . ." - Info nello spoiler !!

 


http://afantasymachine.altervista.org/_altervista_ht/NOOOOOOOOOilMIOtreninooooo_500.gif


Non riesco a smettere di essere affascinato da immagini come questa . . .

http://anime.vl-vostok.ru/art/photos2011/17/78049800/wall_VladAnime_WWA_1885-1680x1050.jpg


Alcuni wallpapers che faccio ruotare sul mio vecchio PC . . .


http://afantasymachine.altervista.org/_altervista_ht/gits_window.jpg

http://afantasymachine.altervista.org/_altervista_ht/madoka_group01.jpg
http://afantasymachine.altervista.org/_altervista_ht/arisu_picipici_01.jpg
http://afantasymachine.altervista.org/_altervista_ht/phantom_wp01_einzwei.jpg


La parte più spassosa della mia vita è quando gli altri cercano di spiegarmi i miei pensieri . . .


BBCode Testing


Typeface & Size



Link to comment
Share on other sites

  • 0

Clyde non ha testato ma dovrebbe andare così.

 

 

#=========================================================================
#=========================================================================
#   Tornado Quest Book porting VX Ace del Porting VX (NON UFFICIALE)
#   Versione 1.0
#   Autore: Storm
#   Tradotto da: Superspammer
#   http://rpgxpultimate.darkbb.com
#
#   NON USARE LO SCRIPT! FUNZIONAMENTO NON GARANTITO!!!!!!!!
#
# Istruzioni per l'uso:
# Incollare lo script sopra Main e sotto Materials.
#
# Usare   SceneManager.call(Scene_QuestBook)   per chiamare il libro.
#
# Usare   $game_party.add_quest(id)   per aggiungere una missione.
#
# Usare   $game_party.delete_quest(id)   per eliminare una missione.
#
# Usare   $game_party.finish_quest(id)   per finire una missione.
#
# Use   $game_party.unfinish_quest(id)   per impostare una missione come non-finita.
#
# Nel condition branch (ramo condizioni), inserire questo script: $game_party.quest_complete?(id)
# per controllare se la missione è stata completata.
#
# Opzioni:
# Possibilità di cambiare il nome del quest book.
# Opacità configurabile.
# Colori missioni complete personalizzabile.
# Colori missioni incomplete personalizzabile.
# Auto-rimpiazzamento testo.
# 10 Rimpiazzamenti configurabili.
#
# Compatibilità:
# La maggior parte degli script. Sovrascrivendo il metodo draw_item di
#   Window_Command è meglio metterlo sopra altri script che agiscono
#   sullo stesso metodo, sperando che non lo sovrascrivano anch'essi
#
# Crediti E Ringraziamenti:
#   Storm  - Per averlo creato.
#   Game_Guy  - Per avermi insegnato come usare le Array.
#   Superspammer - Per averlo tradotto.
#   giver - Per la conversione al VX. (Fatta su "richiesta" di Ichika Strize)
#   Ichika Strize - Per il Testing e gli Screen della versione VX.
#===========================================================================
#===========================================================================
module TNDqb
 #=========================================================================
 # START CONFIG
 #=========================================================================
 #============================== General Config ===========================
 # General Config.
 #=========================================================================
 QB_Name	 = "Libro Missioni"			# Nome del quest Book
 Author_Name = "Autore"					# Nome Autore
 Title_Name  = "Titolo"					# Nome del Titolo
 Reward_Name = "Ricompensa"				# Nome della ricompensa
 Status_Name = "Status"					# Status
 Complete	= "Completata"				# Nome delle missioni complete
 Incomplete  = "Non completata."		   # Nome delle missioni incomplete.
 Unknown	 = "???"					   # Nome sconosciuto
 Opacity	 = 200						 # Opacità della finestra (200 è quella base del VX)
 Screen	  = 1						   # (0 = nero, 1 = screenshot mappa, "nome immagine tra virgolette" = picture)
 Cmp_Color   = Color.new(0, 255, 0, 255)   # Colore missioni Complete
 Incmp_Color = Color.new(255, 0, 0, 255)   # Colore missioni Incomplete
 Return	  = -1						
				# Imposta la Scena di Ritorno quando si esce dal QuestBook premendo ESC
				#   se messa a -1 torna alla Mappa, altrimenti torna al Menù con l'indice
				#   indicato selezionato nella lista dei comandi (il primo vale 0, il
				#   secondo 1, il terzo 2, e così via . . . Di base dovrebbe essere la
				#   posizione del comando del menù per aprire il QuestBook (es. 3 se è il
				#   quarto comando della lista)
 #================================ Ignore Part ============================
 # Ignorare la sezione qui sotto.
 #=========================================================================
 Quest = []
 #============================ Replacement Config =========================
 # Rimpiazzamenti, questi sono i testi che verranno auto ripiazzati.
 #
 # Replace = ["segnaposto testo","testo sostitutivo"]
 # NOTA BENE: Il massimo dei rimpiazzamenti è 10. I Rimpiazzamenti non possono essere aggiunti o eliminati.
 #							  Cannot include {nome0}, {nome1}, {nome2}, ..., {nomeN} (vedi sotto)
 #							  Si consiglia di includere i segnaposto tra parentesi graffe
 #
 #							  Completed Replacements: (Do not add)
 #							  {nomeNNN} = Nome dell'attore che si trova nella posizione NNN del party
 #											 es. per far apparire il nome del primo personaggio nel party bisogna
 #															 inserire il segnaposto   {nome0}
 #=========================================================================
 Replace1 = ["{s}","Ciao!"]
 Replace2 = ["",""]
 Replace3 = ["",""]
 Replace4 = ["",""]
 Replace5 = ["",""]
 Replace6 = ["",""]
 Replace7 = ["",""]
 Replace8 = ["",""]
 Replace9 = ["",""]
 Replace10 = ["",""]
 #=============================== Configurazione Missioni =================
 # Configura le missioni qui.
 #
 # Quest[id] = ["Titolo","Nome dell'autore","testo","ricompensa"]
 #=========================================================================
 #PART 1
 Quest[0] = ["Saluti e Baci","Tizio","Tizio vuole che il party vada al suo paese e dire alla mamma {s}", "Cesta di Mele"]
 Quest[1] = ["Completa Il Mini-Quest","Computer Di Ben","Dai Alla Signora Robot ciò che vuole","Nulla"]
 Quest[2] = ["Esplora la montagna","Tom","Tom ha chiesto a {nome0} di esplorare la montagna.","Qualcosa"]
 Quest[3] = ["Ammazza Ratti","Contadino","George, il contadino, vuole che venga liberato il proprio granaio dai ratti che lo infestano","Un Vecchio Libro"]
 #=========================================================================
 # END CONFIG
 #=========================================================================
end
#====================
# Game_Party
#====================
class Game_Party < Game_Unit
 attr_accessor :quest
 attr_accessor :qComplete

 alias tnd_qb_init initialize unless $@
 def initialize
set_questbook
tnd_qb_init
 end

 def set_questbook
@quest = []
@qComplete = []
 end

 def add_quest(id)
msg = TNDqb::Quest[id]
return if msg == nil
unless @quest.include?(id)
  @qComplete.delete(id)
  @quest.push(id)
end
 end

 def delete_quest(id)
msg = TNDqb::Quest[id]
return if msg == nil
if @quest.include?(id)
  @qComplete.delete(id)
  @quest.delete(id)
end
 end

 def finish_quest(id)
msg = TNDqb::Quest[id]
return if msg == nil
if @quest.include?(id)
  @qComplete.push(id) unless @qComplete.include?(id)
end
 end

 def unfinish_quest(id)
msg = TNDqb::Quest[id]
return if msg == nil
if @qComplete.include?(id)
  @quest.push(id) unless @quest.include?(id)
  @qComplete.delete(id)
end
 end

 def quest_complete?(id)
return false if id == nil
msg = TNDqb::Quest[id]
return false if msg == nil
return @qComplete.include?(id)
 end

end
#====================
# Bitmap
#====================
class Bitmap

 def format_text(text, width)
words = text.split(' ')
return words if words.size == 1
result, current_text = [], words.shift
words.each_index {|i|
if self.text_size("#{current_text} #{words[i]}").width > width
  result.push(current_text)
  current_text = words[i]
else
  current_text = "#{current_text} #{words[i]}"
end
result.push(current_text) if i >= words.size - 1}
return result
 end

end
#====================
# Window_QuestTitle
#====================
class Window_QuestTitle < Window_Base

 def initialize
super(0, -8, 544, 56)
self.back_opacity = TNDqb::Opacity
refresh
 end

 def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.font.size = 22
cx = contents.text_size(TNDqb::QB_Name).width
self.contents.draw_text(0, 0, cx, 24, TNDqb::QB_Name)
 end

end
#====================
# Window_QuestMain
#====================
class Window_QuestMain < Window_Base

 def initialize
super(24, 76, 336, 268)
self.back_opacity = TNDqb::Opacity
refresh
 end

 def refresh
return if @quest_id == nil
msg = TNDqb::Quest[@quest_id]
return if msg == nil
self.contents.clear
self.contents.font.size = Font.default_size - 2
t = self.contents.text_size(TNDqb::Title_Name+": ").width
t2 = self.contents.text_size(TNDqb::Author_Name+": ").width
t3 = self.contents.text_size(TNDqb::Reward_Name+": ").width
t4 = self.contents.text_size(TNDqb::Status_Name+": ").width
tw = self.width - 32
self.contents.font.color = system_color
self.contents.draw_text(0, 0, tw, 24, TNDqb::Title_Name+": ")
self.contents.draw_text(0, 24, tw, 24, TNDqb::Author_Name+": ")
self.contents.draw_text(0, 186, tw, 24, TNDqb::Reward_Name+": ")
self.contents.draw_text(0, 210, tw, 24, TNDqb::Status_Name+": ")
self.contents.font.color = normal_color
self.contents.draw_text(t, 0, tw, 24, msg[0])
self.contents.draw_text(t2, 24, tw, 24, msg[1])
@text = msg[2]
@text = @text.gsub(TNDqb::Replace1[0], TNDqb::Replace1[1])
@text = @text.gsub(TNDqb::Replace2[0], TNDqb::Replace2[1])
@text = @text.gsub(TNDqb::Replace3[0], TNDqb::Replace3[1])
@text = @text.gsub(TNDqb::Replace4[0], TNDqb::Replace4[1])
@text = @text.gsub(TNDqb::Replace5[0], TNDqb::Replace5[1])
@text = @text.gsub(TNDqb::Replace6[0], TNDqb::Replace6[1])
@text = @text.gsub(TNDqb::Replace7[0], TNDqb::Replace7[1])
@text = @text.gsub(TNDqb::Replace8[0], TNDqb::Replace8[1])
@text = @text.gsub(TNDqb::Replace9[0], TNDqb::Replace9[1])
@text = @text.gsub(TNDqb::Replace10[0], TNDqb::Replace10[1])
for i in 0...$game_party.members.size
  actor = $game_party.members[i]
  @text = @text.gsub("{nome"+i.to_s+"}", actor.name)
end							  
draw_msg(@text, 0, 48)
if $game_party.quest_complete?(@quest_id)
  self.contents.draw_text(t3, 186, tw, 24, msg[3])
  self.contents.font.color = TNDqb::Cmp_Color
  self.contents.draw_text(t4, 210, tw, 24, TNDqb::Complete)
else
  self.contents.draw_text(t3, 186, tw, 24, TNDqb::Unknown)
  self.contents.font.color = TNDqb::Incmp_Color
  self.contents.draw_text(t4, 210, tw, 24, TNDqb::Incomplete)
end
 end

 def draw_msg(msg, x, y)
text = self.contents.format_text(msg, 304)
text.each_index {|i|self.contents.draw_text(x, y + i*24, 304, 24, text[i])}
 end

 def set_quest(id)
return if @quest_id == id
@quest_id = id
refresh
 end

end
#====================
# Window_QuestCommand
#====================
class Window_QuestCommand < Window_Command

 def initialize(window_width, msg)
@window_width = window_width
@msg = msg
super(0, 0)
 end
 def window_width
@window_width
 end
 def make_command_list
for msg in @msg
  add_command(msg, :selected)
end
 end

 def draw_item(index, enabled = true, color = normal_color)
change_color(color, enabled)
draw_text(item_rect_for_text(index), command_name(index), alignment)
 end

end
#====================
# Scene_QuestBook
#====================
class Scene_QuestBook < Scene_Base

 def main
if TNDqb::Screen.is_a?(Integer)
	create_background if TNDqb::Screen == 1
elsif (TNDqb::Screen).is_a?(String)
  @menuback_sprite = Sprite.new
  @menuback_sprite.bitmap = Cache.picture(TNDqb::Screen)
end											  
#Command window setup
@quest = $game_party.quest
create_command_window
#Make main windows
@title = Window_QuestTitle.new
@main = Window_QuestMain.new
Graphics.transition
loop do
  Graphics.update
  Input.update
  #Update windows and inputs
  inputUpdate
  update
  #Break if scene is not Scene_QuestBook
  unless SceneManager.scene_is?(Scene_QuestBook)
	break
  end
end
Graphics.freeze
#Dispose windows
dispose_background unless (TNDqb::Screen.is_a?(Integer) and TNDqb::Screen == 0)
@command_window.dispose
@title.dispose
@main.dispose
 end

 def create_command_window
@msg = []
@quest.each {|i|
  @msg.push(TNDqb::Quest[i][0])
}
@msg = [""] if @msg.size < 1
#Create command window
@command_window = Window_QuestCommand.new(160, @msg)
@command_window.x = 384
@command_window.back_opacity = TNDqb::Opacity
@command_window.height = 360
@command_window.y = 52
j = 0
@quest.each{|i|
  if $game_party.quest_complete?(i)
	@command_window.draw_item(j, true, TNDqb::Cmp_Color)
  end
j += 1}
 end
 
 def inputUpdate
if Input.trigger?(Input::B)
  #Play Cancel SE
  Sound.play_cancel
  #Return to set scene
  if TNDqb::Return > -1
	SceneManager.call(Scene_Menu)
  else
	SceneManager.call(Scene_Map)
  end
elsif Input.trigger?(Input::C)
  #Play Decision SE
  Sound.play_ok
  #Refresh quest data
  @main.set_quest(@quest[@command_window.index])
  #Goto command_refresh
end
 end

 def update
#Updates
@command_window.update
@title.update
@main.update
 end

 def create_background
@background_sprite = Sprite.new
@background_sprite.bitmap = SceneManager.background_bitmap
@background_sprite.color.set(16, 16, 16, 128)
 end

 def dispose_background
if @background_sprite != nil
  @background_sprite.bitmap = nil
  @background_sprite = nil
elsif @menuback_sprite!= nil
  @menuback_sprite.bitmap = nil
  @menuback_sprite = nil
end
 end
end
#====================
# Scene_Menu
#====================
class Scene_Menu < Scene_MenuBase

 alias qs_create_command_window create_command_window
 def create_command_window
qs_create_command_window
@command_window.set_handler(:quest,	  method(:command_quest))
 end

 def command_quest
SceneManager.call(Scene_QuestBook)
 end

end
#====================
# Window_MenuCommand
#====================
class Window_MenuCommand < Window_Command

 def make_command_list
add_main_commands
add_formation_command
add_original_commands
add_quest_command
add_save_command
add_game_end_command
 end

 def add_quest_command
add_command("Quest", :quest)
 end

end

 

 

 

EDIT: Attenzione, potrebbe non funzionare se usi script per modificare il menu. (Yanfly Ace Menu Engine, ad esempio)

scusate io lo sto provando su ACE, ilmenu funziona, si vede il titolo della quest ma il contenuto nella parte centrale NON C'E'! non ci sono i dati della quest ho già provato a smanettare ma niente...

non c'e' un codice sempre semplice come questo ma funzionante?

 

la cosa strana è che se faccio un progetto nuovo lo script funziona ma mettendolo nel progetto grosso dove ci sono altri script... non fa vedere le missioni!:( help me

http://profile.ak.fbcdn.net/hprofile-ak-ash4/275869_1151353011_1357652036_n.jpg

 

 

RPG FREE: Syntonia Ufo Invasion

DOWNLOAD:

 

RPG FREE: Syntonia The Legend Of Sound 2.0

DOWNLOAD: www.syntonia.org/download/Syntonia_The_legend_Of_Sound.zip

Link to comment
Share on other sites

  • 0

Probabilmente è un problema di compatibilità di script allora ^ ^

 

Prova ad invertire l'ordine con il quale inserisci gli script e vedi se funziona. Altrimenti togli gli script che hai inserito ad uno ad uno e vedi quale è che dà problemi, postalo e vediamo se qualche script può compatibilizzarlo! XD

^ ^

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


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/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) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

  • 0

Scusate spero di fare bene a postare qui, comunque visto che è possibile fare il porting di uno script del VX, si potrebbe fare il portingi di questo? Ovviamente anche questo è Quest System.

 

 

#==============================#=================== #============================
# Omegas7's Ultimate Quest sistema di script.
# ================================================= ============================
# Autore: Omegas7.
# Version: 3.0 (finale).
# Il mio sito: baseomega.forumer.com
# ================================================= ============================
# La versione finale viene caricato con uno più bello layout,
# Una zona più personalizzabile di configurazione, ecc ..
# ================================================= ============================
# Caratteristiche:
#> Facile per creare missioni nello script.
#> Una ricerca funziona con una variabile, non passa!
#> Attività Unlimited per ogni quest! (Scroll Function)
#> Icone completi e incompleti.
#> Imposta sfondo e la grafica HUD per il vostro stile di menu own!
#> È possibile utilizzare le immagini per ogni quest!
#> Descrizioni di ogni ricerca.
#> Supporto per le variabili! Valori variabili di visualizzazione per le missioni complesse!
#> Categorie per tutti, completa e missioni INCOMPLETO.
#> Aggiunge automaticamente "Quest Completato" A differenza delle versioni precedenti.
#> Cambia le dimensioni dei caratteri.
#> Un sacco di opzioni di personalizzazione, di controllo sotto.
# ================================================= ============================
# Istruzioni: (primo tempo? Meglio leggerli)
#
# Grazie per aver utilizzato questo script.
# E 'un sistema utile, prendi il tuo tempo per leggere i prossimi:
#
# Prima di tutto, creiamo una nuova ricerca per il nostro gioco.
# Sotto, nella zona di configurazioni, si trova il
# [AREA CREAZIONE DI QUEST]. Per creare la tua personale ricerca, si
# Necessità di aggiungere un po 'di codice. Ecco il template di base:
#
# Quest [ID] = [ 'Nome', VAR, Icona, IconB, 'Immagine']
# COMPITI [ID] = [ 'Fate questo', 'e questo', 'E']
# DESCRIZIONI [ID] = [ 'Si tratta di una ricerca awesome', 'per noobs']
#
# ID sarà il vostro numero di identificazione ricerca.
# Quindi, se hai 20 missioni, la vostra nuova ricerca ID sarebbero 21.
# 'Name' è ... Lol il nome. Assicurarsi di essere racchiusa tra virgolette '.
# VAR è la variabile ID che controlla questa ricerca.
# Icona è il numero incompleta indice icona.
# Ia IconB quella completa.
# 'Immagine' sarà l'immagine visualizzata sulla parte superiore della sua ricerca.
# Si può disabilitare mettendo 'zero' (senza virgolette).
#
COMPITI # sarà l'array contenente tutti i To-Do roba del
# Quest. Ogni attività è una stringa, racchiusa tra virgolette '.
# Ogni operazione, è separato da una virgola.
# Si possono avere compiti di merito (la finestra diventerà scorrevole).
# Si può mettere \ v [id] per mostrare le variabili nella vostra attività!
#
DESCRIZIONE # è come COMPITI. Solo che sarà la descrizione
# Viene mostrato nel menu principale per la ricerca.
# Ogni elemento è una riga di testo.
#
# Guarda la demo, se hai bisogno di aiuto.
# Per ulteriore assistenza, me lo faccia sapere. Il mio sito è:
# Baseomega.forumer.com
# Traduzione by Xemnas
================================================= ============================
module OMEGAS7
  module QUEST
	# =========================================================================
	#  Configuration Options.
	# =========================================================================
  
	# Exit dovue vuoi che ti porta? Alla  MAP o al  MENU?
	EXIT_TO = "MENU"
	# Se il menu, allora, In quale slot vuoi che appaia il comando? (Contando da 0)
	MENU_RETURN_SLOT = 6
  
   # Sfondo e la grafica HUD, sia nella cartella di sistema.
	BACKGROUND = 'QUEST BG'
	HUD = 'QUEST HUD'
  
# Compiti prefisso e icona di spaziatura (spazi prima del nome della ricerca per l'icona).
	TASKS_PREFIX = "> "
	ICON_SPACING = "	 "
  
	# Quest menu principale e le linee di attività le dimensioni dei caratteri:
	QUESTS_FONT_SIZE = 13
	TASKS_FONT_SIZE = 16
  
	# Category Icon Indexes.
	# [All,Completed,Incompleted]
	CATEGORY_ICONS = [100,101,99]
  
	# =========================================================================
	QUESTS = []			   # Don't edit.
	TASKS = []				# Don't edit.
	DESCRIPTIONS = []		 # Don't edit.
	# =========================================================================
  
	QUESTS[0] = ['Sacred Sword.',1,99,101,'legendary']
	TASKS[0] = ['I must grab the sacred blade on the table.',
	'I think I got the right Blade. Go talk with the master.',
	'Now I have to purify 4 crystals. \v[3] so far.',
	'It is better I report back to my master about the crystals.',
	'I should turn the switch. Something might happen.',
	'Go and kill the bad guy.']
	DESCRIPTIONS[0] = ['My master has a few easy tasks','for me, he is so awesome.']
  
	QUESTS[1] = ['Example',2,99,101,'lol']
	TASKS[1] = ['1st task...','2nd task...','3rd task...']
	DESCRIPTIONS[1] = ['The second quest is always harder','than the first one.']
  end
end

class Omega_Quest < Scene_Base
  include OMEGAS7::QUEST
  def initialize
	@index = 0
	@mode = 0
	@empty_list = false
	create_background
	create_quest_list
	create_quest_commands
	create_quest_description
	create_category
	create_information
  end
  def create_background
	@background = Sprite_Base.new
	@background.bitmap = Cache.system(BACKGROUND.to_s)
	@background.z = 50
	@hud = Sprite_Base.new
	@hud.bitmap = Cache.system(HUD.to_s)
	@hud.z = 60
  end
  def create_quest_list
	@list = []
	@list[0] = []
	@list[1] = []
	@list[2] = []
	for i in 0...QUESTS.size
	  if $game_variables[QUESTS[i][1].to_i].to_i > TASKS[i].size
		@list[0][i] = [QUESTS[i][0].to_s,true,i]
		@list[1][i] = [QUESTS[i][0].to_s,true,i]
	  elsif $game_variables[QUESTS[i][1].to_i].to_i > 0
		@list[0][i] = [QUESTS[i][0].to_s,false,i]
		@list[2][i] = [QUESTS[i][0].to_s,false,i]
	  end
	end
	@list[0].compact!
	@list[1].compact!
	@list[2].compact!
	@list.compact!
	if @list[0].empty?
	  @empty_list = true
	end
  end
  def create_quest_commands
	create_quest_list
	@command_window = Window_Quest_Command.new(250,@list[@mode])
	@command_window.y = 90
	@command_window.x = 12
	@command_window.opacity = 0
	@index = @command_window.index
  end
  def create_quest_description
	@window_description = Window_Base.new(280,80,250,170)
	@window_description.contents.font.size = QUESTS_FONT_SIZE
	@window_description.opacity = 0
	refresh_description
  end
  def refresh_description
	@window_description.contents.clear
	if @list[@mode][@command_window.index][2] != nil
	  for i in 0...DESCRIPTIONS[@list[@mode][@command_window.index][2]].size
		txt = DESCRIPTIONS[@list[@mode][@command_window.index][2]][i].to_s
		@window_description.contents.draw_text(0,18*i,260,18,txt.to_s)
	  end
	end
  end
  def update
	@command_window.update
	@category.update
	if @mode != @category.index
	  @mode = @category.index
	  @command_window.dispose
	  create_quest_commands
	  refresh_description
	end
	if @index != @command_window.index
	  @index = @command_window.index
	  refresh_description
	end
	if Input.trigger?(Input::C) && @list[@mode][@command_window.index][2] != nil
	  @background.dispose
	  @hud.dispose
	  @command_window.dispose
	  @window_description.dispose
	  @category.dispose
	  @information.dispose
	  $scene = Omega_Quest_View.new(@list[@mode][@command_window.index][2])
	elsif Input.trigger?(Input::C) && @list[@mode][@command_window.index][2] == nil
	  Sound.play_buzzer
	end
	if Input.trigger?(Input::B)
	  finish
	end
  end
  def create_category
	@category = Window_Categories_Command.new(180)
	@category.opacity = 0
	@category.x = -6
	@category.y = 40
  end
  def create_information
	@information = Window_Base.new(544-250,416-120,250,120)
	@information.opacity = 0
	@information.contents.font.size = 16
	if @empty_list == true
	  @information.contents.draw_text(0,0,250,24,"Current Total Quests: 0")
	else
	  @information.contents.draw_text(0,0,250,24,"Current Total Quests: " + @list[0].size.to_s)
	end
	@information.contents.font.color = Color.new(0,255,0)
	@information.contents.draw_text(0,24,250,24,"Completed Quests: " + @list[1].size.to_s)
	@information.contents.font.color = Color.new(255,167,0)
	@information.contents.draw_text(0,48,250,24,"Incomplete Quests: " + @list[2].size.to_s)
  end
  def finish
	@background.dispose
	@hud.dispose
	@command_window.dispose
	@window_description.dispose
	@category.dispose
	@information.dispose
	case EXIT_TO
	when "MENU"
	  $scene = Scene_Menu.new(MENU_RETURN_SLOT)
	when "MAP"
	  $scene = Scene_Map.new
	end
  end
end

class Omega_Quest_View < Scene_Base
  include OMEGAS7::QUEST
  def initialize(id)
	@font_size = 16
	@line_height = 18
	@id = id
	@limit_y = 0
	draw_picture if QUESTS[@id][4] != nil
	set_tasks
	create_window
	refresh_window
  end
  def draw_picture
	@picture = Sprite_Base.new
	@picture.bitmap = Cache.system(QUESTS[@id][4].to_s)
	@picture.x = (544/2) - (@picture.width/2)
	@picture.z = 250
  end
  def set_tasks
	@tasks = []
	for i in 0...TASKS[@id].size
	  if $game_variables[QUESTS[@id][1]].to_i >= i + 1
		@tasks[i] = TASKS[@id][i].to_s
	  end
	end
	if $game_variables[QUESTS[@id][1]].to_i > TASKS[@id].size
	  @tasks.push('Quest Completed!')
	end
  end
  def create_window
	height = @line_height * @tasks.size + 32
	y = 0
	if @picture != nil
	  y += @picture.height
	  @limit_y = @picture.height
	end
	@window = Window_Base.new(0,y,544,height)
  end
  def refresh_window
	@window.contents.clear
	@window.contents.font.size = @font_size
	@display = []
	for i in 0...@tasks.size
	  @display[i] = @tasks[i].clone
	  @display[i].to_s.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
	  @display[i].to_s.gsub!(/\\V\[([0-9]+)\]/i) { $game_variables[$1.to_i] }
	  @window.contents.draw_text(0,i * @line_height,500,@line_height,TASKS_PREFIX.to_s + @display[i].to_s)
	end
  end
  def update
	if Input.press?(Input::DOWN) && ((@window.y + @window.height) > 416)
	  @window.y -= 3
	elsif Input.press?(Input::UP) && (@window.y < @limit_y)
	  @window.y += 3
	end
	if Input.trigger?(Input::B)
	  @picture.dispose if @picture != nil
	  @window.dispose
	  $scene = Omega_Quest.new
	end
  end
end

class Window_Quest_Command < Window_Selectable
  include OMEGAS7::QUEST
  attr_reader   :commands
  def initialize(width, commands, column_max = 1, row_max = 0, spacing = 32)
	@commands = commands
	@empty = false
	if @commands.empty?
	  @commands[0] = ["No quests.",false]
	  @empty = true
	end  
	if row_max == 0
	  row_max = (@commands.size + column_max - 1) / column_max
	end
	super(0, 0, width, row_max * WLH + 32, spacing)
	@item_max = commands.size
	@column_max = column_max
	self.contents.font.size = TASKS_FONT_SIZE
	refresh
	self.index = 0
  end
  def refresh
	self.contents.clear
	for i in 0...@item_max
	  draw_item(i)
	end
  end
  def draw_item(index, enabled = true)
	spacing = ICON_SPACING.to_s
	rect = item_rect(index)
	rect.x += 4
	rect.width -= 8
	self.contents.clear_rect(rect)
	self.contents.font.color = Color.new(255,0,0)
	self.contents.font.color.alpha = enabled ? 255 : 128
	if @empty == false
	  if @commands[index][1] == true
		self.contents.font.color = Color.new(0,255,0)
		draw_icon(QUESTS[@commands[index][2]][3].to_i,rect.x,rect.y)
	  else
		self.contents.font.color = Color.new(255,0,0)
		draw_icon(QUESTS[@commands[index][2]][2].to_i,rect.x,rect.y)
	  end
	elsif @empty == true
	  spacing = ""
	end
	self.contents.draw_text(rect, spacing + @commands[index][0].to_s)
  end
end
class Window_Categories_Command < Window_Selectable
  include OMEGAS7::QUEST
  attr_reader   :commands
  def initialize(width, column_max = 3, row_max = 1, spacing = 32)
	super(0, 0, width, row_max * WLH + 32, spacing)
	@commands = ['','','']
	@item_max = commands.size
	@column_max = column_max
	@icons = CATEGORY_ICONS
	refresh
	self.index = 0
  end
  def refresh
	self.contents.clear
	for i in 0...@item_max
	  draw_item(i)
	end
  end
  def draw_item(index, enabled = true)
	rect = item_rect(index)
	rect.x += 4
	rect.width -= 8
	self.contents.clear_rect(rect)
	draw_icon(@icons[index],rect.x,rect.y)
  end
end

 

Per caso qualcuno ha adattato questo script per vx ace? dantuzzu te sei riuscito? è bellisimo come quest system!!!

Progetto "Golden Bright": 10%

Link to comment
Share on other sites

  • 0

già anch'io se uso il quest system uso quello di Modern Algebra

Nuovi progetti:

 


w43ztoqv1klp55a6g.jpg

11764.png

 

bpc40hzhbo2xzd76g.jpg

 

00oVI6.gif gifnatale1.pngSvsJAL.pngvgnoJt.png YT3YHP.png fcCbvW.png

Script:

 

 

KZM - MZ Engine (solo core e party per ora)
KZM - MV Core
KZM - Engine Ace


Tutorial

 


Spoiler da guardare se vi interessano

 



Progetti in corso

 

Avanzamento Le Cronache di Arshes - La Strana Sopravvivenza
|||||||||||||||||||| 10% Restart imminente

Avanzamento Undead
|||||||||||||||||||| 15%

Avanzamento Le Cronache di Arshes - La Storia Continua
|||||||||||||||||||| 20% Restart Imminente

ZQ68dC.png rescue-fantasy&size=160x160


Adozioni...

 


AdottinoJudgementDragon.png
(\__/)
( ^^ )
(< >)


Screen Contests

 

q9m.gif

 


MANIFESTO DEL MAKING ITALIANO

 


SALVIAMO IL MAKING ITALIANO!!
Dopo un test dei nostri esperti (Alato, Blake e havana24) abbiamo scoperto che ad interesse risponde interesse: cioè se voi dimostrate di essere interessati a ciò che creano gli altri, questi saranno stimolati a continuare a creare! E' un concetto semplice ma estremamente sottovalutato, basta vedere quanti topic di bei giochi sono caduti nel dimenticatoio e sono stati cagati solo da poche persone (prendiamo per esempio il fantastico gioco di Vech che vi invito a vedere nella sezione RM2k).
Perciò quello che dobbiamo fare è: leggere, leggere, leggere, postare,8 postare, postare! E questo non significa postare a caso, ma leggere per bene il progetto di qualcuno, le domande poste, le creazioni grafiche e musicali, e fare dei post in cui si propongano miglioramenti, si critichino le brutture, si esaltino le bellezze, si aiutino gli oppressi etc etc
BASTA AL MAKING ITALIANO CHE VA A ROTOLI! DIAMOCI UNA SVEGLIATA!!
Per dimostrarvi ciò che sto esponendo vi riporto che la volta in cui abbiamo provato (Alato, Blake e havana24) a fare una cosa di questo genere, c'è costata un pomeriggio ma il giorno dopo abbiamo ottenuto il numero massimo di utenti online mai raggiunto!!! Ma soprattutto ciò significa che l'interesse riguardo al making era stato, almeno momentaneamente, risvegliato!!
Voi pensate che eravamo solo in 3 a cercare tutti i topic e ravvivarli (con sincerità e senza i soliti falsi "Oh che bello.", ma anche con critiche per lavori incompleti o assurdi) e abbiamo ottenuto quel grande risultato: se lo facessimo tutti non sarebbe una cosa potentissima?!?
BASTA ALLE SOLITE BANALI DISCUSSIONI SULLA DECADENZA DEI GIOCHI!! FACCIAMOLI STI GIOCHI!!!
Chi è contrario a questa cosa, può pure continuare così ma è una persona che col making non ha nulla a che fare, ma chi crede nel making inizi ora, immediatamente a seguire questa linea di pensiero!

Ma chi è d'accordo, chi davvero ci tiene al making, incolli questo Manifesto nella propria firma!! Mettete anche voi questa firma!!


Come allegare immagini al forum Bottega Rise of The Hero
5545.png 869.png250d-79e61bdc7724a730c12102387964d19e04arol.gif1321.png

Link to comment
Share on other sites

  • 0

Comunque, si poteva creare un oggetto (item) questbook con il call script nell'evento comune associato, per ovviare all' "impossibilità" di inserirlo in autometico nel menù . . .

stavo proprio pensando ad una soluzione simile per ovviare al problema, mi potete spiegare meglio come si fa? per lo più la parte dell'evento comune...

Edited by RosalbaSunrise

Crystal - La minaccia di Ormul


Mapping 90%


Event 90%


Rpg Maker MV


http://www.rpg2s.net/forum/index.php/topic/22099-crystal-la-minaccia-di-ormul/

Link to comment
Share on other sites

  • 0

semplicemente crei un evento comune(dal database), vai alla terza pagina degli eventi, clicchi su script e scrivi SceneManager.call(Scene_QuestBook)

dopodichè crei un oggetto non consumabile, e tra gli effetti metti che richiama l' evento comune... fattoXD quando attiverai l'oggetto questo chiamerà l'evento comune, quindi comparirà la schermata delle quest.

AAARGH! COSA E' SUCCESSO
AI TUOI PIXEL, FRATELLO!

http://i77.photobucket.com/albums/j62/Myosotis85/Faccine/CipollaGrandiAnim/A_041.gif http://i.imgur.com/4Sg5Wzr.gif

 


I miei trofei! http://rpg2s.net/gif/SCContest3Oct.gif http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-94738000-1390575635.png http://i.imgur.com/wuepPiI.png

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...